Hi, the section "Global Parameters" of the current http://rsync.samba.org/ftp/rsync/rsyncd.conf.html says: "You may use references to environment variables in the values of parameters. String parameters will have %VAR% references expanded as late as possible (when the string is used in the program), allowing for the use of variables that rsync sets at connection time, such as RSYNC_USER_NAME. Non-string parameters (such as true/false settings) are expanded when read from the config file."
So I configured in the config file ($USER is set in the environment): >>> path = /home/%USER%/test <<< At execution time an error occurs: >>> rsync: chroot /home/%USER%/test failed: No such file or directory (2) <<< That means the config parameter expansion did not work at runtime. In loadparm.c line 668 there is a special handling of P_PATH/P_STRING parameters: >>> /* now switch on the type of variable it is */ switch (parm_table[parmnum].type) { case P_PATH: case P_STRING: /* delay expansion of vars */ break; default: /* expand any %VARS% now */ parmvalue = expand_vars(parmvalue); break; } <<< This handling delays the expansion of $USER in the path parameters. I removed the special handling as a workaround: with this change the expansion is done and my configuration works well. Does anybody know how to force the "delayed expansion"? I didn't find the delayed expansion handling somewhere in the source code. BTW: I checked https://bugzilla.samba.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__all__&product=rsync but didn't find anything related. Cheers, Florian === Agitos Webhosting Florian Sager Emil-Geis-Straße 40, 81379 München, GERMANY -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html