summaryrefslogtreecommitdiffstats
path: root/src/libutil
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/util.c13
-rw-r--r--src/libutil/util.h5
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