Lines Matching refs:vhost

58 	struct lws_vhost			*vhost;
69 if (!lws_vhost_compare_listen(wsi->a.vhost, a->vhost))
75 lwsl_notice(" using listen skt from vhost %s\n", wsi->a.vhost->name);
87 struct lws_context *cx = a->vhost->context;
102 if (lws_vhost_foreach_listen_wsi(a->vhost->context, a, check_extant))
107 if (a->vhost->iface) {
113 is = lws_socket_bind(a->vhost, NULL, LWS_SOCK_INVALID,
114 a->vhost->listen_port, a->vhost->iface,
124 if (is >= LWS_ITOSA_USABLE && *pv == a->vhost) {
128 *pv = a->vhost->no_listener_vhost_list;
129 a->vhost->no_listener_vhost_list = NULL;
132 if (is < LWS_ITOSA_USABLE && *pv == a->vhost)
143 a->vhost->name);
144 a->vhost->no_listener_vhost_list =
146 cx->no_listener_vhost_list = a->vhost;
161 __func__, a->vhost->name, a->vhost->iface,
162 a->vhost->listen_port);
175 __func__, a->vhost->name, a->vhost->iface,
176 a->vhost->listen_port);
202 sockfd = lws_fi(&a->vhost->fic, "listenskt") ?
220 if (!lws_check_opt(a->vhost->options,
261 n = lws_check_opt(a->vhost->options,
272 lws_plat_set_socket_options(a->vhost, sockfd, 0);
274 is = lws_socket_bind(a->vhost, NULL, sockfd,
275 a->vhost->listen_port,
276 a->vhost->iface, a->af);
293 if (a->vhost->iface)
313 if (!LWS_UNIX_SOCK_ENABLED(a->vhost))
317 a->vhost->listen_port = is;
323 wsi->a.protocol = a->vhost->protocols;
324 lws_vhost_bind_wsi(a->vhost, wsi);
339 lws_dll2_add_tail(&wsi->listen_list, &a->vhost->listen_wsi);
343 if (a->vhost->fo_listen_queue) {
355 if (a->vhost->fo_listen_queue) {
356 int qlen = a->vhost->fo_listen_queue;
374 __lws_lc_tag(a->vhost->context,
375 &a->vhost->context->lcg[LWSLCG_WSI],
377 a->vhost->name,
378 a->vhost->iface ? a->vhost->iface : "",
379 (int)a->vhost->listen_port);
386 lwsl_info(" Listening on \"%s\"\n", a->vhost->iface);
390 a->vhost->iface,
391 a->vhost->listen_port);
394 // info->port = vhost->listen_port;
407 struct lws_vhost *vhost)
413 a.vhost = vhost;
416 vhost->iface = info->iface;
417 vhost->listen_port = info->port;
422 if (vhost->listen_port == CONTEXT_PORT_NO_LISTEN ||
423 vhost->listen_port == CONTEXT_PORT_NO_LISTEN_SERVER)
427 * Let's figure out what AF(s) we want this vhost to listen on.
436 if (LWS_UNIX_SOCK_ENABLED(vhost)) {
443 * We may support both ipv4 and ipv6, but get a numeric vhost listen
448 if (vhost->iface) {
452 q = lws_parse_numeric_address(vhost->iface, buf, sizeof(buf));
461 if (LWS_IPV6_ENABLED(vhost)) {
467 vhost->name);
478 if (!(LWS_IPV6_ENABLED(vhost) &&
479 (vhost->options & LWS_SERVER_OPTION_IPV6_V6ONLY_MODIFY) &&
480 (vhost->options & LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE))) {
489 if (LWS_IPV6_ENABLED(vhost)) {
506 struct lws_vhost *vhost = context->vhost_list;
518 while (vhost) {
519 if (port == vhost->listen_port &&
520 !strncmp(vhost->name, servername, (unsigned int)colon)) {
522 return vhost;
524 vhost = vhost->vhost_next;
528 * Priority 2: if no exact matches, try matching *.vhost-name
534 vhost = context->vhost_list;
535 while (vhost) {
536 int m = (int)strlen(vhost->name);
537 if (port && port == vhost->listen_port &&
540 !strncmp(vhost->name, servername + colon - m, (unsigned int)m)) {
542 servername, vhost->name);
543 return vhost;
545 vhost = vhost->vhost_next;
548 /* Priority 3: match the first vhost on our port */
550 vhost = context->vhost_list;
551 while (vhost) {
552 if (port && port == vhost->listen_port) {
553 lwsl_info("%s: vhost match to %s based on port %d\n",
554 __func__, vhost->name, port);
555 return vhost;
557 vhost = vhost->vhost_next;
681 if (!wsi->a.vhost)
685 if (wsi->a.vhost->http.error_document_404 &&
686 !strcmp(uri, wsi->a.vhost->http.error_document_404))
883 lws_vhost_name_to_protocol(wsi->a.vhost,
888 wsi->a.vhost->protocols[
891 if (lws_bind_protocol(wsi, &wsi->a.vhost->protocols[
912 wsi->a.vhost, m->protocol);
946 hm = wsi->a.vhost->http.mount_list;
1444 wsi->a.vhost->listen_port);
1618 lws_metrics_tag_wsi_add(wsi, "vh", wsi->a.vhost->name);
1790 if (lws_bind_protocol(wsi, &wsi->a.vhost->protocols[0],
1858 pp = lws_vhost_name_to_protocol(wsi->a.vhost, name);
1955 wsi->a.vhost, hit->protocol);
2078 * this vhost wants us to validate what the
2079 * client sent against our vhost name
2106 if (strncmp(ts.token, wsi->a.vhost->name, ts.token_len)) {
2108 lwsl_info("%s: '%s' in host hdr but vhost name %s\n",
2109 __func__, ts.token, wsi->a.vhost->name);
2123 if (wsi->a.vhost->listen_port != port) {
2124 lwsl_info("%s: host port %d mismatches vhost port %d\n",
2125 __func__, port, wsi->a.vhost->listen_port);
2145 &wsi->a.vhost->protocols[wsi->a.vhost->raw_protocol_index];
2149 if (wsi->a.vhost->listen_accept_role &&
2150 lws_role_by_name(wsi->a.vhost->listen_accept_role))
2151 role = lws_role_by_name(wsi->a.vhost->listen_accept_role);
2153 if (wsi->a.vhost->listen_accept_protocol) {
2154 p1 = lws_vhost_name_to_protocol(wsi->a.vhost,
2155 wsi->a.vhost->listen_accept_protocol);
2177 "protocol %s, cb %d, ah %p\n", __func__, wsi->a.vhost->name,
2236 * ACCEPT_CONFIG is set on this vhost.
2268 /* select vhost */
2270 if (wsi->a.vhost->listen_port &&
2272 struct lws_vhost *vhost = lws_select_vhost(
2273 context, wsi->a.vhost->listen_port,
2276 if (vhost)
2277 lws_vhost_bind_wsi(vhost, wsi);
2402 if (wsi->a.vhost->options &
2629 if (lws_bind_protocol(wsi, &wsi->a.vhost->protocols[0], __func__))
2655 if (wsi->a.vhost->keepalive_timeout)
2657 lws_set_timeout(wsi, (enum pending_timeout)n, wsi->a.vhost->keepalive_timeout);
2684 if (wsi->a.vhost->tls.use_ssl &&
2704 wsi->a.vhost->keepalive_timeout);
3210 wsi->a.vhost->protocols[