if (!ng_ipaddr_tostr_r(dest, ip_str)) {
Log(LOG_WARNING, "New_Server: Could not convert IP to string");
+ Conf_Server[Server].conn_id = NONE;
return;
}
if (new_sock < 0) {
Log(LOG_CRIT, "Can't create socket (af %d): %s!",
af_dest, strerror(errno));
+ Conf_Server[Server].conn_id = NONE;
return;
}
- if (!Init_Socket(new_sock))
+ if (!Init_Socket(new_sock)) {
+ Conf_Server[Server].conn_id = NONE;
return;
+ }
/* is a bind address configured? */
res = ng_ipaddr_af(&Conf_Server[Server].bind_addr);
if(( res != 0 ) && ( errno != EINPROGRESS )) {
Log( LOG_CRIT, "Can't connect socket: %s!", strerror( errno ));
close( new_sock );
+ Conf_Server[Server].conn_id = NONE;
return;
}
"Cannot allocate memory for server connection (socket %d)",
new_sock);
close( new_sock );
+ Conf_Server[Server].conn_id = NONE;
return;
}
if (!io_event_create( new_sock, IO_WANTWRITE, cb_connserver)) {
Log(LOG_ALERT, "io_event_create(): could not add fd %d", strerror(errno));
close(new_sock);
+ Conf_Server[Server].conn_id = NONE;
return;
}
if (!c) {
Log( LOG_ALERT, "Can't establish connection: can't create client structure!" );
io_close(new_sock);
+ Conf_Server[Server].conn_id = NONE;
return;
}
/* Initialize the "main program": chroot environment, user and
* group ID, ... */
if (!NGIRCd_Init(NGIRCd_NoDaemon)) {
- Log(LOG_ALERT, "Fatal: Initialization failed");
+ Log(LOG_ALERT, "Fatal: Initialization failed, exiting!");
exit(1);
}
}
/* SSL initialization */
- if (!ConnSSL_InitLibrary())
- Log(LOG_WARNING,
- "Error during SSL initialization, continuing without SSL ...");
+ if (!ConnSSL_InitLibrary()) {
+ Log(LOG_ERR, "Error during SSL initialization!");
+ goto out;
+ }
/* Change root */
if (Conf_Chroot[0]) {