Package: jabberd2
Followup-For: Bug #1067259
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Please find attached a patch for this issue that has been uploaded to
Ubuntu.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru jabberd2-2.7.0/debian/patches/no-implicit-declarations.patch 
jabberd2-2.7.0/debian/patches/no-implicit-declarations.patch
--- jabberd2-2.7.0/debian/patches/no-implicit-declarations.patch        
1969-12-31 16:00:00.000000000 -0800
+++ jabberd2-2.7.0/debian/patches/no-implicit-declarations.patch        
2024-04-10 15:03:46.000000000 -0700
@@ -0,0 +1,81 @@
+Description: add missing includes and disable conflicting crypt_r()
+ Nothing uses crypt_r() externally, it should use the glibc one; so disable
+ the conflicting prototype in the internal header.
+Author: Steve Langasek <steve.langa...@canonical.com>
+Bug-Debian: https://bugs.debian.org/1067259
+Last-Update: 2024-04-10
+Forwarded: no
+
+Index: jabberd2-2.7.0/storage/authreg_sqlite.c
+===================================================================
+--- jabberd2-2.7.0.orig/storage/authreg_sqlite.c
++++ jabberd2-2.7.0/storage/authreg_sqlite.c
+@@ -32,6 +32,7 @@
+ #define _XOPEN_SOURCE 500
+ #include "c2s.h"
+ #include <sqlite3.h>
++#include <crypt.h>
+ 
+ /* Windows does not have the crypt() function, let's take DES_crypt from 
OpenSSL instead */
+ #if defined(HAVE_OPENSSL_CRYPTO_H) && defined(_WIN32)
+Index: jabberd2-2.7.0/storage/authreg_pgsql.c
+===================================================================
+--- jabberd2-2.7.0.orig/storage/authreg_pgsql.c
++++ jabberd2-2.7.0/storage/authreg_pgsql.c
+@@ -32,6 +32,7 @@
+ #else
+ #ifdef HAVE_CRYPT
+ #include <unistd.h>
++#include <crypt.h>
+ #endif
+ #endif
+ 
+Index: jabberd2-2.7.0/storage/authreg_ldapfull.c
+===================================================================
+--- jabberd2-2.7.0.orig/storage/authreg_ldapfull.c
++++ jabberd2-2.7.0/storage/authreg_ldapfull.c
+@@ -35,6 +35,7 @@
+ #ifdef STORAGE_LDAP
+ #ifdef HAVE_CRYPT
+ #include <unistd.h>
++#include <crypt.h>
+ #endif
+ 
+ #ifdef HAVE_SSL
+Index: jabberd2-2.7.0/util/crypt_blowfish.c
+===================================================================
+--- jabberd2-2.7.0.orig/util/crypt_blowfish.c
++++ jabberd2-2.7.0/util/crypt_blowfish.c
+@@ -54,6 +54,8 @@
+ /* Just to make sure the prototypes match the actual definitions */
+ #include "crypt_blowfish.h"
+ 
++char *crypt_r(__const char *key, __const char *setting, void *data);
++
+ #if defined(__i386__) || defined(__x86_64__) || defined(__alpha__) || 
defined(__hppa__)
+ #define BF_SCALE                      1
+ #else
+Index: jabberd2-2.7.0/util/crypt_blowfish.h
+===================================================================
+--- jabberd2-2.7.0.orig/util/crypt_blowfish.h
++++ jabberd2-2.7.0/util/crypt_blowfish.h
+@@ -23,7 +23,6 @@
+ #endif
+ 
+ extern char *bcrypt(__const char *key, __const char *setting);
+-extern char *crypt_r(__const char *key, __const char *setting, void *data);
+ 
+ #ifndef __SKIP_OW
+ extern char *crypt_rn(__const char *key, __const char *setting,
+Index: jabberd2-2.7.0/storage/authreg_mysql.c
+===================================================================
+--- jabberd2-2.7.0.orig/storage/authreg_mysql.c
++++ jabberd2-2.7.0/storage/authreg_mysql.c
+@@ -35,6 +35,7 @@
+ #else
+ #ifdef HAVE_CRYPT
+ #include <unistd.h>
++#include <crypt.h>
+ #endif
+ #endif
+ 
diff -Nru jabberd2-2.7.0/debian/patches/series 
jabberd2-2.7.0/debian/patches/series
--- jabberd2-2.7.0/debian/patches/series        2023-09-05 14:07:00.000000000 
-0700
+++ jabberd2-2.7.0/debian/patches/series        2024-04-10 15:00:33.000000000 
-0700
@@ -7,3 +7,4 @@
 systemd-alias.diff
 m4-ax_check_compile_flag.diff
 mysql8_my_bool.patch
+no-implicit-declarations.patch

Reply via email to