Commit 892cd369 authored by Sergei Golubchik's avatar Sergei Golubchik

make pam plugin to build in 5.5.

fix pam.tets for 5.5
parent 6af588d8
install plugin pam soname 'auth_pam.so'; install plugin pam soname 'auth_pam.so';
create user test_pam identified via pam using 'mariadb_mtr'; create user test_pam identified via pam using 'mariadb_mtr';
create user pam_test;
grant proxy on pam_test to test_pam;
# #
# athentication is successful, challenge/pin are ok # athentication is successful, challenge/pin are ok
# note that current_user() differts from user() # note that current_user() differts from user()
...@@ -19,4 +21,5 @@ Enter: not very secret challenge ...@@ -19,4 +21,5 @@ Enter: not very secret challenge
Now, the magic number! Now, the magic number!
PIN: **** PIN: ****
drop user test_pam; drop user test_pam;
drop user pam_test;
uninstall plugin pam; uninstall plugin pam;
...@@ -9,9 +9,10 @@ if (!$PAM_SETUP_FOR_MTR) { ...@@ -9,9 +9,10 @@ if (!$PAM_SETUP_FOR_MTR) {
skip No pam setup for mtr; skip No pam setup for mtr;
} }
--replace_result .dll .so
eval install plugin pam soname '$AUTH_PAM_SO'; eval install plugin pam soname '$AUTH_PAM_SO';
create user test_pam identified via pam using 'mariadb_mtr'; create user test_pam identified via pam using 'mariadb_mtr';
create user pam_test;
grant proxy on pam_test to test_pam;
let $plugindir=`SELECT @@global.plugin_dir`; let $plugindir=`SELECT @@global.plugin_dir`;
...@@ -42,5 +43,6 @@ EOF ...@@ -42,5 +43,6 @@ EOF
--remove_file $MYSQLTEST_VARDIR/tmp/pam_good.txt --remove_file $MYSQLTEST_VARDIR/tmp/pam_good.txt
--remove_file $MYSQLTEST_VARDIR/tmp/pam_bad.txt --remove_file $MYSQLTEST_VARDIR/tmp/pam_bad.txt
drop user test_pam; drop user test_pam;
drop user pam_test;
uninstall plugin pam; uninstall plugin pam;
EXTRA_LTLIBRARIES = auth_pam.la libauth_pam.la
pkgplugindir=$(pkglibdir)/plugin
AM_CPPFLAGS = -I$(top_srcdir)/include
pkgplugin_LTLIBRARIES = @plugin_auth_pam_shared_target@
auth_pam_la_LDFLAGS = -module -rpath $(pkgplugindir) -L$(top_builddir)/libservices -lmysqlservices -lpam
auth_pam_la_CFLAGS = -shared -DMYSQL_DYNAMIC_PLUGIN
auth_pam_la_SOURCES = auth_pam.c
noinst_LTLIBRARIES = @plugin_auth_pam_static_target@
libauth_pam_la_LDFLAGS = -lpam
libauth_pam_la_SOURCES = auth_pam.c
EXTRA_DIST = plug.in
MYSQL_PLUGIN(auth_pam, [PAM Authentication Plugin], [PAM Authentication Plugin])
MYSQL_PLUGIN_DYNAMIC(auth_pam, [auth_pam.la])
AC_CHECK_HEADER([security/pam_appl.h],,[MYSQL_PLUGIN_WITHOUT(auth_pam)])
pkgplugindir = $(pkglibdir)/plugin
INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include \
-I$(top_srcdir)/regex -I$(top_srcdir)/sql
EXTRA_LTLIBRARIES = feedback.la libfeedback.la
pkgplugin_LTLIBRARIES = @plugin_feedback_shared_target@
feedback_la_LDFLAGS = -module -rpath $(pkgplugindir) -L$(top_builddir)/libservices -lmysqlservices
feedback_la_CXXFLAGS = -shared -DMYSQL_DYNAMIC_PLUGIN
feedback_la_SOURCES = feedback.cc utils.cc url_base.cc url_http.cc \
sender_thread.cc
noinst_LTLIBRARIES = @plugin_feedback_static_target@
libfeedback_la_SOURCES= feedback.cc utils.cc url_base.cc url_http.cc \
sender_thread.cc
noinst_HEADERS = feedback.h
EXTRA_DIST = CMakeLists.txt plug.in
MYSQL_PLUGIN(feedback,[MariaDB User Feedback Plugin],
[MariaDB User Feedback Plugin])
dnl Although it's not exactly obvious, top-level CMakeLists.txt parses plug.in
dnl files, in particular looking for what the library name should be. It uses
dnl regexp that matches MYSQL_PLUGIN_DYNAMIC or MYSQL_PLUGIN_STATIC, followed
dnl by an open parenthesys, and the plugin name. Having engine name enclosed in
dnl square brackets below causes this regexp to fail and as a result feedback
dnl plugin will not be considered for dynamic builds on Windows.
dnl Unfortunately, feedback cannot be built dynamically on Windows, because it
dnl needs to access server internals that aren't designed for plugin use and
dnl aren't marked with MYSQL_PLUGIN_IMPORT.
MYSQL_PLUGIN_DYNAMIC([feedback], [feedback.la])
ifelse(index(AC_PACKAGE_NAME, [MariaDB]), -1, [], [
dnl MariaDB and MySQL define static plugins differently.
dnl I only support MariaDB here, for now.
MYSQL_PLUGIN_STATIC(feedback, [libfeedback.la])
])
dnl MariaDB before 5.5 needs this define:
MYSQL_PLUGIN_DEFINE(feedback, [WITH_FEEDBACK_PLUGIN])
MYSQL_PLUGIN_ACTIONS(feedback, [
AC_CHECK_HEADERS([netdb.h sys/utsname.h])
])
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment