X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fserv_netspool.c;h=96ac8bf6ced32492f229f914ba0ea7dc098db553;hb=8659bf61f03724755374145e6211be6bbfe74fda;hp=dac6db41c3bce08bd93df8a2b5cd992c814ace90;hpb=848934c1722edc208c4df49c571586b72c3fc486;p=citadel.git diff --git a/citadel/modules/network/serv_netspool.c b/citadel/modules/network/serv_netspool.c index dac6db41c..96ac8bf6c 100644 --- a/citadel/modules/network/serv_netspool.c +++ b/citadel/modules/network/serv_netspool.c @@ -72,7 +72,6 @@ #include "internet_addressing.h" #include "serv_network.h" #include "clientsocket.h" -#include "file_ops.h" #include "citadel_dirs.h" #include "threads.h" #include "context.h" @@ -166,10 +165,10 @@ void Netmap_AddMe(struct CtdlMessage *msg, const char *defl, long defllen) char buf[SIZ]; /* prepend our node to the path */ - if (msg->cm_fields[eMessagePath] == NULL) { + if (CM_IsEmpty(msg, eMessagePath)) { CM_SetField(msg, eMessagePath, defl, defllen); } - node_len = strlen(config.c_nodename); + node_len = configlen.c_nodename; if (node_len >= SIZ) node_len = SIZ - 1; memcpy(buf, config.c_nodename, node_len); @@ -421,7 +420,7 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, struct CtdlMessage *msg = NULL; long pos; int field; - struct recptypes *recp = NULL; + recptypes *recp = NULL; char target_room[ROOMNAMELEN]; struct ser_ret sermsg; char filename[PATH_MAX]; @@ -459,11 +458,11 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, } /* Check for message routing */ - if (msg->cm_fields[eDestination] != NULL) { + if (!CM_IsEmpty(msg, eDestination)) { if (strcasecmp(msg->cm_fields[eDestination], config.c_nodename)) { /* route the message */ - Buf = NewStrBufPlain(msg->cm_fields[eDestination], -1); + Buf = NewStrBufPlain(CM_KEY(msg,eDestination)); if (CtdlIsValidNode(&nexthop, NULL, Buf, @@ -473,7 +472,7 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, Netmap_AddMe(msg, HKEY("unknown_user")); /* serialize the message */ - serialize_message(&sermsg, msg); + CtdlSerializeMessage(&sermsg, msg); /* now send it */ if (StrLength(nexthop) == 0) { @@ -497,7 +496,7 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, QN_syslog(LOG_ERR, "%s: %s\n", filename, strerror(errno)); } free(sermsg.ser); - CtdlFreeMessage(msg); + CM_Free(msg); FreeStrBuf(&Buf); return; } @@ -522,12 +521,12 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, * connected that it's inevitable.) */ if (network_usetable(msg) != 0) { - CtdlFreeMessage(msg); + CM_Free(msg); return; } /* Learn network topology from the path */ - if ((msg->cm_fields[eNodeName] != NULL) && (msg->cm_fields[eMessagePath] != NULL)) { + if (!CM_IsEmpty(msg, eNodeName) && !CM_IsEmpty(msg, eMessagePath)) { NetworkLearnTopology(msg->cm_fields[eNodeName], msg->cm_fields[eMessagePath], the_netmap, @@ -537,12 +536,12 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, /* Is the sending node giving us a very persuasive suggestion about * which room this message should be saved in? If so, go with that. */ - if (msg->cm_fields[eRemoteRoom] != NULL) { + if (!CM_IsEmpty(msg, eRemoteRoom)) { safestrncpy(target_room, msg->cm_fields[eRemoteRoom], sizeof target_room); } /* Otherwise, does it have a recipient? If so, validate it... */ - else if (msg->cm_fields[eRecipient] != NULL) { + 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, @@ -559,7 +558,7 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, /* Our last shot at finding a home for this message is to see if * it has the eOriginalRoom (O) field (Originating room) set. */ - else if (msg->cm_fields[eOriginalRoom] != NULL) { + else if (!CM_IsEmpty(msg, eOriginalRoom)) { safestrncpy(target_room, msg->cm_fields[eOriginalRoom], sizeof target_room); } @@ -572,7 +571,7 @@ void network_process_buffer(char *buffer, long size, HashList *working_ignetcfg, msg->cm_flags = CM_SKIP_HOOKS; CtdlSubmitMsg(msg, recp, target_room, 0); } - CtdlFreeMessage(msg); + CM_Free(msg); free_recipients(recp); } @@ -624,7 +623,7 @@ void network_process_file(char *filename, long msgend = (-1L); long msgcur = 0L; int ch; - + int nMessages = 0; fp = fopen(filename, "rb"); if (fp == NULL) { @@ -653,6 +652,7 @@ void network_process_file(char *filename, } ++msgcur; + nMessages ++; } msgend = msgcur - 1; @@ -663,8 +663,15 @@ void network_process_file(char *filename, working_ignetcfg, the_netmap, netmap_changed); + nMessages ++; } + if (nMessages > 0) + QN_syslog(LOG_INFO, + "network: processed %d messages in %s\n", + nMessages, + filename); + fclose(fp); unlink(filename); } @@ -713,7 +720,7 @@ void network_do_spoolin(HashList *working_ignetcfg, HashList *the_netmap, int *n (filedir_entry != NULL)) { #ifdef _DIRENT_HAVE_D_NAMLEN - d_namelen = filedir_entry->d_namelen; + d_namelen = filedir_entry->d_namlen; #else d_namelen = strlen(filedir_entry->d_name); @@ -817,7 +824,7 @@ void network_consolidate_spoolout(HashList *working_ignetcfg, HashList *the_netm (filedir_entry != NULL)) { #ifdef _DIRENT_HAVE_D_NAMLEN - d_namelen = filedir_entry->d_namelen; + d_namelen = filedir_entry->d_namlen; #else d_namelen = strlen(filedir_entry->d_name); @@ -971,7 +978,7 @@ void network_consolidate_spoolout(HashList *working_ignetcfg, HashList *the_netm (filedir_entry != NULL)) { #ifdef _DIRENT_HAVE_D_NAMLEN - d_namelen = filedir_entry->d_namelen; + d_namelen = filedir_entry->d_namlen; #else d_namelen = strlen(filedir_entry->d_name);