aboutsummaryrefslogtreecommitdiff
path: root/rcynic/rcynic.c
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2006-09-28 18:17:14 +0000
committerRob Austein <sra@hactrn.net>2006-09-28 18:17:14 +0000
commit224c44e3d458183393db997b9afa443164b82143 (patch)
treed113f0bfd144fa9a6ffbe4fec257ec2aa530b08c /rcynic/rcynic.c
parent145097b65b126fe5268d8db3890b58fcbdf80e86 (diff)
Make rsync program name configurable
svn path=/rcynic/rcynic.c; revision=337
Diffstat (limited to 'rcynic/rcynic.c')
-rw-r--r--rcynic/rcynic.c10
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);