diff --git a/ncat/ncat_connect.c b/ncat/ncat_connect.c
index a420126..048dc46 100644
--- a/ncat/ncat_connect.c
+++ b/ncat/ncat_connect.c
@@ -265,20 +265,20 @@ static void connect_report(nsock_iod nsi)
union sockaddr_u peer;
zmem(&peer, sizeof(peer.storage));
- nsock_iod_get_communication_info(nsi, NULL, NULL, NULL, &peer.sockaddr,
+ nsi_getlastcommunicationinfo(nsi, NULL, NULL, NULL, &peer.sockaddr,
sizeof(peer.storage));
if (o.verbose) {
#ifdef HAVE_OPENSSL
- if (nsock_iod_check_ssl(nsi)) {
+ if (nsi_checkssl(nsi)) {
X509 *cert;
X509_NAME *subject;
char digest_buf[SHA1_STRING_LENGTH + 1];
char *fp;
loguser("SSL connection to %s:%d.", inet_socktop(&peer),
- nsock_iod_get_peerport(nsi));
+ nsi_peerport(nsi));
- cert = SSL_get_peer_certificate((SSL *)nsock_iod_get_ssl(nsi));
+ cert = SSL_get_peer_certificate((SSL *)nsi_getssl(nsi));
ncat_assert(cert != NULL);
subject = X509_get_subject_name(cert);
@@ -303,7 +303,7 @@ static void connect_report(nsock_iod nsi)
else
#endif
loguser("Connected to %s:%d.\n", inet_socktop(&peer),
- nsock_iod_get_peerport(nsi));
+ nsi_peerport(nsi));
}
#else
#if HAVE_SYS_UN_H
@@ -312,7 +312,7 @@ static void connect_report(nsock_iod nsi)
else
#endif
loguser("Connected to %s:%d.\n", inet_socktop(&peer),
- nsock_iod_get_peerport(nsi));
+ nsi_peerport(nsi));
#endif
}
}
@@ -892,32 +892,32 @@ int ncat_connect(void)
nsock_set_default_engine("select");
/* Create an nsock pool */
- if ((mypool = nsock_pool_new(NULL)) == NULL)
+ if ((mypool = nsp_new(NULL)) == NULL)
bye("Failed to create nsock_pool.");
if (o.debug >= 6)
- nsock_set_loglevel(NSOCK_LOG_DBG_ALL);
+ nsock_set_loglevel(mypool, NSOCK_LOG_DBG_ALL);
else if (o.debug >= 3)
- nsock_set_loglevel(NSOCK_LOG_DBG);
+ nsock_set_loglevel(mypool, NSOCK_LOG_DBG);
else if (o.debug >= 1)
- nsock_set_loglevel(NSOCK_LOG_INFO);
+ nsock_set_loglevel(mypool, NSOCK_LOG_INFO);
else
- nsock_set_loglevel(NSOCK_LOG_ERROR);
+ nsock_set_loglevel(mypool, NSOCK_LOG_ERROR);
/* Allow connections to broadcast addresses. */
nsock_pool_set_broadcast(mypool, 1);
#ifdef HAVE_OPENSSL
- set_ssl_ctx_options((SSL_CTX *) nsock_pool_ssl_init(mypool, 0));
+ set_ssl_ctx_options((SSL_CTX *) nsock_pool_ssl_init(mypool));
#endif
if (!o.proxytype) {
/* A non-proxy connection. Create an iod for a new socket. */
- cs.sock_nsi = nsock_iod_new(mypool, NULL);
+ cs.sock_nsi = nsi_new(mypool, NULL);
if (cs.sock_nsi == NULL)
bye("Failed to create nsock_iod.");
- if (nsock_iod_set_hostname(cs.sock_nsi, o.target) == -1)
+ if (nsi_set_hostname(cs.sock_nsi, o.target) == -1)
bye("Failed to set hostname on iod.");
#if HAVE_SYS_UN_H
@@ -945,7 +945,7 @@ int ncat_connect(void)
strncpy(srcaddr.un.sun_path, tmp_name, sizeof(srcaddr.un.sun_path));
free (tmp_name);
}
- nsock_iod_set_localaddr(cs.sock_nsi, &srcaddr.storage,
+ nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage,
SUN_LEN((struct sockaddr_un *)&srcaddr.storage));
if (o.verbose)
@@ -957,23 +957,23 @@ int ncat_connect(void)
case AF_UNSPEC:
break;
case AF_INET:
- nsock_iod_set_localaddr(cs.sock_nsi, &srcaddr.storage,
+ nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage,
sizeof(srcaddr.in));
break;
#ifdef AF_INET6
case AF_INET6:
- nsock_iod_set_localaddr(cs.sock_nsi, &srcaddr.storage,
+ nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage,
sizeof(srcaddr.in6));
break;
#endif
#if HAVE_SYS_UN_H
case AF_UNIX:
- nsock_iod_set_localaddr(cs.sock_nsi, &srcaddr.storage,
+ nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage,
SUN_LEN((struct sockaddr_un *)&srcaddr.storage));
break;
#endif
default:
- nsock_iod_set_localaddr(cs.sock_nsi, &srcaddr.storage,
+ nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage,
sizeof(srcaddr.storage));
break;
}
@@ -986,7 +986,7 @@ int ncat_connect(void)
bye("Sorry, -g can only currently be used with IPv4.");
ipopts = buildsrcrte(targetaddrs->addr.in.sin_addr, o.srcrtes, o.numsrcrtes, o.srcrteptr, &ipoptslen);
- nsock_iod_set_ipoptions(cs.sock_nsi, ipopts, ipoptslen);
+ nsi_set_ipoptions(cs.sock_nsi, ipopts, ipoptslen);
free(ipopts); /* Nsock has its own copy */
}
@@ -1029,10 +1029,10 @@ int ncat_connect(void)
/* Once the proxy negotiation is done, Nsock takes control of the
socket. */
- cs.sock_nsi = nsock_iod_new2(mypool, connect_socket, NULL);
+ cs.sock_nsi = nsi_new2(mypool, connect_socket, NULL);
/* Create IOD for nsp->stdin */
- if ((cs.stdin_nsi = nsock_iod_new2(mypool, 0, NULL)) == NULL)
+ if ((cs.stdin_nsi = nsi_new2(mypool, 0, NULL)) == NULL)
bye("Failed to create stdin nsiod.");
post_connect(mypool, cs.sock_nsi);
@@ -1049,8 +1049,8 @@ int ncat_connect(void)
gettimeofday(&end_time, NULL);
time = TIMEVAL_MSEC_SUBTRACT(end_time, start_time) / 1000.0;
loguser("%lu bytes sent, %lu bytes received in %.2f seconds.\n",
- nsock_iod_get_write_count(cs.sock_nsi),
- nsock_iod_get_read_count(cs.sock_nsi), time);
+ nsi_get_write_count(cs.sock_nsi),
+ nsi_get_read_count(cs.sock_nsi), time);
}
#if HAVE_SYS_UN_H
@@ -1061,7 +1061,7 @@ int ncat_connect(void)
}
#endif
- nsock_pool_delete(mypool);
+ nsp_delete(mypool);
return rc == NSOCK_LOOP_ERROR ? 1 : 0;
}
@@ -1127,7 +1127,7 @@ static void connect_handler(nsock_pool nsp, nsock_event evt, void *data)
if (o.verbose) {
union sockaddr_u peer;
zmem(&peer, sizeof(peer.storage));
- nsock_iod_get_communication_info(cs.sock_nsi, NULL, NULL, NULL,
+ nsi_getlastcommunicationinfo(cs.sock_nsi, NULL, NULL, NULL,
&peer.sockaddr, sizeof(peer.storage));
loguser("Connection to %s failed: %s.\n", inet_socktop(&peer), socket_strerror(errcode));
loguser("Trying next address...\n");
@@ -1146,10 +1146,10 @@ static void connect_handler(nsock_pool nsp, nsock_event evt, void *data)
}
#ifdef HAVE_OPENSSL
- if (nsock_iod_check_ssl(cs.sock_nsi)) {
+ if (nsi_checkssl(cs.sock_nsi)) {
/* Check the domain name. ssl_post_connect_check prints an
error message if appropriate. */
- if (!ssl_post_connect_check((SSL *)nsock_iod_get_ssl(cs.sock_nsi), o.target))
+ if (!ssl_post_connect_check((SSL *)nsi_getssl(cs.sock_nsi), o.target))
bye("Certificate verification error.");
}
#endif
@@ -1160,7 +1160,7 @@ static void connect_handler(nsock_pool nsp, nsock_event evt, void *data)
}
/* Create IOD for nsp->stdin */
- if ((cs.stdin_nsi = nsock_iod_new2(nsp, 0, NULL)) == NULL)
+ if ((cs.stdin_nsi = nsi_new2(nsp, 0, NULL)) == NULL)
bye("Failed to create stdin nsiod.");
post_connect(nsp, nse_iod(evt));
@@ -1174,9 +1174,9 @@ static void post_connect(nsock_pool nsp, nsock_iod iod)
if (o.cmdexec) {
struct fdinfo info;
- info.fd = nsock_iod_get_sd(iod);
+ info.fd = nsi_getsd(iod);
#ifdef HAVE_OPENSSL
- info.ssl = (SSL *)nsock_iod_get_ssl(iod);
+ info.ssl = (SSL *)nsi_getssl(iod);
#endif
/* Convert Nsock's non-blocking socket to an ordinary blocking one. It's
possible for a program to write fast enough that it will get an
@@ -1217,7 +1217,7 @@ static void read_stdin_handler(nsock_pool nsp, nsock_event evt, void *data)
if (status == NSE_STATUS_EOF) {
if (!o.noshutdown)
- shutdown(nsock_iod_get_sd(cs.sock_nsi), SHUT_WR);
+ shutdown(nsi_getsd(cs.sock_nsi), SHUT_WR);
/* In --send-only mode or non-TCP mode, exit after EOF on stdin. */
if (o.proto != IPPROTO_TCP || (o.proto == IPPROTO_TCP && o.sendonly))
nsock_loop_quit(nsp);
@@ -1288,7 +1288,7 @@ static void read_socket_handler(nsock_pool nsp, nsock_event evt, void *data)
ncat_delay_timer(o.linedelay);
if (o.telnet)
- dotelnet(nsock_iod_get_sd(nse_iod(evt)), (unsigned char *) buf, nbytes);
+ dotelnet(nsi_getsd(nse_iod(evt)), (unsigned char *) buf, nbytes);
/* Write socket data to stdout */
Write(STDOUT_FILENO, buf, nbytes);
diff --git a/ncat/util.h b/ncat/util.h
index 63f4c6f..f81d577 100644
--- a/ncat/util.h
+++ b/ncat/util.h
@@ -175,6 +175,8 @@ do { \
void die(char *);
+#define NORETURN __attribute__((noreturn))
+
NORETURN void bye(const char *, ...)
__attribute__ ((format (printf, 1, 2)));
diff --git a/ncat/ncat_connect.c b/ncat/ncat_connect.c
index 048dc46..8680278 100644
--- a/ncat/ncat_connect.c
+++ b/ncat/ncat_connect.c
@@ -905,10 +905,10 @@ int ncat_connect(void)
nsock_set_loglevel(mypool, NSOCK_LOG_ERROR);
/* Allow connections to broadcast addresses. */
- nsock_pool_set_broadcast(mypool, 1);
+ nsp_setbroadcast(mypool, 1);
#ifdef HAVE_OPENSSL
- set_ssl_ctx_options((SSL_CTX *) nsock_pool_ssl_init(mypool));
+ set_ssl_ctx_options((SSL_CTX *) nsp_ssl_init(mypool));
#endif
if (!o.proxytype) {