Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency org.postgresql:postgresql to v42.3.3 #26

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

mend-for-github-com[bot]
Copy link
Contributor

@mend-for-github-com mend-for-github-com bot commented Jan 11, 2024

This PR contains the following updates:

Package Type Update Change
org.postgresql:postgresql (source) compile minor 42.2.5 -> 42.3.3

By merging this PR, the issue #2 will be automatically resolved and closed:

Severity CVSS Score CVE
Critical Critical 10.0 CVE-2024-1597
Critical Critical 9.8 CVE-2022-21724
Critical Critical 9.8 CVE-2022-26520
Critical Critical 9.8 WS-2022-0080
High High 8.0 CVE-2022-31197
High High 7.7 CVE-2020-13692
Medium Medium 5.5 CVE-2022-41946

Release Notes

pgjdbc/pgjdbc (org.postgresql:postgresql)

v42.3.3

Changed
  • fix: Removed loggerFile and loggerLevel configuration. While the properties still exist.
    They can no longer be used to configure the driver logging. Instead use java.util.logging
    configuration mechanisms such as logging.properties.
Added
Fixed

v42.3.2

Security
  • CVE-2022-21724 pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName,
    sslhostnameverifier, socketFactory, sslfactory, sslpasswordcallback connection properties.
    However, the driver did not verify if the class implements the expected interface before instantiating the class. This
    would allow a malicious class to be instantiated that could execute arbitrary code from the JVM. Fixed in commit
Changed
  • perf: read in_hot_standby GUC on connection PR #​2334
  • test: materialized view privileges PR #​2209 fixes Issue #​2060
  • docs: add info about convenience maven project PR #​2407
  • docs: Document timezone reversal from POSIX to ISO PR #​2413
  • fix: we will ask the server if it supports GSS Encryption if gssEncryption
    is prefer or require PR #​2396 remove the need to have a ticket in the cache before asking the server if gss encryptions are supported
  • docs: remove Java 6 and 7 references from contributing PR #​2385
  • style: remove Java 8 / JDBC 4.2 checks PR #​2383 Remove all remaining checks whether the source is lower than Java 8
    or JDBC 4.2.
  • fix: throw SQLException for #getBoolean BIT(>1) PR #​2386 Throw SQLException instead of ClassCastException when calling
    CallableStatement#getBoolean(int) on BIT(>1).
  • style: import java.time types in more classes PR #​2382 Use imports for java.time types in all remaining classes.
  • style: import java.time types in TimestampUtils PR #​2380 Use imports for java.time types in TimestampUtils.
  • refactor: Change internal constructors to pass only connection Properties
    Changes internal constructors for PgConnection and related classes to only accept the connection properties object and
    remove the user and password arguments. Any locations that required those fields can retrieve them from the properties map.
  • test: Fix DatabaseMetadataTest to perform mview tests only on 9.3+
  • perf: read in_hot_standby GUC on connection PR #​2334
  • doc: improv doc around binary decoding of numeric data #​2331
  • Add cert key type checking to chooseClientAlias PR #​2417
Added
  • feat: Add authenticationPluginClassName option to provide passwords at runtime
    Adds authenticationPluginClassName connection property that allows end users to specify a class
    that will provide the connection passwords at runtime. Users implementing that interface must
    ensure that each invocation of the method provides a new char[] array as the contents
    will be filled with zeroes by the driver after use.Call sites within the driver have been updated to use the char[] directly wherever possible.
    This includes direct usage in the GSS authentication code paths that internally were already converting the String password into a char[] for internal usage.
    This allows configuring a connection with a password that must be generated on the fly or periodically changes. PR #​2369 original issue Issue #​2102
  • feat: add tcpNoDelay option PR #​2341 fixes Issue #​2324
  • feat: pg_service.conf and .pgpass support (jdbc:postgresql://?service=my-service) PR #​2260 fixes Issue #​2278
Fixed
  • Use local TimestampUtil in PgStatement and PgResultset for thread safety PR #​2291
    fixes Issue #​921 synchronize modification of shared calendar
  • fix: PgObject isNull() was reporting the opposite fixes Issue #​2411 PR #​2414
  • fix: default file name is ".pg_service.conf" on Windows (not "pg_service.conf") PR #​2398 fixes Issue #​2278
  • test: Fix RefCursorFetchTest on older platforms
  • fix: do not close refcursor after reading if fetchsize has been set fixes Issue #​2227 PR #​2371
  • fix: rework gss authentication to use the principal name to get the credentials fixes Issue #​2235 PR #​2352
  • fix: return getIndexInfo metadata columns in UPPER CASE PR #​2368
  • fix: Connection leak in ConnectionFactoryImpl#tryConnect PR #​2350 Issue #​2351
  • fix: Fix For IS_AUTOGENERATED Flag PR #​2348
  • fix: parsing service file tests for windows PR #​2347
  • fix: The spec says that calling close() on a closed connection is a noop. PR #​2345 fixes Issue #​2300
  • fix: add microsecond precision to getTimestamp() called on sql TIME(6) Currently, "when fetching a value of type TIME(6) through
    resultSet.getTimestamp() only ms precision is retained, the microsecond fractional digits are lost." This change will retain the microsecond
    precision when .getTimestamp() is called on TIME(6). PR #​2181 Closes Issue #​1537
  • test: materialized view privileges PR #​2209 add and drop a materialized view
    Add to TestUtil and also to DatabaseMetaData setup and teardown fixes Issue #​2060
  • fix: typo in connect.md PR #​2338 OutOfMemoryException => OutOfMemoryError
  • fix: use local TimestampUtil in PgStatement and PgResultset for thread
    safety TimestampUtil is not thread safe. It raises exceptions when multiple threads use ResultSets of one connection. PR #​2291
    fixes Issue #​921
    If PgStatement and PgResultSet use their own TimestampUtil no synchronize is needed.
  • fix: typo in CONTRIBUTING.md PR #​2332 seccion => section

v42.3.1

Changed
  • improv: Arrays in Object[] PR 2330 when an Object[] contains other arrays, treat as though it were a
    multi-dimensional array the one exception is byte[], which is not supported.
  • improv: Use jre utf-8 decoding PR 2317 Remove use of custom utf-8 decoding.
  • perf: improve performance of bytea string decoding PR 2320
    improve the parsing of bytea hex encoded string by making a lookup table for each of the valid ascii code points to the 4 bit numeric value
  • feat: intern/canonicalize common strings PR 2234
Added
Fixed
  • numeric binary decode for even 10 thousands PR #​2327 fixes Issue 2326
    binary numeric values which represented integers multiples of 10,000 from 10,000-9,990,000 were not decoded correctly
  • [typo] typo in certdir/README.md PR #​2309 certificatess => certificates
  • [typo] typo in TimestampUtils.java PR #​2314 Change Greagorian to Gregorian.
  • remove check for negative pid in cancel request. Apparently pgbouncer can send one fixes Issue 2317 PR #​2319

v42.3.0

Changed
  • No longer build for Java 6 or Java 7
  • If assumeMinServerVersion is not defined and server is at least 9.0, group startup statements into a single transaction PR #​1977
Added
  • Support for pg_service.conf file and jdbc URL syntax: "jdbc:postgresql://?service=service1".
    Resource can be provided using 1) property "-Dorg.postgresql.pgservicefile=file1" 2) environment variable PGSERVICEFILE=file2 3) default location "$HOME/.pg_service.conf" 4) environment variable PGSYSCONFDIR=dir1 looks for file "dir1/pg_service.conf".
  • Support for .pgpass file. Resource can be provided using 1) property "-Dorg.postgresql.pgpassfile=file1" 2) environment variable PGPASSFILE=file2 3) default location "$HOME/.pgpass"
Fixed

v42.2.24

Fixed
  • Fix startup regressions caused by PR #​1949. Instead of checking all types by OID, we can return types for well known types PR #​2257
  • Backport PR #​2148
    Avoid leaking server error details through BatchUpdateException when logServerErrorDetail PR #​2254
  • Backpatch PR #​2247
    QueryExecutorImpl.receiveFastpathResult did not properly handle ParameterStatus messages.
    This in turn caused failures for some LargeObjectManager operations. Closes Issue #​2237
    Fixed by adding the missing code path, based on the existing handling in processResults. PR #​2253
  • Backpatch PR #​2242 PgDatabaseMetaData.getIndexInfo() cast operands to smallint PR#2253
    It is possible to break method PgDatabaseMetaData.getIndexInfo() by adding certain custom operators. This PR fixes it.
  • Backpatching PR #​2251 into 42.2 Clean up open connections to fix test failures on omni and appveyor
    use older syntax for COMMENT ON FUNCTION with explicit no-arg parameter parentheses as it is required on server versions before v10.
    Handle cleanup of connection creation in StatementTest, handle cleanup of privileged connection in DatabaseMetaDataTest
  • Backpatch PR #​2245 fixes case where duplicate tables are returned if there are duplicate descriptions oids are not guaranteed to be unique in the catalog PR #​2248
  • Change to updatable result set to use correctly primary or unique keys PR #​2228
    fixes issues introduced in PR #​2199 closes Issue #​2196
  • Fix NPE calling getTypeInfo when alias is null PR #​2220
  • Backpatch PR #​2217 to fix Issue #​2215. OIDs are unsigned integers and were not being handled correctly when they exceeded the size of signed integers

v42.2.23

Changed
  • Renewed the SSL keys for testing
Fixed
  • getColumnPrecision for Numeric when scale and precision not specified now returns 0 instead of 131089 fixes: Issue #​2188
  • Calling refreshRow on an updateable resultset made the row readOnly. Fixes Issue #​2193
  • results should be updateable if there is a unique index available PR#2199 Fixes Issue #​2196
  • Rework sql type gathering to use OID instead of typname.
    This does not have the issue of name shadowing / qual-names, and has the added benefit of fixing #​1948.

v42.2.22

Fixed
  • Regression caused by pgjdbc/pgjdbc@4fa2d5b. Unfortunately
    due to the blocking nature of the driver and issues with seeing if there is a byte available on a blocking stream when it is encrypted
    this introduces unacceptable delays in returning from peek(). At this time there is no simple solution to this.

v42.2.21

Changed
  • Update docs to reflect deprecated DataSource API setServerName backpatch PR#2057 PR #​2105
Fixed

v42.2.20

Fixed
  • Partitioned indexes were not found fixes #​2078 PR #​2087
  • isValid() timeout should not be blocked #​1943 Cherry-picked #​2076
    The usage of setQueryTimeout(); with the same value as the setNetworkTimeout(); is blocking the current transaction timeout.
    The timeouts are blocking each other with this approach.
  • DatabaseMetaData.getTables returns columns in UPPER case as per the spec PR #​2092 fixes Issue #​830

v42.2.19

Notable Changes

  • Now the driver uses SASLprep normalization for SCRAM authentication fixing some issues with spaces in passwords.
  • If closeOnCompletion is called on an existing statement and the statement is executed a second time it will fail.
Changed
  • Perf: avoid duplicate PGStream#changeSocket calls
  • Fix: Actually close unclosed results. Previously was not closing the first unclosed result fixes #​1903 (#​1905).
    There is a small behaviour change here as a result. If closeOnCompletion is called on an existing statement and the statement
    is executed a second time it will fail.
Added
  • Verify code via forbidden-apis (jdk-internal and jdk-non-portable signatures) PR #​2012
Fixed
  • Fix Binary transfer for numeric fixes #​1935
  • Fix Allow specifying binaryTransferEnable even for those types that are not enabled by default
  • Fix: properly set cancel socket timeout (#​2044)
  • Fix "Required class information missing" when old org.jboss:jandex parses pgjdbc classes [issue 2008]https://github.com/pgjdbc/pgjdbc/issues/200808]
  • Fix PGCopyInputStream returning the last row twice when reading with CopyOut API [issue 2016]https://github.com/pgjdbc/pgjdbc/issues/201616]
  • Fix Connection.isValid() to not wait longer than existing network timeout PR #​2040
  • Fix Passwords with spaces (ASCII and non-ASCII) now work with SCRAM authentication (driver now uses SASLprep normalization) PR #​2052
  • Fix DatabaseMetaData.getTablePrivileges() to include views, materialized views, and foreign tables PR #​2049
  • Fix Resolve ParseError in PGtokenizer fixes #​2050
  • Fix return metadata privileges for views and foreign tables

v42.2.18

Fixed
  • Unfortunately changing the default of gssEncMode to ALLOW was not enough. The GSSEncMode Enum was not changed as well
    fixed in #​1920

v42.2.17

Changed
  • Change default of gssEncMode to ALLOW. PostgreSQL can deal with PREFER but there are cloud providers that did not implement the protocol properly. Libpq gets around this by checking for a GSS credential cache before attempting the connection. This is possible in JDK 8 and up, but not JDK6, or JDK7 fixes Issue #​1868 PR #​1913
Added
Fixed
  • Avoid NullPointerException when receiving PGbox, PGcircle, PGline, PGlseg, PGpath, PGpoint, PGpolygon, and PGmoney [PR 1873] https://github.com/pgjdbc/pgjdbc/pull/18733).
  • The driver returns enum and jsonb arrays elements as String objects (like in 42.2.14 and earlier versions) PR 1879.
  • PgTokenizer was ignoring last empty token PR #​1882
  • Remove osgi from karaf fixes Issue #​1891 PR #​1902
  • Handle nulls when the following classes are used: PGbox, PGcircle, PGline, PGlseg, PGpath, PGpoint, PGpolygon, and PGmoney.

v42.2.16

Known issues
  • The driver returns enum and jsonb arrays elements are returned as PGobject instances (fixed in 42.2.17)
Fixed
  • Arrays sent in binary format are now sent as 1 based. This was a regression for multi-dimensional arrays as well as text/varchar, oid and bytea arrays.
    Since 42.2.0 single dimensional arrays were stored 0 based. They are now sent 1 based which is the SQL standard, and the default
    for Postgres when sent as strings such as '{1,2,3}'. Fixes issue 1860 in PR 1863.

v42.2.15

Known issues
  • The driver returns enum and jsonb arrays elements are returned as PGobject instances (fixed in 42.2.17)
Changed
  • Rename source distribution archive to postgresql-$version-jdbc-src.tar.gz, and add top-level archive folder ba017507
  • Add the ability to connect with a GSSAPI encrypted connection. As of PostgreSQL version 12 GSSAPI encrypted connections
    are possible. Now the driver will attempt to connect to the server with a GSSAPI encrypted connection. If that fails then
    attempt an SSL connection, finally falling back to a plain text connection. All of this is controlled using both the gssEncMode
    and sslMode parameters which, in concert with pg_hba.conf, determine if a particular mode is allowed and or required. PR 1821 ad921b9e
  • Source release archive shades dependencies (scram) by default. It affects only postgresql-version-src.tar.gz release artifact f0301eb9
  • Refactor decoding arrays PR 1194
Added
  • Verify nullness with CheckerFramework 6e524ae5
Fixed
  • Avoid preparedStatement leak when using updateable ResultSet via insert/update/refreshRow PR 1815 9a0d2b18
  • Change order of checks for oid vs primary keys. OID's have been deprecated. PR 1613
  • Close certificate file stream. PR 1837
  • Make sure socketTimeout is enforced PR 1831
  • Assume PKCS-8 SSL key format by default PR 1819
  • Preserve unquoted unicode whitespace in array literals PR 1266

v42.2.14

Changed
  • Reverted com.github.waffle:waffle-jna, org.osgi:org.osgi.core, org.osgi:org.osgi.enterprise dependencies to optional=true in Maven PR 1797.

v42.2.13

Notable Changes

  • Security: The primary reason to release this version and to continue the 42.2.x branch is for CVE-2020-13692.
    Reported by David Dworken, this is an XXE and more information can be found here.
    Sehrope Sarkuni reworked the XML parsing to provide a solution in commit 14b62aca4.
  • The build system has been changed to Gradle thanks to Vladimir PR 1627.
  • Regression: com.github.waffle:waffle-jna, org.osgi:org.osgi.core, org.osgi:org.osgi.enterprise dependencies are listed as non-optional issue 1975.
Changed
Added
  • jre-6 was added back to allow us to release fixes for all artifacts in the 42.2.x branch PR 1787
Fixed
  • I/O error ru translation PR 1756
  • Issue 1771 PgDatabaseMetaData.getFunctions() returns
    procedures fixed in PR 1774
  • getTypeMap() returning null PR 1781
  • Updated openssl example command PR 1763
  • fix documentation with ordered list to be displayed correctly PR 1783

v42.2.12

Notable changes

We have released 42.2.12 to correct regressions in this version: Specifically

  • PR 1729 was reverted as this is a breaking change
  • PR 1719 has been reverted as it introduced errors in the PgType Cache

We recommend that version 42.2.11 not be used.

Changed
  • reverted PR 1729 throw an error instead of silently rolling back a commit error.
    This change introduced a breaking change which will be moved to 42.3.0
  • reverted PR 1719 add support for full names of data types (#​1719)

v42.2.11

Notable changes
As mentioned above this version is broken and should not be used.

Changed
  • Reverted PR 1641. The driver will now wait for EOF when sending cancel signals.
  • DatabaseMetaData#getProcedures returns only procedures (not functions) for PostgreSQL 11+ PR 1723
  • Convert silent rollbacks into exception if application sends commit or xa.prepare command PR 1729
Added
  • feat: raiseExceptionOnSilentRollback connection option to configure if silent rollback should raise an exception PR 1729
  • feat: Expose ByteStreamWriter in CopyManager PR 1702
  • feat: add way to distinguish base and partitioned tables in PgDatabaseMetaData.getTables PR 1708
  • refactor: introduce tuple abstraction (rebased) PR 1701
  • refactor: make PSQLState enum consts for integrity constraint violations PR 1699
  • test: add makefile to create ssl certs PR 1706
Fixed
  • fix: Always use . as decimal separator in PGInterval PR 1705
  • fix: allow DatabaseMetaData.getColumns to describe an unset scale PR 1716
Changed
  • Build system update from Maven to Gradle PR 1627
Added
  • docker-compose image for creating test databases (see docker folder)

v42.2.10

Changed
  • (!) Regression: remove receiving EOF from backend after cancel PR 1641. The regression is that the subsequent query might receive the cancel signal.
Added
Fixed
  • Cleanup PGProperty, sort values, and add some missing to docs PR 1686
  • Fixing LocalTime rounding (losing precision) PR 1570
  • Network Performance of PgDatabaseMetaData.getTypeInfo() method PR 1668
  • Issue #​1680 updating a boolean field requires special handling to set it to t or f instead of true or false PR 1682
  • bug in pgstream for replication PR 1681
  • Issue #​1677 NumberFormatException when fetching PGInterval with small value PR 1678
  • Metadata queries improvements with large schemas. PR 1673
  • Utf 8 encoding optimizations PR 1444
  • interval overflow PR 1658
  • Issue #​1482 where the port was being added to the GSSAPI service name PR 1651
  • remove receiving EOF from backend after cancel since according to protocol the server closes the connection once cancel is sent (connection reset exception is always thrown) PR 1641
  • Unable to register out parameter Issue #​1646 PR 1648

v42.2.9

Changed
Added
  • read only transactions PR 1252
  • pkcs12 key functionality PR 1599
  • new "escapeSyntaxCallMode" connection property PR 1560
  • connection property to limit server error detail in exception exceptions PR 1579
  • cancelQuery() to PGConnection public interface PR 1157
  • support for large update counts (JDBC 4.2) PR 935
  • Add Binary Support for Oid.NUMERIC and Oid.NUMERIC_ARRAY PR 1636
Fixed
  • issue 716 getTypeInfo() may not return data in the order specified in Oracle documentation PR 1506
  • PgSQLXML setCharacterStream() results in null value PR 1608
  • get correct column length for simple domains PR 1605
  • NPE as a result of calling executeQuery twice on a statement fixes issue #​684 [PR 1610] https://github.com/pgjdbc/pgjdbc/pull/16100)
  • handle numeric domain types PR 1611
  • pginterval to take iso8601 strings PR 1612
  • remove currentTimeMillis from code, tests are OK PR 1617
  • NPE when calling setNull on a PreparedStatement with no parameters PR 1620
  • allow OUT parameter registration when using CallableStatement native CALL PR 1561
  • add release save point into execute with batch PR 1583
  • Prevent use of extended query protocol for BEGIN before COPY PR 1639

v42.2.8

Changed
Added
Fixed
  • fix: Revert inet default Java type to PGObject and handle values with net masks PR 1568

v42.2.7

Changed
Added
  • Expose parameter status messages (GUC_REPORT) to the user PR 1435
  • Add automatic module name to manifest for jdk9+ PR 1538
  • Log ignoring rollback when no transaction in progress PR 1549
  • Map inet type to InetAddress PR 1527 issue 1134
Fixed
  • fix issue 1547 As long as peek returns some bytes do not reset the timeout, this allows us to continue checking until any async notifies are consumed PR 1548
  • fix: issue 1466 In logical decoding the if the backend was requesting a reply we… PR 1467
  • fix: issue 1534 Proleptic java.time support PR 1539
  • fix Ensure isValid() will not last more than timeout seconds PR 1557

v42.2.6

Known issues
  • Waffle has dropped support for 1.6, 1.7 as such the new waffle 1.9.x is only available in jre8
  • Microseconds in timestamps might be truncated when transferred in binary mode
  • 24:00 time handling is not consistent issue 1385
  • Unexpected packet type during stream replication issue 1466
  • Driver goes missing after OSGi bundle restart issue 1476
Changed
  • Change IS_GENERATED to IS_GENERATEDCOLUMN as per spec PR 1485
  • Fix missing metadata columns, and misspelled columns in PgDatabaseMetaData#getTables PR 1323
Added
  • CI tests with Java 11, and Java EA
  • Support temporary replication slots in ReplicationCreateSlotBuilder PR 1306
  • Support PostgreSQL 11, 12
  • Return function (PostgreSQL 11) columns in PgDatabaseMetaData#getFunctionColumns
  • Return information on create replication slot, now the snapshot_name is exported
    to allow a consistent snapshot in some uses cases. PR 1335
Fixed
  • Fixed async copy performance (1ms per op) in SSL mode PR 1314
  • Return Double.NaN for 'NaN'::numeric PR 1304
  • Performance issue in PgDatabaseMetaData#getTypeInfo with lots of types in DB PR 1302
  • PGCopyInputStream#read should cap values to [0, 255], -1 PR 1349
  • Fixes LocalDateTime handling of BC dates PR 1388
  • Release savepoints in autosave mode to prevent out of shared memory errors at the server side PR 1409
  • Fix execution with big decimal in simple query mode. PR 1463
  • Fix rounding for timestamps truncated to dates before 1970 PR 1502

  • If you want to rebase/retry this PR, check this box

@mend-for-github-com mend-for-github-com bot added the security fix Security fix generated by Mend label Jan 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
security fix Security fix generated by Mend
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants