X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=common-src%2Fdgram.c;h=338baa8eab8f6cd269bb05de72a506fe9d735fae;hb=94a044f90357edefa6f4ae9f0b1d5885b0e34aee;hp=e6d267bb99f45bb646aa4503c3c2fd908dea2dc2;hpb=d3b2175e084f88c8736ad7073eacbf4670147aec;p=debian%2Famanda diff --git a/common-src/dgram.c b/common-src/dgram.c index e6d267b..338baa8 100644 --- a/common-src/dgram.c +++ b/common-src/dgram.c @@ -34,15 +34,16 @@ #include "dgram.h" #include "util.h" #include "conffile.h" +#include "sockaddr-util.h" void dgram_socket( dgram_t * dgram, int socket) { - if(socket < 0 || socket >= FD_SETSIZE) { - error("dgram_socket: socket %d out of range (0 .. %d)\n", - socket, FD_SETSIZE-1); + if(socket < 0 || socket >= (int)FD_SETSIZE) { + error(_("dgram_socket: socket %d out of range (0 .. %d)\n"), + socket, (int)FD_SETSIZE-1); /*NOTREACHED*/ } dgram->socket = socket; @@ -65,16 +66,14 @@ dgram_bind( *portp = (in_port_t)0; if((s = socket(family, SOCK_DGRAM, 0)) == -1) { save_errno = errno; - dbprintf(("%s: dgram_bind: socket() failed: %s\n", - debug_prefix_time(NULL), - strerror(save_errno))); + dbprintf(_("dgram_bind: socket() failed: %s\n"), + strerror(save_errno)); errno = save_errno; return -1; } if(s < 0 || s >= (int)FD_SETSIZE) { - dbprintf(("%s: dgram_bind: socket out of range: %d\n", - debug_prefix_time(NULL), - s)); + dbprintf(_("dgram_bind: socket out of range: %d\n"), + s); aclose(s); errno = EMFILE; /* out of range */ return -1; @@ -97,23 +96,20 @@ dgram_bind( for (retries = 0; ; retries++) { if (bind_portrange(s, &name, portrange[0], portrange[1], "udp") == 0) goto out; - dbprintf(("%s: dgram_bind: Could not bind to port in range: %d - %d.\n", - debug_prefix_time(NULL), portrange[0], portrange[1])); + dbprintf(_("dgram_bind: Could not bind to port in range: %d - %d.\n"), + portrange[0], portrange[1]); if (retries >= BIND_CYCLE_RETRIES) { - dbprintf(("%s: dgram_bind: Giving up...\n", - debug_prefix_time(NULL))); + dbprintf(_("dgram_bind: Giving up...\n")); break; } - dbprintf(("%s: dgram_bind: Retrying entire range after 10 second delay.\n", - debug_prefix_time(NULL))); + dbprintf(_("dgram_bind: Retrying entire range after 10 second delay.\n")); sleep(15); } save_errno = errno; - dbprintf(("%s: dgram_bind: bind(in6addr_any) failed: %s\n", - debug_prefix_time(NULL), - strerror(save_errno))); + dbprintf(_("dgram_bind: bind(in6addr_any) failed: %s\n"), + strerror(save_errno)); aclose(s); errno = save_errno; return -1; @@ -124,9 +120,7 @@ out: len = (socklen_t)sizeof(name); if(getsockname(s, (struct sockaddr *)&name, &len) == -1) { save_errno = errno; - dbprintf(("%s: dgram_bind: getsockname() failed: %s\n", - debug_prefix_time(NULL), - strerror(save_errno))); + dbprintf(_("dgram_bind: getsockname() failed: %s\n"), strerror(save_errno)); errno = save_errno; aclose(s); return -1; @@ -134,8 +128,8 @@ out: *portp = SS_GET_PORT(&name); dgram->socket = s; - dbprintf(("%s: dgram_bind: socket %d bound to %s\n", - debug_prefix_time(NULL), dgram->socket, str_sockaddr(&name))); + dbprintf(_("dgram_bind: socket %d bound to %s\n"), + dgram->socket, str_sockaddr(&name)); return 0; } @@ -155,20 +149,19 @@ dgram_send_addr( int r; #endif - dbprintf(("%s: dgram_send_addr(addr=%p, dgram=%p)\n", - debug_prefix_time(NULL), addr, dgram)); + dbprintf(_("dgram_send_addr(addr=%p, dgram=%p)\n"), + addr, dgram); dump_sockaddr(addr); - dbprintf(("%s: dgram_send_addr: %p->socket = %d\n", - debug_prefix_time(NULL), dgram, dgram->socket)); + dbprintf(_("dgram_send_addr: %p->socket = %d\n"), + dgram, dgram->socket); if(dgram->socket != -1) { s = dgram->socket; socket_opened = 0; } else { if((s = socket(addr->ss_family, SOCK_DGRAM, 0)) == -1) { save_errno = errno; - dbprintf(("%s: dgram_send_addr: socket() failed: %s\n", - debug_prefix_time(NULL), - strerror(save_errno))); + dbprintf(_("dgram_send_addr: socket() failed: %s\n"), + strerror(save_errno)); errno = save_errno; return -1; } @@ -177,17 +170,14 @@ dgram_send_addr( r = setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void *)&on, (socklen_t)sizeof(on)); if (r < 0) { - dbprintf(("%s: dgram_send_addr: setsockopt(SO_REUSEADDR) failed: %s\n", - debug_prefix_time(NULL), - strerror(errno))); + dbprintf(_("dgram_send_addr: setsockopt(SO_REUSEADDR) failed: %s\n"), + strerror(errno)); } #endif } - if(s < 0 || s >= FD_SETSIZE) { - dbprintf(("%s: dgram_send_addr: socket out of range: %d\n", - debug_prefix_time(NULL), - s)); + if(s < 0 || s >= (int)FD_SETSIZE) { + dbprintf(_("dgram_send_addr: socket out of range: %d\n"), s); errno = EMFILE; /* out of range */ rc = -1; } else { @@ -203,28 +193,25 @@ dgram_send_addr( #ifdef ECONNREFUSED if(errno == ECONNREFUSED && wait_count++ < max_wait) { sleep(5); - dbprintf(("%s: dgram_send_addr: sendto(%s): retry %d after ECONNREFUSED\n", - debug_prefix_time(NULL), + dbprintf(_("dgram_send_addr: sendto(%s): retry %d after ECONNREFUSED\n"), str_sockaddr(addr), - wait_count)); + wait_count); continue; } #endif #ifdef EAGAIN if(errno == EAGAIN && wait_count++ < max_wait) { sleep(5); - dbprintf(("%s: dgram_send_addr: sendto(%s): retry %d after EAGAIN\n", - debug_prefix_time(NULL), + dbprintf(_("dgram_send_addr: sendto(%s): retry %d after EAGAIN\n"), str_sockaddr(addr), - wait_count)); + wait_count); continue; } #endif save_errno = errno; - dbprintf(("%s: dgram_send_addr: sendto(%s) failed: %s \n", - debug_prefix_time(NULL), + dbprintf(_("dgram_send_addr: sendto(%s) failed: %s \n"), str_sockaddr(addr), - strerror(save_errno))); + strerror(save_errno)); errno = save_errno; rc = -1; break; @@ -234,10 +221,9 @@ dgram_send_addr( if(socket_opened) { save_errno = errno; if(close(s) == -1) { - dbprintf(("%s: dgram_send_addr: close(%s): failed: %s\n", - debug_prefix_time(NULL), + dbprintf(_("dgram_send_addr: close(%s): failed: %s\n"), str_sockaddr(addr), - strerror(errno))); + strerror(errno)); /* * Calling function should not care that the close failed. * It does care about the send results though. @@ -250,6 +236,7 @@ dgram_send_addr( } + ssize_t dgram_recv( dgram_t * dgram, @@ -271,31 +258,26 @@ dgram_recv( to.tv_sec = timeout; to.tv_usec = 0; - dbprintf(("%s: dgram_recv(dgram=%p, timeout=%u, fromaddr=%p)\n", - debug_prefix_time(NULL), dgram, timeout, fromaddr)); + dbprintf(_("dgram_recv(dgram=%p, timeout=%u, fromaddr=%p)\n"), + dgram, timeout, fromaddr); nfound = (ssize_t)select(sock+1, &ready, NULL, NULL, &to); if(nfound <= 0 || !FD_ISSET(sock, &ready)) { save_errno = errno; if(nfound < 0) { - dbprintf(("%s: dgram_recv: select() failed: %s\n", - debug_prefix_time(NULL), - strerror(save_errno))); + dbprintf(_("dgram_recv: select() failed: %s\n"), strerror(save_errno)); } else if(nfound == 0) { - dbprintf(("%s: dgram_recv: timeout after %d second%s\n", - debug_prefix_time(NULL), - timeout, - (timeout == 1) ? "" : "s")); + dbprintf(plural(_("dgram_recv: timeout after %d second\n"), + _("dgram_recv: timeout after %d seconds\n"), + timeout), + timeout); nfound = 0; } else if (!FD_ISSET(sock, &ready)) { int i; for(i = 0; i < sock + 1; i++) { if(FD_ISSET(i, &ready)) { - dbprintf(("%s: dgram_recv: got fd %d instead of %d\n", - debug_prefix_time(NULL), - i, - sock)); + dbprintf(_("dgram_recv: got fd %d instead of %d\n"), i, sock); } } save_errno = EBADF; @@ -310,9 +292,7 @@ dgram_recv( (struct sockaddr *)fromaddr, &addrlen); if(size == -1) { save_errno = errno; - dbprintf(("%s: dgram_recv: recvfrom() failed: %s\n", - debug_prefix_time(NULL), - strerror(save_errno))); + dbprintf(_("dgram_recv: recvfrom() failed: %s\n"), strerror(save_errno)); errno = save_errno; return -1; } @@ -350,7 +330,7 @@ printf_arglist_function1(int dgram_cat, dgram_t *, dgram, const char *, fmt) return -1; arglist_start(argp, fmt); - len = vsnprintf(dgram->cur, (size_t)bufsize, fmt, argp); + len = g_vsnprintf(dgram->cur, (size_t)bufsize, fmt, argp); arglist_end(argp); if(len < 0) { return -1;