~mdw
/
tripe
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server/keymgmt.c: Remove redundant error reports.
[tripe]
/
server
/
peer.c
diff --git
a/server/peer.c
b/server/peer.c
index
341ea38
..
27ac4a7
100644
(file)
--- a/
server/peer.c
+++ b/
server/peer.c
@@
-29,7
+29,7
@@
/*----- Global state ------------------------------------------------------*/
/*----- Global state ------------------------------------------------------*/
-
sel_file
udpsock[NADDRFAM];
+
udpsocket
udpsock[NADDRFAM];
/*----- Static variables --------------------------------------------------*/
/*----- Static variables --------------------------------------------------*/
@@
-534,7
+534,7
@@
int p_txaddr(const addr *a, const void *p, size_t sz)
return (-1);
}
IF_TRACING(T_PEER, trace_block(T_PACKET, "peer: sending packet", p, sz); )
return (-1);
}
IF_TRACING(T_PEER, trace_block(T_PACKET, "peer: sending packet", p, sz); )
- if (sendto(udpsock[i].fd, p, sz, 0, &a->sa, sasz) < 0) {
+ if (sendto(udpsock[i].
sf.
fd, p, sz, 0, &a->sa, sasz) < 0) {
a_warn("PEER", "?ADDR", a, "socket-write-error", "?ERRNO", A_END);
return (-1);
}
a_warn("PEER", "?ADDR", a, "socket-write-error", "?ERRNO", A_END);
return (-1);
}
@@
-562,7
+562,7
@@
static int p_dotxend(peer *p)
}
IF_TRACING(T_PEER, trace_block(T_PACKET, "peer: sending packet",
BBASE(&p->b), BLEN(&p->b)); )
}
IF_TRACING(T_PEER, trace_block(T_PACKET, "peer: sending packet",
BBASE(&p->b), BLEN(&p->b)); )
- if (sendto(udpsock[p->afix].fd, BBASE(&p->b), BLEN(&p->b),
+ if (sendto(udpsock[p->afix].
sf.
fd, BBASE(&p->b), BLEN(&p->b),
0, &p->spec.sa.sa, sasz) < 0) {
a_warn("PEER", "?PEER", p, "socket-write-error", "?ERRNO", A_END);
return (0);
0, &p->spec.sa.sa, sasz) < 0) {
a_warn("PEER", "?PEER", p, "socket-write-error", "?ERRNO", A_END);
return (0);
@@
-816,7
+816,7
@@
void p_setifname(peer *p, const char *name)
const addr *p_addr(peer *p) { return (&p->spec.sa); }
const addr *p_addr(peer *p) { return (&p->spec.sa); }
-/* --- @p_
init
@ --- *
+/* --- @p_
bind
@ --- *
*
* Arguments: @struct addrinfo *ailist@ = addresses to bind to
*
*
* Arguments: @struct addrinfo *ailist@ = addresses to bind to
*
@@
-825,7
+825,7
@@
const addr *p_addr(peer *p) { return (&p->spec.sa); }
* Use: Initializes the peer system; creates the socket.
*/
* Use: Initializes the peer system; creates the socket.
*/
-void p_
init
(struct addrinfo *ailist)
+void p_
bind
(struct addrinfo *ailist)
{
int fd;
int len = PKBUFSZ;
{
int fd;
int len = PKBUFSZ;
@@
-836,11
+836,11
@@
void p_init(struct addrinfo *ailist)
addr a;
socklen_t sz;
addr a;
socklen_t sz;
- for (i = 0; i < NADDRFAM; i++) udpsock[i].fd = -1;
+ for (i = 0; i < NADDRFAM; i++) udpsock[i].
sf.
fd = -1;
for (ai = ailist; ai; ai = ai->ai_next) {
if ((i = afix(ai->ai_family)) < 0) continue;
for (ai = ailist; ai; ai = ai->ai_next) {
if ((i = afix(ai->ai_family)) < 0) continue;
- if (udpsock[i].fd != -1) continue;
+ if (udpsock[i].
sf.
fd != -1) continue;
/* --- Note on socket buffer sizes --- *
*
/* --- Note on socket buffer sizes --- *
*
@@
-868,38
+868,36
@@
void p_init(struct addrinfo *ailist)
strerror(errno));
}
fdflags(fd, O_NONBLOCK, O_NONBLOCK, FD_CLOEXEC, FD_CLOEXEC);
strerror(errno));
}
fdflags(fd, O_NONBLOCK, O_NONBLOCK, FD_CLOEXEC, FD_CLOEXEC);
- sel_initfile(&sel, &udpsock[i], fd, SEL_READ, p_read, 0);
- sel_addfile(&udpsock[i]);
+ sel_initfile(&sel, &udpsock[i]
.sf
, fd, SEL_READ, p_read, 0);
+ sel_addfile(&udpsock[i]
.sf
);
T( trace(T_PEER, "peer: created %s socket", aftab[i].name); )
T( trace(T_PEER, "peer: created %s socket", aftab[i].name); )
- if (!port) {
+ if (port)
+ udpsock[i].port = port;
+ else {
sz = sizeof(a);
if (getsockname(fd, &a.sa, &sz)) {
die(EXIT_FAILURE, "failed to read local socket address: %s",
strerror(errno));
}
sz = sizeof(a);
if (getsockname(fd, &a.sa, &sz)) {
die(EXIT_FAILURE, "failed to read local socket address: %s",
strerror(errno));
}
- lastport = getport(&a);
+
udpsock[i].port =
lastport = getport(&a);
}
}
}
}
- sym_create(&byname);
- am_create(&byaddr);
}
}
-/* --- @p_port@ --- *
+/* --- @p_init@ --- *
+ *
+ * Arguments: ---
*
*
- *
Arguments: @int i@ = address family index to retrieve
+ *
Returns: ---
*
*
- *
Returns: Port number used for socket
.
+ *
Use: Initializes the peer system
.
*/
*/
-
unsigned p_port(int i
)
+
void p_init(void
)
{
{
- addr a;
- socklen_t sz = sizeof(addr);
-
- if (getsockname(udpsock[i].fd, &a.sa, &sz))
- die(EXIT_FAILURE, "couldn't read port number: %s", strerror(errno));
- return (getport(&a));
+ sym_create(&byname);
+ am_create(&byaddr);
}
/* --- @p_keepalive@ --- *
}
/* --- @p_keepalive@ --- *