X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fconn.c;h=9daca8531b34bef97a30d63290fdd1eee7df4498;hp=bbb186e9b19d60186593db1084e8d6a5d88fede0;hb=79ca5fe04d0081468aa09cf0a7caca45a45b9864;hpb=596bc096b02ef94efe3d73bb747c6ab0368f63bf diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index bbb186e9..9daca853 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -207,7 +207,7 @@ cb_connserver(int sock, UNUSED short what) if (ng_ipaddr_af(&Conf_Server[server].dst_addr[0])) { /* more addresses to try... */ - New_Server(res, &Conf_Server[server].dst_addr[0]); + New_Server(server, &Conf_Server[server].dst_addr[0]); /* connection to dst_addr[0] is now in progress, so * remove this address... */ Conf_Server[server].dst_addr[0] = @@ -1774,6 +1774,9 @@ Check_Servers(void) } /* Okay, try to connect now */ + Log(LOG_NOTICE, + "Preparing to establish a new server link for \"%s\" ...", + Conf_Server[i].name); Conf_Server[i].lasttry = time_now; Conf_Server[i].conn_id = SERVER_WAIT; assert(Proc_GetPipeFd(&Conf_Server[i].res_stat) < 0); @@ -1798,8 +1801,9 @@ New_Server( int Server , ng_ipaddr_t *dest) return; } - Log( LOG_INFO, "Establishing connection to \"%s\", %s, port %d ... ", - Conf_Server[Server].host, ip_str, Conf_Server[Server].port ); + Log(LOG_INFO, "Establishing connection for \"%s\" to \"%s\" (%s) port %d ... ", + Conf_Server[Server].name, Conf_Server[Server].host, ip_str, + Conf_Server[Server].port); af_dest = ng_ipaddr_af(dest); new_sock = socket(af_dest, SOCK_STREAM, 0); @@ -1931,8 +1935,8 @@ Init_Socket( int Sock ) LogDebug("Setting IP_TOS on socket %d to IPTOS_LOWDELAY.", Sock); if (setsockopt(Sock, IPPROTO_IP, IP_TOS, &value, (socklen_t) sizeof(value))) { - Log(LOG_ERR, "Can't set socket option IP_TOS: %s!", - strerror(errno)); + LogDebug("Can't set socket option IP_TOS: %s!", + strerror(errno)); /* ignore this error */ } #endif @@ -1968,8 +1972,11 @@ cb_Connect_to_Server(int fd, UNUSED short events) /* Read result from pipe */ len = Proc_Read(&Conf_Server[i].res_stat, dest_addrs, sizeof(dest_addrs)); - if (len == 0) + if (len == 0) { + /* Error resolving hostname: reset server structure */ + Conf_Server[i].conn_id = NONE; return; + } assert((len % sizeof(ng_ipaddr_t)) == 0);