diff -ruN csync2-1.34.orig/csync2.c csync2-1.34/csync2.c --- csync2-1.34.orig/csync2.c 2007-07-24 14:04:18.000000000 -0700 +++ csync2-1.34/csync2.c 2010-05-26 11:00:45.000000000 -0700 @@ -44,9 +44,9 @@ static char *file_database = 0; static char *file_config = 0; +static char *lock_file = 0; static char *dbdir = DBDIR; char *cfgname = ""; - char myhostname[256] = ""; char *active_grouplist = 0; char *active_peerlist = 0; @@ -181,9 +181,10 @@ "Creating key file:\n" " %s -k filename\n" "\n" -"Csync2 will refuse to do anything when a " ETCDIR "/csync2.lock file is found.\n" +"Csync2 will refuse to do anything when a " RUNDIR "/csync2.lock file is found.\n" "\n", cmd, cmd); + exit(1); } @@ -288,11 +289,6 @@ return create_keyfile(argv[2]); } - if (!access(ETCDIR "/csync2.lock", F_OK)) { - printf("Found " ETCDIR "/csync2.lock.\n"); - return 1; - } - while ( (opt = getopt(argc, argv, "W:s:Ftp:G:P:C:D:N:HBAIXULSTMRvhcuoimfxrd")) != -1 ) { switch (opt) { case 'W': @@ -431,6 +427,31 @@ } } + if ( !*cfgname ) { + asprintf(&file_database, "%s/%s.db", dbdir, myhostname); + asprintf(&file_config, ETCDIR "/csync2.cfg"); + asprintf(&lock_file, RUNDIR "/csync2.lock"); + } else { + int i; + + for (i=0; cfgname[i]; i++) + if ( !(cfgname[i] >= '0' && cfgname[i] <= '9') && + !(cfgname[i] >= 'a' && cfgname[i] <= 'z') ) { + (mode == MODE_INETD ? conn_printf : csync_fatal) + ("Config names are limited to [a-z0-9]+.\n"); + return mode != MODE_INETD; + } + + asprintf(&file_database, "%s/%s_%s.db", dbdir, myhostname, cfgname); + asprintf(&file_config, ETCDIR "/csync2_%s.cfg", cfgname); + asprintf(&lock_file, RUNDIR "/csync2_%s.lock", cfgname); + } + + if (!access(lock_file, F_OK)) { + printf("Found %s.\n", lock_file); + return 1; + } + if ( optind < argc && mode != MODE_HINT && mode != MODE_MARK && mode != MODE_FORCE && mode != MODE_SIMPLE && @@ -465,6 +486,7 @@ mode = MODE_INETD; } + // print time (if -t is set) csync_printtime(); @@ -504,23 +526,6 @@ cfgname = strdup(url_decode(para)); } - if ( !*cfgname ) { - asprintf(&file_database, "%s/%s.db", dbdir, myhostname); - asprintf(&file_config, ETCDIR "/csync2.cfg"); - } else { - int i; - - for (i=0; cfgname[i]; i++) - if ( !(cfgname[i] >= '0' && cfgname[i] <= '9') && - !(cfgname[i] >= 'a' && cfgname[i] <= 'z') ) { - (mode == MODE_INETD ? conn_printf : csync_fatal) - ("Config names are limited to [a-z0-9]+.\n"); - return mode != MODE_INETD; - } - - asprintf(&file_database, "%s/%s_%s.db", dbdir, myhostname, cfgname); - asprintf(&file_config, ETCDIR "/csync2_%s.cfg", cfgname); - } csync_debug(2, "My hostname is %s.\n", myhostname); csync_debug(2, "Database-File: %s\n", file_database); diff -ruN csync2-1.34.orig/Makefile.am csync2-1.34/Makefile.am --- csync2-1.34.orig/Makefile.am 2007-07-24 14:04:18.000000000 -0700 +++ csync2-1.34/Makefile.am 2010-05-26 11:00:45.000000000 -0700 @@ -50,6 +50,7 @@ AM_CPPFLAGS = -D'DBDIR="$(localstatedir)/lib/csync2"' AM_CPPFLAGS += -D'ETCDIR="$(sysconfdir)"' +AM_CPPFLAGS += -D'RUNDIR="$(localstatedir)/run"' install-data-local: $(mkinstalldirs) $(DESTDIR)$(sysconfdir) diff -ruN csync2-1.34.orig/Makefile.in csync2-1.34/Makefile.in --- csync2-1.34.orig/Makefile.in 2007-07-24 14:04:25.000000000 -0700 +++ csync2-1.34/Makefile.in 2010-05-26 11:00:45.000000000 -0700 @@ -168,7 +168,7 @@ AM_CFLAGS = $(am__append_2) $(am__append_6) AM_LDFLAGS = $(am__append_3) $(am__append_7) -AM_CPPFLAGS = -D'DBDIR="$(localstatedir)/lib/csync2"' -D'ETCDIR="$(sysconfdir)"' +AM_CPPFLAGS = -D'DBDIR="$(localstatedir)/lib/csync2"' -D'ETCDIR="$(sysconfdir)"' -D'RUNDIR="$(localstatedir)/run"' subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs