diff --git a/src/lib-sieve/plugins/enotify/cmd-notify.c b/src/lib-sieve/plugins/enotify/cmd-notify.c index 1a03917ec1dc5f25a0eeb246873129c32693e354..d3e90feff0661ac9e08f9a9d1675a419c4a7a61c 100644 --- a/src/lib-sieve/plugins/enotify/cmd-notify.c +++ b/src/lib-sieve/plugins/enotify/cmd-notify.c @@ -529,15 +529,15 @@ static bool act_notify_commit const struct sieve_enotify_action *act = (const struct sieve_enotify_action *) tr_context; struct sieve_enotify_exec_env nenv; - struct sieve_enotify_log_context nlctx; + struct sieve_enotify_log nlog; - memset(&nlctx, 0, sizeof(nlctx)); - nlctx.location = sieve_action_get_location(aenv); - nlctx.ehandler = sieve_result_get_error_handler(aenv->result); + memset(&nlog, 0, sizeof(nlog)); + nlog.location = sieve_action_get_location(aenv); + nlog.ehandler = sieve_result_get_error_handler(aenv->result); nenv.scriptenv = aenv->scriptenv; nenv.msgdata = aenv->msgdata; - nenv.logctx = &nlctx; + nenv.notify_log = &nlog; if ( act->method->action_execute != NULL ) return act->method->action_execute(&nenv, act); diff --git a/src/lib-sieve/plugins/enotify/ext-enotify-common.c b/src/lib-sieve/plugins/enotify/ext-enotify-common.c index 9467a040c2323df8359df1b3e034f9389168d8f1..20706f546ae2c6355ee19a712c6d872d80e6f55a 100644 --- a/src/lib-sieve/plugins/enotify/ext-enotify-common.c +++ b/src/lib-sieve/plugins/enotify/ext-enotify-common.c @@ -153,15 +153,15 @@ bool ext_enotify_uri_validate } if ( method->validate_uri != NULL ) { - struct sieve_enotify_log_context nlctx; + struct sieve_enotify_log nlog; - memset(&nlctx, 0, sizeof(nlctx)); - nlctx.location = sieve_error_script_location + memset(&nlog, 0, sizeof(nlog)); + nlog.location = sieve_error_script_location (sieve_validator_script(valdtr), arg->source_line); - nlctx.ehandler = sieve_validator_error_handler(valdtr); - nlctx.prefix = "notify command"; + nlog.ehandler = sieve_validator_error_handler(valdtr); + nlog.prefix = "notify command"; - return method->validate_uri(&nlctx, sieve_ast_argument_strc(arg), uri); + return method->validate_uri(&nlog, sieve_ast_argument_strc(arg), uri); } return TRUE; @@ -195,15 +195,15 @@ const struct sieve_enotify_method *ext_enotify_runtime_check_operands } if ( method->runtime_check_operands != NULL ) { - struct sieve_enotify_log_context nlctx; + struct sieve_enotify_log nlog; - memset(&nlctx, 0, sizeof(nlctx)); - nlctx.location = sieve_error_script_location(renv->script, source_line); - nlctx.ehandler = sieve_interpreter_get_error_handler(renv->interp); - nlctx.prefix = "notify action"; + memset(&nlog, 0, sizeof(nlog)); + nlog.location = sieve_error_script_location(renv->script, source_line); + nlog.ehandler = sieve_interpreter_get_error_handler(renv->interp); + nlog.prefix = "notify action"; if ( method->runtime_check_operands - (&nlctx, method_uri, uri, message, from, sieve_result_pool(renv->result), + (&nlog, method_uri, uri, message, from, sieve_result_pool(renv->result), context) ) return method; @@ -219,16 +219,16 @@ const struct sieve_enotify_method *ext_enotify_runtime_check_operands */ void sieve_enotify_error -(const struct sieve_enotify_log_context *nlctx, const char *fmt, ...) +(const struct sieve_enotify_log *nlog, const char *fmt, ...) { va_list args; va_start(args, fmt); T_BEGIN { - if ( nlctx->prefix == NULL ) - sieve_verror(nlctx->ehandler, nlctx->location, fmt, args); + if ( nlog->prefix == NULL ) + sieve_verror(nlog->ehandler, nlog->location, fmt, args); else - sieve_error(nlctx->ehandler, nlctx->location, "%s: %s", nlctx->prefix, + sieve_error(nlog->ehandler, nlog->location, "%s: %s", nlog->prefix, t_strdup_vprintf(fmt, args)); } T_END; @@ -236,16 +236,16 @@ void sieve_enotify_error } void sieve_enotify_warning -(const struct sieve_enotify_log_context *nlctx, const char *fmt, ...) +(const struct sieve_enotify_log *nlog, const char *fmt, ...) { va_list args; va_start(args, fmt); T_BEGIN { - if ( nlctx->prefix == NULL ) - sieve_vwarning(nlctx->ehandler, nlctx->location, fmt, args); + if ( nlog->prefix == NULL ) + sieve_vwarning(nlog->ehandler, nlog->location, fmt, args); else - sieve_warning(nlctx->ehandler, nlctx->location, "%s: %s", nlctx->prefix, + sieve_warning(nlog->ehandler, nlog->location, "%s: %s", nlog->prefix, t_strdup_vprintf(fmt, args)); } T_END; @@ -253,16 +253,16 @@ void sieve_enotify_warning } void sieve_enotify_log -(const struct sieve_enotify_log_context *nlctx, const char *fmt, ...) +(const struct sieve_enotify_log *nlog, const char *fmt, ...) { va_list args; va_start(args, fmt); T_BEGIN { - if ( nlctx->prefix == NULL ) - sieve_vinfo(nlctx->ehandler, nlctx->location, fmt, args); + if ( nlog->prefix == NULL ) + sieve_vinfo(nlog->ehandler, nlog->location, fmt, args); else - sieve_info(nlctx->ehandler, nlctx->location, "%s: %s", nlctx->prefix, + sieve_info(nlog->ehandler, nlog->location, "%s: %s", nlog->prefix, t_strdup_vprintf(fmt, args)); } T_END; diff --git a/src/lib-sieve/plugins/enotify/ext-enotify-common.h b/src/lib-sieve/plugins/enotify/ext-enotify-common.h index de614400ffd41023de0e7182d304831b4079f209..891babbe3160ca1d2a6bff88515a047f484e5902 100644 --- a/src/lib-sieve/plugins/enotify/ext-enotify-common.h +++ b/src/lib-sieve/plugins/enotify/ext-enotify-common.h @@ -86,7 +86,7 @@ const struct sieve_enotify_method *ext_enotify_runtime_check_operands * Method logging */ -struct sieve_enotify_log_context { +struct sieve_enotify_log { struct sieve_error_handler *ehandler; const char *location; diff --git a/src/lib-sieve/plugins/enotify/ntfy-mailto.c b/src/lib-sieve/plugins/enotify/ntfy-mailto.c index 378d0c343a7a0d30194ad9e0dd2aae65352b3efc..e79112568efeaf83b23cdb4b0f605b203676f9db 100644 --- a/src/lib-sieve/plugins/enotify/ntfy-mailto.c +++ b/src/lib-sieve/plugins/enotify/ntfy-mailto.c @@ -44,10 +44,10 @@ ARRAY_DEFINE_TYPE(headers, struct ntfy_mailto_header_field); */ static bool ntfy_mailto_validate_uri - (const struct sieve_enotify_log_context *nlctx, const char *uri, + (const struct sieve_enotify_log *nlog, const char *uri, const char *uri_body); static bool ntfy_mailto_runtime_check_operands - (const struct sieve_enotify_log_context *nlctx, const char *uri, + (const struct sieve_enotify_log *nlog, const char *uri, const char *uri_body, const char *message, const char *from, pool_t context_pool, void **context); static void ntfy_mailto_action_print @@ -178,7 +178,7 @@ static inline pool_t array_get_pool_i(struct array *array) array_get_pool_i(&(array)->arr) static bool _uri_parse_recipients -(const struct sieve_enotify_log_context *nlctx, const char **uri_p, +(const struct sieve_enotify_log *nlog, const char **uri_p, ARRAY_TYPE(recipients) *recipients_r) { string_t *to = t_str_new(128); @@ -198,7 +198,7 @@ static bool _uri_parse_recipients /* Parse 2-digit hex value */ if ( !_parse_hex_value(&p, &ch) ) { - sieve_enotify_error(nlctx, "invalid mailto URI: invalid %% encoding"); + sieve_enotify_error(nlog, "invalid mailto URI: invalid %% encoding"); return FALSE; } @@ -249,7 +249,7 @@ static bool _uri_parse_recipients } static bool _uri_parse_headers -(const struct sieve_enotify_log_context *nlctx, const char **uri_p, +(const struct sieve_enotify_log *nlog, const char **uri_p, ARRAY_TYPE(headers) *headers_r, const char **body, const char **subject) { string_t *field = t_str_new(128); @@ -274,11 +274,11 @@ static bool _uri_parse_headers /* Encoded, parse 2-digit hex value */ if ( !_parse_hex_value(&p, &ch) ) { printf("F: %s\n", p); - sieve_enotify_error(nlctx, "invalid mailto URI: invalid %% encoding"); + sieve_enotify_error(nlog, "invalid mailto URI: invalid %% encoding"); return FALSE; } } else if ( ch != '=' && !_is_qchar(ch) ) { - sieve_enotify_error(nlctx, + sieve_enotify_error(nlog, "invalid mailto URI: " "invalid character '%c' in header field name part", *p); return FALSE; @@ -290,7 +290,7 @@ static bool _uri_parse_headers /* Verify field name */ if ( !rfc2822_header_field_name_verify(str_c(field), str_len(field)) ) { - sieve_enotify_error(nlctx, + sieve_enotify_error(nlog, "invalid mailto URI: invalid header field name"); return FALSE; } @@ -321,11 +321,11 @@ static bool _uri_parse_headers if ( ch == '%' ) { /* Encoded, parse 2-digit hex value */ if ( !_parse_hex_value(&p, &ch) ) { - sieve_enotify_error(nlctx, "invalid mailto URI: invalid %% encoding"); + sieve_enotify_error(nlog, "invalid mailto URI: invalid %% encoding"); return FALSE; } } else if ( ch != '=' && !_is_qchar(ch) ) { - sieve_enotify_error(nlctx, + sieve_enotify_error(nlog, "invalid mailto URI: " "invalid character '%c' in header field value part", *p); return FALSE; @@ -339,7 +339,7 @@ static bool _uri_parse_headers // FIXME: verify body ... } else { if ( !rfc2822_header_field_body_verify(str_c(field), str_len(field)) ) { - sieve_enotify_error(nlctx, + sieve_enotify_error(nlog, "invalid mailto URI: invalid header field body"); return FALSE; } @@ -376,7 +376,7 @@ static bool _uri_parse_headers } static bool ntfy_mailto_parse_uri -(const struct sieve_enotify_log_context *nlctx, const char *uri_body, +(const struct sieve_enotify_log *nlog, const char *uri_body, ARRAY_TYPE(recipients) *recipients_r, ARRAY_TYPE(headers) *headers_r, const char **body, const char **subject) { @@ -401,14 +401,14 @@ static bool ntfy_mailto_parse_uri /* First extract to-part by searching for '?' and decoding % items */ - if ( !_uri_parse_recipients(nlctx, &p, recipients_r) ) + if ( !_uri_parse_recipients(nlog, &p, recipients_r) ) return FALSE; /* Extract hfield items */ while ( *p != '\0' ) { /* Extract hfield item by searching for '&' and decoding '%' items */ - if ( !_uri_parse_headers(nlctx, &p, headers_r, body, subject) ) + if ( !_uri_parse_headers(nlog, &p, headers_r, body, subject) ) return FALSE; } @@ -420,14 +420,14 @@ static bool ntfy_mailto_parse_uri */ static bool ntfy_mailto_validate_uri -(const struct sieve_enotify_log_context *nlctx, const char *uri, +(const struct sieve_enotify_log *nlog, const char *uri, const char *uri_body) { - return ntfy_mailto_parse_uri(nlctx, uri_body, NULL, NULL, NULL, NULL); + return ntfy_mailto_parse_uri(nlog, uri_body, NULL, NULL, NULL, NULL); } static bool ntfy_mailto_validate_from -(const struct sieve_enotify_log_context *nlctx, string_t *from) +(const struct sieve_enotify_log *nlog, string_t *from) { const char *error; bool result; @@ -436,7 +436,7 @@ static bool ntfy_mailto_validate_from result = sieve_address_validate(from, &error); if ( !result ) { - sieve_enotify_error(nlctx, + sieve_enotify_error(nlog, "specified :from address '%s' is invalid for " "the mailto method: %s", str_sanitize(str_c(from), 128), error); @@ -451,7 +451,7 @@ static bool ntfy_mailto_validate_from */ static bool ntfy_mailto_runtime_check_operands -(const struct sieve_enotify_log_context *nlctx, const char *uri, +(const struct sieve_enotify_log *nlog, const char *uri, const char *uri_body, const char *message ATTR_UNUSED, const char *from ATTR_UNUSED, pool_t context_pool, void **context) { @@ -463,7 +463,7 @@ static bool ntfy_mailto_runtime_check_operands p_array_init(&mtctx->headers, context_pool, NTFY_MAILTO_MAX_HEADERS); if ( !ntfy_mailto_parse_uri - (nlctx, uri_body, &mtctx->recipients, &mtctx->headers, &mtctx->body, + (nlog, uri_body, &mtctx->recipients, &mtctx->headers, &mtctx->body, &mtctx->subject) ) { return FALSE; } @@ -533,7 +533,7 @@ static bool ntfy_mailto_send (const struct sieve_enotify_exec_env *nenv, const struct sieve_enotify_action *act) { - const struct sieve_enotify_log_context *nlctx = nenv->logctx; + const struct sieve_enotify_log *nlog = nenv->notify_log; const struct sieve_message_data *msgdata = nenv->msgdata; const struct sieve_script_env *senv = nenv->scriptenv; struct ntfy_mailto_context *mtctx = @@ -549,7 +549,7 @@ static bool ntfy_mailto_send /* Just to be sure */ if ( senv->smtp_open == NULL || senv->smtp_close == NULL ) { - sieve_enotify_warning(nlctx, + sieve_enotify_warning(nlog, "notify mailto method has no means to send mail."); return TRUE; } @@ -642,10 +642,10 @@ static bool ntfy_mailto_send } if ( senv->smtp_close(smtp_handle) ) { - sieve_enotify_log(nlctx, + sieve_enotify_log(nlog, "sent mail notification to <%s>", str_sanitize(recipients[i], 80)); } else { - sieve_enotify_error(nlctx, + sieve_enotify_error(nlog, "failed to send mail notification to <%s> " "(refer to system log for more information)", str_sanitize(recipients[i], 80)); @@ -670,7 +670,7 @@ static bool ntfy_mailto_action_execute /* Theoretically multiple headers could exist, so lets make sure */ while ( *hdsp != NULL ) { if ( strcasecmp(*hdsp, "no") != 0 ) { - sieve_enotify_log(nenv->logctx, + sieve_enotify_log(nenv->notify_log, "not sending notification for auto-submitted message from <%s>", str_sanitize(msgdata->return_path, 128)); return TRUE; diff --git a/src/lib-sieve/plugins/enotify/sieve-ext-enotify.h b/src/lib-sieve/plugins/enotify/sieve-ext-enotify.h index 3c60f2c3dde552ba5a6f5b2b7a7e47988849a1a7..b21c2575a6c93058dd7b4b0a69b958f8c3c96e0b 100644 --- a/src/lib-sieve/plugins/enotify/sieve-ext-enotify.h +++ b/src/lib-sieve/plugins/enotify/sieve-ext-enotify.h @@ -15,7 +15,7 @@ * Forward declarations */ -struct sieve_enotify_log_context; +struct sieve_enotify_log; struct sieve_enotify_context; struct sieve_enotify_action; struct sieve_enotify_exec_env; @@ -44,12 +44,12 @@ struct sieve_enotify_method { /* Validation */ bool (*validate_uri) - (const struct sieve_enotify_log_context *nctx, const char *uri, + (const struct sieve_enotify_log *nctx, const char *uri, const char *uri_body); /* Runtime */ bool (*runtime_check_operands) - (const struct sieve_enotify_log_context *nctx, const char *uri, + (const struct sieve_enotify_log *nctx, const char *uri, const char *uri_body, const char *message, const char *from, pool_t context_pool, void **context); @@ -80,7 +80,7 @@ struct sieve_enotify_action { }; struct sieve_enotify_exec_env { - const struct sieve_enotify_log_context *logctx; + const struct sieve_enotify_log *notify_log; const struct sieve_script_env *scriptenv; const struct sieve_message_data *msgdata; @@ -91,13 +91,13 @@ struct sieve_enotify_exec_env { */ void sieve_enotify_error - (const struct sieve_enotify_log_context *nlctx, const char *fmt, ...) + (const struct sieve_enotify_log *nlog, const char *fmt, ...) ATTR_FORMAT(2, 3); void sieve_enotify_warning - (const struct sieve_enotify_log_context *nlctx, const char *fmt, ...) + (const struct sieve_enotify_log *nlog, const char *fmt, ...) ATTR_FORMAT(2, 3); void sieve_enotify_log - (const struct sieve_enotify_log_context *nlctx, const char *fmt, ...) + (const struct sieve_enotify_log *nlog, const char *fmt, ...) ATTR_FORMAT(2, 3); #endif /* __SIEVE_EXT_ENOTIFY_H */