Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed a bug in the truncating of daemon-excluded paths.
[rsync/rsync.git]
/
options.c
diff --git
a/options.c
b/options.c
index
82597bf
..
ac34a5c
100644
(file)
--- a/
options.c
+++ b/
options.c
@@
-25,6
+25,7
@@
#include "zlib/zlib.h"
extern int module_id;
#include "zlib/zlib.h"
extern int module_id;
+extern int local_server;
extern int sanitize_paths;
extern int daemon_over_rsh;
extern unsigned int module_dirlen;
extern int sanitize_paths;
extern int daemon_over_rsh;
extern unsigned int module_dirlen;
@@
-889,7
+890,7
@@
static void create_refuse_error(int which)
*
* @retval 0 on error, with err_buf containing an explanation
**/
*
* @retval 0 on error, with err_buf containing an explanation
**/
-int parse_arguments(int *argc_p, const char ***argv_p
, int frommain
)
+int parse_arguments(int *argc_p, const char ***argv_p)
{
static poptContext pc;
char *ref = lp_refuse_options(module_id);
{
static poptContext pc;
char *ref = lp_refuse_options(module_id);
@@
-901,8
+902,10
@@
int parse_arguments(int *argc_p, const char ***argv_p, int frommain)
set_refuse_options(ref);
if (am_daemon) {
set_refuse_options("log-file*");
set_refuse_options(ref);
if (am_daemon) {
set_refuse_options("log-file*");
+#ifdef ICONV_OPTION
if (!*lp_charset(module_id))
set_refuse_options("iconv");
if (!*lp_charset(module_id))
set_refuse_options("iconv");
+#endif
}
#ifdef ICONV_OPTION
}
#ifdef ICONV_OPTION
@@
-1092,8
+1095,7
@@
int parse_arguments(int *argc_p, const char ***argv_p, int frommain)
break;
case 'q':
break;
case 'q':
- if (frommain)
- quiet++;
+ quiet++;
break;
case 'x':
break;
case 'x':
@@
-1290,12
+1292,8
@@
int parse_arguments(int *argc_p, const char ***argv_p, int frommain)
}
#endif
}
#endif
- if (protect_args == 1) {
- if (!frommain)
- protect_args = 0;
- else if (am_server)
- return 1;
- }
+ if (protect_args == 1 && am_server)
+ return 1;
#ifndef SUPPORT_LINKS
if (preserve_links && !am_sender) {
#ifndef SUPPORT_LINKS
if (preserve_links && !am_sender) {
@@
-1833,7
+1831,7
@@
void server_options(char **args, int *argc_p)
}
#endif
}
#endif
- if (protect_args
) /* initial args break
here */
+ if (protect_args
&& !local_server) /* unprotected args stop
here */
args[ac++] = NULL;
if (list_only > 1)
args[ac++] = NULL;
if (list_only > 1)