From: Volker Lendecke Date: Wed, 30 Dec 2020 21:43:07 +0000 (+0100) Subject: lib: Move sockaddr_storage_to_samba_sockaddr() to lib/ X-Git-Tag: samba-4.14.0rc1~132 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4aa3ff574f209d0fbd1e725cf06af03887db9fe0;p=thirdparty%2Fsamba.git lib: Move sockaddr_storage_to_samba_sockaddr() to lib/ This can be useful outside of source3/libsmb/namequery.c as Samba moves towards samba_sockaddr. Signed-off-by: Volker Lendecke Reviewed-by: Samuel Cabrero --- diff --git a/lib/util/util_net.c b/lib/util/util_net.c index b9b0621f45f..0460a3ad3a8 100644 --- a/lib/util/util_net.c +++ b/lib/util/util_net.c @@ -1065,3 +1065,29 @@ void set_socket_options(int fd, const char *options) TALLOC_FREE(ctx); print_socket_options(fd); } + +/* + * Utility function that copes only with AF_INET and AF_INET6 + * as that's all we're going to get out of DNS / NetBIOS / WINS + * name resolution functions. + */ + +bool sockaddr_storage_to_samba_sockaddr( + struct samba_sockaddr *sa, const struct sockaddr_storage *ss) +{ + sa->u.ss = *ss; + + switch (ss->ss_family) { + case AF_INET: + sa->sa_socklen = sizeof(struct sockaddr_in); + break; +#ifdef HAVE_IPV6 + case AF_INET6: + sa->sa_socklen = sizeof(struct sockaddr_in6); + break; +#endif + default: + return false; + } + return true; +} diff --git a/lib/util/util_net.h b/lib/util/util_net.h index 80a7e08b7e8..4f60a9c6f7d 100644 --- a/lib/util/util_net.h +++ b/lib/util/util_net.h @@ -123,4 +123,7 @@ char *print_canonical_sockaddr(TALLOC_CTX *ctx, void set_socket_options(int fd, const char *options); +bool sockaddr_storage_to_samba_sockaddr( + struct samba_sockaddr *sa, const struct sockaddr_storage *ss); + #endif /* _SAMBA_UTIL_NET_H_ */ diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c index a385ac7cab2..047fff22ad9 100644 --- a/source3/libsmb/namequery.c +++ b/source3/libsmb/namequery.c @@ -39,32 +39,6 @@ /* nmbd.c sets this to True. */ bool global_in_nmbd = False; -/* - * Utility function that copes only with AF_INET and AF_INET6 - * as that's all we're going to get out of DNS / NetBIOS / WINS - * name resolution functions. - */ - -bool sockaddr_storage_to_samba_sockaddr(struct samba_sockaddr *sa, - const struct sockaddr_storage *ss) -{ - sa->u.ss = *ss; - - switch (ss->ss_family) { - case AF_INET: - sa->sa_socklen = sizeof(struct sockaddr_in); - break; -#ifdef HAVE_IPV6 - case AF_INET6: - sa->sa_socklen = sizeof(struct sockaddr_in6); - break; -#endif - default: - return false; - } - return true; -} - /* * Utility function to convert from a sockaddr_storage * array to a struct samba_sockaddr array. diff --git a/source3/libsmb/namequery.h b/source3/libsmb/namequery.h index 37fb5c66c8c..16559f9cd26 100644 --- a/source3/libsmb/namequery.h +++ b/source3/libsmb/namequery.h @@ -23,8 +23,6 @@ #include /* The following definitions come from libsmb/namequery.c */ -bool sockaddr_storage_to_samba_sockaddr(struct samba_sockaddr *sa, - const struct sockaddr_storage *ss); bool saf_store( const char *domain, const char *servername ); bool saf_join_store( const char *domain, const char *servername ); bool saf_delete( const char *domain );