← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1574900] Re: libpam-mysql undefined symbol: make_scrambled_password

 

** Changed in: pam-mysql (Ubuntu Yakkety)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1574900

Title:
  libpam-mysql undefined symbol: make_scrambled_password

Status in pam-mysql package in Ubuntu:
  Fix Released
Status in pam-mysql source package in Xenial:
  Fix Committed
Status in pam-mysql source package in Yakkety:
  Fix Released
Status in pam-mysql package in Fedora:
  Fix Released

Bug description:
  [Impact]

   * libpam-mysql is unable to be used because of an upstream symbol
  change in libmysqlclient.

   * Upstream libpam-mysql has fixed this by updating the source to use
  the now-exported API.

  [Test Case]

  Steps to reproduce (with vsftpd):
  Installation requirements: mysqlserver 5.7.x, libpam-mysql, vsftpd

  create vsftpd user:
  useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd

  create mysql database and user:
  == // Start SQL

      CREATE DATABASE vsftpd;
      GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
      GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
      FLUSH PRIVILEGES;

      USE vsftpd;

      CREATE TABLE `accounts` (
        `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
        `username` VARCHAR( 30 ) NOT NULL ,
        `pass` VARCHAR( 50 ) NOT NULL ,
      UNIQUE (
        `username`
      ));
      insert into accounts(username,pass) values('user',password('password'));

  ==// End SQL

  Configure PAM:
  insert into /etc/pam.d/vsftpd:

      auth required pam_mysql.so verbose=1 user=vsftpd host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2 passwd=ftpdpass
      account required pam_mysql.so verbose=1 user=vsftpd host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2 passwd=ftpdpass

  Configure vsftpd (/etc/vsftpd.conf) :

      listen=YES
      anonymous_enable=NO
      local_enable=YES
      write_enable=YES
      local_umask=022
      dirmessage_enable=YES
      xferlog_enable=YES
      connect_from_port_20=YES
      nopriv_user=vsftpd
      chroot_local_user=YES
      secure_chroot_dir=/var/run/vsftpd
      pam_service_name=vsftpd
      guest_enable=YES
      guest_username=vsftpd
      local_root=/home/vsftpd/$USER
      user_sub_token=$USER
      virtual_use_local_privs=YES

  restart vsftpd:
   /etc/init.d/vsftpd restart
  check /var/log/auth.log

  [Regression Potential]

   * There is currently no fix or workaround, as the library is
  basically broken as installed from Ubuntu.

   * I believe the regression potential to be very low because the
  current code does not work.

  ---

  In Ubuntu 16.04, the libpam-mysql package does not work.  It crashes
  with the below error:

  PAM unable to dlopen(pam_mysql.so): /lib/security/pam_mysql.so:
  undefined symbol: make_scrambled_password

  I fixed this issue by download the source for the package and applying
  the patches that come from this source RPM:

  http://dinofly.com/files/linux/pam_mysql-0.7-0.20.rc1.fc23.src.rpm

  I then created unofficial packages after applying the patch.  They can
  be downloaded here:

  http://www.dinofly.com/files/linux/libpam-mysql_0.7~RC1-4ubuntu3_amd64.deb
  http://www.dinofly.com/files/linux/libpam-mysql_0.7~RC1-4ubuntu3_i386.deb

  libpam-mysql now works again on Ubuntu 16.04 x86 and x64.

  Here is the initial RedHat bug report:

  https://bugzilla.redhat.com/show_bug.cgi?id=709534

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pam-mysql/+bug/1574900/+subscriptions