Mercurial > hg > nginx
comparison src/core/ngx_resolver.c @ 1683:1e0b028055ec
allow to use IP addresses without defined resolver
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 03 Dec 2007 10:05:19 +0000 |
parents | ca317d9b5c09 |
children | a24c909ad879 |
comparison
equal
deleted
inserted
replaced
1682:85523506e427 | 1683:1e0b028055ec |
---|---|
97 r = ngx_calloc(sizeof(ngx_resolver_t), log); | 97 r = ngx_calloc(sizeof(ngx_resolver_t), log); |
98 if (r == NULL) { | 98 if (r == NULL) { |
99 return NULL; | 99 return NULL; |
100 } | 100 } |
101 | 101 |
102 uc = ngx_calloc(sizeof(ngx_udp_connection_t), log); | |
103 if (uc == NULL) { | |
104 return NULL; | |
105 } | |
106 | |
107 r->event = ngx_calloc(sizeof(ngx_event_t), log); | 102 r->event = ngx_calloc(sizeof(ngx_event_t), log); |
108 if (r->event == NULL) { | 103 if (r->event == NULL) { |
109 return NULL; | 104 return NULL; |
110 } | 105 } |
111 | 106 |
136 r->event->handler = ngx_resolver_resend_handler; | 131 r->event->handler = ngx_resolver_resend_handler; |
137 r->event->data = r; | 132 r->event->data = r; |
138 r->event->log = log; | 133 r->event->log = log; |
139 r->ident = -1; | 134 r->ident = -1; |
140 | 135 |
141 r->udp_connection = uc; | |
142 | |
143 r->resend_timeout = 5; | 136 r->resend_timeout = 5; |
144 r->expire = 30; | 137 r->expire = 30; |
145 r->valid = 300; | 138 r->valid = 300; |
146 | 139 |
147 r->log = log; | 140 r->log = log; |
148 r->log_level = NGX_LOG_ALERT; | 141 r->log_level = NGX_LOG_ALERT; |
149 | 142 |
150 uc->sockaddr = addr->sockaddr; | 143 if (addr) { |
151 uc->socklen = addr->socklen; | 144 uc = ngx_calloc(sizeof(ngx_udp_connection_t), log); |
152 uc->server = addr->name; | 145 if (uc == NULL) { |
153 uc->log = log; | 146 return NULL; |
147 } | |
148 | |
149 r->udp_connection = uc; | |
150 | |
151 uc->sockaddr = addr->sockaddr; | |
152 uc->socklen = addr->socklen; | |
153 uc->server = addr->name; | |
154 uc->log = log; | |
155 } | |
154 | 156 |
155 return r; | 157 return r; |
156 } | 158 } |
157 | 159 |
158 | 160 |
173 temp->addr = addr; | 175 temp->addr = addr; |
174 temp->quick = 1; | 176 temp->quick = 1; |
175 | 177 |
176 return temp; | 178 return temp; |
177 } | 179 } |
180 } | |
181 | |
182 if (r->udp_connection == NULL) { | |
183 return NGX_NO_RESOLVER; | |
178 } | 184 } |
179 | 185 |
180 ctx = ngx_resolver_calloc(r, sizeof(ngx_resolver_ctx_t)); | 186 ctx = ngx_resolver_calloc(r, sizeof(ngx_resolver_ctx_t)); |
181 | 187 |
182 if (ctx) { | 188 if (ctx) { |