gettimeofday(&tv, NULL);
seed = tv.tv_usec;
}
+ srand(seed);
srandom(seed);
CtdlLogPrintf(CTDL_INFO, "Initializing ipgm secret\n");
if (restart_server != 0)
exit(1);
+ if ((running_as_daemon != 0) && (exitcode == 0))
+ exitcode = CTDLEXIT_SHUTDOWN;
exit(exitcode);
}
CtdlLogPrintf(CTDL_DEBUG, "Closing socket %d\n", con->client_socket);
close(con->client_socket);
+ /* If using AUTHMODE_LDAP, free the DN */
+ if (con->ldap_dn) {
+ free(con->ldap_dn);
+ con->ldap_dn = NULL;
+ }
+
CtdlLogPrintf(CTDL_DEBUG, "Done with RemoveContext()\n");
}
CtdlLogPrintf(CTDL_ERR, "Warning: ipgm authentication failed.\n");
CC->kill_me = 1;
}
-
- /* Now change the ipgm secret for the next round.
- * (Disabled because it breaks concurrent scripts. The fact that
- * we no longer accept IPGM over the network should be sufficient
- * to prevent brute-force attacks. If you don't agree, uncomment
- * this block.)
- get_config();
- config.c_ipgm_secret = rand();
- put_config();
- */
}
restart_server = extract_int(argbuf, 0);
if (restart_server > 0)
- Reply = "%d Restarting server. See you soon.\n";
+ {
+ Reply = "%d citserver will now shut down and automatically restart.\n";
+ }
if ((restart_server > 0) && !running_as_daemon)
{
- CtdlLogPrintf(CTDL_ERR, "The user requested restart, but not running as deamon! Geronimooooooo!\n");
- Reply = "%d Warning, not running in deamon mode. maybe we will come up again, but don't lean on it.\n";
+ CtdlLogPrintf(CTDL_ERR, "The user requested restart, but not running as daemon! Geronimooooooo!\n");
+ Reply = "%d Warning: citserver is not running in daemon mode and is therefore unlikely to restart automatically.\n";
state = ERROR;
}
cprintf(Reply, state);
}
else
{
- cprintf(Reply, CIT_OK + SERVER_SHUTTING_DOWN);
+ cprintf(Reply, CIT_OK + SERVER_SHUTTING_DOWN);
}
CtdlThreadStopAll();
}
con->dl_is_net = 0;
con->nologin = 0;
- if ((config.c_maxsessions > 0)&&(num_sessions > config.c_maxsessions)) {
+ if (((config.c_maxsessions > 0)&&(num_sessions > config.c_maxsessions)) || CtdlWantSingleUser()) {
con->nologin = 1;
}
cmd_movf(&cmdbuf[5]);
}
- else if (!strncasecmp(cmdbuf,"NETF",4)) {
- cmd_netf(&cmdbuf[5]);
- }
-
else if (!strncasecmp(cmdbuf,"OPEN",4)) {
cmd_open(&cmdbuf[5]);
}