112,113c112 < nxt_router_temp_conf_t *tmcf, nxt_socket_conf_t *skcf, < nxt_conf_value_t *conf); --- > nxt_mp_t *mp, nxt_socket_conf_t *skcf, nxt_conf_value_t *conf); 1888,1891c1887,1892 < ret = nxt_router_conf_process_client_ip(task, tmcf, skcf, < conf); < if (nxt_slow_path(ret != NXT_OK)) { < return NXT_ERROR; --- > > if (conf != NULL) { > ret = nxt_router_conf_process_client_ip(task, mp, skcf, conf); > if (nxt_slow_path(ret != NXT_OK)) { > return NXT_ERROR; > } 2127c2128 < nxt_router_conf_process_client_ip(nxt_task_t *task, nxt_router_temp_conf_t *tmcf, --- > nxt_router_conf_process_client_ip(nxt_task_t *task, nxt_mp_t *mp, 2132d2132 < nxt_mp_t *mp; 2136c2136,2137 < nxt_http_client_ip_t *client_ip; --- > nxt_http_forward_t *forward; > nxt_http_forward_header_t *client_ip; 2143,2150d2143 < if (conf == NULL) { < skcf->client_ip = NULL; < < return NXT_OK; < } < < mp = tmcf->router_conf->mem_pool; < 2159,2160c2152,2153 < client_ip = nxt_mp_zget(mp, sizeof(nxt_http_client_ip_t)); < if (nxt_slow_path(client_ip == NULL)) { --- > forward = nxt_mp_zget(mp, sizeof(nxt_http_forward_t)); > if (nxt_slow_path(forward == NULL)) { 2169c2162 < client_ip->source = source; --- > forward->source = source; 2170a2164,2165 > client_ip = &forward->client_ip; > 2174c2169 < client_ip->recursive = nxt_conf_get_boolean(recursive_conf); --- > forward->recursive = nxt_conf_get_boolean(recursive_conf); 2193c2188 < skcf->client_ip = client_ip; --- > skcf->client_ip = forward;