Improved the regex to match syslog lines and be easier to read.
[rsync/rsync.git] / socket.c
index 7e77969..8a96061 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -36,7 +36,7 @@
 extern char *bind_address;
 extern int default_af_hint;
 
-#if defined HAVE_SIGACTION && defined HAVE_SIGPROCMASK
+#ifdef HAVE_SIGACTION
 static struct sigaction sigact;
 #endif
 
@@ -58,13 +58,13 @@ static int establish_proxy_connection(int fd, char *host, int port,
                         proxy_user, ":", proxy_pass, NULL);
                len = strlen(buffer);
 
-               if ((len*8 + 5) / 6 >= (int)sizeof authbuf) {
+               if ((len*8 + 5) / 6 >= (int)sizeof authbuf - 3) {
                        rprintf(FERROR,
                                "authentication information is too long\n");
                        return -1;
                }
 
-               base64_encode(buffer, len, authbuf);
+               base64_encode(buffer, len, authbuf, 1);
                authhdr = "\r\nProxy-Authorization: Basic ";
        } else {
                *authbuf = '\0';
@@ -437,7 +437,7 @@ static RETSIGTYPE sigchld_handler(UNUSED(int val))
 #ifdef WNOHANG
        while (waitpid(-1, NULL, WNOHANG) > 0) {}
 #endif
-#if !defined HAVE_SIGACTION && !defined HAVE_SIGPROCMASK
+#ifndef HAVE_SIGACTION
        signal(SIGCHLD, sigchld_handler);
 #endif
 }
@@ -448,7 +448,7 @@ void start_accept_loop(int port, int (*fn)(int, int))
        fd_set deffds;
        int *sp, maxfd, i;
 
-#if defined HAVE_SIGACTION && defined HAVE_SIGPROCMASK
+#ifdef HAVE_SIGACTION
        sigact.sa_flags = SA_NOCLDSTOP;
 #endif