r1391, r1392, r1393 merge:
auth_http related changes: *) stop configuration on error *) allow "http://" in auth_http URL *) test http_auth absence
This commit is contained in:
parent
8e2c9a3126
commit
d8ea8ca5f8
|
@ -21,6 +21,9 @@ typedef struct {
|
|||
ngx_str_t header;
|
||||
|
||||
ngx_array_t *headers;
|
||||
|
||||
u_char *file;
|
||||
ngx_uint_t line;
|
||||
} ngx_mail_auth_http_conf_t;
|
||||
|
||||
|
||||
|
@ -1311,6 +1314,9 @@ ngx_mail_auth_http_create_conf(ngx_conf_t *cf)
|
|||
|
||||
ahcf->timeout = NGX_CONF_UNSET_MSEC;
|
||||
|
||||
ahcf->file = cf->conf_file->file.name.data;
|
||||
ahcf->line = cf->conf_file->line;
|
||||
|
||||
return ahcf;
|
||||
}
|
||||
|
||||
|
@ -1330,6 +1336,14 @@ ngx_mail_auth_http_merge_conf(ngx_conf_t *cf, void *parent, void *child)
|
|||
conf->peer = prev->peer;
|
||||
conf->host_header = prev->host_header;
|
||||
conf->uri = prev->uri;
|
||||
|
||||
if (conf->peer == NULL) {
|
||||
ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
|
||||
"no \"http_auth\" is defined for server in %s:%ui",
|
||||
conf->file, conf->line);
|
||||
|
||||
return NGX_CONF_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
ngx_conf_merge_msec_value(conf->timeout, prev->timeout, 60000);
|
||||
|
@ -1383,11 +1397,18 @@ ngx_mail_auth_http(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
|||
u.uri_part = 1;
|
||||
u.one_addr = 1;
|
||||
|
||||
if (ngx_strncmp(u.url.data, "http://", 7) == 0) {
|
||||
u.url.len -= 7;
|
||||
u.url.data += 7;
|
||||
}
|
||||
|
||||
if (ngx_parse_url(cf, &u) != NGX_OK) {
|
||||
if (u.err) {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
"%s in auth_http \"%V\"", u.err, &u.url);
|
||||
}
|
||||
|
||||
return NGX_CONF_ERROR;
|
||||
}
|
||||
|
||||
ahcf->peer = u.addrs;
|
||||
|
|
Loading…
Reference in New Issue