1) Added RPM/DEB dependency for Kerberos to the server package.

2) Handle the OSError while importing the gssapi, it fixes the Windows error.

refs #5457
This commit is contained in:
Khushboo Vashi 2021-01-20 18:09:07 +05:30 committed by Akshay Joshi
parent 57a2559f11
commit c71315f8cd
3 changed files with 10 additions and 5 deletions

View File

@ -35,7 +35,7 @@ cat << EOF > "${SERVERROOT}/DEBIAN/control"
Package: ${APP_NAME}-server Package: ${APP_NAME}-server
Version: ${APP_LONG_VERSION} Version: ${APP_LONG_VERSION}
Architecture: ${OS_ARCH} Architecture: ${OS_ARCH}
Depends: python3, libpq5 (>= 11.0) Depends: python3, libpq5 (>= 11.0), libgssapi-krb5-2
Recommends: postgresql-client | postgresql-client-12 | postgresql-client-11 | postgresql-client-10 Recommends: postgresql-client | postgresql-client-12 | postgresql-client-11 | postgresql-client-10
Maintainer: pgAdmin Development Team <pgadmin-hackers@postgresql.org> Maintainer: pgAdmin Development Team <pgadmin-hackers@postgresql.org>
Description: The core server package for pgAdmin. pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world. Description: The core server package for pgAdmin. pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
@ -76,7 +76,7 @@ cat << EOF > "${WEBROOT}/DEBIAN/control"
Package: ${APP_NAME}-web Package: ${APP_NAME}-web
Version: ${APP_LONG_VERSION} Version: ${APP_LONG_VERSION}
Architecture: all Architecture: all
Depends: ${APP_NAME}-server, apache2, libapache2-mod-wsgi-py3, libgssapi-krb5-2 Depends: ${APP_NAME}-server, apache2, libapache2-mod-wsgi-py3
Maintainer: pgAdmin Development Team <pgadmin-hackers@postgresql.org> Maintainer: pgAdmin Development Team <pgadmin-hackers@postgresql.org>
Description: The web interface for pgAdmin, hosted under Apache HTTPD. pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world. Description: The web interface for pgAdmin, hosted under Apache HTTPD. pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
EOF EOF

View File

@ -52,7 +52,7 @@ Summary: The core server package for pgAdmin.
License: PostgreSQL License: PostgreSQL
URL: https://www.pgadmin.org/ URL: https://www.pgadmin.org/
Requires: python3, postgresql-libs >= 11 Requires: python3, postgresql-libs >= 11, krb5-libs
%description %description
The core server package for pgAdmin. pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world. The core server package for pgAdmin. pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
@ -131,9 +131,9 @@ Summary: The web interface for pgAdmin, hosted under Apache HTTPD.
License: PostgreSQL License: PostgreSQL
URL: https://www.pgadmin.org/ URL: https://www.pgadmin.org/
%if 0%{?rhel} && 0%{?rhel} == 7 %if 0%{?rhel} && 0%{?rhel} == 7
Requires: ${APP_NAME}-server, httpd, pgadmin4-python3-mod_wsgi, krb5-libs Requires: ${APP_NAME}-server, httpd, pgadmin4-python3-mod_wsgi
%else %else
Requires: ${APP_NAME}-server, httpd, python3-mod_wsgi, krb5-libs Requires: ${APP_NAME}-server, httpd, python3-mod_wsgi
%endif %endif
%description %description

View File

@ -35,6 +35,11 @@ except ImportError:
# Instead throw the runtime error, when the server attempts # Instead throw the runtime error, when the server attempts
# to use this authentication method. # to use this authentication method.
KERBEROS_AUTH_AVAILABLE = False KERBEROS_AUTH_AVAILABLE = False
except OSError:
# On Windows, it fails with OSError, when KFW libraries not found.
# Instead throw the runtime error, when the server attempts
# to use this authentication method.
KERBEROS_AUTH_AVAILABLE = False
# Set the Kerberos config file # Set the Kerberos config file
if config.KRB_KTNAME and config.KRB_KTNAME != '<KRB5_KEYTAB_FILE>': if config.KRB_KTNAME and config.KRB_KTNAME != '<KRB5_KEYTAB_FILE>':