Large migrations over SSH continue failing despite the addition of keepalives in...
[citadel.git] / citadel / ctdlmigrate.c
index f767148c0a1fc59d9d42d1730c5d0a93ef0d97c0..10aa5104f63e6d5d3ac0e809a054c0c58626b40a 100644 (file)
@@ -305,7 +305,7 @@ int main(int argc, char *argv[]) {
                sprintf(socket_path, "/tmp/ctdlmigrate-socket.%ld.%d", time(NULL), getpid());
                unlink(socket_path);
 
-               snprintf(cmd, sizeof cmd, "ssh -MNf -S %s -l %s %s", socket_path, remote_user, remote_host);
+               snprintf(cmd, sizeof cmd, "ssh -MNf -o ServerAliveInterval=5 -S %s -l %s %s", socket_path, remote_user, remote_host);
                sshpid = fork();
                if (sshpid < 0) {
                        printf("%s\n", strerror(errno));
@@ -364,7 +364,7 @@ int main(int argc, char *argv[]) {
                        "          ║                                                                   ║\n"
                        "          ║ \033[33mMigrating from: %-50s\033[32m║\n"
                        "          ║                                                                   ║\n"
-                       "          â\95\9f═══════════════════════════════════════════════════════════════════╣\n"
+                       "          â\95 ═══════════════════════════════════════════════════════════════════╣\n"
                        "          ║                                                                   ║\n"
                        "          ║ Lines received: 0                           Percent complete: 0   ║\n"
                        "          ║                                                                   ║\n"
@@ -372,7 +372,7 @@ int main(int argc, char *argv[]) {
                        "\n", remote_host
                );
 
-               snprintf(cmd, sizeof cmd, "ssh -S %s %s@%s %s -w3600 MIGR export", socket_path, remote_user, remote_host, remote_sendcommand);
+               snprintf(cmd, sizeof cmd, "ssh -o ServerAliveInterval=5 -S %s %s@%s %s -w3600 MIGR export", socket_path, remote_user, remote_host, remote_sendcommand);
                sourcefp = popen(cmd, "r");
                if (!sourcefp) {
                        cmdexit = errno;