From: Art Cancro Date: Sun, 9 Jan 2000 01:25:29 +0000 (+0000) Subject: * Bug fixes X-Git-Tag: v7.86~7361 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=140701f2026027cc4e2f23606a6550ca7d5f00db * Bug fixes --- diff --git a/citadel/internet_addressing.c b/citadel/internet_addressing.c index 53067543a..f6e39e374 100644 --- a/citadel/internet_addressing.c +++ b/citadel/internet_addressing.c @@ -29,6 +29,7 @@ #include "tools.h" #include "internet_addressing.h" #include "user_ops.h" +#include "room_ops.h" #include "parsedate.h" @@ -241,6 +242,7 @@ int convert_internet_address(char *destuser, char *desthost, char *source) char node[256]; char name[256]; struct quickroom qrbuf; + int i; /* Split it up */ process_rfc822_addr(source, user, node, name); @@ -258,8 +260,15 @@ int convert_internet_address(char *destuser, char *desthost, char *source) */ if (!strcasecmp(node, config.c_nodename)) { /* Try all local rooms */ - if (!strncasecmp(destuser, "room_", 5)) { - /* FIX do this here */ + if (!strncasecmp(user, "room_", 5)) { + strcpy(name, &user[5]); + for (i=0; inumber_of_recipients; + CtdlReallocUserData(SYM_SMTP_RECP, + strlen(SMTP_RECP) + 1024 ); + strcat(SMTP_RECP, "room|"); + strcat(SMTP_RECP, user); + strcat(SMTP_RECP, "|0\n"); + return; + case rfc822_no_such_user: cprintf("550 %s: no such user\n", recp); return; @@ -454,6 +464,13 @@ int smtp_message_delivery(struct CtdlMessage *msg) { } } + /* Delivery to local non-mailbox rooms */ + if (!strcasecmp(dtype, "room")) { + extract(room, buf, 1); + CtdlSaveMsgPointerInRoom(room, msgid, 0); + ++successful_saves; + } + /* Remote delivery */ if (!strcasecmp(dtype, "remote")) { extract(user, buf, 1);