From a6f4ab0bebc76acf85cc0244bd21c1036009c28c Mon Sep 17 00:00:00 2001 From: Steve Langasek Date: Wed, 2 Jan 2019 12:24:44 -0800 Subject: fix-up commit for grafting svn history onto git history --- debian/patches-applied/no_pthread_mutexes | 205 ++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 debian/patches-applied/no_pthread_mutexes (limited to 'debian/patches-applied/no_pthread_mutexes') diff --git a/debian/patches-applied/no_pthread_mutexes b/debian/patches-applied/no_pthread_mutexes new file mode 100644 index 00000000..8983e11e --- /dev/null +++ b/debian/patches-applied/no_pthread_mutexes @@ -0,0 +1,205 @@ +Don't use pthread mutexes in libpam unnecessarily; this avoids linking +problems on non-Linux platforms. + +Authors: Steve Langasek + +Upstream status: committed to CVS + +Index: pam/Linux-PAM/libpam/pam_modutil_getgrgid.c +=================================================================== +--- pam.orig/Linux-PAM/libpam/pam_modutil_getgrgid.c ++++ pam/Linux-PAM/libpam/pam_modutil_getgrgid.c +@@ -12,20 +12,9 @@ + #include + #include + #include +-#include + #include + #include + +-static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; +-static void _pammodutil_lock(void) +-{ +- pthread_mutex_lock(&_pammodutil_mutex); +-} +-static void _pammodutil_unlock(void) +-{ +- pthread_mutex_unlock(&_pammodutil_mutex); +-} +- + static int intlen(int number) + { + int len = 2; +@@ -95,13 +84,11 @@ + for (i = 0; i < INT_MAX; i++) { + sprintf(data_name, "_pammodutil_getgrgid_%ld_%d", + (long) gid, i); +- _pammodutil_lock(); + status = PAM_NO_MODULE_DATA; + if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { + status = pam_set_data(pamh, data_name, + result, pam_modutil_cleanup); + } +- _pammodutil_unlock(); + if (status == PAM_SUCCESS) { + break; + } +Index: pam/Linux-PAM/libpam/pam_modutil_getgrnam.c +=================================================================== +--- pam.orig/Linux-PAM/libpam/pam_modutil_getgrnam.c ++++ pam/Linux-PAM/libpam/pam_modutil_getgrnam.c +@@ -12,20 +12,9 @@ + #include + #include + #include +-#include + #include + #include + +-static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; +-static void _pammodutil_lock(void) +-{ +- pthread_mutex_lock(&_pammodutil_mutex); +-} +-static void _pammodutil_unlock(void) +-{ +- pthread_mutex_unlock(&_pammodutil_mutex); +-} +- + static int intlen(int number) + { + int len = 2; +@@ -84,13 +73,11 @@ + if (pamh != NULL) { + for (i = 0; i < INT_MAX; i++) { + sprintf(data_name, "_pammodutil_getgrnam_%s_%d", group, i); +- _pammodutil_lock(); + status = PAM_NO_MODULE_DATA; + if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { + status = pam_set_data(pamh, data_name, + result, pam_modutil_cleanup); + } +- _pammodutil_unlock(); + if (status == PAM_SUCCESS) { + break; + } +Index: pam/Linux-PAM/libpam/pam_modutil_getpwnam.c +=================================================================== +--- pam.orig/Linux-PAM/libpam/pam_modutil_getpwnam.c ++++ pam/Linux-PAM/libpam/pam_modutil_getpwnam.c +@@ -11,21 +11,10 @@ + + #include + #include +-#include + #include + #include + #include + +-static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; +-static void _pammodutil_lock(void) +-{ +- pthread_mutex_lock(&_pammodutil_mutex); +-} +-static void _pammodutil_unlock(void) +-{ +- pthread_mutex_unlock(&_pammodutil_mutex); +-} +- + static int intlen(int number) + { + int len = 2; +@@ -84,13 +73,11 @@ + if (pamh != NULL) { + for (i = 0; i < INT_MAX; i++) { + sprintf(data_name, "_pammodutil_getpwnam_%s_%d", user, i); +- _pammodutil_lock(); + status = PAM_NO_MODULE_DATA; + if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { + status = pam_set_data(pamh, data_name, + result, pam_modutil_cleanup); + } +- _pammodutil_unlock(); + if (status == PAM_SUCCESS) { + break; + } +Index: pam/Linux-PAM/libpam/pam_modutil_getpwuid.c +=================================================================== +--- pam.orig/Linux-PAM/libpam/pam_modutil_getpwuid.c ++++ pam/Linux-PAM/libpam/pam_modutil_getpwuid.c +@@ -11,21 +11,10 @@ + + #include + #include +-#include + #include + #include + #include + +-static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; +-static void _pammodutil_lock(void) +-{ +- pthread_mutex_lock(&_pammodutil_mutex); +-} +-static void _pammodutil_unlock(void) +-{ +- pthread_mutex_unlock(&_pammodutil_mutex); +-} +- + static int intlen(int number) + { + int len = 2; +@@ -95,13 +84,11 @@ + for (i = 0; i < INT_MAX; i++) { + sprintf(data_name, "_pammodutil_getpwuid_%ld_%d", + (long) uid, i); +- _pammodutil_lock(); + status = PAM_NO_MODULE_DATA; + if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { + status = pam_set_data(pamh, data_name, + result, pam_modutil_cleanup); + } +- _pammodutil_unlock(); + if (status == PAM_SUCCESS) { + break; + } +Index: pam/Linux-PAM/libpam/pam_modutil_getspnam.c +=================================================================== +--- pam.orig/Linux-PAM/libpam/pam_modutil_getspnam.c ++++ pam/Linux-PAM/libpam/pam_modutil_getspnam.c +@@ -11,21 +11,10 @@ + + #include + #include +-#include + #include + #include + #include + +-static pthread_mutex_t _pammodutil_mutex = PTHREAD_MUTEX_INITIALIZER; +-static void _pammodutil_lock(void) +-{ +- pthread_mutex_lock(&_pammodutil_mutex); +-} +-static void _pammodutil_unlock(void) +-{ +- pthread_mutex_unlock(&_pammodutil_mutex); +-} +- + static int intlen(int number) + { + int len = 2; +@@ -84,13 +73,11 @@ + if (pamh != NULL) { + for (i = 0; i < INT_MAX; i++) { + sprintf(data_name, "_pammodutil_getspnam_%s_%d", user, i); +- _pammodutil_lock(); + status = PAM_NO_MODULE_DATA; + if (pam_get_data(pamh, data_name, &ignore) != PAM_SUCCESS) { + status = pam_set_data(pamh, data_name, + result, pam_modutil_cleanup); + } +- _pammodutil_unlock(); + if (status == PAM_SUCCESS) { + break; + } -- cgit v1.2.3