From 0201b2fa9f31d8c9a75f3057f91b3f720f62292c Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Wed, 10 Mar 2010 15:55:26 +1100 Subject: [PATCH] s4:lib/socket Add function to set a port on the socket address --- source4/lib/socket/socket.c | 12 ++++++++++++ source4/lib/socket/socket.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/source4/lib/socket/socket.c b/source4/lib/socket/socket.c index 30db03fd97c..4b5cecab343 100644 --- a/source4/lib/socket/socket.c +++ b/source4/lib/socket/socket.c @@ -25,6 +25,7 @@ #include "system/network.h" #include "param/param.h" #include "../lib/tsocket/tsocket.h" +#include "lib/util/util_net.h" /* auto-close sockets on free @@ -371,6 +372,17 @@ _PUBLIC_ struct tsocket_address *socket_address_to_tsocket_address(TALLOC_CTX *m return r; } +_PUBLIC_ void socket_address_set_port(struct socket_address *a, + uint16_t port) +{ + if (a->sockaddr) { + set_sockaddr_port(a->sockaddr, port); + } else { + a->port = port; + } + +} + _PUBLIC_ struct socket_address *tsocket_address_to_socket_address(TALLOC_CTX *mem_ctx, const struct tsocket_address *a) { diff --git a/source4/lib/socket/socket.h b/source4/lib/socket/socket.h index 8f8922bcea4..4a744797b3a 100644 --- a/source4/lib/socket/socket.h +++ b/source4/lib/socket/socket.h @@ -174,6 +174,8 @@ struct socket_address *socket_address_from_strings(TALLOC_CTX *mem_ctx, struct socket_address *socket_address_from_sockaddr(TALLOC_CTX *mem_ctx, struct sockaddr *sockaddr, size_t addrlen); +_PUBLIC_ void socket_address_set_port(struct socket_address *a, + uint16_t port); struct socket_address *socket_address_copy(TALLOC_CTX *mem_ctx, const struct socket_address *oaddr); const struct socket_ops *socket_getops_byname(const char *name, enum socket_type type); -- 2.11.4.GIT