summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch')
-rw-r--r--pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch b/pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch
new file mode 100644
index 000000000000..466194c0a8fe
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch
@@ -0,0 +1,28 @@
+Add function to replace the behaviour of server_setup_find_port which was removed from irssi on revision 5125. Fixes bug #577501.
+--- a/apps/irssi/src/silc/core/client_ops.c
++++ b/apps/irssi/src/silc/core/client_ops.c
+@@ -2790,6 +2790,15 @@
+   silc_free(a);
+ }
+ 
++/* helper function to emulate server_setup_find_port */
++static SERVER_SETUP_REC *silc_server_setup_find_port(const char *address,
++						     int port) {
++  SERVER_SETUP_REC *rec;
++
++  rec = server_setup_find(address, port, NULL);
++  return (rec == NULL || rec->port != port) ? NULL : rec;
++}
++
+ /* Find authentication data by hostname and port. The hostname may be IP
+    address as well.*/
+ 
+@@ -2811,7 +2820,7 @@
+ 
+   /* Check whether we find the password for this server in our
+      configuration.  If it's set, always send it server. */
+-  setup = server_setup_find_port(hostname, port);
++  setup = silc_server_setup_find_port(hostname, port);
+   if (setup && setup->password) {
+     completion(SILC_AUTH_PASSWORD, setup->password, strlen(setup->password),
+ 	       context);