Last commit made on 2014-03-21
Get this branch:
git clone -b ubuntu/quantal-devel https://git.launchpad.net/ubuntu/+source/postgresql-9.1
Members of Ubuntu Server Dev import team can upload to this branch. Log in for directions.

Branch merges

Branch information


Recent commits

a5e450c... by Martin Pitt on 2014-03-18

Import patches-unapplied version 9.1.13-0ubuntu0.12.10 to ubuntu/quantal-proposed

Imported using git-ubuntu import.

Changelog parent: 1a992551f8b3de9b4fab1809569bbf3fbe139d6d

New changelog entries:
  * New upstream bug fix release. No security issues or major data loss fixes
    this time, see release.html for details. (LP: #1294006)

1a99255... by Martin Pitt on 2014-02-20

Import patches-unapplied version 9.1.12-0ubuntu0.12.10 to ubuntu/quantal-security

Imported using git-ubuntu import.

Changelog parent: c5d38a30a2bb94156ff186adb414a1098bd79f7e

New changelog entries:
  * New upstream security/bugfix release. (LP: #1282677)
    - Shore up GRANT ... WITH ADMIN OPTION restrictions.
      Granting a role without ADMIN OPTION is supposed to prevent the grantee
      from adding or removing members from the granted role, but this
      restriction was easily bypassed by doing SET ROLE first. The security
      impact is mostly that a role member can revoke the access of others,
      contrary to the wishes of his grantor. Unapproved role member additions
      are a lesser concern, since an uncooperative role member could provide
      most of his rights to others anyway by creating views or SECURITY
      DEFINER functions. (CVE-2014-0060)
    - Prevent privilege escalation via manual calls to PL validator functions.
      The primary role of PL validator functions is to be called implicitly
      during CREATE FUNCTION, but they are also normal SQL functions that a
      user can call explicitly. Calling a validator on a function actually
      written in some other language was not checked for and could be
      exploited for privilege-escalation purposes. The fix involves adding a
      call to a privilege-checking function in each validator function.
      Non-core procedural languages will also need to make this change to
      their own validator functions, if any. (CVE-2014-0061)
    - Avoid multiple name lookups during table and index DDL.
      If the name lookups come to different conclusions due to concurrent
      activity, we might perform some parts of the DDL on a different table
      than other parts. At least in the case of CREATE INDEX, this can be used
      to cause the permissions checks to be performed against a different
      table than the index creation, allowing for a privilege escalation
      attack. (CVE-2014-0062)
    - Prevent buffer overrun with long datetime strings.
      The MAXDATELEN constant was too small for the longest possible value of
      type interval, allowing a buffer overrun in interval_out(). Although the
      datetime input functions were more careful about avoiding buffer
      overrun, the limit was short enough to cause them to reject some valid
      inputs, such as input containing a very long timezone name. The ecpg
      library contained these vulnerabilities along with some of its own.
    - Prevent buffer overrun due to integer overflow in size calculations.
      Several functions, mostly type input functions, calculated an allocation
      size without checking for overflow. If overflow did occur, a too-small
      buffer would be allocated and then written past. (CVE-2014-0064)
    - Prevent overruns of fixed-size buffers.
      Use strlcpy() and related functions to provide a clear guarantee that
      fixed-size buffers are not overrun. Unlike the preceding items, it is
      unclear whether these cases really represent live issues, since in most
      cases there appear to be previous constraints on the size of the input
      string. Nonetheless it seems prudent to silence all Coverity warnings of
      this type. (CVE-2014-0065)
    - Avoid crashing if crypt() returns NULL.
      There are relatively few scenarios in which crypt() could return NULL,
      but contrib/chkpass would crash if it did. One practical case in which
      this could be an issue is if libc is configured to refuse to execute
      unapproved hashing algorithms (e.g., "FIPS mode"). (CVE-2014-0066)
    - Document risks of make check in the regression testing instructions
      Since the temporary server started by make check uses "trust"
      authentication, another user on the same machine could connect to it as
      database superuser, and then potentially exploit the privileges of the
      operating-system user who started the tests. A future release will
      probably incorporate changes in the testing procedure to prevent this
      risk, but some public discussion is needed first. So for the moment,
      just warn people against using make check when there are untrusted users
      on the same machine. (CVE-2014-0067)
  * The upstream tarballs no longer contain a plain HISTORY file, but point to
    the html documentation. Add 70-history.patch to note the location of these
    files in our changelog.gz file.

c5d38a3... by Martin Pitt on 2013-12-03

Import patches-unapplied version 9.1.11-0ubuntu0.12.10 to ubuntu/quantal-proposed

Imported using git-ubuntu import.

Changelog parent: a73453b8e06898462560d76b50b3e21532f871de

New changelog entries:
  * New upstream bug fix release. (LP: #1257211)
    - Fix "VACUUM"'s tests to see whether it can update relfrozenxid.
      In some cases "VACUUM" (either manual or autovacuum) could
      incorrectly advance a table's relfrozenxid value, allowing tuples
      to escape freezing, causing those rows to become invisible once
      2^31 transactions have elapsed. The probability of data loss is
      fairly low since multiple incorrect advancements would need to
      happen before actual loss occurs, but it's not zero. Users
      upgrading from releases 9.0.4 or 8.4.8 or earlier are not affected,
      but all later versions contain the bug.
      The issue can be ameliorated by, after upgrading, vacuuming all
      tables in all databases while having vacuum_freeze_table_age set to
      zero. This will fix any latent corruption but will not be able to
      fix all pre-existing data errors. However, an installation can be
      presumed safe after performing this vacuuming if it has executed
      fewer than 2^31 update transactions in its lifetime (check this
      with SELECT txid_current() < 2^31).
    - Fix initialization of "pg_clog" and "pg_subtrans" during hot
      standby startup.
      This bug can cause data loss on standby servers at the moment they
      start to accept hot-standby queries, by marking committed
      transactions as uncommitted. The likelihood of such corruption is
      small unless, at the time of standby startup, the primary server
      has executed many updating transactions since its last checkpoint.
      Symptoms include missing rows, rows that should have been deleted
      being still visible, and obsolete versions of updated rows being
      still visible alongside their newer versions.
      This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and
      9.0.14. Standby servers that have only been running earlier
      releases are not at risk. It's recommended that standby servers
      that have ever run any of the buggy releases be re-cloned from the
      primary (e.g., with a new base backup) after upgrading.
    - See HISTORY/changelog.gz for details about other bug fixes.

a73453b... by Martin Pitt on 2013-10-09

Import patches-unapplied version 9.1.10-0ubuntu12.10 to ubuntu/quantal-proposed

Imported using git-ubuntu import.

Changelog parent: 833923c40345cf727f4ae1f04542803d1bc39363

New changelog entries:
  * New upstream bug fix release (LP: #1237248). No security issues or
    critical issues this time; see HISTORY/changelog.gz for details about bug

833923c... by Martin Pitt on 2013-04-02

Import patches-unapplied version 9.1.9-0ubuntu12.10 to ubuntu/quantal-security

Imported using git-ubuntu import.

Changelog parent: 88c4fe7b77c47d73bd971cdd6ac8ade7fa14b2c0

New changelog entries:
  * New upstream security/bug fix release: (LP: #1163184)
    - Fix insecure parsing of server command-line switches.
      A connection request containing a database name that begins with
      "-" could be crafted to damage or destroy files within the server's
      data directory, even if the request is eventually rejected.
    - Reset OpenSSL randomness state in each postmaster child process.
      This avoids a scenario wherein random numbers generated by
      "contrib/pgcrypto" functions might be relatively easy for another
      database user to guess. The risk is only significant when the
      postmaster is configured with ssl = on but most connections don't
      use SSL encryption. [CVE-2013-1900]
    - Make REPLICATION privilege checks test current user not
      authenticated user.
      An unprivileged database user could exploit this mistake to call
      pg_start_backup() or pg_stop_backup(), thus possibly interfering
      with creation of routine backups. [CVE-2013-1901]
    - Fix GiST indexes to not use "fuzzy" geometric comparisons when it's
      not appropriate to do so.
      The core geometric types perform comparisons using "fuzzy"
      equality, but gist_box_same must do exact comparisons, else GiST
      indexes using it might become inconsistent. After installing this
      update, users should "REINDEX" any GiST indexes on box, polygon,
      circle, or point columns, since all of these use gist_box_same.
    - Fix erroneous range-union and penalty logic in GiST indexes that
      use "contrib/btree_gist" for variable-width data types, that is
      text, bytea, bit, and numeric columns.
      These errors could result in inconsistent indexes in which some
      keys that are present would not be found by searches, and also in
      useless index bloat. Users are advised to "REINDEX" such indexes
      after installing this update.
    - Fix bugs in GiST page splitting code for multi-column indexes.
      These errors could result in inconsistent indexes in which some
      keys that are present would not be found by searches, and also in
      indexes that are unnecessarily inefficient to search. Users are
      advised to "REINDEX" multi-column GiST indexes after installing
      this update.
    - See HISTORY/changelog.gz for details about the other bug fixes.

88c4fe7... by Martin Pitt on 2013-02-05

Import patches-unapplied version 9.1.8-0ubuntu12.10 to ubuntu/quantal-security

Imported using git-ubuntu import.

Changelog parent: f71e3afb49ebb3aa695625e4ebbf3bbcd4e358fb

New changelog entries:
  * New upstream security/bug fix release: (LP: #1116336)
    - Prevent execution of enum_recv from SQL
      The function was misdeclared, allowing a simple SQL command to crash the
      server. In principle an attacker might be able to use it to examine the
      contents of server memory. Our thanks to Sumit Soni (via Secunia SVCRP)
      for reporting this issue. (CVE-2013-0255)
    - See HISTORY/changelog.gz for the other bug fixes.

f71e3af... by Martin Pitt on 2012-12-10

Import patches-unapplied version 9.1.7-0ubuntu12.10 to ubuntu/quantal-proposed

Imported using git-ubuntu import.

Changelog parent: f956c1c779f0eb80910ad26dc8c496bebb14dcd3

New changelog entries:
  * New upstream bug fix release: (LP: #1088393)
    - Fix multiple bugs associated with "CREATE INDEX CONCURRENTLY".
      Fix "CREATE INDEX CONCURRENTLY" to use in-place updates when
      changing the state of an index's pg_index row. This prevents race
      conditions that could cause concurrent sessions to miss updating
      the target index, thus resulting in corrupt concurrently-created
      Also, fix various other operations to ensure that they ignore
      invalid indexes resulting from a failed "CREATE INDEX CONCURRENTLY"
      command. The most important of these is "VACUUM", because an
      auto-vacuum could easily be launched on the table before corrective
      action can be taken to fix or remove the invalid index.
    - Fix buffer locking during WAL replay.
      The WAL replay code was insufficiently careful about locking
      buffers when replaying WAL records that affect more than one page.
      This could result in hot standby queries transiently seeing
      inconsistent states, resulting in wrong answers or unexpected
    - See HISTORY/changelog.gz for the other bug fixes.
  * Drop 00git_ecpg_array_bounds.patch, fixed upstream.

f956c1c... by Martin Pitt on 2012-10-18

Import patches-unapplied version 9.1.6-1ubuntu1 to ubuntu/quantal-proposed

Imported using git-ubuntu import.

Changelog parent: 77a095045fc3cf9ed2788c06f4a0fc0a0f36167d

New changelog entries:
  * Add debian/patches/00git_ecpg_array_bounds.patch: Fix test for array
    boundary in ecpg. Patch backported from upstream git. (LP: #1063613)

77a0950... by Martin Pitt on 2012-09-25

Import patches-unapplied version 9.1.6-1 to debian/sid

Imported using git-ubuntu import.

Changelog parent: b404f5e5ee200f4d50e8472402294e58449b7f32

New changelog entries:
  * Urgency medium because of data loss bug fix.
  * New upstream bug fix release:
    - Fix persistence marking of shared buffers during WAL replay.
      This mistake can result in buffers not being written out during
      checkpoints, resulting in data corruption if the server later
      crashes without ever having written those buffers. Corruption can
      occur on any server following crash recovery, but it is
      significantly more likely to occur on standby slave servers since
      those perform much more WAL replay. There is a low probability of
      corruption of btree and GIN indexes. There is a much higher
      probability of corruption of table "visibility maps". Fortunately,
      visibility maps are non-critical data in 9.1, so the worst
      consequence of such corruption in 9.1 installations is transient
      inefficiency of vacuuming. Table data proper cannot be corrupted by
      this bug.
      While no index corruption due to this bug is known to have occurred
      in the field, as a precautionary measure it is recommended that
      production installations "REINDEX" all btree and GIN indexes at a
      convenient time after upgrading to 9.1.6.
      Also, if you intend to do an in-place upgrade to 9.2.X, before
      doing so it is recommended to perform a "VACUUM" of all tables
      while having vacuum_freeze_table_age set to zero. This will ensure
      that any lingering wrong data in the visibility maps is corrected
      before 9.2.X can depend on it. vacuum_cost_delay can be adjusted to
      reduce the performance impact of vacuuming, while causing it to
      take longer to finish.
    - See HISTORY/changelog.gz for the other bug fixes.
  * debian/rules: Compress all binaries with xz. Thanks Cyril Brulebois!
    (Closes: #688678)

b404f5e... by Martin Pitt on 2012-08-31

Import patches-unapplied version 9.1.5-2 to debian/sid

Imported using git-ubuntu import.

Changelog parent: a44fbcdbe74eef418b36220922101b7532cf815f

New changelog entries:
  * debian/rules: Re-enable hardening functions (regression from 9.1.3-2 when
    hardening-wrapper is not installed). Use "hardening=all", but disable
    "pie" (as that's not compatible with -fPIC) and add -pie to CFLAGS
    explicitly. Also drop the explicit "-Wl,-z,now" linker option, as this is
    now implied with "all". (LP: #1039618)
  * Fix upgrades from older 9.1 releases in stable Ubuntu -updates/-security
    releasese. The strict "<< 9.1.4-2~" check for moving pg_basebackup.1.gz is
    not sufficient, as Ubuntu stables have newer upstream releases by now.
    - debian/control: Move Breaks/Replaces: from static version to
    - debian/postgresql-9.1.preinst: Also fix the alternatives when upgrading
      from a -0something version.
    - (LP: #1043449)