Commit graph

34 commits

Author SHA1 Message Date
Marko Mäkelä
7b2bb67113 Merge 10.3 into 10.4 2020-10-29 13:38:38 +02:00
Dmitry Shulga
5e7cde41e0 MDEV-23926: Follow-up patch to cleanup plugin/auth_pam/CMakeLists.txt code
This patch moves definitions of macros variables
   HAVE_PAM_SYSLOG, HAVE_PAM_EXT_H, HAVE_PAM_APPL_H, HAVE_STRNDUP
from command line (in the form -Dmacros) to the auto-generated
header file config_auth_pam.h
2020-10-23 17:22:35 +07:00
Alexey Botchkov
873eb4a397 MDEV-21385 PAM v2 plugin produces lots of zombie processes.
The auth_pam_tool that is executed from pam_auth() can be still
not finished by the time we do the waitpid() there.
As we use WNOHANG option for the waitpid(), it didn't wait and
left the zombie process. So let's do the loop of waitpid() with the
limited number of sleeps.
2020-07-10 22:48:35 +04:00
Sergei Golubchik
6adb0d2f7c MDEV-22459 pam v2 should log an error if auth_pam_tool exec fails 2020-05-08 18:20:38 +02:00
Sergei Golubchik
b710d01dc7 mark PAMv2 plugin stable 2019-10-04 15:58:47 +02:00
Monty
05619f6989 Fixes based on warnings from gcc/clang and valgrind
- Initialize variables that could be used uninitialized
- Added extra end space to DbugStringItemTypeValue to get rid of warnings
  from c_ptr()
- Session_sysvars_tracker::update() accessed unitialized memory if called
  with NULL value.
- get_schema_stat_record() accessed unitialized memory if HA_KEY_LONG_HASH
  was used
- parse_vcol_defs() accessed random memory for tables without keys.
2019-08-12 10:48:38 +03:00
Sergei Golubchik
dd93028dae MDEV-19878 pam v2: pam password authentication doesn't work at all
* wait() for the child process to die, let it rest in peace
* fix incorrect parentheses
* if there was no password on the command line or in .cnf file,
  pkt will be "", and we need to request the user to enter the password
* make sure that auth->salt is always allocated on a permanent memroot.
  when called from set_user_salt_if_needed(), user_copy and its auth_str
  are on the thd memroot, but auth_copy->salt is then copied to auth->salt
* adjust service files so that systemd wouldn't interfere with our
  setuid executables

also
* print the pam error message in debug mode
2019-07-02 14:27:31 +02:00
Sergei Golubchik
f02bc3cf0f change pam and disks plugin maturity beta->gamma 2019-06-17 12:26:26 +02:00
Oleksandr Byelkin
c07325f932 Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00
Vicențiu Ciorbaru
f177f125d4 Merge branch '5.5' into 10.1 2019-05-11 19:15:57 +03:00
Michal Schorm
17b4f99928 Update FSF address
This commit is based on the work of Michal Schorm, rebased on the
earliest MariaDB version.

Th command line used to generate this diff was:

find ./ -type f \
  -exec sed -i -e 's/Foundation, Inc., 59 Temple Place, Suite 330, Boston, /Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, /g' {} \; \
  -exec sed -i -e 's/Foundation, Inc. 59 Temple Place.* Suite 330, Boston, /Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, /g' {} \; \
  -exec sed -i -e 's/MA.*.....-1307.*USA/MA 02110-1335 USA/g' {} \; \
  -exec sed -i -e 's/Foundation, Inc., 59 Temple/Foundation, Inc., 51 Franklin/g' {} \; \
  -exec sed -i -e 's/Place, Suite 330, Boston, MA.*02111-1307.*USA/Street, Fifth Floor, Boston, MA 02110-1335 USA/g' {} \; \
  -exec sed -i -e 's/MA.*.....-1307/MA 02110-1335/g' {} \;
2019-05-10 20:52:00 +03:00
Sergei Golubchik
9ca3571cb8 MDEV-18686 Add option to PAM authentication plugin to allow case insensitive username matching
add a new option --pam-windbind-workaround for a pam plugin to
work around pam_winbind unconditional username lowercasing
2019-04-24 16:06:54 +02:00
Marko Mäkelä
ca80e14a88 Merge 10.3 into 10.4 2019-03-22 13:20:44 +02:00
Marko Mäkelä
8c493a910f Merge 10.0 into 10.1 2019-03-21 21:06:01 +02:00
Marko Mäkelä
5d454181a8 MDEV-6262 follow-up: Ensure NUL termination on strncpy() 2019-03-21 10:29:59 +02:00
Sergei Golubchik
c94ec9fc67 MDEV-17950 SHOW GRANTS FOR does not work for a user identified with non-existing plugin
Revert the side effect of 7c40996cc8.
Do not convert password hash to its binary representation when a user
entry is loaded. Do it lazily on the first authenticatation attempt.

As a collateral - force all authentication plugins to follow the
protocol and read_packet at least once before accessing info->username
(username is not available before first client handshake packet is read).

Fix PAM and GSSAPI plugins to behave.
2019-02-04 15:54:10 +01:00
Alexey Botchkov
efba0b1df5 MDEV-15473 Isolate/sandbox PAM modules, so that they can't crash the server.
New version of PAM plugin (v2.0) added along with the old v1.0.
There the pam module is isolated in the auth_pam_tool application so
cannot crash the server.
2018-07-03 15:49:34 +04:00
Sergei Golubchik
54caaf6848 MDEV-10940 plugins.pam still fails in buildbot with valgrind
fixed valgrind warning in a debug output
2017-05-24 11:59:03 +02:00
Marko Mäkelä
b61700c221 Merge 10.0 into 10.1 2017-05-23 08:59:03 +03:00
Sergei Golubchik
7c03edf2fe MDEV-6262 analyze the coverity report on mariadb
uploaded 10.0, analyzed everything with the Impact=High
(and a couple of Medium)
2017-05-19 20:26:56 +02:00
iangilfillan
f0ec34002a Correct FSF address 2017-03-10 18:21:29 +01:00
Sergei Golubchik
794c826244 MDEV-10890 plugins.pam fails in buildbot with valgrind
initialize uninitialized value
2016-09-28 17:56:01 +02:00
Sergei Golubchik
ea91bb6801 MDEV-10361 Crash in pam_securid.so with auth_pam connecting from SQLyog
auth_pam: debug output
2016-08-24 20:41:26 +02:00
Sergey Vojtovich
c69cf93bfb MDEV-8673 - [PATCH] Missing Sanity Check for strndup() in MariaDB 10.0.2x
Contributed by Bill Parker.

Added check for strndup() return value.
2015-09-16 17:24:34 +04:00
Sergei Golubchik
94c97e5b68 update plugins' maturity levels:
old plugins get STABLE
newer plugins get GAMMA
those that had bugs recently get BETA
2014-03-19 09:56:46 +01:00
Sergei Golubchik
f722b15dc2 MDEV-4636 use mysql_cleartext_plugin from auth_pam
add a new command-line option --pam-use-cleartext-plugin
2013-06-11 12:53:35 +02:00
Michael Widenius
89036b9f8a Fixed compiler warnings
Fixed error in test that caused following tests to fail

extra/yassl/taocrypt/src/dsa.cpp:
  Fixed compiler warning by adding cast
mysql-test/suite/rpl/t/rpl_start_slave_deadlock_sys_vars.test:
  We have to first test for have_debug_sync to not start master wrongly
plugin/auth_pam/auth_pam.c:
  Fixed compiler warning
sql/sys_vars.h:
  Fixed compiler warning (Sys_var_max_user_conn is now signed)
support-files/compiler_warnings.supp:
  Don't give warnings for auth_pam.c (Tried to fix it by changing the code, but could not find an easy way to do that on solaris)
2012-08-17 10:01:19 +03:00
Sergei Golubchik
a2478a6c72 fixing pam plugin to compile again 2012-02-29 21:55:33 +01:00
Sergei Golubchik
3f28115e0e 5.3 merge 2012-02-24 14:37:00 +01:00
Michael Widenius
6fbeed067b Fixed that 'make distcheck' works with automake 1.11.11
Fixed compiler warnings found by buildbot

Makefile.am:
  Removed extra empty line
cmd-line-utils/libedit/sys.h:
  Fixed that strndup() doesn't give compiler warnings
mysql-test/Makefile.am:
  Fixes for 'make distcheck'
plugin/auth_pam/auth_pam.c:
  Ensure that prototype for strndup() is included on linux
sql/share/Makefile.am:
  Fixes for 'make distcheck'
storage/innodb_plugin/btr/btr0sea.c:
  Fixed compiler warning
support-files/Makefile.am:
  Fixes for 'make distcheck'
2012-02-21 17:58:43 +02:00
Sergei Golubchik
5bf311e1e8 fix the include guards and add missing gplv2 headers 2012-02-17 12:19:38 +01:00
Sergei Golubchik
f523df0a04 openpam compatibility 2012-01-12 20:12:46 +01:00
Michael Widenius
629cdab808 Fixed compiler and test failures found by buildbot
configure.in:
  Added testing of STRNDUP (not found on solaris)
mysql-test/include/wait_until_connected_again.inc:
  Also test for error 2005 (can happen on windows)
mysql-test/include/wait_until_disconnected.inc:
  Also test for error 2005 (can happen on windows)
mysql-test/suite/innodb_plugin/r/innodb_bug30423.result:
  Number of rows is not stable (found difference on Solaris)
mysql-test/suite/innodb_plugin/t/innodb_bug30423.test:
  Number of rows is not stable (found difference on Solaris)
plugin/auth_pam/auth_pam.c:
  Use internal strndup if it doesn't exist on system (solaris)
  Changed code so that it should also compile on solaris.
2012-01-08 20:29:05 +02:00
Sergei Golubchik
57c22f2a75 PAM plugin with test 2011-12-02 16:27:13 +01:00