X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fserv_network.c;h=0b77b359dc6304846e00edd052ee3100aecdc4af;hb=7b9d3ecad044318bdd54b8b80acbf85fc89d25ab;hp=41b299a296401a37aeece24dc96073c53dfb063b;hpb=f989171c26364cc569f8704c6c466a0ed7343fe1;p=citadel.git diff --git a/citadel/modules/network/serv_network.c b/citadel/modules/network/serv_network.c index 41b299a29..0b77b359d 100644 --- a/citadel/modules/network/serv_network.c +++ b/citadel/modules/network/serv_network.c @@ -2,7 +2,7 @@ * This module handles shared rooms, inter-Citadel mail, and outbound * mailing list processing. * - * Copyright (c) 2000-2017 by the citadel.org team + * Copyright (c) 2000-2018 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. @@ -386,10 +386,6 @@ void network_do_queue(void) free_spoolcontrol_struct(&pSC); pSC = sc; } - /* If there is anything in the inbound queue, process it */ - if (!server_shutting_down) { - network_do_spoolin(working_ignetcfg, the_netmap, &netmap_changed); - } /* Save the network map back to disk */ if (netmap_changed) { @@ -442,78 +438,6 @@ void network_cleanup_function(void) } -int ignet_aftersave(struct CtdlMessage *msg, recptypes *recps) -{ - /* For IGnet mail, we have to save a new copy into the spooler for - * each recipient, with the R and D fields set to the recipient and - * destination-node. This has two ugly side effects: all other - * recipients end up being unlisted in this recipient's copy of the - * message, and it has to deliver multiple messages to the same - * node. We'll revisit this again in a year or so when everyone has - * a network spool receiver that can handle the new style messages. - */ - if ((recps != NULL) && (recps->num_ignet > 0)) - { - char *recipient; - int rv = 0; - struct ser_ret smr; - FILE *network_fp = NULL; - char submit_filename[128]; - static int seqnum = 1; - int i; - char *hold_R, *hold_D, *RBuf, *DBuf; - long hrlen, hdlen, rblen, dblen, count, rlen; - CitContext *CCC = MyContext(); - - CM_GetAsField(msg, eRecipient, &hold_R, &hrlen);; - CM_GetAsField(msg, eDestination, &hold_D, &hdlen);; - - count = num_tokens(recps->recp_ignet, '|'); - rlen = strlen(recps->recp_ignet); - recipient = malloc(rlen + 1); - RBuf = malloc(rlen + 1); - DBuf = malloc(rlen + 1); - for (i=0; irecp_ignet, i, '|', rlen + 1); - - rblen = extract_token(RBuf, recipient, 0, '@', rlen + 1); - dblen = extract_token(DBuf, recipient, 1, '@', rlen + 1); - - CM_SetAsField(msg, eRecipient, &RBuf, rblen);; - CM_SetAsField(msg, eDestination, &DBuf, dblen);; - CtdlSerializeMessage(&smr, msg); - if (smr.len > 0) { - snprintf(submit_filename, sizeof submit_filename, - "%s/netmail.%04lx.%04x.%04x", - ctdl_netin_dir, - (long) getpid(), - CCC->cs_pid, - ++seqnum); - - network_fp = fopen(submit_filename, "wb+"); - if (network_fp != NULL) { - rv = fwrite(smr.ser, smr.len, 1, network_fp); - if (rv == -1) { - syslog(LOG_EMERG, "network: CtdlSubmitMsg() Couldn't write network spool file: %s", strerror(errno)); - } - fclose(network_fp); - } - free(smr.ser); - } - CM_GetAsField(msg, eRecipient, &RBuf, &rblen);; - CM_GetAsField(msg, eDestination, &DBuf, &dblen);; - } - free(RBuf); - free(DBuf); - free(recipient); - CM_SetAsField(msg, eRecipient, &hold_R, hrlen); - CM_SetAsField(msg, eDestination, &hold_D, hdlen); - return 1; - } - return 0; -} - - /* * Module entry point */ @@ -523,7 +447,6 @@ CTDL_MODULE_INIT(network) { if (!threading) { - CtdlRegisterMessageHook(ignet_aftersave, EVT_AFTERSAVE); CtdlFillSystemContext(&networker_spool_CC, "CitNetSpool"); CtdlRegisterSessionHook(network_cleanup_function, EVT_STOP, PRIO_STOP + 30); CtdlRegisterSessionHook(network_logout_hook, EVT_LOGOUT, PRIO_LOGOUT + 10);