Lines Matching refs:srv

233 static void config_burl_normalize_cond (server * const srv) {  in config_burl_normalize_cond()  argument
234 buffer * const tb = srv->tmp_buf; in config_burl_normalize_cond()
235 for (uint32_t i = 0; i < srv->config_context->used; ++i) { in config_burl_normalize_cond()
236 data_config * const config =(data_config *)srv->config_context->data[i]; in config_burl_normalize_cond()
257 static int config_pcre_keyvalue (server * const srv) { in config_pcre_keyvalue() argument
258 const int pcre_jit = config_feature_bool(srv, "server.pcre_jit", 1); in config_pcre_keyvalue()
259 for (uint32_t i = 0; i < srv->config_context->used; ++i) { in config_pcre_keyvalue()
260 data_config * const dc = (data_config *)srv->config_context->data[i]; in config_pcre_keyvalue()
263 if (!data_config_pcre_compile(dc, pcre_jit, srv->errh)) in config_pcre_keyvalue()
271 static void config_warn_openssl_module (server *srv) { in config_warn_openssl_module() argument
272 for (uint32_t i = 0; i < srv->config_context->used; ++i) { in config_warn_openssl_module()
273 const data_config *config = (data_config const*)srv->config_context->data[i]; in config_warn_openssl_module()
278 array_insert_value(srv->srvconf.modules, CONST_STR_LEN("mod_openssl")); in config_warn_openssl_module()
279 log_error(srv->errh, __FILE__, __LINE__, in config_warn_openssl_module()
292 static void config_check_module_duplicates (server *srv) { in config_check_module_duplicates() argument
294 data_string ** const data = (data_string **)srv->srvconf.modules->data; in config_check_module_duplicates()
295 const uint32_t used = srv->srvconf.modules->used; in config_check_module_duplicates()
318 array_free(srv->srvconf.modules); in config_check_module_duplicates()
319 srv->srvconf.modules = modules; in config_check_module_duplicates()
324 static int config_has_opt_enabled (const server * const srv, const char * const opt, const uint32_t… in config_has_opt_enabled() argument
325 for (uint32_t i = 0; i < srv->config_context->used; ++i) { in config_has_opt_enabled()
327 (const data_config *)srv->config_context->data[i]; in config_has_opt_enabled()
341 static const char * config_has_opt_and_value (const server * const srv, const char * const opt, con… in config_has_opt_and_value() argument
342 for (uint32_t i = 0; i < srv->config_context->used; ++i) { in config_has_opt_and_value()
344 (data_config const *)srv->config_context->data[i]; in config_has_opt_and_value()
355 static void config_compat_module_remove (server *srv, const char *module, uint32_t len) { in config_compat_module_remove() argument
356 array *modules = array_init(srv->srvconf.modules->used); in config_compat_module_remove()
358 for (uint32_t i = 0; i < srv->srvconf.modules->used; ++i) { in config_compat_module_remove()
359 const data_string *ds = (data_string *)srv->srvconf.modules->data[i]; in config_compat_module_remove()
364 array_free(srv->srvconf.modules); in config_compat_module_remove()
365 srv->srvconf.modules = modules; in config_compat_module_remove()
369 static void config_compat_module_prepend (server *srv, const char *module, uint32_t len) { in config_compat_module_prepend() argument
370 array *modules = array_init(srv->srvconf.modules->used+4); in config_compat_module_prepend()
373 for (uint32_t i = 0; i < srv->srvconf.modules->used; ++i) { in config_compat_module_prepend()
374 data_string *ds = (data_string *)srv->srvconf.modules->data[i]; in config_compat_module_prepend()
378 array_free(srv->srvconf.modules); in config_compat_module_prepend()
379 srv->srvconf.modules = modules; in config_compat_module_prepend()
382 static void config_warn_authn_module (server *srv, const char *module, uint32_t len, const char *v)… in config_warn_authn_module() argument
383 buffer * const tb = srv->tmp_buf; in config_warn_authn_module()
386 array_insert_value(srv->srvconf.modules, BUF_PTR_LEN(tb)); in config_warn_authn_module()
387 log_error(srv->errh, __FILE__, __LINE__, in config_warn_authn_module()
395 static void config_compat_module_load (server *srv) { in config_compat_module_load() argument
407 for (uint32_t i = 0; i < srv->srvconf.modules->used; ++i) { in config_compat_module_load()
408 buffer *m = &((data_string *)srv->srvconf.modules->data[i])->value; in config_compat_module_load()
431 log_error(srv->errh, __FILE__, __LINE__, in config_compat_module_load()
473 if (!config_has_opt_enabled(srv, CONST_STR_LEN("index-file.names")) in config_compat_module_load()
474 && !config_has_opt_enabled(srv, CONST_STR_LEN("server.indexfiles"))) { in config_compat_module_load()
476 config_compat_module_remove(srv, CONST_STR_LEN("mod_indexfile")); in config_compat_module_load()
480 if (!config_has_opt_enabled(srv, CONST_STR_LEN("dir-listing.activate")) in config_compat_module_load()
481 && !config_has_opt_enabled(srv, CONST_STR_LEN("server.dir-listing"))) { in config_compat_module_load()
483 config_compat_module_remove(srv, CONST_STR_LEN("mod_dirlisting")); in config_compat_module_load()
491 config_compat_module_prepend(srv, CONST_STR_LEN("mod_indexfile")); in config_compat_module_load()
497 array_insert_value(srv->srvconf.modules, CONST_STR_LEN("mod_dirlisting")); in config_compat_module_load()
501 array_insert_value(srv->srvconf.modules, CONST_STR_LEN("mod_staticfile")); in config_compat_module_load()
506 config_warn_openssl_module(srv); in config_compat_module_load()
516 if ( (v=config_has_opt_and_value(srv,CONST_STR_LEN("auth.backend"), in config_compat_module_load()
518 ||(v=config_has_opt_and_value(srv,CONST_STR_LEN("auth.backend"), in config_compat_module_load()
520 ||(v=config_has_opt_and_value(srv,CONST_STR_LEN("auth.backend"), in config_compat_module_load()
522 config_warn_authn_module(srv, CONST_STR_LEN("file"), v); in config_compat_module_load()
526 if (config_has_opt_and_value(srv, CONST_STR_LEN("auth.backend"), in config_compat_module_load()
528 config_warn_authn_module(srv, CONST_STR_LEN("ldap"), "ldap"); in config_compat_module_load()
534 config_compat_module_prepend(srv, CONST_STR_LEN("mod_auth")); in config_compat_module_load()
538 config_compat_module_prepend(srv, CONST_STR_LEN("mod_vhostdb")); in config_compat_module_load()
542 static void config_deprecate_module_compress (server *srv) { in config_deprecate_module_compress() argument
545 for (uint32_t i = 0; i < srv->srvconf.modules->used; ++i) { in config_deprecate_module_compress()
546 buffer *m = &((data_string *)srv->srvconf.modules->data[i])->value; in config_deprecate_module_compress()
555 for (uint32_t i = 0; i < srv->config_context->used; ++i) { in config_deprecate_module_compress()
557 (data_config const *)srv->config_context->data[i]; in config_deprecate_module_compress()
566 log_error(srv->errh, __FILE__, __LINE__, in config_deprecate_module_compress()
576 array *a = array_init(srv->srvconf.modules->used-1); in config_deprecate_module_compress()
577 for (uint32_t i = 0; i < srv->srvconf.modules->used; ++i) { in config_deprecate_module_compress()
578 buffer *m = &((data_string *)srv->srvconf.modules->data[i])->value; in config_deprecate_module_compress()
583 array_free(srv->srvconf.modules); in config_deprecate_module_compress()
584 srv->srvconf.modules = a; in config_deprecate_module_compress()
588 buffer *m = &((data_string *)srv->srvconf.modules->data[mod_compress_idx])->value; in config_deprecate_module_compress()
593 static int config_http_parseopts (server *srv, const array *a) { in config_http_parseopts() argument
594 unsigned short int opts = srv->srvconf.http_url_normalize; in config_http_parseopts()
603 log_error(srv->errh, __FILE__, __LINE__, in config_http_parseopts()
631 srv->srvconf.http_header_strict = val; in config_http_parseopts()
635 srv->srvconf.http_host_strict = val; in config_http_parseopts()
639 srv->srvconf.http_host_normalize = val; in config_http_parseopts()
643 srv->srvconf.http_method_get_body = val; in config_http_parseopts()
647 log_error(srv->errh, __FILE__, __LINE__, in config_http_parseopts()
671 log_error(srv->errh, __FILE__, __LINE__, in config_http_parseopts()
680 log_error(srv->errh, __FILE__, __LINE__, in config_http_parseopts()
694 srv->srvconf.http_url_normalize = opts; in config_http_parseopts()
698 static int config_insert_srvconf(server *srv) { in config_insert_srvconf() argument
804 srv->srvconf.h2proto = 2; /* enable HTTP/2 and h2c by default */ in config_insert_srvconf()
810 if (!config_plugin_values_init(srv, p, cpk, "global")) in config_insert_srvconf()
821 array_copy_array(srv->srvconf.modules, cpv->v.a); in config_insert_srvconf()
824 srv->srvconf.compat_module_load = (unsigned short)cpv->v.u; in config_insert_srvconf()
827 srv->srvconf.systemd_socket_activation=(unsigned short)cpv->v.u; in config_insert_srvconf()
830 srv->srvconf.port = cpv->v.shrt; in config_insert_srvconf()
834 srv->srvconf.bindhost = cpv->v.b; in config_insert_srvconf()
838 srv->srvconf.network_backend = cpv->v.b; in config_insert_srvconf()
842 srv->srvconf.changeroot = cpv->v.b; in config_insert_srvconf()
846 srv->srvconf.username = cpv->v.b; in config_insert_srvconf()
850 srv->srvconf.groupname = cpv->v.b; in config_insert_srvconf()
859 srv->srvconf.errorlog_use_syslog = (unsigned short)cpv->v.u; in config_insert_srvconf()
863 srv->srvconf.syslog_facility = cpv->v.b; in config_insert_srvconf()
866 srv->srvconf.enable_cores = (unsigned short)cpv->v.u; in config_insert_srvconf()
869 srv->srvconf.event_handler = cpv->v.b->ptr; in config_insert_srvconf()
873 *(const buffer **)&srv->srvconf.pid_file = cpv->v.b; in config_insert_srvconf()
876 srv->srvconf.max_worker = (unsigned short)cpv->v.u; in config_insert_srvconf()
879 srv->srvconf.max_fds = (unsigned short)cpv->v.u; in config_insert_srvconf()
882 srv->srvconf.max_conns = (unsigned short)cpv->v.u; in config_insert_srvconf()
885 srv->srvconf.max_request_field_size = cpv->v.u; in config_insert_srvconf()
891 srv->srvconf.upload_temp_file_size = cpv->v.u; in config_insert_srvconf()
894 array_copy_array(srv->srvconf.upload_tempdirs, cpv->v.a); in config_insert_srvconf()
897 if (!config_http_parseopts(srv, cpv->v.a)) in config_insert_srvconf()
901 srv->srvconf.http_header_strict = (0 != cpv->v.u); in config_insert_srvconf()
904 srv->srvconf.http_host_strict = (0 != cpv->v.u); in config_insert_srvconf()
907 srv->srvconf.http_host_normalize = (0 != cpv->v.u); in config_insert_srvconf()
912 if (0 != stat_cache_choose_engine(cpv->v.b, srv->errh)) in config_insert_srvconf()
926 log_error(srv->errh, __FILE__, __LINE__, in config_insert_srvconf()
935 srv->srvconf.log_request_header_on_error = (0 != cpv->v.u); in config_insert_srvconf()
938 srv->srvconf.feature_flags = cpv->v.a; in config_insert_srvconf()
939 srv->srvconf.h2proto = in config_insert_srvconf()
943 if (srv->srvconf.h2proto) in config_insert_srvconf()
944 srv->srvconf.h2proto += in config_insert_srvconf()
948 srv->srvconf.absolute_dir_redirect = in config_insert_srvconf()
959 if (0 == srv->srvconf.port) in config_insert_srvconf()
960 srv->srvconf.port = ssl_enabled ? 443 : 80; in config_insert_srvconf()
962 config_check_module_duplicates(srv); in config_insert_srvconf()
964 if (srv->srvconf.compat_module_load) in config_insert_srvconf()
965 config_compat_module_load(srv); in config_insert_srvconf()
967 config_deprecate_module_compress(srv); in config_insert_srvconf()
969 if (srv->srvconf.http_url_normalize) in config_insert_srvconf()
970 config_burl_normalize_cond(srv); in config_insert_srvconf()
972 if (!config_pcre_keyvalue(srv)) in config_insert_srvconf()
979 static int config_insert(server *srv) { in config_insert() argument
1090 srv->config_data_base = p; in config_insert()
1092 if (!config_plugin_values_init(srv, p, cpk, "base")) in config_insert()
1155 log_error(srv->errh, __FILE__, __LINE__, in config_insert()
1213 p->defaults.errh = srv->errh; in config_insert()
1227 (srv->srvconf.http_header_strict ? HTTP_PARSEOPT_HEADER_STRICT :0) in config_insert()
1228 | (srv->srvconf.http_host_strict ? (HTTP_PARSEOPT_HOST_STRICT in config_insert()
1230 | (srv->srvconf.http_host_normalize ? HTTP_PARSEOPT_HOST_NORMALIZE :0) in config_insert()
1231 | (srv->srvconf.http_method_get_body ? HTTP_PARSEOPT_METHOD_GET_BODY :0); in config_insert()
1232 p->defaults.http_parseopts |= srv->srvconf.http_url_normalize; in config_insert()
1233 p->defaults.mimetypes = &srv->srvconf.empty_array; /*(must not be NULL)*/ in config_insert()
1234 p->defaults.h2proto = srv->srvconf.h2proto; in config_insert()
1244 p->defaults.max_request_field_size = srv->srvconf.max_request_field_size; in config_insert()
1246 srv->srvconf.log_request_header_on_error; in config_insert()
1255 int config_finalize(server *srv, const buffer *default_server_tag) { in config_finalize() argument
1258 config_data_base * const p = srv->config_data_base; in config_finalize()
1262 srv->srvconf.high_precision_timestamps = in config_finalize()
1263 config_feature_bool(srv, "server.metrics-high-precision", in config_finalize()
1264 srv->srvconf.high_precision_timestamps); in config_finalize()
1274 for (uint32_t i = 0; i < srv->config_context->used; ++i) { in config_finalize()
1275 array *config = ((data_config *)srv->config_context->data[i])->value; in config_finalize()
1287 if (!array_get_element_klen(srv->srvconf.config_touched, in config_finalize()
1289 log_error(srv->errh, __FILE__, __LINE__, in config_finalize()
1294 array_free(srv->srvconf.config_touched); in config_finalize()
1295 srv->srvconf.config_touched = NULL; in config_finalize()
1297 if (srv->srvconf.config_unsupported || srv->srvconf.config_deprecated) { in config_finalize()
1298 if (srv->srvconf.config_unsupported) in config_finalize()
1299 log_error(srv->errh, __FILE__, __LINE__, in config_finalize()
1301 if (srv->srvconf.config_deprecated) in config_finalize()
1302 log_error(srv->errh, __FILE__, __LINE__, in config_finalize()
1310 if (__builtin_expect( (srv->config_captures != 0), 0)) { in config_finalize()
1311 for (uint32_t i = 1; i < srv->config_context->used; ++i) { in config_finalize()
1313 (data_config *)srv->config_context->data[i]; in config_finalize()
1338 const int pcre_jit = config_feature_bool(srv, "server.pcre_jit", 1); in config_finalize()
1339 if (!data_config_pcre_compile(dc, pcre_jit, srv->errh)) in config_finalize()
1345 for (uint32_t i = 1; i < srv->config_context->used; ++i) { in config_finalize()
1347 (data_config *)srv->config_context->data[i]; in config_finalize()
1350 if (__builtin_expect( (NULL == srv->match_data), 0)) { in config_finalize()
1356 for (uint32_t j = i; j < srv->config_context->used; ++j) { in config_finalize()
1358 (data_config *)srv->config_context->data[j]; in config_finalize()
1373 srv->match_data = pcre2_match_data_create(ovec_max, NULL); in config_finalize()
1374 force_assert(srv->match_data); in config_finalize()
1376 dc->match_data = srv->match_data; in config_finalize()
1551 void config_print(server *srv) { in config_print() argument
1552 buffer_clear(srv->tmp_buf); in config_print()
1553 data_unset *dc = srv->config_context->data[0]; in config_print()
1554 config_print_by_type(dc, srv->tmp_buf, 0); in config_print()
1557 void config_free(server *srv) { in config_free() argument
1559 config_free_config(srv->config_data_base); in config_free()
1561 array_free(srv->config_context); in config_free()
1562 array_free(srv->srvconf.config_touched); in config_free()
1563 array_free(srv->srvconf.modules); in config_free()
1564 array_free(srv->srvconf.upload_tempdirs); in config_free()
1566 if (NULL == srv->match_data) pcre2_match_data_free(srv->match_data); in config_free()
1570 void config_init(server *srv) { in config_init() argument
1571 srv->config_context = array_init(16); in config_init()
1572 srv->srvconf.config_touched = array_init(128); in config_init()
1574 srv->srvconf.port = 0; in config_init()
1575 srv->srvconf.dont_daemonize = 0; in config_init()
1576 srv->srvconf.preflight_check = 0; in config_init()
1577 srv->srvconf.compat_module_load = 1; in config_init()
1578 srv->srvconf.systemd_socket_activation = 0; in config_init()
1580 srv->srvconf.high_precision_timestamps = 0; in config_init()
1581 srv->srvconf.max_request_field_size = 8192; in config_init()
1583 srv->srvconf.http_header_strict = 1; in config_init()
1584 srv->srvconf.http_host_strict = 1; /*(implies http_host_normalize)*/ in config_init()
1585 srv->srvconf.http_host_normalize = 0; in config_init()
1586 srv->srvconf.http_url_normalize = in config_init()
1594 srv->srvconf.modules = array_init(16); in config_init()
1595 srv->srvconf.modules_dir = LIBRARY_DIR; in config_init()
1596 srv->srvconf.upload_tempdirs = array_init(2); in config_init()
1610 static void config_log_error_open_syslog(server *srv, log_error_st *errh, const buffer *syslog_faci… in config_log_error_open_syslog() argument
1673 log_error(srv->errh, __FILE__, __LINE__, in config_log_error_open_syslog()
1683 int config_log_error_open(server *srv) { in config_log_error_open() argument
1688 force_assert(srv->errh); in config_log_error_open()
1691 config_data_base * const p = srv->config_data_base; in config_log_error_open()
1707 if (srv->srvconf.errorlog_use_syslog) continue; in config_log_error_open()
1708 errh = srv->errh; in config_log_error_open()
1722 log_perror(srv->errh, __FILE__, __LINE__, in config_log_error_open()
1731 p->defaults.errh = srv->errh = fdlog; in config_log_error_open()
1732 log_set_global_errh(srv->errh, 0); in config_log_error_open()
1737 if (0 == i && errh != srv->errh) /*(top-level server.breakagelog)*/ in config_log_error_open()
1742 if (config_feature_bool(srv, "server.errorlog-high-precision", 0)) in config_log_error_open()
1743 log_set_global_errh(srv->errh, 1); in config_log_error_open()
1745 if (srv->srvconf.errorlog_use_syslog) /*(restricted to global scope)*/ in config_log_error_open()
1746 config_log_error_open_syslog(srv, srv->errh, in config_log_error_open()
1747 srv->srvconf.syslog_facility); in config_log_error_open()
1748 else if (srv->errh->mode == FDLOG_FD && !srv->srvconf.dont_daemonize) in config_log_error_open()
1749 srv->errh->fd = -1; in config_log_error_open()
1762 if (srv->errh->mode == FDLOG_FD) { in config_log_error_open()
1763 srv->errh->fd = dup(STDERR_FILENO); in config_log_error_open()
1764 fdevent_setfd_cloexec(srv->errh->fd); in config_log_error_open()
1770 else if (!srv->srvconf.dont_daemonize) { in config_log_error_open()
1773 log_perror(srv->errh,__FILE__,__LINE__,"opening /dev/null failed"); in config_log_error_open()
1783 log_perror(srv->errh, __FILE__, __LINE__, "setting stderr failed"); in config_log_error_open()
1801 void config_log_error_close(server *srv) { in config_log_error_close() argument
1802 config_data_base * const p = srv->config_data_base; in config_log_error_close()
1808 fdlog_closeall(srv->errh); /*(close all except srv->errh)*/ in config_log_error_close()
1810 if (srv->errh->mode == FDLOG_SYSLOG) { in config_log_error_close()
1811 srv->errh->mode = FDLOG_FD; in config_log_error_close()
1812 srv->errh->fd = STDERR_FILENO; in config_log_error_close()
2118 static int config_parse(server *srv, config_t *context, const char *source, const char *input, int … in config_parse() argument
2134 t.errh = srv->errh; in config_parse()
2175 static int config_parse_stdin(server *srv, config_t *context) { in config_parse_stdin() argument
2187 log_error(srv->errh, __FILE__, __LINE__, in config_parse_stdin()
2197 rc = dlen ? config_parse(srv, context, "-", b->ptr, (int)dlen) : 0; in config_parse_stdin()
2199 log_perror(srv->errh, __FILE__, __LINE__, "config read from stdin"); in config_parse_stdin()
2207 static int config_parse_file_stream(server *srv, config_t *context, const char *fn) { in config_parse_file_stream() argument
2211 log_perror(srv->errh, __FILE__, __LINE__, in config_parse_file_stream()
2218 rc = config_parse(srv, context, fn, data, (int)dlen); in config_parse_file_stream()
2225 int config_parse_file(server *srv, config_t *context, const char *fn) { in config_parse_file() argument
2249 ret = config_parse_file_stream(srv, context, gl.gl_pathv[i]); in config_parse_file()
2259 log_error(srv->errh, __FILE__, __LINE__, "include file not found: %s", filename->ptr); in config_parse_file()
2264 log_perror(srv->errh, __FILE__, __LINE__, "glob() %s failed", filename->ptr); in config_parse_file()
2288 int config_parse_cmd(server *srv, config_t *context, const char *cmd) { in config_parse_cmd() argument
2294 log_perror(srv->errh, __FILE__, __LINE__, "getcwd()"); in config_parse_cmd()
2300 log_perror(srv->errh, __FILE__, __LINE__, in config_parse_cmd()
2307 log_perror(srv->errh, __FILE__, __LINE__, "pipe()"); in config_parse_cmd()
2324 log_perror(srv->errh, __FILE__, __LINE__, "fork/exec(%s)", cmd); in config_parse_cmd()
2338 log_perror(srv->errh, __FILE__, __LINE__, "read \"%s\"", cmd); in config_parse_cmd()
2344 log_perror(srv->errh, __FILE__, __LINE__, "waitpid \"%s\"",cmd); in config_parse_cmd()
2348 log_error(srv->errh, __FILE__, __LINE__, in config_parse_cmd()
2355 ret = config_parse(srv, context, cmd, BUF_PTR_LEN(out)); in config_parse_cmd()
2364 log_perror(srv->errh, __FILE__, __LINE__, in config_parse_cmd()
2439 static void context_init(server *srv, config_t *context) { in context_init() argument
2440 context->srv = srv; in context_init()
2462 int config_read(server *srv, const char *fn) { in config_read() argument
2468 context_init(srv, &context); in config_read()
2469 context.all_configs = srv->config_context; in config_read()
2490 ? config_parse_file_stream(srv, &context, fn) in config_read()
2491 : config_parse_stdin(srv, &context); in config_read()
2509 for (uint32_t i = 0; i < srv->config_context->used; ++i) { in config_read()
2510 dc = (data_config *)srv->config_context->data[i]; in config_read()
2512 for (uint32_t j = i; j < srv->config_context->used; ++j) { in config_read()
2513 dc = (data_config *)srv->config_context->data[j]; in config_read()
2515 srv->config_context->data[j] = srv->config_context->data[i]; in config_read()
2516 srv->config_context->data[i] = (data_unset *)dc; in config_read()
2522 if (0 != config_insert_srvconf(srv)) { in config_read()
2526 if (0 != config_insert(srv)) { in config_read()
2533 int config_set_defaults(server *srv) { in config_set_defaults() argument
2535 request_config *s = &((config_data_base *)srv->config_data_base)->defaults; in config_set_defaults()
2538 if (fdevent_config(&srv->srvconf.event_handler, srv->errh) <= 0) in config_set_defaults()
2541 if (srv->srvconf.changeroot) { in config_set_defaults()
2542 if (-1 == stat(srv->srvconf.changeroot->ptr, &st1)) { in config_set_defaults()
2543 log_error(srv->errh, __FILE__, __LINE__, in config_set_defaults()
2545 srv->srvconf.changeroot->ptr); in config_set_defaults()
2549 log_error(srv->errh, __FILE__, __LINE__, in config_set_defaults()
2551 srv->srvconf.changeroot->ptr); in config_set_defaults()
2556 if (!srv->srvconf.upload_tempdirs->used) { in config_set_defaults()
2559 array_insert_value(srv->srvconf.upload_tempdirs, tmpdir, strlen(tmpdir)); in config_set_defaults()
2562 if (srv->srvconf.upload_tempdirs->used) { in config_set_defaults()
2563 buffer * const tb = srv->tmp_buf; in config_set_defaults()
2565 if (srv->srvconf.changeroot) { in config_set_defaults()
2566 buffer_copy_buffer(tb, srv->srvconf.changeroot); in config_set_defaults()
2570 for (i = 0; i < srv->srvconf.upload_tempdirs->used; ++i) { in config_set_defaults()
2571 const data_string * const ds = (data_string *)srv->srvconf.upload_tempdirs->data[i]; in config_set_defaults()
2579 log_error(srv->errh, __FILE__, __LINE__, in config_set_defaults()
2582 log_error(srv->errh, __FILE__, __LINE__, in config_set_defaults()
2589 srv->srvconf.upload_tempdirs, in config_set_defaults()
2590 srv->srvconf.upload_temp_file_size); in config_set_defaults()
2593 log_error(srv->errh, __FILE__, __LINE__, "server.document-root is not set"); in config_set_defaults()
2600 buffer * const tb = srv->tmp_buf; in config_set_defaults()