diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-java/jdbc-postgresql/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-java/jdbc-postgresql/files')
-rw-r--r-- | dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-osgi.patch | 37 | ||||
-rw-r--r-- | dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1204-remove-sspi.patch | 138 |
2 files changed, 175 insertions, 0 deletions
diff --git a/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-osgi.patch b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-osgi.patch new file mode 100644 index 000000000000..15b1860d2aa7 --- /dev/null +++ b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-osgi.patch @@ -0,0 +1,37 @@ +--- a/build.xml 2015-02-18 17:44:58.000000000 +0100 ++++ b/build.xml 2015-03-23 02:19:03.951945663 +0100 +@@ -403,34 +403,6 @@ + <attribute name="Implementation-Vendor" value="PostgreSQL Global Development Group" /> + </manifest> + </jar> +- +- <!-- add OSGi meta information --> +- <property name="osgidir" value="${builddir}/osgi"/> +- <mkdir dir="${osgidir}"/> +- +- <!-- create a bnd file named after the JAR file so that bnd wrap tool find it --> +- <echo file="${osgidir}/${artifact.version.string}.bnd"> +-Bundle-ManifestVersion: 2 +- +-Bundle-Name: PostgreSQL JDBC Driver ${jdbc.version.upper} +-Bundle-SymbolicName: org.postgresql.${jdbc.version} +-Bundle-Version: ${osgi.version} +- +-Bundle-Vendor: PostgreSQL Global Development Group +-Bundle-Copyright: Copyright (c) 2003-2015, PostgreSQL Global Development Group +-Bundle-License: http://www.postgresql.org/about/licence/ +-Bundle-DocURL: http://jdbc.postgresql.org/ +- +-Bundle-Classpath: . +-Bundle-Activator: org.postgresql.osgi.PGBundleActivator +-Require-Capability: osgi.ee;filter:="(&(|(osgi.ee=J2SE)(osgi.ee=JavaSE))(version>=${java.specification.version}))" +-Export-Package: org.postgresql*; version=${fullversion} +-Import-Package: javax.sql, javax.transaction.xa, javax.naming, *;resolution:=optional +- </echo> +- +- <!-- run wrap task from bnd --> +- <taskdef resource="aQute/bnd/ant/taskdef.properties" classpathref="dependency.build.classpath"/> +- <bndwrap jars="${artifact.jar.build}" output="${artifact.jar}" definitions="${osgidir}"/> + </target> + + <!-- create a distribution with docs, dependencies, and driver jar --> diff --git a/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1204-remove-sspi.patch b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1204-remove-sspi.patch new file mode 100644 index 000000000000..16996892b192 --- /dev/null +++ b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1204-remove-sspi.patch @@ -0,0 +1,138 @@ +--- a/org/postgresql/core/v3/ConnectionFactoryImpl.java 2015-10-09 20:55:53.000000000 +0200 ++++ b/org/postgresql/core/v3/ConnectionFactoryImpl.java 2015-10-14 20:42:48.816753341 +0200 +@@ -32,7 +32,6 @@ + import org.postgresql.hostchooser.HostChooserFactory; + import org.postgresql.hostchooser.HostRequirement; + import org.postgresql.hostchooser.HostStatus; +-import org.postgresql.sspi.SSPIClient; + import org.postgresql.util.GT; + import org.postgresql.util.HostSpec; + import org.postgresql.util.MD5Digest; +@@ -394,11 +393,7 @@ + // or an authentication request + + String password = PGProperty.PASSWORD.get(info); +- +- /* SSPI negotiation state, if used */ +- SSPIClient sspiClient = null; + +- try { + authloop: + while (true) + { +@@ -514,88 +509,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()) +@@ -616,18 +539,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); +- } +- +- } +- } + + } + |