X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=postlicyd%2Fquery.c;h=327c2b76a6a1dda4c2d77a66884d7dc1d24e4915;hb=7961b29b3aae8dee45748bf66e30a45c76a47272;hp=e2511c105f9f45f31769254ada5e8bb6f8031dda;hpb=87c3b6012886b05ab8ff36098e1e92e9afb1759c;p=apps%2Fpfixtools.git diff --git a/postlicyd/query.c b/postlicyd/query.c index e2511c1..327c2b7 100644 --- a/postlicyd/query.c +++ b/postlicyd/query.c @@ -42,7 +42,7 @@ bool query_parse(query_t *query, char *p) #define PARSE_CHECK(expr, error, ...) \ do { \ if (!(expr)) { \ - syslog(LOG_ERR, error, ##__VA_ARGS__); \ + err(error, ##__VA_ARGS__); \ return false; \ } \ } while (0) @@ -72,8 +72,6 @@ bool query_parse(query_t *query, char *p) #define CASE(up, low) case PTK_##up: query->low = v; v[vlen] = '\0'; break; CASE(HELO_NAME, helo_name); CASE(QUEUE_ID, queue_id); - CASE(SENDER, sender); - CASE(RECIPIENT, recipient); CASE(RECIPIENT_COUNT, recipient_count); CASE(CLIENT_ADDRESS, client_address); CASE(CLIENT_NAME, client_name); @@ -93,6 +91,24 @@ bool query_parse(query_t *query, char *p) CASE(STRESS, stress); #undef CASE + case PTK_SENDER: + query->sender = v; + v[vlen] = '\0'; + query->sender_domain = memchr(query->sender, '@', vlen); + if (query->sender_domain != NULL) { + ++query->sender_domain; + } + break; + + case PTK_RECIPIENT: + query->recipient = v; + v[vlen] = '\0'; + query->recipient_domain = memchr(query->recipient, '@', vlen); + if (query->recipient_domain != NULL) { + ++query->recipient_domain; + } + break; + case PTK_REQUEST: PARSE_CHECK(vtk == PTK_SMTPD_ACCESS_POLICY, "unexpected `request' value: %.*s", vlen, v); @@ -124,7 +140,7 @@ bool query_parse(query_t *query, char *p) break; default: - syslog(LOG_WARNING, "unexpected key, skipped: %.*s", klen, k); + warn("unexpected key, skipped: %.*s", klen, k); continue; } }