summaryrefslogtreecommitdiffstats
path: root/apps/s_socket.c
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2015-05-05 00:05:26 +0200
committerRich Salz <rsalz@openssl.org>2015-05-05 15:25:29 +0200
commitff660b93126931ec37b4c4734e4ad4f4ef3c81db (patch)
treec0dd19156cefa93bb62a1c161e36752dd808bd01 /apps/s_socket.c
parentmake update (diff)
downloadopenssl-ff660b93126931ec37b4c4734e4ad4f4ef3c81db.tar.xz
openssl-ff660b93126931ec37b4c4734e4ad4f4ef3c81db.zip
Remove apps cache for gethostbyname
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'apps/s_socket.c')
-rw-r--r--apps/s_socket.c52
1 files changed, 2 insertions, 50 deletions
diff --git a/apps/s_socket.c b/apps/s_socket.c
index 29240e8462..bba8e0808f 100644
--- a/apps/s_socket.c
+++ b/apps/s_socket.c
@@ -139,7 +139,6 @@ typedef unsigned int u_int;
# include "netdb.h"
# endif
-static struct hostent *GetHostByName(const char *name);
# if defined(OPENSSL_SYS_WINDOWS) || (defined(OPENSSL_SYS_NETWARE) && !defined(NETWARE_BSDSOCK))
static void ssl_sock_cleanup(void);
# endif
@@ -564,7 +563,7 @@ static int do_accept(int acc_sock, int *sock, char **host)
*host = app_malloc(strlen(h1->h_name) + 1, "copy hostname");
BUF_strlcpy(*host, h1->h_name, strlen(h1->h_name) + 1);
- h2 = GetHostByName(*host);
+ h2 = gethostbyname(*host);
if (h2 == NULL) {
BIO_printf(bio_err, "gethostbyname failure\n");
closesocket(ret);
@@ -655,7 +654,7 @@ static int host_ip(const char *str, unsigned char ip[4])
if (!ssl_sock_init())
return (0);
- he = GetHostByName(str);
+ he = gethostbyname(str);
if (he == NULL) {
BIO_printf(bio_err, "gethostbyname failure\n");
goto err;
@@ -693,51 +692,4 @@ int extract_port(const char *str, unsigned short *port_ptr)
return (1);
}
-# define GHBN_NUM 4
-static struct ghbn_cache_st {
- char name[128];
- struct hostent ent;
- unsigned long order;
-} ghbn_cache[GHBN_NUM];
-
-static unsigned long ghbn_hits = 0L;
-static unsigned long ghbn_miss = 0L;
-
-static struct hostent *GetHostByName(const char *name)
-{
- struct hostent *ret;
- int i, lowi = 0;
- unsigned long low = (unsigned long)-1;
-
- for (i = 0; i < GHBN_NUM; i++) {
- if (low > ghbn_cache[i].order) {
- low = ghbn_cache[i].order;
- lowi = i;
- }
- if (ghbn_cache[i].order > 0) {
- if (strncmp(name, ghbn_cache[i].name, 128) == 0)
- break;
- }
- }
- if (i == GHBN_NUM) { /* no hit */
- ghbn_miss++;
- ret = gethostbyname(name);
- if (ret == NULL)
- return (NULL);
- /* else add to cache */
- if (strlen(name) < sizeof ghbn_cache[0].name) {
- strcpy(ghbn_cache[lowi].name, name);
- memcpy((char *)&(ghbn_cache[lowi].ent), ret,
- sizeof(struct hostent));
- ghbn_cache[lowi].order = ghbn_miss + ghbn_hits;
- }
- return (ret);
- } else {
- ghbn_hits++;
- ret = &(ghbn_cache[i].ent);
- ghbn_cache[i].order = ghbn_miss + ghbn_hits;
- return (ret);
- }
-}
-
#endif