Lines Matching refs:con

522 static int is_connection_trusted(connection * const con, plugin_data *p)  in is_connection_trusted()  argument
525 return is_proxy_trusted(p, BUF_PTR_LEN(&con->dst_addr_buf)); in is_connection_trusted()
528 static int is_connection_trusted_cached(connection * const con, plugin_data *p) in is_connection_trusted_cached() argument
532 handler_ctx ** const hctx = (handler_ctx **)&con->plugin_ctx[p->id]; in is_connection_trusted_cached()
538 is_proxy_trusted(p, BUF_PTR_LEN(&con->dst_addr_buf))); in is_connection_trusted_cached()
582 BUF_PTR_LEN(&con->dst_addr_buf)); in mod_extforward_set_addr()
612 r->con->proto_default_port = 443; /* "https" */ in mod_extforward_set_proto()
616 r->con->proto_default_port = 80; /* "http" */ in mod_extforward_set_proto()
955 r->con->proto_default_port)) { in mod_extforward_Forwarded()
1051 handler_ctx *hctx = r->con->plugin_ctx[p->id]; in URIHANDLER_FUNC()
1096 if (forwarded && is_connection_trusted_cached(r->con, p)) { in URIHANDLER_FUNC()
1106 r->con->dst_addr_buf.ptr); in URIHANDLER_FUNC()
1114 handler_ctx * const hctx = r->con->plugin_ctx[((plugin_data *)p_d)->id]; in REQUEST_FUNC()
1134 connection * const con = r->con; in REQUEST_FUNC() local
1135 r->dst_addr = &con->dst_addr; in REQUEST_FUNC()
1136 r->dst_addr_buf = &con->dst_addr_buf; in REQUEST_FUNC()
1149 handler_ctx *hctx = con->plugin_ctx[p->id]; in CONNECTION_FUNC()
1151 con->plugin_ctx[p->id] = NULL; in CONNECTION_FUNC()
1153 con->network_read = hctx->saved_network_read; in CONNECTION_FUNC()
1161 static int mod_extforward_network_read (connection *con, chunkqueue *cq, off_t max_bytes);
1165 request_st * const r = &con->request; in CONNECTION_FUNC()
1170 if (is_connection_trusted(con, p)) { in CONNECTION_FUNC()
1172 con->plugin_ctx[p->id] = hctx; in CONNECTION_FUNC()
1174 hctx->saved_network_read = con->network_read; in CONNECTION_FUNC()
1175 con->network_read = mod_extforward_network_read; in CONNECTION_FUNC()
1181 con->dst_addr_buf.ptr); in CONNECTION_FUNC()
1403 static int mod_extforward_hap_PROXY_v1 (connection * const con, in mod_extforward_hap_PROXY_v1() argument
1458 if (1 != sock_addr_inet_pton(&con->dst_addr, in mod_extforward_hap_PROXY_v1()
1467 sock_addr_inet_ntop_copy_buffer(&con->dst_addr_buf, &con->dst_addr); in mod_extforward_hap_PROXY_v1()
1474 static int mod_extforward_hap_PROXY_v2 (connection * const con, in mod_extforward_hap_PROXY_v2() argument
1525 sock_addr_assign(&con->dst_addr, AF_INET, hdr->v2.addr.ip4.src_port, in mod_extforward_hap_PROXY_v2()
1527 sock_addr_inet_ntop_copy_buffer(&con->dst_addr_buf, &con->dst_addr); in mod_extforward_hap_PROXY_v2()
1539 sock_addr_assign(&con->dst_addr, AF_INET6, hdr->v2.addr.ip6.src_port, in mod_extforward_hap_PROXY_v2()
1541 sock_addr_inet_ntop_copy_buffer(&con->dst_addr_buf, &con->dst_addr); in mod_extforward_hap_PROXY_v2()
1560 if (0 != sock_addr_assign(&con->dst_addr, AF_UNIX, 0, src_addr)) in mod_extforward_hap_PROXY_v2()
1562 buffer_copy_string_len(&con->dst_addr_buf, src_addr, len); in mod_extforward_hap_PROXY_v2()
1581 con->plugin_ctx[mod_extforward_plugin_data_singleton->id]; in mod_extforward_hap_PROXY_v2()
1602 con->proto_default_port = 443; /* "https" */ in mod_extforward_hap_PROXY_v2()
1664 static int mod_extforward_network_read (connection *con, in mod_extforward_network_read() argument
1673 const int family = sock_addr_get_family(&con->dst_addr); in mod_extforward_network_read()
1674 int rc = hap_PROXY_recv(con->fd, &hdr, family, SOCK_STREAM); in mod_extforward_network_read()
1676 case 2: rc = mod_extforward_hap_PROXY_v2(con, &hdr); break; in mod_extforward_network_read()
1677 case 1: rc = mod_extforward_hap_PROXY_v1(con, &hdr); break; in mod_extforward_network_read()
1679 case -1: errh = con->srv->errh; in mod_extforward_network_read()
1682 case -2: errh = con->srv->errh; in mod_extforward_network_read()
1690 con->plugin_ctx[mod_extforward_plugin_data_singleton->id]; in mod_extforward_network_read()
1691 con->network_read = hctx->saved_network_read; in mod_extforward_network_read()
1693 return (0 == rc) ? con->network_read(con, cq, max_bytes) : rc; in mod_extforward_network_read()