mirror of
https://github.com/nmap/nmap.git
synced 2026-01-28 17:19:05 +00:00
Don't associate nsock logging info to a nspool.
Make current loglevel and current log callback global to the library. Attaching them to the nsock pool doesn't bring any benefit and prevents from logging activity in code sections that don't have access to a pool (such as proxy chain specification parsing). Updated external calls and nsock tests accordingly.
This commit is contained in:
@@ -17,7 +17,7 @@ static int basic_setup(void **tdata) {
|
||||
if (btd == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
btd->nsp = nsp_new(NULL);
|
||||
btd->nsp = nsock_pool_new(NULL);
|
||||
|
||||
*tdata = btd;
|
||||
return 0;
|
||||
@@ -27,7 +27,7 @@ static int basic_teardown(void *tdata) {
|
||||
struct basic_test_data *btd = (struct basic_test_data *)tdata;
|
||||
|
||||
if (tdata) {
|
||||
nsp_delete(btd->nsp);
|
||||
nsock_pool_delete(btd->nsp);
|
||||
free(tdata);
|
||||
}
|
||||
return 0;
|
||||
@@ -36,9 +36,9 @@ static int basic_teardown(void *tdata) {
|
||||
static int basic_udata(void *tdata) {
|
||||
struct basic_test_data *btd = (struct basic_test_data *)tdata;
|
||||
|
||||
AssertEqual(nsp_getud(btd->nsp), NULL);
|
||||
nsp_setud(btd->nsp, btd);
|
||||
AssertEqual(nsp_getud(btd->nsp), btd);
|
||||
AssertEqual(nsock_pool_get_udata(btd->nsp), NULL);
|
||||
nsock_pool_set_udata(btd->nsp, btd);
|
||||
AssertEqual(nsock_pool_get_udata(btd->nsp), btd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ static int cancel_setup(void **tdata) {
|
||||
if (btd == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
btd->nsp = nsp_new(NULL);
|
||||
btd->nsp = nsock_pool_new(NULL);
|
||||
|
||||
*tdata = btd;
|
||||
return 0;
|
||||
@@ -35,7 +35,7 @@ static int cancel_teardown(void *tdata) {
|
||||
struct basic_test_data *btd = (struct basic_test_data *)tdata;
|
||||
|
||||
if (tdata) {
|
||||
nsp_delete(btd->nsp);
|
||||
nsock_pool_delete(btd->nsp);
|
||||
free(tdata);
|
||||
}
|
||||
return 0;
|
||||
@@ -48,7 +48,7 @@ static int cancel_tcp_run(void *tdata) {
|
||||
nsock_event_id id;
|
||||
int done = 0;
|
||||
|
||||
iod = nsi_new(btd->nsp, NULL);
|
||||
iod = nsock_iod_new(btd->nsp, NULL);
|
||||
AssertNonNull(iod);
|
||||
|
||||
memset(&peer, 0, sizeof(peer));
|
||||
@@ -59,7 +59,7 @@ static int cancel_tcp_run(void *tdata) {
|
||||
(struct sockaddr *)&peer, sizeof(peer), PORT_TCP);
|
||||
nsock_event_cancel(btd->nsp, id, 1);
|
||||
|
||||
nsi_delete(iod, NSOCK_PENDING_SILENT);
|
||||
nsock_iod_delete(iod, NSOCK_PENDING_SILENT);
|
||||
|
||||
return (done == 1) ? 0 : -ENOEXEC;
|
||||
}
|
||||
@@ -71,7 +71,7 @@ static int cancel_udp_run(void *tdata) {
|
||||
nsock_event_id id;
|
||||
int done = 0;
|
||||
|
||||
iod = nsi_new(btd->nsp, NULL);
|
||||
iod = nsock_iod_new(btd->nsp, NULL);
|
||||
AssertNonNull(iod);
|
||||
|
||||
memset(&peer, 0, sizeof(peer));
|
||||
@@ -82,7 +82,7 @@ static int cancel_udp_run(void *tdata) {
|
||||
(struct sockaddr *)&peer, sizeof(peer), PORT_UDP);
|
||||
nsock_event_cancel(btd->nsp, id, 1);
|
||||
|
||||
nsi_delete(iod, NSOCK_PENDING_SILENT);
|
||||
nsock_iod_delete(iod, NSOCK_PENDING_SILENT);
|
||||
|
||||
return (done == 1) ? 0 : -ENOEXEC;
|
||||
}
|
||||
@@ -94,7 +94,7 @@ static int cancel_ssl_run(void *tdata) {
|
||||
nsock_event_id id;
|
||||
int done = 0;
|
||||
|
||||
iod = nsi_new(btd->nsp, NULL);
|
||||
iod = nsock_iod_new(btd->nsp, NULL);
|
||||
AssertNonNull(iod);
|
||||
|
||||
memset(&peer, 0, sizeof(peer));
|
||||
@@ -106,7 +106,7 @@ static int cancel_ssl_run(void *tdata) {
|
||||
PORT_TCPSSL, NULL);
|
||||
nsock_event_cancel(btd->nsp, id, 1);
|
||||
|
||||
nsi_delete(iod, NSOCK_PENDING_SILENT);
|
||||
nsock_iod_delete(iod, NSOCK_PENDING_SILENT);
|
||||
|
||||
return (done == 1) ? 0 : -ENOEXEC;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ struct connect_test_data {
|
||||
static void connect_handler(nsock_pool nsp, nsock_event nse, void *udata) {
|
||||
struct connect_test_data *ctd;
|
||||
|
||||
ctd = (struct connect_test_data *)nsp_getud(nsp);
|
||||
ctd = (struct connect_test_data *)nsock_pool_get_udata(nsp);
|
||||
|
||||
switch(nse_status(nse)) {
|
||||
case NSE_STATUS_SUCCESS:
|
||||
@@ -44,10 +44,10 @@ static int connect_setup(void **tdata) {
|
||||
if (ctd == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
ctd->nsp = nsp_new(ctd);
|
||||
ctd->nsp = nsock_pool_new(ctd);
|
||||
AssertNonNull(ctd->nsp);
|
||||
|
||||
ctd->nsi = nsi_new(ctd->nsp, NULL);
|
||||
ctd->nsi = nsock_iod_new(ctd->nsp, NULL);
|
||||
AssertNonNull(ctd->nsi);
|
||||
|
||||
*tdata = ctd;
|
||||
@@ -58,8 +58,8 @@ static int connect_teardown(void *tdata) {
|
||||
struct connect_test_data *ctd = (struct connect_test_data *)tdata;
|
||||
|
||||
if (tdata) {
|
||||
nsi_delete(ctd->nsi, NSOCK_PENDING_SILENT); /* nsp_delete would also handle it */
|
||||
nsp_delete(ctd->nsp);
|
||||
nsock_iod_delete(ctd->nsi, NSOCK_PENDING_SILENT); /* nsock_pool_delete would also handle it */
|
||||
nsock_pool_delete(ctd->nsp);
|
||||
free(tdata);
|
||||
}
|
||||
return 0;
|
||||
|
||||
@@ -17,45 +17,41 @@ struct log_test_data {
|
||||
int errcode;
|
||||
};
|
||||
|
||||
static struct log_test_data *GlobalLTD;
|
||||
|
||||
static void log_handler(nsock_pool nsp, const struct nsock_log_rec *rec) {
|
||||
struct log_test_data *ltd;
|
||||
|
||||
ltd = (struct log_test_data *)nsp_getud(nsp);
|
||||
ltd->total++;
|
||||
|
||||
static void log_handler(const struct nsock_log_rec *rec) {
|
||||
GlobalLTD->total++;
|
||||
switch(rec->level) {
|
||||
case NSOCK_LOG_DBG_ALL:
|
||||
ltd->got_dbgfull = 1;
|
||||
GlobalLTD->got_dbgfull = 1;
|
||||
break;
|
||||
|
||||
case NSOCK_LOG_DBG:
|
||||
ltd->got_dbg = 1;
|
||||
GlobalLTD->got_dbg = 1;
|
||||
break;
|
||||
|
||||
case NSOCK_LOG_INFO:
|
||||
ltd->got_info = 1;
|
||||
GlobalLTD->got_info = 1;
|
||||
break;
|
||||
|
||||
case NSOCK_LOG_ERROR:
|
||||
ltd->got_error = 1;
|
||||
GlobalLTD->got_error = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, "UNEXPECTED LOG LEVEL (%d)!\n", (int)rec->level);
|
||||
ltd->errcode = -EINVAL;
|
||||
GlobalLTD->errcode = -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
static void nop_handler(nsock_pool nsp, nsock_event nse, void *udata) {
|
||||
return;
|
||||
}
|
||||
|
||||
static int check_loglevel(struct log_test_data *ltd, nsock_loglevel_t level) {
|
||||
int rc = 0;
|
||||
nsock_event_id id;
|
||||
|
||||
nsock_set_loglevel(ltd->nsp, level);
|
||||
nsock_set_loglevel(level);
|
||||
|
||||
ltd->current_level = level;
|
||||
|
||||
@@ -82,7 +78,7 @@ static int check_loglevel(struct log_test_data *ltd, nsock_loglevel_t level) {
|
||||
static int check_errlevel(struct log_test_data *ltd, nsock_loglevel_t level) {
|
||||
nsock_event_id id;
|
||||
|
||||
nsock_set_loglevel(ltd->nsp, level);
|
||||
nsock_set_loglevel(level);
|
||||
|
||||
ltd->current_level = level;
|
||||
|
||||
@@ -113,10 +109,10 @@ static int log_setup(void **tdata) {
|
||||
if (ltd == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
ltd->nsp = nsp_new(ltd);
|
||||
ltd->nsp = nsock_pool_new(ltd);
|
||||
AssertNonNull(ltd->nsp);
|
||||
|
||||
*tdata = ltd;
|
||||
*tdata = GlobalLTD = ltd;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -124,9 +120,10 @@ static int log_teardown(void *tdata) {
|
||||
struct log_test_data *ltd = (struct log_test_data *)tdata;
|
||||
|
||||
if (tdata) {
|
||||
nsp_delete(ltd->nsp);
|
||||
nsock_pool_delete(ltd->nsp);
|
||||
free(tdata);
|
||||
}
|
||||
GlobalLTD = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -135,7 +132,7 @@ static int log_check_std_levels(void *tdata) {
|
||||
nsock_loglevel_t lvl;
|
||||
int rc = 0;
|
||||
|
||||
nsock_set_log_function(ltd->nsp, log_handler);
|
||||
nsock_set_log_function(log_handler);
|
||||
|
||||
for (lvl = NSOCK_LOG_DBG_ALL; lvl < NSOCK_LOG_ERROR; lvl++) {
|
||||
rc = check_loglevel(ltd, lvl);
|
||||
@@ -151,7 +148,7 @@ static int log_check_err_levels(void *tdata) {
|
||||
nsock_loglevel_t lvl;
|
||||
int rc = 0;
|
||||
|
||||
nsock_set_log_function(ltd->nsp, log_handler);
|
||||
nsock_set_log_function(log_handler);
|
||||
|
||||
for (lvl = NSOCK_LOG_ERROR; lvl <= NSOCK_LOG_NONE; lvl++) {
|
||||
rc = check_errlevel(ltd, NSOCK_LOG_ERROR);
|
||||
|
||||
@@ -32,7 +32,7 @@ static void timer_handler(nsock_pool nsp, nsock_event nse, void *tdata) {
|
||||
int rnd, rnd2;
|
||||
|
||||
if (nse_status(nse) != NSE_STATUS_SUCCESS) {
|
||||
ttd->stop = -nsp_geterrorcode(nsp);
|
||||
ttd->stop = -nsock_pool_get_error(nsp);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ static int timer_setup(void **tdata) {
|
||||
if (ttd == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
ttd->nsp = nsp_new(NULL);
|
||||
ttd->nsp = nsock_pool_new(NULL);
|
||||
AssertNonNull(ttd->nsp);
|
||||
|
||||
*tdata = ttd;
|
||||
@@ -85,7 +85,7 @@ static int timer_teardown(void *tdata) {
|
||||
struct timer_test_data *ttd = (struct timer_test_data *)tdata;
|
||||
|
||||
if (tdata) {
|
||||
nsp_delete(ttd->nsp);
|
||||
nsock_pool_delete(ttd->nsp);
|
||||
free(tdata);
|
||||
}
|
||||
return 0;
|
||||
@@ -114,7 +114,7 @@ static int timer_totalmess(void *tdata) {
|
||||
return 0;
|
||||
|
||||
default:
|
||||
return -(nsp_geterrorcode(ttd->nsp));
|
||||
return -(nsock_pool_get_error(ttd->nsp));
|
||||
}
|
||||
}
|
||||
return ttd->stop;
|
||||
|
||||
Reference in New Issue
Block a user