Hello community, here is the log from the commit of package postgresql-jdbc for openSUSE:Factory checked in at 2015-07-12 22:52:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/postgresql-jdbc (Old) and /work/SRC/openSUSE:Factory/.postgresql-jdbc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "postgresql-jdbc" Changes: -------- --- /work/SRC/openSUSE:Factory/postgresql-jdbc/postgresql-jdbc.changes 2014-07-21 22:34:25.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.postgresql-jdbc.new/postgresql-jdbc.changes 2015-07-12 22:52:45.000000000 +0200 @@ -1,0 +2,8 @@ +Mon Jul 6 11:37:30 UTC 2015 - [email protected] + +- update to version 9.4-1200 (fate#318788) + * https://jdbc.postgresql.org/documentation/changelog.html +- Add patch: + * jdbc-postgresql-9.4_p1201-remove-sspi.patch + +------------------------------------------------------------------- Old: ---- postgresql-jdbc-9.3-1101.src.tar.gz New: ---- build.xml jdbc-postgresql-9.4_p1201-remove-sspi.patch postgresql-jdbc-9.4-1201.src.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ postgresql-jdbc.spec ++++++ --- /var/tmp/diff_new_pack.cL4xNp/_old 2015-07-12 22:52:46.000000000 +0200 +++ /var/tmp/diff_new_pack.cL4xNp/_new 2015-07-12 22:52:46.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package postgresql-jdbc # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,15 +16,18 @@ # -%define buildnum 1101 +%define buildnum 1201 Name: postgresql-jdbc -Version: 9.3 +Version: 9.4 Release: 0 Summary: Official JDBC Driver for PostgreSQL License: BSD-3-Clause Group: Development/Languages/Java Url: http://jdbc.postgresql.org Source0: http://jdbc.postgresql.org/download/%{name}-%{version}-%{buildnum}.src.tar.gz +# Original build.xml without maven +Source1: build.xml +Patch0: jdbc-postgresql-9.4_p1201-remove-sspi.patch BuildRequires: ant BuildRequires: java-devel BuildRequires: javapackages-tools @@ -47,10 +50,18 @@ %prep %setup -q -n %{name}-%{version}-%{buildnum}.src - +%patch0 -p1 # remove all third party jars find . -iname '*.jar' | xargs rm -rf +# replace the build script +cp -f %{SOURCE1} build.xml + +# remove NTDSAPI class +rm -f org/postgresql/sspi/NTDSAPI.java +rm -f org/postgresql/sspi/NTDSAPIWrapper.java +rm -f org/postgresql/sspi/SSPIClient.java + %build ant @@ -64,7 +75,7 @@ # create directory for installing the jars install -d -m 755 %{buildroot}%{_javadir} -install -m 655 jars/postgresql-%{version}-%{buildnum}.jdbc41.jar \ +install -m 655 $RPM_BUILD_DIR/%{name}-%{version}-%{buildnum}.src/jars/postgresql.jar \ %{buildroot}/%{_javadir}/%{name}-%{version}.jar (cd %{buildroot}/%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/}; done) ++++++ jdbc-postgresql-9.4_p1201-remove-sspi.patch ++++++ --- a/org/postgresql/core/v3/ConnectionFactoryImpl.java 2015-03-23 07:32:15.000000000 +0100 +++ b/org/postgresql/core/v3/ConnectionFactoryImpl.java 2015-03-23 07:41:53.160058718 +0100 @@ -19,7 +19,6 @@ import org.postgresql.PGProperty; import org.postgresql.core.*; -import org.postgresql.sspi.SSPIClient; import org.postgresql.hostchooser.GlobalHostStatusTracker; import org.postgresql.hostchooser.HostChooser; import org.postgresql.hostchooser.HostChooserFactory; @@ -387,11 +386,7 @@ // or an authentication request String password = PGProperty.PASSWORD.get(info); - - /* SSPI negotiation state, if used */ - SSPIClient sspiClient = null; - try { authloop: while (true) { @@ -507,88 +502,16 @@ case AUTH_REQ_SSPI: /* * Use GSSAPI if requested on all platforms, via JSSE. - * - * For SSPI auth requests, if we're on Windows attempt native SSPI - * authentication if available, and if not disabled by setting a - * kerberosServerName. On other platforms, attempt JSSE GSSAPI - * negotiation with the SSPI server. - * - * Note that this is slightly different to libpq, which uses SSPI - * for GSSAPI where supported. We prefer to use the existing Java - * JSSE Kerberos support rather than going to native (via JNA) calls - * where possible, so that JSSE system properties etc continue - * to work normally. - * - * Note that while SSPI is often Kerberos-based there's no guarantee - * it will be; it may be NTLM or anything else. If the client responds - * to an SSPI request via GSSAPI and the other end isn't using Kerberos - * for SSPI then authentication will fail. */ - final String gsslib = PGProperty.GSS_LIB.get(info); - final boolean usespnego = PGProperty.USE_SPNEGO.getBoolean(info); - - boolean useSSPI = false; + org.postgresql.gss.MakeGSS.authenticate(pgStream, host, + user, password, + PGProperty.JAAS_APPLICATION_NAME.get(info), + PGProperty.KERBEROS_SERVER_NAME.get(info), + logger, + PGProperty.USE_SPNEGO.getBoolean(info)); + + break; - /* - * Use SSPI if we're in auto mode on windows and have a - * request for SSPI auth, or if it's forced. Otherwise - * use gssapi. If the user has specified a Kerberos server - * name we'll always use JSSE GSSAPI. - */ - if (gsslib.equals("gssapi")) - logger.debug("Using JSSE GSSAPI, param gsslib=gssapi"); - else if (areq == AUTH_REQ_GSS && !gsslib.equals("sspi")) - logger.debug("Using JSSE GSSAPI, gssapi requested by server and gsslib=sspi not forced"); - else - { - /* Determine if SSPI is supported by the client */ - sspiClient = new SSPIClient(pgStream, - PGProperty.SSPI_SERVICE_CLASS.get(info), - /* Use negotiation for SSPI, or if explicitly requested for GSS */ - areq == AUTH_REQ_SSPI || (areq == AUTH_REQ_GSS && usespnego), - logger); - - useSSPI = sspiClient.isSSPISupported(); - logger.debug("SSPI support detected: " + useSSPI); - - if (!useSSPI) { - /* No need to dispose() if no SSPI used */ - sspiClient = null; - - if (gsslib.equals("sspi")) - throw new PSQLException("SSPI forced with gsslib=sspi, but SSPI not available; set loglevel=2 for details", - PSQLState.CONNECTION_UNABLE_TO_CONNECT); - } - - logger.debug("Using SSPI: " + useSSPI + ", gsslib="+gsslib+" and SSPI support detected"); - } - - if (useSSPI) - { - /* SSPI requested and detected as available */ - sspiClient.startSSPI(); - } - else - { - /* Use JGSS's GSSAPI for this request */ - org.postgresql.gss.MakeGSS.authenticate(pgStream, host, - user, password, - PGProperty.JAAS_APPLICATION_NAME.get(info), - PGProperty.KERBEROS_SERVER_NAME.get(info), - logger, - usespnego); - } - - break; - - case AUTH_REQ_GSS_CONTINUE: - /* - * Only called for SSPI, as GSS is handled by an inner loop - * in MakeGSS. - */ - sspiClient.continueSSPI(l_msgLen - 8); - break; - case AUTH_REQ_OK: /* Cleanup after successful authentication */ if (logger.logDebug()) @@ -609,18 +532,6 @@ throw new PSQLException(GT.tr("Protocol error. Session setup failed."), PSQLState.PROTOCOL_VIOLATION); } } - } finally { - /* Cleanup after successful or failed authentication attempts */ - if (sspiClient != null) - { - try { - sspiClient.dispose(); - } catch (RuntimeException ex) { - logger.log("Unexpected error during SSPI context disposal", ex); - } - - } - } } ++++++ postgresql-jdbc-9.3-1101.src.tar.gz -> postgresql-jdbc-9.4-1201.src.tar.gz ++++++ ++++ 17211 lines of diff (skipped)
