Changes in uspace/srv/net/dnsrsrv/transport.c [26de91a:feeac0d] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/dnsrsrv/transport.c
r26de91a rfeeac0d 182 182 { 183 183 trans_req_t *treq = NULL; 184 struct sockaddr *saddr = NULL;185 socklen_t saddrlen;186 184 187 185 void *req_data; … … 191 189 goto error; 192 190 193 rc = inet_addr_sockaddr(&dns_server_addr, DNS_SERVER_PORT, 194 &saddr, &saddrlen); 195 if (rc != EOK) { 196 assert(rc == ENOMEM); 191 struct sockaddr_in addr; 192 struct sockaddr_in6 addr6; 193 uint16_t af = 194 inet_addr_sockaddr_in(&dns_server_addr, &addr, &addr6); 195 196 struct sockaddr *address; 197 socklen_t addrlen; 198 199 switch (af) { 200 case AF_INET: 201 addr.sin_port = htons(DNS_SERVER_PORT); 202 address = (struct sockaddr *) &addr; 203 addrlen = sizeof(addr); 204 break; 205 case AF_INET6: 206 addr6.sin6_port = htons(DNS_SERVER_PORT); 207 address = (struct sockaddr *) &addr6; 208 addrlen = sizeof(addr6); 209 break; 210 default: 211 rc = EAFNOSUPPORT; 197 212 goto error; 198 213 } … … 202 217 while (ntry < REQ_RETRY_MAX) { 203 218 rc = sendto(transport_fd, req_data, req_size, 0, 204 saddr, saddrlen);219 (struct sockaddr *) address, addrlen); 205 220 if (rc != EOK) 206 221 goto error; … … 241 256 treq_destroy(treq); 242 257 free(req_data); 243 free(saddr);244 258 return EOK; 245 259 … … 249 263 250 264 free(req_data); 251 free(saddr);252 265 return rc; 253 266 }
Note:
See TracChangeset
for help on using the changeset viewer.