mirror of
https://github.com/nginx/nginx.git
synced 2024-12-27 09:21:18 -06:00
axe src/core/ngx_unix_domain.*
This commit is contained in:
parent
7063343a6c
commit
3d7f00d414
@ -120,7 +120,6 @@ AIO_SRCS="src/event/modules/ngx_aio_module.c \
|
||||
UNIX_INCS="$CORE_INCS $EVENT_INCS src/os/unix"
|
||||
|
||||
UNIX_DEPS="$CORE_DEPS $EVENT_DEPS \
|
||||
src/core/ngx_unix_domain.h \
|
||||
src/os/unix/ngx_time.h \
|
||||
src/os/unix/ngx_types.h \
|
||||
src/os/unix/ngx_errno.h \
|
||||
@ -149,7 +148,6 @@ UNIX_DEPS="$CORE_DEPS $EVENT_DEPS \
|
||||
|
||||
|
||||
UNIX_SRCS="$CORE_SRCS $EVENT_SRCS \
|
||||
src/core/ngx_unix_domain.c \
|
||||
src/os/unix/ngx_time.c \
|
||||
src/os/unix/ngx_errno.c \
|
||||
src/os/unix/ngx_alloc.c \
|
||||
|
@ -68,9 +68,6 @@ typedef void (*ngx_connection_handler_pt)(ngx_connection_t *c);
|
||||
#include <ngx_event_openssl.h>
|
||||
#endif
|
||||
#include <ngx_inet.h>
|
||||
#if (NGX_HAVE_UNIX_DOMAIN)
|
||||
#include <ngx_unix_domain.h>
|
||||
#endif
|
||||
#include <ngx_cycle.h>
|
||||
#include <ngx_process_cycle.h>
|
||||
#include <ngx_conf_file.h>
|
||||
|
@ -1,79 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright (C) Igor Sysoev
|
||||
*/
|
||||
|
||||
|
||||
#include <ngx_config.h>
|
||||
#include <ngx_core.h>
|
||||
#include <ngx_event.h>
|
||||
#include <ngx_event_connect.h>
|
||||
|
||||
|
||||
/* Solaris has predefined "#define sun 1" */
|
||||
#undef sun
|
||||
|
||||
|
||||
ngx_peers_t *
|
||||
ngx_unix_upstream_parse(ngx_conf_t *cf, ngx_unix_domain_upstream_t *u)
|
||||
{
|
||||
size_t len;
|
||||
ngx_uint_t i;
|
||||
ngx_peers_t *peers;
|
||||
struct sockaddr_un *sun;
|
||||
|
||||
len = u->url.len - 5;
|
||||
|
||||
if (u->uri_part) {
|
||||
for (i = 5; i < u->url.len; i++) {
|
||||
if (u->url.data[i] == ':') {
|
||||
len = i - 5;
|
||||
u->uri.len = u->url.len - 5 - len - 1;
|
||||
u->uri.data = u->url.data + 5 + len + 1;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (len == 0) {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
"the unix domain socket \"%V\" has no path",
|
||||
&u->name);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (len + 1 > sizeof(sun->sun_path)) {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
"the unix domain socket path \"%V\" is too long",
|
||||
&u->name);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* MP: ngx_shared_palloc() */
|
||||
|
||||
peers = ngx_pcalloc(cf->pool, sizeof(ngx_peers_t));
|
||||
if (peers == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
sun = ngx_pcalloc(cf->pool, sizeof(struct sockaddr_un));
|
||||
if (sun == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
peers->number = 1;
|
||||
|
||||
sun->sun_family = AF_UNIX;
|
||||
(void) ngx_cpystrn((u_char *) sun->sun_path, u->url.data + 5, len + 1);
|
||||
|
||||
peers->peer[0].sockaddr = (struct sockaddr *) sun;
|
||||
peers->peer[0].socklen = sizeof(struct sockaddr_un);
|
||||
|
||||
peers->peer[0].name.len = 5 + len;
|
||||
peers->peer[0].name.data = u->url.data;
|
||||
|
||||
peers->peer[0].uri_separator = ":";
|
||||
|
||||
return peers;
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
|
||||
/*
|
||||
* Copyright (C) Igor Sysoev
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _NGX_UNIX_DOMAIN_H_INCLUDED_
|
||||
#define _NGX_UNIX_DOMAIN_H_INCLUDED_
|
||||
|
||||
|
||||
#include <ngx_config.h>
|
||||
#include <ngx_core.h>
|
||||
|
||||
|
||||
typedef struct {
|
||||
ngx_str_t name; /* "schema:unix:path:/uri" */
|
||||
ngx_str_t url; /* "unix:path:/uri" */
|
||||
ngx_str_t uri;
|
||||
|
||||
ngx_uint_t uri_part; /* unsigned uri_part:1; */
|
||||
} ngx_unix_domain_upstream_t;
|
||||
|
||||
|
||||
ngx_peers_t *ngx_unix_upstream_parse(ngx_conf_t *cf,
|
||||
ngx_unix_domain_upstream_t *u);
|
||||
|
||||
|
||||
#endif /* _NGX_UNIX_DOMAIN_H_INCLUDED_ */
|
||||
|
Loading…
Reference in New Issue
Block a user