comparison src/core/ngx_resolver.c @ 6593:b3b7e33083ac

Introduced ngx_inet_get_port() and ngx_inet_set_port() functions.
author Roman Arutyunyan <arut@nginx.com>
date Mon, 20 Jun 2016 11:50:39 +0300
parents adf25b8d0431
children c3e3de6d2672
comparison
equal deleted inserted replaced
6592:2c7b488a61fb 6593:b3b7e33083ac
2994 { 2994 {
2995 ngx_uint_t i; 2995 ngx_uint_t i;
2996 ngx_addr_t *addrs; 2996 ngx_addr_t *addrs;
2997 ngx_resolver_t *r; 2997 ngx_resolver_t *r;
2998 ngx_sockaddr_t *sockaddr; 2998 ngx_sockaddr_t *sockaddr;
2999 struct sockaddr_in *sin;
3000 ngx_resolver_ctx_t *ctx; 2999 ngx_resolver_ctx_t *ctx;
3001 ngx_resolver_srv_name_t *srv; 3000 ngx_resolver_srv_name_t *srv;
3002 #if (NGX_HAVE_INET6)
3003 struct sockaddr_in6 *sin6;
3004 #endif
3005 3001
3006 r = cctx->resolver; 3002 r = cctx->resolver;
3007 ctx = cctx->data; 3003 ctx = cctx->data;
3008 srv = cctx->srvs; 3004 srv = cctx->srvs;
3009 3005
3043 addrs[i].socklen = cctx->addrs[i].socklen; 3039 addrs[i].socklen = cctx->addrs[i].socklen;
3044 3040
3045 ngx_memcpy(&sockaddr[i], cctx->addrs[i].sockaddr, 3041 ngx_memcpy(&sockaddr[i], cctx->addrs[i].sockaddr,
3046 addrs[i].socklen); 3042 addrs[i].socklen);
3047 3043
3048 switch (addrs[i].sockaddr->sa_family) { 3044 ngx_inet_set_port(addrs[i].sockaddr, srv->port);
3049 #if (NGX_HAVE_INET6)
3050 case AF_INET6:
3051 sin6 = (struct sockaddr_in6 *) addrs[i].sockaddr;
3052 sin6->sin6_port = htons(srv->port);
3053 break;
3054 #endif
3055 default: /* AF_INET */
3056 sin = (struct sockaddr_in *) addrs[i].sockaddr;
3057 sin->sin_port = htons(srv->port);
3058 }
3059 } 3045 }
3060 3046
3061 srv->addrs = addrs; 3047 srv->addrs = addrs;
3062 srv->naddrs = cctx->naddrs; 3048 srv->naddrs = cctx->naddrs;
3063 } 3049 }