Ignore generated files and dirs.
[rsync/rsync.git] / authenticate.c
index 8991ac4..afb8554 100644 (file)
@@ -21,6 +21,7 @@
 #include "rsync.h"
 
 extern char *password_file;
+extern int log_got_error;
 
 /***************************************************************************
 encode a buffer using base64 - simple and slow algorithm. null terminates
@@ -166,7 +167,7 @@ static const char *getpassf(const char *filename)
                rsyserr(FERROR, errno, "could not open password file \"%s\"",
                        filename);
                if (envpw)
-                       rprintf(FERROR, "falling back to RSYNC_PASSWORD environment variable.\n");
+                       rprintf(FINFO, "falling back to RSYNC_PASSWORD environment variable.\n");
                return NULL;
        }
 
@@ -174,23 +175,20 @@ static const char *getpassf(const char *filename)
                rsyserr(FERROR, errno, "stat(%s)", filename);
                ok = 0;
        } else if ((st.st_mode & 06) != 0) {
-               rprintf(FERROR,"password file must not be other-accessible\n");
+               rprintf(FERROR, "password file must not be other-accessible\n");
                ok = 0;
        } else if (MY_UID() == 0 && st.st_uid != 0) {
-               rprintf(FERROR,"password file must be owned by root when running as root\n");
+               rprintf(FERROR, "password file must be owned by root when running as root\n");
                ok = 0;
        }
        if (!ok) {
-               rprintf(FERROR,"continuing without password file\n");
-               if (envpw)
-                       rprintf(FERROR, "using RSYNC_PASSWORD environment variable.\n");
                close(fd);
+               rprintf(FERROR, "continuing without password file\n");
+               if (envpw)
+                       rprintf(FINFO, "falling back to RSYNC_PASSWORD environment variable.\n");
                return NULL;
        }
 
-       if (envpw)
-               rprintf(FERROR, "RSYNC_PASSWORD environment variable ignored\n");
-
        n = read(fd, buffer, sizeof buffer - 1);
        close(fd);
        if (n > 0) {
@@ -310,6 +308,9 @@ void auth_client(int fd, const char *user, const char *challenge)
                pass = getpass("Password: ");
        }
 
+       /* Any errors output during password handling aren't transfer errors. */
+       log_got_error = 0;
+
        if (!pass)
                pass = "";