diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2011-05-27 11:44:16 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-06-02 14:07:45 -0400 |
commit | bfdcff2b28f399d236b592d13663c7283d6eac2c (patch) | |
tree | 30f94de16adef2e5058ae902bea2b5edccc2b39b /src/resolv | |
parent | 7591a7368078c2b4cde744ede431260fd663903a (diff) | |
download | sssd-bfdcff2b28f399d236b592d13663c7283d6eac2c.tar.gz sssd-bfdcff2b28f399d236b592d13663c7283d6eac2c.tar.bz2 sssd-bfdcff2b28f399d236b592d13663c7283d6eac2c.zip |
Add utility function to return IP address as string
Diffstat (limited to 'src/resolv')
-rw-r--r-- | src/resolv/async_resolv.c | 24 | ||||
-rw-r--r-- | src/resolv/async_resolv.h | 3 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/resolv/async_resolv.c b/src/resolv/async_resolv.c index ff53aa44..13232097 100644 --- a/src/resolv/async_resolv.c +++ b/src/resolv/async_resolv.c @@ -648,6 +648,30 @@ resolv_gethostbyname_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, return EOK; } +char * +resolv_get_string_address(TALLOC_CTX *mem_ctx, struct hostent *hostent) +{ + char *address; + + if (!hostent) return NULL; + + address = talloc_zero_size(mem_ctx, 128); + if (address == NULL) { + DEBUG(1, ("talloc_zero failed.\n")); + return NULL; + } + + errno = 0; + if (inet_ntop(hostent->h_addrtype, hostent->h_addr_list[0], + address, 128) == NULL) { + DEBUG(1, ("inet_ntop failed [%d][%s].\n", errno, strerror(errno))); + talloc_free(address); + return NULL; + } + + return address; +} + static void ares_gethostbyname_wakeup(struct tevent_req *subreq) { diff --git a/src/resolv/async_resolv.h b/src/resolv/async_resolv.h index b6a13d7f..d6cbe149 100644 --- a/src/resolv/async_resolv.h +++ b/src/resolv/async_resolv.h @@ -76,6 +76,9 @@ int resolv_gethostbyname_recv(struct tevent_req *req, int *timeouts, struct hostent **hostent); +char * +resolv_get_string_address(TALLOC_CTX *mem_ctx, struct hostent *hostent); + /** Get SRV record **/ struct tevent_req *resolv_getsrv_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, |