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;
|
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 APPEND16
|
||||||
#undef APPEND32
|
#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_respond(struct evdns_server_request *req, int err);
|
||||||
int evdns_server_request_drop(struct evdns_server_request *req);
|
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
|
#endif // !EVENTDNS_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user