mirror of
https://bitbucket.org/jsuto/piler.git
synced 2024-12-25 07:50:11 +01:00
parser fix for envelope addresses
Signed-off-by: Janos SUTO <sj@acts.hu>
This commit is contained in:
parent
f88740ad9b
commit
30b50f72c5
@ -208,7 +208,7 @@ int parse_line(char *buf, struct parser_state *state, struct session_data *sdata
|
|||||||
}
|
}
|
||||||
// There's a dummy separator header at the end of the envelope header lines,
|
// There's a dummy separator header at the end of the envelope header lines,
|
||||||
// otherwise the first line of the real header would be lost
|
// otherwise the first line of the real header would be lost
|
||||||
else if(state->message_state != MSG_ENVELOPE_FROM && state->message_state != MSG_ENVELOPE_TO){
|
else if(cfg->process_rcpt_to_addresses == 0 || (state->message_state != MSG_ENVELOPE_TO && strncasecmp(buf, "X-Piler-Envelope-", strlen("X-Piler-Envelope-")))){
|
||||||
state->saved_size += len;
|
state->saved_size += len;
|
||||||
//n = write(state->mfd, buf, len); // WRITE
|
//n = write(state->mfd, buf, len); // WRITE
|
||||||
if(len + state->writebufpos > writebuffersize-1){
|
if(len + state->writebufpos > writebuffersize-1){
|
||||||
@ -605,7 +605,7 @@ int parse_line(char *buf, struct parser_state *state, struct session_data *sdata
|
|||||||
|
|
||||||
|
|
||||||
/* skip irrelevant headers */
|
/* skip irrelevant headers */
|
||||||
if(state->is_header == 1 && state->message_state != MSG_FROM && state->message_state != MSG_TO && state->message_state != MSG_CC && state->message_state != MSG_RECIPIENT) return 0;
|
if(state->is_header == 1 && state->message_state != MSG_FROM && state->message_state != MSG_TO && state->message_state != MSG_CC && state->message_state != MSG_RECIPIENT && state->message_state != MSG_ENVELOPE_FROM && state->message_state != MSG_ENVELOPE_TO) return 0;
|
||||||
|
|
||||||
|
|
||||||
/* don't process body if it's not a text or html part */
|
/* don't process body if it's not a text or html part */
|
||||||
@ -707,10 +707,6 @@ int parse_line(char *buf, struct parser_state *state, struct session_data *sdata
|
|||||||
if(cfg->verbosity >= _LOG_DEBUG) syslog(LOG_PRIORITY, "%s: journal rcpt: '%s'", sdata->ttmpfile, puf);
|
if(cfg->verbosity >= _LOG_DEBUG) syslog(LOG_PRIORITY, "%s: journal rcpt: '%s'", sdata->ttmpfile, puf);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(state->message_state == MSG_ENVELOPE_TO && cfg->verbosity >= _LOG_DEBUG){
|
|
||||||
syslog(LOG_PRIORITY, "%s: envelope rcpt: '%s'", sdata->ttmpfile, puf);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(findnode(state->rcpt, puf) == NULL){
|
if(findnode(state->rcpt, puf) == NULL){
|
||||||
|
|
||||||
/* skip any address matching ...@cfg->hostid, 2013.10.29, SJ */
|
/* skip any address matching ...@cfg->hostid, 2013.10.29, SJ */
|
||||||
|
Loading…
Reference in New Issue
Block a user