Networker: remove duplicate colon from generated URL.
[citadel.git] / citadel / modules / network / serv_networkclient.c
index 8ee884619ef2e6cac7d869acc83e90da17e0be6b..a0682aeaa87419443552999468431863c32eb58b 100644 (file)
@@ -227,14 +227,22 @@ eNextState NWC_ReadAuthReply(AsyncNetworker *NW)
        }
        else
        {
+               int Error = atol(ChrPtr(NW->IO.IOBuf));
                if (NW->IO.ErrMsg == NULL)
                        NW->IO.ErrMsg = NewStrBuf();
                StrBufPrintf(NW->IO.ErrMsg,
-                            "Connected to node \"%s\" but my secret wasn't accurate.",
-                            ChrPtr(NW->node));
-               EVN_syslog(LOG_ERR, "%s\n", ChrPtr(NW->IO.ErrMsg));
-               CtdlAideMessage(ChrPtr(NW->IO.ErrMsg), "Network error");
-               
+                            "Connected to node \"%s\" but my secret wasn't accurate.\nReason was:%s\n",
+                            ChrPtr(NW->node), ChrPtr(NW->IO.IOBuf) + 4);
+               if (Error == 552) {
+                       EVN_syslog(LOG_INFO,
+                                  "Already talking to %s; skipping this time.\n",
+                                  ChrPtr(NW->node));
+                       
+               }
+               else {
+                       EVN_syslog(LOG_ERR, "%s\n", ChrPtr(NW->IO.ErrMsg));
+                       CtdlAideMessage(ChrPtr(NW->IO.ErrMsg), "Network error");
+               }
                return eAbort;
        }
 }
@@ -986,7 +994,7 @@ void network_poll_other_citadel_nodes(int full_poll, HashList *ignetcfg)
                    strcmp("0.0.0.0", ChrPtr(NW->host)))
                {
                        NW->Url = NewStrBuf();
-                       StrBufPrintf(NW->Url, "citadel://:%s@%s:%s", 
+                       StrBufPrintf(NW->Url, "citadel://%s@%s:%s", 
                                     ChrPtr(NW->secret),
                                     ChrPtr(NW->host),
                                     ChrPtr(NW->port));
@@ -1043,7 +1051,7 @@ CTDL_MODULE_INIT(network_client)
        {
                CtdlFillSystemContext(&networker_client_CC, "CitNetworker");
                
-               CtdlRegisterSessionHook(network_do_clientqueue, EVT_TIMER);
+               CtdlRegisterSessionHook(network_do_clientqueue, EVT_TIMER, PRIO_SEND + 10);
                CtdlRegisterDebugFlagHook(HKEY("networkclient"), LogDebugEnableNetworkClient, &NetworkClientDebugEnabled);
 
        }