From 5e6b55906eb56a5bac90d3d05a4f11d79d7e4f58 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Sun, 10 Oct 2021 22:09:10 +0200
Subject: [PATCH] lib-managesieve: Add definition for default service TCP port.

---
 src/lib-managesieve/Makefile.am                    | 1 +
 src/lib-managesieve/managesieve-protocol.h         | 6 ++++++
 src/managesieve-login/client-authenticate.c        | 3 ++-
 src/managesieve-login/client.c                     | 3 ++-
 src/managesieve-login/managesieve-login-settings.c | 3 ++-
 5 files changed, 13 insertions(+), 3 deletions(-)
 create mode 100644 src/lib-managesieve/managesieve-protocol.h

diff --git a/src/lib-managesieve/Makefile.am b/src/lib-managesieve/Makefile.am
index b03668083..079df4359 100644
--- a/src/lib-managesieve/Makefile.am
+++ b/src/lib-managesieve/Makefile.am
@@ -10,6 +10,7 @@ libmanagesieve_la_SOURCES = \
 	managesieve-parser.c
 
 noinst_HEADERS = \
+	managesieve-protocol.h \
 	managesieve-arg.h \
 	managesieve-quote.h \
 	managesieve-parser.h
diff --git a/src/lib-managesieve/managesieve-protocol.h b/src/lib-managesieve/managesieve-protocol.h
new file mode 100644
index 000000000..4b00c113a
--- /dev/null
+++ b/src/lib-managesieve/managesieve-protocol.h
@@ -0,0 +1,6 @@
+#ifndef MANAGESIEVE_PROTOCOL_H
+#define MANAGESIEVE_PROTOCOL_H
+
+#define MANAGESIEVE_DEFAULT_PORT 4190
+
+#endif
diff --git a/src/managesieve-login/client-authenticate.c b/src/managesieve-login/client-authenticate.c
index 57eeca3cd..0e9111fdd 100644
--- a/src/managesieve-login/client-authenticate.c
+++ b/src/managesieve-login/client-authenticate.c
@@ -13,6 +13,7 @@
 #include "auth-client.h"
 
 #include "managesieve-parser.h"
+#include "managesieve-protocol.h"
 #include "managesieve-quote.h"
 #include "client.h"
 
@@ -65,7 +66,7 @@ void managesieve_client_auth_result(struct client *client,
 		str_printfa(referral, "REFERRAL sieve://%s;AUTH=%s@%s",
 			    reply->proxy.username, client->auth_mech_name,
 			    reply->proxy.host);
-		if (reply->proxy.port != 4190)
+		if (reply->proxy.port != MANAGESIEVE_DEFAULT_PORT)
 			str_printfa(referral, ":%u", reply->proxy.port);
 
 		if (result == CLIENT_AUTH_RESULT_REFERRAL_SUCCESS)
diff --git a/src/managesieve-login/client.c b/src/managesieve-login/client.c
index fe8acfffb..d4a08d414 100644
--- a/src/managesieve-login/client.c
+++ b/src/managesieve-login/client.c
@@ -15,6 +15,7 @@
 #include "auth-client.h"
 
 #include "managesieve-parser.h"
+#include "managesieve-protocol.h"
 #include "managesieve-quote.h"
 
 #include "client.h"
@@ -554,7 +555,7 @@ static struct client_vfuncs managesieve_client_vfuncs = {
 static struct login_binary managesieve_login_binary = {
 	.protocol = "sieve",
 	.process_name = "managesieve-login",
-	.default_port = 4190,
+	.default_port = MANAGESIEVE_DEFAULT_PORT,
 
 	.event_category = {
 		.name = "managesieve",
diff --git a/src/managesieve-login/managesieve-login-settings.c b/src/managesieve-login/managesieve-login-settings.c
index 45ddc2ea9..b2fc27448 100644
--- a/src/managesieve-login/managesieve-login-settings.c
+++ b/src/managesieve-login/managesieve-login-settings.c
@@ -11,6 +11,7 @@
 #include "login-settings.h"
 
 #include "pigeonhole-config.h"
+#include "managesieve-protocol.h"
 
 #include "managesieve-login-settings.h"
 
@@ -22,7 +23,7 @@
 /* <settings checks> */
 
 static struct inet_listener_settings managesieve_login_inet_listeners_array[] = {
-    { .name = "sieve", .address = "", .port = 4190 },
+    { .name = "sieve", .address = "", .port = MANAGESIEVE_DEFAULT_PORT },
 };
 static struct inet_listener_settings *managesieve_login_inet_listeners[] = {
 	&managesieve_login_inet_listeners_array[0]
-- 
GitLab