diff options
author | Rob Austein <sra@hactrn.net> | 2006-09-28 18:17:14 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2006-09-28 18:17:14 +0000 |
commit | 224c44e3d458183393db997b9afa443164b82143 (patch) | |
tree | d113f0bfd144fa9a6ffbe4fec257ec2aa530b08c /rcynic/rcynic.c | |
parent | 145097b65b126fe5268d8db3890b58fcbdf80e86 (diff) |
Make rsync program name configurable
svn path=/rcynic/rcynic.c; revision=337
Diffstat (limited to 'rcynic/rcynic.c')
-rw-r--r-- | rcynic/rcynic.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/rcynic/rcynic.c b/rcynic/rcynic.c index 5245f62d..9ef543d9 100644 --- a/rcynic/rcynic.c +++ b/rcynic/rcynic.c @@ -66,7 +66,7 @@ typedef struct certinfo { * Program context that would otherwise be a mess of global variables. */ typedef struct rcynic_ctx { - char *jane, *authenticated, *old_authenticated, *unauthenticated; + char *jane, *rsync, *authenticated, *old_authenticated, *unauthenticated; STACK *rsync_cache; int indent; int rsync_verbose, mkdir_verbose; @@ -401,6 +401,9 @@ static int rsync(const rcynic_ctx_t *rc, ...) } va_end(ap); + if (rc->rsync) + argv[0] = rc->rsync; + if (!uri) { logmsg(rc, "Couldn't extract URI from rsync command"); return 0; @@ -1063,6 +1066,9 @@ int main(int argc, char *argv[]) else if (!name_cmp(val->name, "mkdir-verbose")) rc.mkdir_verbose = atoi(val->value); + + else if (!name_cmp(val->name, "rsync-program")) + rc.rsync = strdup(val->value); } if (!rm_rf(rc.old_authenticated)) { @@ -1152,6 +1158,8 @@ int main(int argc, char *argv[]) free(rc.authenticated); free(rc.old_authenticated); free(rc.unauthenticated); + if (rc.rsync) + free(rc.rsync); finish = time(0); |