* This file contains functions which handle the mapping of Internet addresses
* to users on the Citadel system.
*
* This file contains functions which handle the mapping of Internet addresses
* to users on the Citadel system.
*
*
* 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.
*
* 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.
next = strstr(end, "=?");
if (next != NULL)
FindNextEnd(next, nextend);
next = strstr(end, "=?");
if (next != NULL)
FindNextEnd(next, nextend);
*/
start = strstr(buf, "=?");
FindNextEnd((start != NULL)? start : buf, end);
*/
start = strstr(buf, "=?");
FindNextEnd((start != NULL)? start : buf, end);
extract_token(charset, start, 1, '?', sizeof charset);
extract_token(encoding, start, 2, '?', sizeof encoding);
extract_token(istr, start, 3, '?', sizeof istr);
extract_token(charset, start, 1, '?', sizeof charset);
extract_token(encoding, start, 2, '?', sizeof encoding);
extract_token(istr, start, 3, '?', sizeof istr);
* This function is self explanatory.
* (What can I say, I'm in a weird mood today...)
*/
* This function is self explanatory.
* (What can I say, I'm in a weird mood today...)
*/
-recptypes *validate_recipients(const char *supplied_recipients, const char *RemoteIdentifier, int Flags)
-{
+recptypes *validate_recipients(const char *supplied_recipients, const char *RemoteIdentifier, int Flags) {
process_rfc822_addr(value, user, node, name);
syslog(LOG_DEBUG, "internet_addressing: converted to <%s@%s> (%s)", user, node, name);
snprintf(addr, sizeof(addr), "%s@%s", user, node);
process_rfc822_addr(value, user, node, name);
syslog(LOG_DEBUG, "internet_addressing: converted to <%s@%s> (%s)", user, node, name);
snprintf(addr, sizeof(addr), "%s@%s", user, node);
- if (CM_IsEmpty(msg, eAuthor) && !IsEmptyStr(name))
- CM_SetField(msg, eAuthor, name, strlen(name));
- if (CM_IsEmpty(msg, erFc822Addr) && !IsEmptyStr(addr))
- CM_SetField(msg, erFc822Addr, addr, strlen(addr));
+ if (CM_IsEmpty(msg, eAuthor) && !IsEmptyStr(name)) {
+ CM_SetField(msg, eAuthor, name, -1);
+ }
+ if (CM_IsEmpty(msg, erFc822Addr) && !IsEmptyStr(addr)) {
+ CM_SetField(msg, erFc822Addr, addr, -1);
+ }
snprintf(synthetic_email_addr, sizeof synthetic_email_addr, "ctdl%08x@%s", i, CtdlGetConfigStr("c_fqdn"));
}
u = CtdlDirectoryLookup(NULL, synthetic_email_addr, 0);
snprintf(synthetic_email_addr, sizeof synthetic_email_addr, "ctdl%08x@%s", i, CtdlGetConfigStr("c_fqdn"));
}
u = CtdlDirectoryLookup(NULL, synthetic_email_addr, 0);