comparison src/context.h @ 464:428de28b34b7

cleanup code for adding extra spf data in dkim_from
author Carl Byington <carl@five-ten-sg.com>
date Sun, 10 Mar 2019 08:49:27 -0700
parents f3f1ece619ba
children 5209e92b4885
comparison
equal deleted inserted replaced
463:95b4666a2a0b 464:428de28b34b7
140 }; 140 };
141 141
142 struct DKIM { 142 struct DKIM {
143 const char *action; 143 const char *action;
144 const char *signer; 144 const char *signer;
145 public: 145 const char *extraspf;
146 DKIM(const char *action_, const char *signer_); 146 public:
147 DKIM(const char *action_, const char *signer_, const char*extraspf_);
147 }; 148 };
148 149
149 struct DNSBL { 150 struct DNSBL {
150 const char *name; // nickname for this dns based list 151 const char *name; // nickname for this dns based list
151 const char *suffix; // blacklist suffix like blackholes.five-ten-sg.com 152 const char *suffix; // blacklist suffix like blackholes.five-ten-sg.com
276 277
277 const char *find_dkim_signer(const char *name); 278 const char *find_dkim_signer(const char *name);
278 void add_dkim_signer(const char *signer, const char *action) 279 void add_dkim_signer(const char *signer, const char *action)
279 {dkim_signer_names[signer] = action;}; 280 {dkim_signer_names[signer] = action;};
280 DKIMP find_dkim_from(const char *name); 281 DKIMP find_dkim_from(const char *name);
281 void add_dkim_from(const char *from, const char *action, const char *signer) 282 void add_dkim_from(const char *from, const char *action, const char *signer, const char *extraspf)
282 {dkim_from_names[from] = new DKIM(action,signer);}; 283 {dkim_from_names[from] = new DKIM(action,signer,extraspf);};
283 284
284 void add_dnsbl(const char *name, DNSBLP dns) {dnsbl_names[name] = dns; }; 285 void add_dnsbl(const char *name, DNSBLP dns) {dnsbl_names[name] = dns; };
285 void add_dnsbl(DNSBLP dns) {dnsbl_list.push_back(dns);}; 286 void add_dnsbl(DNSBLP dns) {dnsbl_list.push_back(dns);};
286 DNSBLP find_dnsbl(const char *name); 287 DNSBLP find_dnsbl(const char *name);
287 void set_dnsbll_parsed() {dnsbl_list_parsed = true;}; 288 void set_dnsbll_parsed() {dnsbl_list_parsed = true;};
323 dnswlp_list& get_dnswl_list(); 324 dnswlp_list& get_dnswl_list();
324 325
325 void log(const char *queueid, const char *msg, const char *v); 326 void log(const char *queueid, const char *msg, const char *v);
326 const char *extra_spf_data(const char *signers); 327 const char *extra_spf_data(const char *signers);
327 bool in_signing_set(const char *s, const char *signers); 328 bool in_signing_set(const char *s, const char *signers);
328 void replace(char *buf, char *p, const char *what); 329 void replace(char *buf, char *p, int nn, const char *what);
329 bool resolve_spf(const char *from, uint32_t ip, mlfiPriv *priv, const char *extraspf); 330 bool resolve_spf(const char *from, uint32_t ip, mlfiPriv *priv, const char *extraspf);
330 bool resolve_one_spf(const char *from, uint32_t ip, mlfiPriv *priv, const char *extraspf, int level = 0); 331 bool resolve_one_spf(const char *from, uint32_t ip, mlfiPriv *priv, const char *extraspf, int level = 0);
331 const char *acceptable_content(bool local_source, recorder &memory, int score, int bulk, const char *queueid, string_set &signers, const char *from, mlfiPriv *priv, string& msg); 332 const char *acceptable_content(bool local_source, recorder &memory, int score, int bulk, const char *queueid, string_set &signers, const char *from, mlfiPriv *priv, string& msg);
332 bool ignore_host(const char *host); 333 bool ignore_host(const char *host);
333 334