--- noip2.c.old 2015-01-06 14:47:18.998335680 -0200 +++ noip2.c 2015-01-06 14:47:36.957335245 -0200 @@ -134,6 +134,10 @@ + added -f flag to run in foreground + patch suggested by rogi@skylittlesystem.org + + January 2015 (dota? =op) version 2.1.9-1 + + hack to make foreground mode work as expected + + patch suggested by rogi@skylittlesystem.org + */ ///////////////////////////////////////////////////////////////////////////// @@ -352,6 +356,7 @@ int debug = 0; int timed_out = 0; int background = 1; // new default +int foreground_hack = 0; // FIXME: hack s2 int port_to_use = CLIENT_IP_PORT; int socket_fd = -1; int config_fd = -1; @@ -744,7 +749,8 @@ shm_dump_active++; break; case 'f': - background=0; + background=1; + foreground_hack=1; break; default: Usage(); @@ -1031,7 +1037,8 @@ char *err_string; static int startup = 1; - x = fork(); + /* FIXME: hack s2 */ + x = foreground_hack ? 0 : fork(); switch (x) { case -1: // error err_string = strerror(errno); @@ -1043,13 +1050,23 @@ setsid(); if (get_shm_info() == FATALERR) return FATALERR; - log2syslog++; - if (log2syslog > 0) - fclose(stderr); - fclose(stdout); - fclose(stdin); - syslog(LOG_INFO, "v%s daemon started%s\n", - VERSION, (nat) ? " with NAT enabled" : ""); + + /* FIXME: hack s2 */ + if (foreground_hack) { + printf("v%s daemon started%s\n", + VERSION, (nat) ? " with NAT enabled" : ""); + } + + else { + log2syslog++; + if (log2syslog > 0) + fclose(stderr); + fclose(stdout); + fclose(stdin); + syslog(LOG_INFO, "v%s daemon started%s\n", + VERSION, (nat) ? " with NAT enabled" : ""); + } + while (background) { delay = MAX(60, my_instance->interval * 60); if (nat) @@ -1089,7 +1106,14 @@ if (background) // signal may have reset this! Sleep(delay); } - syslog(LOG_INFO, "v%s daemon ended.\n", VERSION); + + /* FIXME: hack s2 */ + if (foreground_hack) + printf("v%s daemon ended.\n", VERSION); + + else + syslog(LOG_INFO, "v%s daemon ended.\n", VERSION); + break; } return SUCCESS;