Lines Matching refs:srv
53 network_server_handle_fdevent(server *srv, void *context, int revents) { in network_server_handle_fdevent() argument
61 log_error_write(srv, __FILE__, __LINE__, "sdd", in network_server_handle_fdevent()
71 for (loops = 0; loops < 100 && NULL != (con = connection_accept(srv, srv_socket)); loops++) { in network_server_handle_fdevent()
74 connection_state_machine(srv, con); in network_server_handle_fdevent()
76 switch(r = plugins_call_handle_joblist(srv, con)) { in network_server_handle_fdevent()
81 log_error_write(srv, __FILE__, __LINE__, "d", r); in network_server_handle_fdevent()
89 static int network_ssl_servername_callback(SSL *ssl, int *al, server *srv) { in network_ssl_servername_callback() argument
99 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:", in network_ssl_servername_callback()
110 config_cond_cache_reset(srv, con); in network_ssl_servername_callback()
111 config_setup_connection(srv, con); in network_ssl_servername_callback()
113 config_patch_connection(srv, con, COMP_SERVER_SOCKET); in network_ssl_servername_callback()
114 config_patch_connection(srv, con, COMP_HTTP_SCHEME); in network_ssl_servername_callback()
115 config_patch_connection(srv, con, COMP_HTTP_HOST); in network_ssl_servername_callback()
119 log_error_write(srv, __FILE__, __LINE__, "ssb", "SSL:", in network_ssl_servername_callback()
126 log_error_write(srv, __FILE__, __LINE__, "ssb", "SSL:", in network_ssl_servername_callback()
136 network_server_init(server *srv, buffer *host_token, specific_config *s) { argument
165 if (srv == srv->first_entry) {
187 …log_error_write(srv, __FILE__, __LINE__, "sb", "value of $SERVER[\"socket\"] has to be \"ip:port\"…
210 log_error_write(srv, __FILE__, __LINE__, "sd", "port out of range:", port);
223 log_error_write(srv, __FILE__, __LINE__, "ss", "socket failed:", strerror(errno));
227 log_error_write(srv, __FILE__, __LINE__, "s",
235 srv_socket->fd = mtcp_socket(srv->mctx, AF_INET, SOCK_STREAM, 0);
237 log_error_write(srv, __FILE__, __LINE__, "ss", "socket failed:", strerror(errno));
240 if (mtcp_setsock_nonblock(srv->mctx, srv_socket->fd) < 0) {
241 log_error_write(srv, __FILE__, __LINE__, "ss",
252 log_error_write(srv, __FILE__, __LINE__, "ss", "socket failed:", strerror(errno));
262 log_error_write(srv, __FILE__, __LINE__, "ss", "socket failed:", strerror(errno));
274 …log_error_write(srv, __FILE__, __LINE__, "ss", "socketsockopt(SO_REUSEADDR) failed:", strerror(err…
280 srv->cur_fds = srv_socket->fd;
289 …log_error_write(srv, __FILE__, __LINE__, "s", "warning: please use server.use-ipv6 only for hostna…
297 …log_error_write(srv, __FILE__, __LINE__, "ss", "socketsockopt(IPV6_V6ONLY) failed:", strerror(errn…
301 …log_error_write(srv, __FILE__, __LINE__, "s", "warning: server.set-v6only will be removed soon, up…
311 log_error_write(srv, __FILE__, __LINE__,
334 log_error_write(srv, __FILE__, __LINE__,
341 log_error_write(srv, __FILE__, __LINE__, "sd", "addr-type != AF_INET: ", he->h_addrtype);
346 … log_error_write(srv, __FILE__, __LINE__, "sd", "addr-length != sizeof(in_addr): ", he->h_length);
372 log_error_write(srv, __FILE__, __LINE__, "ss",
388 log_error_write(srv, __FILE__, __LINE__, "sds",
401 if (0 != mtcp_bind(srv->mctx, srv_socket->fd,
415 log_error_write(srv, __FILE__, __LINE__, "sds",
420 log_error_write(srv, __FILE__, __LINE__, "ssds",
429 if (-1 == mtcp_listen(srv->mctx, srv_socket->fd, srv->listen_backlog)) {
433 log_error_write(srv, __FILE__, __LINE__, "ss", "listen failed: ", strerror(errno));
440 log_error_write(srv, __FILE__, __LINE__, "s", "ssl.pemfile has to be set");
445 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
454 log_error_write(srv, __FILE__, __LINE__, "ss", "can't set TCP_DEFER_ACCEPT: ", strerror(errno));
466 …log_error_write(srv, __FILE__, __LINE__, "ss", "can't set accept-filter 'httpready': ", strerror(e…
475 if (srv->srv_sockets.size == 0) {
476 srv->srv_sockets.size = 4;
477 srv->srv_sockets.used = 0;
478 srv->srv_sockets.ptr = malloc(srv->srv_sockets.size * sizeof(server_socket));
479 } else if (srv->srv_sockets.used == srv->srv_sockets.size) {
480 srv->srv_sockets.size += 4;
481 …srv->srv_sockets.ptr = realloc(srv->srv_sockets.ptr, srv->srv_sockets.size * sizeof(server_socket)…
484 srv->srv_sockets.ptr[srv->srv_sockets.used++] = srv_socket;
494 while (srv->first_entry->srv_sockets.used == 0) { fprintf(stdout, " "); }
496 srv->cur_fds = srv->first_entry->srv_sockets.ptr[srv->first_entry->srv_sockets.used - 1]->fd;
498 if (srv->srv_sockets.size == 0) {
500 srv->srv_sockets.size = 4;
501 srv->srv_sockets.used = 0;
502 srv->srv_sockets.ptr = malloc(srv->srv_sockets.size * sizeof(server_socket));
503 } else if (srv->srv_sockets.used == srv->srv_sockets.size) {
505 srv->srv_sockets.size += 4;
506 …srv->srv_sockets.ptr = realloc(srv->srv_sockets.ptr, srv->srv_sockets.size * sizeof(server_socket)…
509 srv->srv_sockets.ptr[srv->srv_sockets.used] = calloc(1, sizeof(*srv_socket));
510 if (NULL == srv->srv_sockets.ptr[srv->srv_sockets.used]) {
516 memcpy((srv->srv_sockets.ptr[srv->srv_sockets.used]),
517 (srv->first_entry->srv_sockets.ptr[srv->first_entry->srv_sockets.used - 1]),
520 srv->srv_sockets.ptr[srv->srv_sockets.used]->fd =
521 srv->first_entry->srv_sockets.ptr[srv->first_entry->srv_sockets.used - 1]->fd;
522 srv->srv_sockets.ptr[srv->srv_sockets.used]->fde_ndx = -1;
523 srv->srv_sockets.ptr[srv->srv_sockets.used]->addr =
524 srv->first_entry->srv_sockets.ptr[srv->first_entry->srv_sockets.used - 1]->addr;
525 srv->srv_sockets.ptr[srv->srv_sockets.used]->use_ipv6 =
526 srv->first_entry->srv_sockets.ptr[srv->first_entry->srv_sockets.used - 1]->use_ipv6;
527 srv->srv_sockets.ptr[srv->srv_sockets.used]->is_ssl =
528 srv->first_entry->srv_sockets.ptr[srv->first_entry->srv_sockets.used - 1]->is_ssl;
529 srv->srv_sockets.used++;
539 fdevent_event_del(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd);
540 fdevent_unregister(srv->ev, srv_socket->fd);
543 mtcp_close(srv->mctx, srv_socket->fd);
557 network_close(server *srv) { argument
559 for (i = 0; i < srv->srv_sockets.used; i++) {
560 server_socket *srv_socket = srv->srv_sockets.ptr[i];
565 fdevent_event_del(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd);
566 fdevent_unregister(srv->ev, srv_socket->fd);
569 mtcp_close(srv->mctx, srv_socket->fd);
580 free(srv->srv_sockets.ptr);
598 network_init(server *srv) { argument
680 for (i = 0; i < srv->config_context->used; i++) {
681 specific_config *s = srv->config_storage[i];
692 data_config *dc = (data_config *)srv->config_context->data[i];
694 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
701 if (srv->ssl_is_init == 0) {
705 srv->ssl_is_init = 1;
708 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
715 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
726 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
735 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
744 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
759 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL: Unable to open file", s->ssl_dh_file->ptr);
765 …log_error_write(srv, __FILE__, __LINE__, "ss", "SSL: PEM_read_bio_DHparams failed", s->ssl_dh_file…
772 log_error_write(srv, __FILE__, __LINE__, "s", "SSL: DH_new () failed");
780 log_error_write(srv, __FILE__, __LINE__, "s", "SSL: BN_bin2bn () failed");
795 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL: Unknown curve name", s->ssl_ec_curve->ptr);
804 …log_error_write(srv, __FILE__, __LINE__, "ss", "SSL: Unable to create curve", s->ssl_ec_curve->ptr…
815 log_error_write(srv, __FILE__, __LINE__, "ssb", "SSL:",
822 log_error_write(srv, __FILE__, __LINE__, "ssb", "SSL:",
825 if (SSL_CTX_set_session_id_context(s->ssl_ctx, (void*) &srv, sizeof(srv)) != 1) {
826 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
840 srv, __FILE__, __LINE__, "s",
846 log_error_write(srv, __FILE__, __LINE__, "ssb", "SSL:",
852 log_error_write(srv, __FILE__, __LINE__, "ssb", "SSL:",
858 log_error_write(srv, __FILE__, __LINE__, "sssb", "SSL:",
869 !SSL_CTX_set_tlsext_servername_arg(s->ssl_ctx, srv)) {
870 log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
881 buffer_copy_string_buffer(b, srv->srvconf.bindhost);
883 buffer_append_long(b, srv->srvconf.port);
885 if (0 != network_server_init(srv, b, srv->config_storage[0])) {
891 srv->network_ssl_backend_write = network_write_chunkqueue_openssl;
898 if (!buffer_is_empty(srv->srvconf.network_backend)) {
901 …if (buffer_is_equal_string(srv->srvconf.network_backend, network_backends[i].name, strlen(network_…
909 log_error_write(srv, __FILE__, __LINE__, "sb",
911 srv->srvconf.network_backend);
919 srv->network_backend_write = network_write_chunkqueue_write;
923 srv->network_backend_write = network_write_chunkqueue_writev;
928 srv->network_backend_write = network_write_chunkqueue_linuxsendfile;
933 srv->network_backend_write = network_write_chunkqueue_freebsdsendfile;
938 srv->network_backend_write = network_write_chunkqueue_solarissendfilev;
943 srv->network_backend_write = network_write_chunkqueue_mtcp_writev;
951 for (i = 1; i < srv->config_context->used; i++) {
952 data_config *dc = (data_config *)srv->config_context->data[i];
953 specific_config *s = srv->config_storage[i];
963 for (j = 0; j < srv->srv_sockets.used; j++) {
964 if (buffer_is_equal(srv->srv_sockets.ptr[j]->srv_token, dc->string)) {
969 if (j == srv->srv_sockets.used) {
970 if (0 != network_server_init(srv, dc->string, s)) return -1;
978 network_register_fdevents(server *srv) { argument
981 if (-1 == fdevent_reset(srv->ev)) {
986 for (i = 0; i < srv->srv_sockets.used; i++) {
987 server_socket *srv_socket = srv->srv_sockets.ptr[i];
989 fdevent_register(srv->ev, srv_socket->fd, network_server_handle_fdevent, srv_socket);
990 fdevent_event_set(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd, FDEVENT_IN);
996 network_write_chunkqueue(server *srv, connection *con, chunkqueue *cq, off_t max_bytes) { argument
1010 joblist_append(srv, con);
1024 joblist_append(srv, con);
1046 ret = srv->network_ssl_backend_write(srv, con, con->ssl, cq, max_bytes);
1049 ret = srv->network_backend_write(srv, con, con->fd, cq, max_bytes);