Mercurial > masqmail
diff src/deliver.c @ 429:5593964ec779
Added route conditions based on the From header
New route config directives: allowed_from_hdrs, denied_from_hdrs.
This feature was motivated by Philipp Takacs <philipp29@t-online.de>.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Thu, 20 Nov 2014 20:36:20 +0100 |
parents | 8fedb93e9b72 |
children |
line wrap: on
line diff
--- a/src/deliver.c Wed Apr 03 21:45:57 2013 +0200 +++ b/src/deliver.c Thu Nov 20 20:36:20 2014 +0100 @@ -667,6 +667,21 @@ continue; } + /* filter by allowed from header */ + GList *from_hdrs = NULL; + char *from_hdr = NULL; + from_hdrs = find_header(msgout->msg->hdr_list, HEAD_FROM, + NULL); + if (from_hdrs) { + from_hdr = (char *) ((header *)from_hdrs->data)->value; + if (!route_from_hdr_is_allowed(route, from_hdr)){ + DEBUG(6) debugf("from hdr `%s' is not allowed for this " + "route\n", from_hdr); + destroy_msg_out(msgout_cloned); + continue; + } + } + logwrite(LOG_NOTICE, "%s using '%s'\n", msgout->msg->uid, route->name);