postgresql-9.6 (9.6.6-0+deb9u1) stretch-security; urgency=medium

  * New upstream version.

    + Ensure that INSERT ... ON CONFLICT DO UPDATE checks table permissions
      and RLS policies in all cases (Dean Rasheed)

      The update path of INSERT ... ON CONFLICT DO UPDATE requires SELECT
      permission on the columns of the arbiter index, but it failed to check
      for that in the case of an arbiter specified by constraint name. In
      addition, for a table with row level security enabled, it failed to
      check updated rows against the table's SELECT policies (regardless of
      how the arbiter index was specified). (CVE-2017-15099)

    + Fix crash due to rowtype mismatch in json{b}_populate_recordset()
      (Michael Paquier, Tom Lane)

      These functions used the result rowtype specified in the FROM ... AS
      clause without checking that it matched the actual rowtype of the
      supplied tuple value.  If it didn't, that would usually result in a
      crash, though disclosure of server memory contents seems possible as
      well. (CVE-2017-15098)

    + Fix BRIN index summarization to handle concurrent table extension
      correctly (Álvaro Herrera)

      Previously, a race condition allowed some table rows to be omitted from
      the index.  It may be necessary to reindex existing BRIN indexes to
      recover from past occurrences of this problem.

 -- Christoph Berg <christoph.berg@credativ.de>  Wed, 08 Nov 2017 10:40:59 +0100

postgresql-9.6 (9.6.5-0+deb9u1) stretch; urgency=medium

  * New upstream bugfix release.

 -- Christoph Berg <christoph.berg@credativ.de>  Fri, 08 Sep 2017 08:55:29 +0200

postgresql-9.6 (9.6.4-0+deb9u1) stretch-security; urgency=high

  * New upstream security release.

    + Further restrict visibility of pg_user_mappings.umoptions, to protect
      passwords stored as user mapping options. See the release notes for
      instructions for applying the fix to existing database clusters.
      (CVE-2017-7547; extends fix for CVE-2017-7484)
    + Disallow empty passwords in all password-based authentication methods.
      (CVE-2017-7546)
    + Make lo_put() check for UPDATE privilege on the target large object.
      (CVE-2017-7548)

  * Remove debian/patches/s390x-fpic, implemented upstream.

 -- Christoph Berg <christoph.berg@credativ.de>  Thu, 10 Aug 2017 13:58:56 +0200

postgresql-9.6 (9.6.3-3) unstable; urgency=medium

  * pg_config: Unbreak CFLAGS_SL on sparc64.

 -- Christoph Berg <myon@debian.org>  Sat, 27 May 2017 10:41:37 +0200

postgresql-9.6 (9.6.3-2) unstable; urgency=medium

  * pg_config: Set CFLAGS_SL=-fPIC on s390x. (Closes: #862948)

 -- Christoph Berg <myon@debian.org>  Sat, 27 May 2017 08:27:16 +0200

postgresql-9.6 (9.6.3-1) unstable; urgency=medium

  * Team upload.
  * New upstream version.

    + Restrict visibility of pg_user_mappings.umoptions, to protect passwords
      stored as user mapping options (CVE-2017-7486)
    + Prevent exposure of statistical information via leaky operators
      (CVE-2017-7484)
    + Restore libpq's recognition of the PGREQUIRESSL environment variable
      (CVE-2017-7485)

  * debian/rules: Add stub to enable cassert builds (disabled by default).

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 09 May 2017 13:00:11 +0200

postgresql-9.6 (9.6.2-2) unstable; urgency=medium

  * Update regression tests to avoid timezone abbreviations that were removed
    from tzdata 2017a. (Upstream d8ec6b9c8c265c2f29b1c0e0e4205895baaa326d.)

 -- Christoph Berg <myon@debian.org>  Sun, 26 Mar 2017 17:38:52 +0200

postgresql-9.6 (9.6.2-1) unstable; urgency=medium

  * Team upload.
  * New upstream version.

    + Fix a race condition that could cause indexes built with CREATE INDEX
      CONCURRENTLY to be corrupt (Pavan Deolasee, Tom Lane)

      If CREATE INDEX CONCURRENTLY was used to build an index that depends on
      a column not previously indexed, then rows inserted or updated by
      transactions that ran concurrently with the CREATE INDEX command could
      have received incorrect index entries.  If you suspect this may have
      happened, the most reliable solution is to rebuild affected indexes
      after installing this update.

  * Update watch file to use https.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 07 Feb 2017 12:02:33 +0100

postgresql-9.6 (9.6.1-2) unstable; urgency=medium

  * Team upload.

  [ Martin Pitt ]
  * Add missing perl test dependency (for Test::More).

  [ Christoph Berg ]
  * Explicitly disable PIE on 32 architectures. Previously we were just not
    enabling it, but it's on by default now in unstable. Closes: #842752.
  * libpq-dev: Remove dependency on libssl-dev (and comerr-dev and
    krb5-multidev) to unbreak co-installation with libssl1.0-dev.

 -- Christoph Berg <christoph.berg@credativ.de>  Wed, 02 Nov 2016 11:04:52 +0100

postgresql-9.6 (9.6.1-1) unstable; urgency=medium

  * New upstream release.

    A dump/restore is not required for those running 9.6.X.

    However, if your installation has been affected by the bugs described in
    the first two changelog entries below, then after updating you may need
    to take action to repair corrupted free space maps and/or visibility
    maps.

    + Fix WAL-logging of truncation of relation free space maps and visibility
      maps (Pavan Deolasee, Heikki Linnakangas)

      It was possible for these files to not be correctly restored during
      crash recovery, or to be written incorrectly on a standby server. Bogus
      entries in a free space map could lead to attempts to access pages that
      have been truncated away from the relation itself, typically producing
      errors like could not read block XXX: read only 0 of 8192 bytes.
      Checksum failures in the visibility map are also possible, if
      checksumming is enabled.

      Procedures for determining whether there is a problem and repairing it
      if so are discussed at
      https://wiki.postgresql.org/wiki/Free_Space_Map_Problems.

    + Fix possible data corruption when pg_upgrade rewrites a relation
      visibility map into 9.6 format (Tom Lane)

      On big-endian machines, bytes of the new visibility map were written in
      the wrong order, leading to a completely incorrect map.  On Windows, the
      old map was read using text mode, leading to incorrect results if the
      map happened to contain consecutive bytes that matched a carriage
      return/line feed sequence.  The latter error would almost always lead to
      a pg_upgrade failure due to the map file appearing to be the wrong
      length.

      If you are using a big-endian machine (many non-Intel architectures are
      big-endian) and have used pg_upgrade to upgrade from a pre-9.6 release,
      you should assume that all visibility maps are incorrect and need to be
      regenerated.  It is sufficient to truncate each relation's visibility
      map with contrib/pg_visibility's pg_truncate_visibility_map() function.
      For more information see
      https://wiki.postgresql.org/wiki/Visibility_Map_Problems.

 -- Christoph Berg <myon@debian.org>  Tue, 25 Oct 2016 12:32:34 +0200

postgresql-9.6 (9.6.0-1) unstable; urgency=medium

  * First 9.6 release.
  * Filter -fdebug-prefix-map from pg_config output. This makes the build
    reproducible; the flag would be useless anyway.
  * Drop hardening-wrapper.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 27 Sep 2016 17:09:32 +0200

postgresql-9.6 (9.6~rc1-1) unstable; urgency=medium

  * First 9.6 release candidate.

 -- Christoph Berg <myon@debian.org>  Mon, 29 Aug 2016 23:10:22 +0200

postgresql-9.6 (9.6~beta4-1) experimental; urgency=medium

  * New upstream beta version.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 09 Aug 2016 10:01:06 +0200

postgresql-9.6 (9.6~beta3-1) experimental; urgency=medium

  * New upstream beta version.
  * Simplify python3 rules, upstream implemented the necessary dependencies.

 -- Christoph Berg <myon@debian.org>  Tue, 19 Jul 2016 12:42:24 +0200

postgresql-9.6 (9.6~beta2-1) experimental; urgency=medium

  * New upstream beta version.
  * Run regression tests in architecture-dependant builds only.
  * Remove conditional multi-arch compilation, all supported dists are
    multi-arched now.
  * Use explicit xz compression for wheezy and precise

 -- Christoph Berg <myon@debian.org>  Mon, 20 Jun 2016 23:01:04 +0200

postgresql-9.6 (9.6~beta1-4) experimental; urgency=medium

  * Split the build process into indep and arch parts. (The manpages are still
    built in both because they are distributed over the server and doc
    packages.)

 -- Christoph Berg <christoph.berg@credativ.de>  Wed, 18 May 2016 14:01:39 +0200

postgresql-9.6 (9.6~beta1-3) experimental; urgency=medium

  * Use dh-exec to not install the sepgsql files on non-linux.
  * B-D on libsystemd-dev on linux only.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 17 May 2016 17:51:02 +0200

postgresql-9.6 (9.6~beta1-2) experimental; urgency=medium

  * Merge back separate contrib copyright file into debian/copyright.

 -- Christoph Berg <myon@debian.org>  Fri, 13 May 2016 16:35:11 +0200

postgresql-9.6 (9.6~beta1-1) experimental; urgency=low

  * New major upstream version 9.6; packaging based on postgresql-9.5.

    Major enhancements in PostgreSQL 9.6 include:
    + Parallel sequential scans, joins and aggregates
    + Elimination of repetitive scanning of old data by autovacuum
    + Synchronous replication now allows multiple standby servers for
      increased reliability
    + Full-text search for phrases
    + Support for remote joins, sorts, and updates in postgres_fdw
    + Substantial performance improvements, especially in the area of
      improving scalability on many-CPU servers

  * Record PostgreSQL catalog version number in .deb control file and a file
    inside the .deb. Hook into preinst/postinst logic in postgresql-common 171
    to handle catalog version bumps.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 10 May 2016 10:20:52 +0200
