When using daemon mode over a remote shell program and not running as root,
[rsync/rsync.git] / loadparm.c
index d559b11..2032662 100644 (file)
@@ -748,6 +748,9 @@ False on failure.
 ***************************************************************************/
 BOOL lp_load(char *pszFname, int globals_only)
 {
+       extern int am_server;
+       extern int am_daemon;
+       extern int am_root;
        pstring n2;
        BOOL bRetval;
  
@@ -757,7 +760,12 @@ BOOL lp_load(char *pszFname, int globals_only)
   
        init_globals();
 
-       pstrcpy(n2,pszFname);
+       if (pszFname)
+           pstrcpy(n2,pszFname);
+       else if (am_server && am_daemon && !am_root)
+           pstrcpy(n2,RSYNCD_USERCONF);
+       else
+           pstrcpy(n2,RSYNCD_SYSCONF);
 
        /* We get sections first, so have to start 'behind' to make up */
        iServiceIndex = -1;