pField++, sField++)
{
if ((*sField=='\r') || (*sField=='\n')) {
- while (isspace(*sField))
- sField++;
- *pField = *sField;
+ sField++;
+ if (*sField == '\n')
+ sField++;
+ *pField = *sField;
}
else {
if (*sField=='\"') quote = 1 - quote;
else if (!strcasecmp(key, "From")) {
process_rfc822_addr(value, user, node, name);
- CtdlLogPrintf(CTDL_DEBUG, "Converted to <%s@%s> (%s)\n", user, node, name);
+ syslog(LOG_DEBUG, "Converted to <%s@%s> (%s)\n", user, node, name);
snprintf(addr, sizeof addr, "%s@%s", user, node);
if (msg->cm_fields['A'] == NULL)
msg->cm_fields['A'] = strdup(name);
else if (!strcasecmp(key, "Message-ID")) {
if (msg->cm_fields['I'] != NULL) {
- CtdlLogPrintf(CTDL_WARNING, "duplicate message id\n");
+ syslog(LOG_WARNING, "duplicate message id\n");
}
if (msg->cm_fields['I'] == NULL) {
processed = 1;
}
+ else if (!strcasecmp(key, "Reply-To")) {
+ if (msg->cm_fields['K'] != NULL) {
+ free(msg->cm_fields['K']);
+ }
+ msg->cm_fields['K'] = strndup(value, valuelen);
+ processed = 1;
+ }
+
else if (!strcasecmp(key, "In-reply-to")) {
if (msg->cm_fields['W'] == NULL) { /* References: supersedes In-reply-to: */
msg->cm_fields['W'] = strndup(value, valuelen);
}
key[keylen++] = 0;
- CtdlLogPrintf(CTDL_DEBUG, "Directory key is <%s>\n", key);
+ syslog(LOG_DEBUG, "Directory key is <%s>\n", key);
}
char key[SIZ];
if (IsDirectory(internet_addr, 0) == 0) return;
- CtdlLogPrintf(CTDL_DEBUG, "Create directory entry: %s --> %s\n", internet_addr, citadel_addr);
+ syslog(LOG_DEBUG, "Create directory entry: %s --> %s\n", internet_addr, citadel_addr);
directory_key(key, internet_addr);
cdb_store(CDB_DIRECTORY, key, strlen(key), citadel_addr, strlen(citadel_addr)+1 );
}
void CtdlDirectoryDelUser(char *internet_addr, char *citadel_addr) {
char key[SIZ];
- CtdlLogPrintf(CTDL_DEBUG, "Delete directory entry: %s --> %s\n", internet_addr, citadel_addr);
+ syslog(LOG_DEBUG, "Delete directory entry: %s --> %s\n", internet_addr, citadel_addr);
directory_key(key, internet_addr);
cdb_delete(CDB_DIRECTORY, key, strlen(key) );
}