diff options
Diffstat (limited to 'src/libutil')
-rw-r--r-- | src/libutil/util.c | 13 | ||||
-rw-r--r-- | src/libutil/util.h | 5 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/libutil/util.c b/src/libutil/util.c index 3c696c579..4562a90fe 100644 --- a/src/libutil/util.c +++ b/src/libutil/util.c @@ -2371,6 +2371,19 @@ rspamd_inet_address_get_port (rspamd_inet_addr_t *addr) return 0; } +void +rspamd_inet_address_set_port (rspamd_inet_addr_t *addr, uint16_t port) +{ + switch (addr->af) { + case AF_INET: + addr->addr.s4.sin_port = htons (port); + break; + case AF_INET6: + addr->addr.s6.sin6_port = htons (port); + break; + } +} + int rspamd_inet_address_connect (rspamd_inet_addr_t *addr, gint type, gboolean async) diff --git a/src/libutil/util.h b/src/libutil/util.h index 7cc73f53a..9bef49a7e 100644 --- a/src/libutil/util.h +++ b/src/libutil/util.h @@ -511,6 +511,11 @@ const char * rspamd_inet_address_to_string (rspamd_inet_addr_t *addr); uint16_t rspamd_inet_address_get_port (rspamd_inet_addr_t *addr); /** + * Set port for inet address + */ +void rspamd_inet_address_set_port (rspamd_inet_addr_t *addr, uint16_t port); + +/** * Connect to inet_addr address * @param addr * @param async perform operations asynchronously |