mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
MENT-645 Undefined symbols for architecture x86_64: _pam_syslog
added cmake checks for pam_ext.h and pam_appl.h headers added check for pam_syslog() added pam_syslog() if doesn't exist all cmake checks performed from inside the plugin
This commit is contained in:
parent
4618c974e4
commit
42b29d4133
2 changed files with 38 additions and 6 deletions
|
@ -1,10 +1,24 @@
|
|||
INCLUDE (CheckIncludeFiles)
|
||||
INCLUDE (CheckFunctionExists)
|
||||
|
||||
CHECK_INCLUDE_FILES (security/pam_ext.h HAVE_PAM_EXT_H)
|
||||
CHECK_INCLUDE_FILES (security/pam_appl.h HAVE_PAM_APPL_H)
|
||||
CHECK_FUNCTION_EXISTS (strndup HAVE_STRNDUP)
|
||||
|
||||
SET(CMAKE_REQUIRED_LIBRARIES pam)
|
||||
CHECK_FUNCTION_EXISTS(pam_syslog HAVE_PAM_SYSLOG)
|
||||
SET(CMAKE_REQUIRED_LIBRARIES)
|
||||
|
||||
IF(HAVE_PAM_SYSLOG)
|
||||
ADD_DEFINITIONS(-DHAVE_PAM_SYSLOG)
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_PAM_EXT_H)
|
||||
ADD_DEFINITIONS(-DHAVE_PAM_EXT_H)
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_PAM_APPL_H)
|
||||
ADD_DEFINITIONS(-DHAVE_PAM_APPL_H)
|
||||
IF(HAVE_STRNDUP)
|
||||
ADD_DEFINITIONS(-DHAVE_STRNDUP)
|
||||
ENDIF(HAVE_STRNDUP)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Pam module to change user names arbitrarily in the pam stack.
|
||||
|
||||
Compile as
|
||||
|
||||
|
||||
gcc pam_user_map.c -shared -lpam -fPIC -o pam_user_map.so
|
||||
|
||||
Install as appropriate (for example, in /lib/security/).
|
||||
|
@ -39,14 +39,36 @@ and usually end up in /var/log/secure file.
|
|||
#include <grp.h>
|
||||
#include <pwd.h>
|
||||
|
||||
#ifdef HAVE_PAM_EXT_H
|
||||
#include <security/pam_ext.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_PAM_APPL_H
|
||||
#include <unistd.h>
|
||||
#include <security/pam_appl.h>
|
||||
#endif
|
||||
|
||||
#include <security/pam_modules.h>
|
||||
|
||||
#ifndef HAVE_PAM_SYSLOG
|
||||
#include <stdarg.h>
|
||||
static void
|
||||
pam_syslog (const pam_handle_t *pamh, int priority,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, fmt);
|
||||
vsyslog (priority, fmt, args);
|
||||
va_end (args);
|
||||
}
|
||||
#endif
|
||||
|
||||
#define FILENAME "/etc/security/user_map.conf"
|
||||
#define skip(what) while (*s && (what)) s++
|
||||
#define SYSLOG_DEBUG if (mode_debug) pam_syslog
|
||||
|
||||
#define GROUP_BUFFER_SIZE 100
|
||||
|
||||
static const char debug_keyword[]= "debug";
|
||||
|
||||
static int populate_user_groups(const char *user, gid_t **groups)
|
||||
{
|
||||
|
@ -128,10 +150,6 @@ static void print_groups(pam_handle_t *pamh, const gid_t *user_groups, int ng)
|
|||
ng, (ng == 1) ? "group" : "groups", buf+1);
|
||||
}
|
||||
|
||||
|
||||
static const char debug_keyword[]= "debug";
|
||||
#define SYSLOG_DEBUG if (mode_debug) pam_syslog
|
||||
|
||||
int pam_sm_authenticate(pam_handle_t *pamh, int flags,
|
||||
int argc, const char *argv[])
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue