Move c-ares related data into its own Sub-Struct
[citadel.git] / citadel / modules / network / serv_networkclient.c
index 0f1f856f6132b732389d85b094c5a4a9f34798b2..338425e760b8b17279dae18d1dbb02606ffff197 100644 (file)
@@ -135,6 +135,8 @@ void DeleteNetworker(void *vptr)
        FreeStrBuf(&NW->port);
        FreeStrBuf(&NW->secret);
        FreeStrBuf(&NW->Url);
+       ((struct CitContext*)NW->IO.CitContext)->state = CON_IDLE;
+       ((struct CitContext*)NW->IO.CitContext)->kill_me = 1;
        FreeAsyncIOContents(&NW->IO);
        free(NW);
 }
@@ -805,7 +807,7 @@ void RunNetworker(AsyncNetworker *NW)
        NW->IO.Terminate     = NWC_Terminate;
        NW->IO.LineReader    = NWC_ReadServerStatus;
        NW->IO.ConnFail      = NWC_ConnFail;
-       NW->IO.DNSFail       = NWC_DNSFail;
+       NW->IO.DNS.Fail      = NWC_DNSFail;
        NW->IO.Timeout       = NWC_Timeout;
        NW->IO.ShutdownAbort = NWC_Shutdown;
        
@@ -818,6 +820,10 @@ void RunNetworker(AsyncNetworker *NW)
        SubC->session_specific_data = (char*) NW;
        NW->IO.CitContext = SubC;
 
+       safestrncpy(SubC->cs_host, 
+                   ChrPtr(NW->host),
+                   sizeof(SubC->cs_host)); 
+
        if (NW->IO.ConnectMe->IsIP) {
                QueueEventContext(&NW->IO,
                                  nwc_connect_ip);