return http_buffer;
}
-static int
-get_port (const struct sockaddr *addr)
+static const char *
+human_addr (const struct sockaddr *sa, socklen_t salen,
+ char *buf, size_t buflen)
{
- switch (addr->sa_family)
+ const char *save_buf = buf;
+ size_t l;
+
+ if (!buf || !buflen)
+ return NULL;
+
+ *buf = '\0';
+
+ switch (sa->sa_family)
{
#if HAVE_IPV6
case AF_INET6:
- return ntohs (((const struct sockaddr_in6 *) addr)->sin6_port);
+ snprintf (buf, buflen, "IPv6 ");
+ break;
#endif
case AF_INET:
- return ntohs (((const struct sockaddr_in *) addr)->sin_port);
+ snprintf (buf, buflen, "IPv4 ");
+ break;
}
- return -1;
-}
+ l = strlen (buf);
+ buf += l;
+ buflen -= l;
-static const char *
-addr_ntop (const struct sockaddr *sa, socklen_t salen,
- char *buf, size_t buflen)
-{
- if (getnameinfo (sa, salen, buf, buflen, NULL, 0, NI_NUMERICHOST) == 0)
- return buf;
+ if (getnameinfo (sa, salen, buf, buflen, NULL, 0, NI_NUMERICHOST) != 0)
+ return NULL;
+
+ l = strlen (buf);
+ buf += l;
+ buflen -= l;
+
+ strncat (buf, " port ", buflen);
- return NULL;
+ l = strlen (buf);
+ buf += l;
+ buflen -= l;
+
+ if (getnameinfo (sa, salen, NULL, 0, buf, buflen, NI_NUMERICSERV) != 0)
+ return NULL;
+
+ return save_buf;
}
static int
{
char topbuf[512];
- fprintf (stderr, "%s listening on %s port %d family %d...",
- name, addr_ntop (ptr->ai_addr, ptr->ai_addrlen,
- topbuf, sizeof (topbuf)),
- get_port (ptr->ai_addr), ptr->ai_family);
+ fprintf (stderr, "%s listening on %s...",
+ name, human_addr (ptr->ai_addr, ptr->ai_addrlen,
+ topbuf, sizeof (topbuf)));
}
if ((s = socket (ptr->ai_family, ptr->ai_socktype,
ctt = ctime (&tt);
ctt[strlen (ctt) - 1] = 0;
- /*
- printf("\n* connection from %s, port %d\n",
- inet_ntop(AF_INET, &client_address.sin_addr, topbuf,
- sizeof(topbuf)), ntohs(client_address.sin_port));
- */
-
+ printf("\n* Accepted connection from %s on %s\n",
+ human_addr ((struct sockaddr *)
+ &client_address, calen, topbuf,
+ sizeof (topbuf)), ctt);
}
}
}
if (verbose == 0)
{
- printf ("\n* connection from %s, port %d\n",
- addr_ntop ((struct sockaddr *)
- &client_address, calen, topbuf,
- sizeof (topbuf)),
- get_port ((struct sockaddr *)
- &client_address));
+ printf ("\n* Successful handshake from %s\n",
+ human_addr ((struct sockaddr *)
+ &client_address, calen, topbuf,
+ sizeof (topbuf)));
print_info (j->tls_session, NULL, 1);
}
j->handshake_ok = 1;
printf ("*** This is a resumed session\n");
if (verbose == 0)
{
- printf ("- connection from %s, port %d\n",
- addr_ntop ((struct sockaddr *)
- &client_address, calen, topbuf,
- sizeof (topbuf)),
- get_port ((struct sockaddr *)
- &client_address));
+ printf ("- connection from %s\n",
+ human_addr ((struct sockaddr *)
+ &client_address, calen, topbuf,
+ sizeof (topbuf)));
print_info (j->tls_session, NULL, 1);
}