diff options
author | midipix <writeonce@midipix.org> | 2016-03-22 15:43:24 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-03-22 15:43:24 -0400 |
commit | 5d86252d01b43b40c9c34d5c12b731e85a8ffc1c (patch) | |
tree | ba7653f5cfd6ca2c6af23277951b447488de589c /src/internal | |
parent | f5a78b094189d5e1e79ef7800f9e37a9c1540329 (diff) | |
download | ntapi-5d86252d01b43b40c9c34d5c12b731e85a8ffc1c.tar.bz2 ntapi-5d86252d01b43b40c9c34d5c12b731e85a8ffc1c.tar.xz |
socket interfaces: sc_getpeername: initial integration.
Integration of this function into the library has been delayed
since the AFD ioctl operation, while succeeding, seems to only
memset the caller's address buffer, and accordingly to never
copy the remote socket address to it. Callers of sc_getpeername()
should therefore first check the return value for success -- which
may be used as indication that the socket is connected -- and then
test the returned address buffer for validity.
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/ntapi.c | 2 | ||||
-rw-r--r-- | src/internal/ntapi_fnapi.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/internal/ntapi.c b/src/internal/ntapi.c index 048a8db..e8173ce 100644 --- a/src/internal/ntapi.c +++ b/src/internal/ntapi.c @@ -355,6 +355,7 @@ static int32_t __fastcall __ntapi_init_once(ntapi_vtbl ** pvtbl) __ntapi->sc_connect = __ntapi_sc_connect_v2; __ntapi->sc_server_accept_connection = __ntapi_sc_server_accept_connection_v2; __ntapi->sc_getsockname = __ntapi_sc_getsockname_v2; + __ntapi->sc_getpeername = __ntapi_sc_getpeername_v2; } else { __ntapi->tt_fork = __ntapi_tt_fork_v1; __ntapi->tt_create_native_process = __ntapi_tt_create_native_process_v1; @@ -364,6 +365,7 @@ static int32_t __fastcall __ntapi_init_once(ntapi_vtbl ** pvtbl) __ntapi->sc_connect = __ntapi_sc_connect_v1; __ntapi->sc_server_accept_connection = __ntapi_sc_server_accept_connection_v1; __ntapi->sc_getsockname = __ntapi_sc_getsockname_v1; + __ntapi->sc_getpeername = __ntapi_sc_getpeername_v1; } /* internals */ diff --git a/src/internal/ntapi_fnapi.h b/src/internal/ntapi_fnapi.h index 178f2ba..a22c659 100644 --- a/src/internal/ntapi_fnapi.h +++ b/src/internal/ntapi_fnapi.h @@ -198,6 +198,8 @@ ntapi_sc_connect __ntapi_sc_connect_v1; ntapi_sc_connect __ntapi_sc_connect_v2; ntapi_sc_getsockname __ntapi_sc_getsockname_v1; ntapi_sc_getsockname __ntapi_sc_getsockname_v2; +ntapi_sc_getpeername __ntapi_sc_getpeername_v1; +ntapi_sc_getpeername __ntapi_sc_getpeername_v2; ntapi_sc_server_accept_connection __ntapi_sc_server_accept_connection_v1; ntapi_sc_server_accept_connection __ntapi_sc_server_accept_connection_v2; ntapi_sc_server_duplicate_socket __ntapi_sc_server_duplicate_socket; |