From c71315f8cdd9830e2baa7b7b10e63d5727b4d7da Mon Sep 17 00:00:00 2001 From: Khushboo Vashi Date: Wed, 20 Jan 2021 18:09:07 +0530 Subject: [PATCH] =?UTF-8?q?1)=20Added=C2=A0RPM/DEB=20dependency=20for=20Ke?= =?UTF-8?q?rberos=20to=20the=20server=20package.=202)=20Handle=20the=20OSE?= =?UTF-8?q?rror=20while=20importing=20the=20gssapi,=20it=20fixes=20the=20W?= =?UTF-8?q?indows=20error.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit refs #5457 --- pkg/debian/build.sh | 4 ++-- pkg/redhat/build.sh | 6 +++--- web/pgadmin/authenticate/kerberos.py | 5 +++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/debian/build.sh b/pkg/debian/build.sh index 810e9c868..ac7a08309 100755 --- a/pkg/debian/build.sh +++ b/pkg/debian/build.sh @@ -35,7 +35,7 @@ cat << EOF > "${SERVERROOT}/DEBIAN/control" Package: ${APP_NAME}-server Version: ${APP_LONG_VERSION} 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 Maintainer: pgAdmin Development Team 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 Version: ${APP_LONG_VERSION} 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 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 diff --git a/pkg/redhat/build.sh b/pkg/redhat/build.sh index 48be6e549..ca1eb20a6 100755 --- a/pkg/redhat/build.sh +++ b/pkg/redhat/build.sh @@ -52,7 +52,7 @@ Summary: The core server package for pgAdmin. License: PostgreSQL URL: https://www.pgadmin.org/ -Requires: python3, postgresql-libs >= 11 +Requires: python3, postgresql-libs >= 11, krb5-libs %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. @@ -131,9 +131,9 @@ Summary: The web interface for pgAdmin, hosted under Apache HTTPD. License: PostgreSQL URL: https://www.pgadmin.org/ %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 -Requires: ${APP_NAME}-server, httpd, python3-mod_wsgi, krb5-libs +Requires: ${APP_NAME}-server, httpd, python3-mod_wsgi %endif %description diff --git a/web/pgadmin/authenticate/kerberos.py b/web/pgadmin/authenticate/kerberos.py index 5e03499b3..57aa1e0f0 100644 --- a/web/pgadmin/authenticate/kerberos.py +++ b/web/pgadmin/authenticate/kerberos.py @@ -35,6 +35,11 @@ except ImportError: # Instead throw the runtime error, when the server attempts # to use this authentication method. 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 if config.KRB_KTNAME and config.KRB_KTNAME != '':