1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-09 08:58:35 +03:00

lib: Move get_socket_port() to its only consumer

This is only used in netbios_session_retarget()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Volker Lendecke 2020-07-17 22:29:10 +02:00 committed by Jeremy Allison
parent f3c43c6595
commit 753b6cc572
4 changed files with 33 additions and 35 deletions

View File

@ -894,39 +894,6 @@ char *print_canonical_sockaddr(TALLOC_CTX *ctx,
return dest;
}
/****************************************************************************
Return the port number we've bound to on a socket.
****************************************************************************/
int get_socket_port(int fd)
{
struct sockaddr_storage sa;
socklen_t length = sizeof(sa);
if (fd == -1) {
return -1;
}
if (getsockname(fd, (struct sockaddr *)&sa, &length) < 0) {
int level = (errno == ENOTCONN) ? 2 : 0;
DEBUG(level, ("getsockname failed. Error was %s\n",
strerror(errno)));
return -1;
}
#if defined(HAVE_IPV6)
if (sa.ss_family == AF_INET6) {
struct sockaddr_in6 *sa_in6 = (struct sockaddr_in6 *)&sa;
return ntohs(sa_in6->sin6_port);
}
#endif
if (sa.ss_family == AF_INET) {
struct sockaddr_in *sa_in = (struct sockaddr_in *)&sa;
return ntohs(sa_in->sin_port);
}
return -1;
}
enum SOCK_OPT_TYPES {OPT_BOOL,OPT_INT,OPT_ON};
typedef struct smb_socket_option {

View File

@ -120,7 +120,6 @@ char *print_sockaddr(char *dest,
const struct sockaddr_storage *psa);
char *print_canonical_sockaddr(TALLOC_CTX *ctx,
const struct sockaddr_storage *pss);
int get_socket_port(int fd);
void set_socket_options(int fd, const char *options);

View File

@ -519,7 +519,6 @@ char *print_sockaddr(char *dest,
const struct sockaddr_storage *psa);
char *print_canonical_sockaddr(TALLOC_CTX *ctx,
const struct sockaddr_storage *pss);
int get_socket_port(int fd);
bool is_a_socket(int fd);
void set_socket_options(int fd, const char *options);
NTSTATUS read_fd_with_timeout(int fd, char *buf,

View File

@ -543,6 +543,39 @@ bool check_fsp_ntquota_handle(connection_struct *conn, struct smb_request *req,
return true;
}
/****************************************************************************
Return the port number we've bound to on a socket.
****************************************************************************/
static int get_socket_port(int fd)
{
struct sockaddr_storage sa;
socklen_t length = sizeof(sa);
if (fd == -1) {
return -1;
}
if (getsockname(fd, (struct sockaddr *)&sa, &length) < 0) {
int level = (errno == ENOTCONN) ? 2 : 0;
DEBUG(level, ("getsockname failed. Error was %s\n",
strerror(errno)));
return -1;
}
#if defined(HAVE_IPV6)
if (sa.ss_family == AF_INET6) {
struct sockaddr_in6 *sa_in6 = (struct sockaddr_in6 *)&sa;
return ntohs(sa_in6->sin6_port);
}
#endif
if (sa.ss_family == AF_INET) {
struct sockaddr_in *sa_in = (struct sockaddr_in *)&sa;
return ntohs(sa_in->sin_port);
}
return -1;
}
static bool netbios_session_retarget(struct smbXsrv_connection *xconn,
const char *name, int name_type)
{