mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-16 07:45:23 -04:00
allow DNS server to get access to the IP address for the requestor; from tor cvs via Nick Mathewson
svn:r362
This commit is contained in:
parent
5d3b6a8387
commit
f0d0559c3e
11
evdns.c
11
evdns.c
@ -1788,6 +1788,17 @@ evdns_server_request_drop(struct evdns_server_request *_req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// exported function
|
||||
int
|
||||
evdns_server_request_get_requesting_addr(struct evdns_server_request *_req, struct sockaddr *sa, int addr_len)
|
||||
{
|
||||
struct server_request *req = TO_SERVER_REQUEST(_req);
|
||||
if (addr_len < (int)req->addrlen)
|
||||
return -1;
|
||||
memcpy(sa, &(req->addr), req->addrlen);
|
||||
return req->addrlen;
|
||||
}
|
||||
|
||||
#undef APPEND16
|
||||
#undef APPEND32
|
||||
|
||||
|
2
evdns.h
2
evdns.h
@ -361,5 +361,7 @@ int evdns_server_request_add_cname_reply(struct evdns_server_request *req, const
|
||||
|
||||
int evdns_server_request_respond(struct evdns_server_request *req, int err);
|
||||
int evdns_server_request_drop(struct evdns_server_request *req);
|
||||
struct sockaddr;
|
||||
int evdns_server_request_get_requesting_addr(struct evdns_server_request *_req, struct sockaddr *sa, int addr_len);
|
||||
|
||||
#endif // !EVENTDNS_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user