[CONC-383]  Plugin auth_gssapi_client could not be loaded; missing "/usr/" prefix Created: 2019-01-02  Updated: 2019-09-17  Resolved: 2019-06-14

Status: Closed
Project: MariaDB Connector/C
Component/s: None
Affects Version/s: 3.0.6, 3.0.7, 3.0.8
Fix Version/s: 3.0.11, 3.1.2

Type: Bug Priority: Critical
Reporter: Michal Schorm Assignee: Georg Richter
Resolution: Fixed Votes: 0
Labels: None
Environment:

Fedora - all


Issue Links:
Blocks
blocks MDEV-19565 10.4.7 merge Closed
Problem/Incident
causes MDEV-19807 MariaDB client plugin path is wrong Closed
Relates
relates to CONC-376 missing prefix for searching mysql_cl... Open
relates to MDEV-20569 Plugin dialog could not be loaded (wr... Closed

 Description   

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

After upgrading mariadb-connector-c to 3.0.6-1.fc28, the auth_gssapi_plugin for the client doesn't work properly:
 
org.kde.pim.akonadiserver: Database error: "Plugin auth_gssapi_client could not be loaded: lib64/mariadb/plugin/auth_gssapi_client.so: cannot open shared object file: No such file or directory QMYSQL: Unable to connect"
 
Downgrading to 3.0.3-3.fc28, things begin to work immediately.

Could it be related to:
CONC-277
or
CONC-376
?



 Comments   
Comment by Michal Schorm [ 2019-03-20 ]

I was able to reproduce the issue without touching aconadi.

1) Set up valid /etc/krb5.keytab
2) enable the gssapi plugin in the configuration file
3) start server
4)

echo "CREATE USER 'krb_usr'@'localhost' IDENTIFIED VIA gssapi;" | mysql

5) Write a simple code and try to connect as that user:

#include <stdio.h>
#include <mysql.h>
 
int main(int argc, char **argv)
{
  MYSQL *con = mysql_init(NULL);
 
  if (con == NULL)
  {
      fprintf(stderr, "%s\n", mysql_error(con));
      exit(1);
  }
 
  if (mysql_real_connect(con, "localhost", "krb_usr", "",
          NULL, 0, NULL, 0) == NULL)
  {
      fprintf(stderr, "%s\n", mysql_error(con));
      mysql_close(con);
      exit(1);
  }
 
  if (mysql_query(con, "CREATE DATABASE testdb_xyz"))
  {
      fprintf(stderr, "%s\n", mysql_error(con));
      mysql_close(con);
      exit(1);
  }
 
  mysql_close(con);
  exit(0);
}

You will get an error:

# ./mariadb_program 
Plugin auth_gssapi_client could not be loaded: lib64/mariadb/plugin/auth_gssapi_client.so: cannot open shared object file: No such file or directory


This makes the plugin completely unusable.
Since gssapi is quite commonly used, I find it as a quite severe bug!

IMHO same kind of issue as CONC-376

Comment by Michal Schorm [ 2019-05-21 ]

I believe this issue is rather important.
The PR I opened fixes the bug for Fedora and should also for the others.

Can you please take a look at it?

Generated at Thu Feb 08 03:04:55 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.