X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Futils%2Fctdlmigrate.c;h=18b10f511bcc50b1898e3471afcf0b513394870b;hb=2807ad968981de0aae10473ee5fbd7a4c0d513bd;hp=6a501761555760ead7cf8b83e61ab0fa67751802;hpb=d04e4ad0b8ab9e5b71310030704d61b6eceb530b;p=citadel.git diff --git a/citadel/utils/ctdlmigrate.c b/citadel/utils/ctdlmigrate.c index 6a5017615..18b10f511 100644 --- a/citadel/utils/ctdlmigrate.c +++ b/citadel/utils/ctdlmigrate.c @@ -5,7 +5,7 @@ * The scope of this program isn't wide enough to make a difference. If you don't like * it you can rewrite it. * - * Copyright (c) 2009-2012 citadel.org + * Copyright (c) 2009-2016 citadel.org * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3. @@ -55,7 +55,7 @@ void getz(char *buf) { char *ptr; - ptr = fgets(buf, 32767, stdin); + ptr = fgets(buf, SIZ, stdin); if (!ptr) { buf[0] = 0; return; @@ -81,8 +81,8 @@ int main(int argc, char *argv[]) char cmd[PATH_MAX]; char buf[PATH_MAX]; char socket_path[PATH_MAX]; - char remote_user[256]; - char remote_host[256]; + char remote_user[SIZ]; + char remote_host[SIZ]; char remote_sendcommand[PATH_MAX]; FILE *sourcefp = NULL; FILE *targetfp = NULL; @@ -137,10 +137,14 @@ int main(int argc, char *argv[]) "(example: ctdl.foo.org)\n" "--> "); getz(remote_host); + +get_remote_user: printf("\nEnter the name of a user on %s who has full access to Citadel files\n" "(usually root)\n--> ", remote_host); getz(remote_user); + if (IsEmptyStr(remote_user)) + goto get_remote_user; printf("\nEstablishing an SSH connection to the source system...\n\n"); unlink(socket_path); @@ -194,6 +198,8 @@ int main(int argc, char *argv[]) } printf("ctdlmigrate will now begin a database migration...\n"); + printf(" if the system doesn't start working, \n"); + printf(" have a look at the syslog for pending jobs needing to be terminated.\n"); snprintf(cmd, sizeof cmd, "ssh -S %s %s@%s %s -w3600 MIGR export", socket_path, remote_user, remote_host, remote_sendcommand); @@ -258,10 +264,6 @@ FAIL: if (sourcefp) pclose(sourcefp); snprintf(cmd, sizeof cmd, "rsync -va --rsh='ssh -S %s' %s@%s:%s/ %s/", socket_path, remote_user, remote_host, &buf[9], ctdl_message_dir); } - else if (!strncasecmp(buf, "netconfigs|", 11)) { - snprintf(cmd, sizeof cmd, "rsync -va --rsh='ssh -S %s' %s@%s:%s/ %s/", - socket_path, remote_user, remote_host, &buf[11], ctdl_netcfg_dir); - } else if (!strncasecmp(buf, "keys|", 5)) { snprintf(cmd, sizeof cmd, "rsync -va --rsh='ssh -S %s' %s@%s:%s/ %s/", socket_path, remote_user, remote_host, &buf[5], ctdl_key_dir);