X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fserv_netspool.c;h=86cad97b4a7144f83f91963e776c09f0c9279f7c;hb=30a4090b04dff1084df3789efe78afd1e2bf6d90;hp=04144b54267317ffc1303d8aed8ddd090a3dbbe0;hpb=7cfe40f56853007488962e16e65ef939c9365866;p=citadel.git diff --git a/citadel/modules/network/serv_netspool.c b/citadel/modules/network/serv_netspool.c index 04144b542..86cad97b4 100644 --- a/citadel/modules/network/serv_netspool.c +++ b/citadel/modules/network/serv_netspool.c @@ -96,7 +96,7 @@ /* * Bounce a message back to the sender */ -void network_bounce(struct CtdlMessage *msg, char *reason) +void network_bounce(struct CtdlMessage **pMsg, char *reason) { struct CitContext *CCC = CC; char buf[SIZ]; @@ -106,7 +106,8 @@ void network_bounce(struct CtdlMessage *msg, char *reason) char force_room[ROOMNAMELEN]; static int serialnum = 0; long len; - + struct CtdlMessage *msg = *pMsg; + *pMsg = NULL; QNM_syslog(LOG_DEBUG, "entering network_bounce()\n"); if (msg == NULL) return; @@ -548,7 +549,7 @@ int network_usetable(struct CtdlMessage *msg) if (CheckIfAlreadySeen("Networker Import", msgid, now, 0, - eCheckUpdate, + eUpdate, CCC->cs_pid, 0) != 0) { FreeStrBuf(&msgid); @@ -656,10 +657,9 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, else { /* invalid destination node name */ FreeStrBuf(&Buf); - network_bounce(msg, + network_bounce(&msg, "A message you sent could not be delivered due to an invalid destination node" " name. Please check the address and try sending the message again.\n"); - msg = NULL; return; } @@ -696,10 +696,9 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, else if (!CM_IsEmpty(msg, eRecipient)) { recp = validate_recipients(msg->cm_fields[eRecipient], NULL, 0); if (recp != NULL) if (recp->num_error != 0) { - network_bounce(msg, + network_bounce(&msg, "A message you sent could not be delivered due to an invalid address.\n" "Please check the address and try sending the message again.\n"); - msg = NULL; free_recipients(recp); QNM_syslog(LOG_DEBUG, "Bouncing message due to invalid recipient address.\n"); return;