1. 20 Dec, 2019 6 commits
    • Tom Lane's avatar
      libpq should expose GSS-related parameters even when not implemented. · e60b480d
      Tom Lane authored
      We realized years ago that it's better for libpq to accept all
      connection parameters syntactically, even if some are ignored or
      restricted due to lack of the feature in a particular build.
      However, that lesson from the SSL support was for some reason never
      applied to the GSSAPI support.  This is causing various buildfarm
      members to have problems with a test case added by commit 6136e94d,
      and it's just a bad idea from a user-experience standpoint anyway,
      so fix it.
      
      While at it, fix some places where parameter-related infrastructure
      was added with the aid of a dartboard, or perhaps with the aid of
      the anti-pattern "add new stuff at the end".  It should be safe
      to rearrange the contents of struct pg_conn even in released
      branches, since that's private to libpq (and we'd have to move
      some fields in some builds to fix this, anyway).
      
      Back-patch to all supported branches.
      
      Discussion: https://postgr.es/m/11297.1576868677@sss.pgh.pa.us
      e60b480d
    • Peter Eisentraut's avatar
      Clean up inconsistent backslash use in paths · 77f416af
      Peter Eisentraut authored
      Most of the MSVC Perl code uses forward slashes for file paths.  Make
      the few places that use backslashes the same.  This also helps running
      that code on non-Windows.
      77f416af
    • Peter Eisentraut's avatar
      Generate pg_config.h from pg_config.h.in on Windows · 8f4fb4c6
      Peter Eisentraut authored
      Previously, the Windows MSVC build generated pg_config.h from a
      hard-coded pg_config.h.win32 with some ad hoc postprocessing.  The
      pg_config.h.win32 file required manual maintenance and was as a result
      frequently out of date.
      
      Instead, have the MSVC build scripts emulate what configure and
      config.status do: collect a list of defines and then create
      pg_config.h from pg_config.h.in by changing the appropriate lines.
      
      The previous setup was made to support old Windows build systems that
      didn't have any text processing capabilities, but the current system
      has Perl, so it's not a problem.  pg_config.h.win32 is removed.
      
      In order to try to keep the Windows side of things more up to date in
      the future, we now also require that all symbols found in
      pg_config.h.in are defined in the MSVC build system.  So if there is a
      change in configure that results in a new symbol, an update in
      Solution.pm will be required.
      
      The other headers managed by AC_CONFIG_HEADERS in configure, namely
      src/include/pg_config_ext.h and
      src/interfaces/ecpg/include/ecpg_config.h, get the same treatment, so
      this removes even more ad hoc code in the MSVC build scripts.
      Reviewed-by: default avatarMichael Paquier <michael@paquier.xyz>
      Discussion: https://www.postgresql.org/message-id/flat/1441b834-f434-e0bf-46ed-9c4d5c29c2d4%402ndquadrant.com
      8f4fb4c6
    • Peter Eisentraut's avatar
      Disallow dropping rules on system tables by default · df7fe9e2
      Peter Eisentraut authored
      This was previously not covered by allow_system_table_mods, but now it
      is.  The impact in practice is probably low, but this makes it
      consistent with most other DDL commands.
      Reviewed-by: default avatarRobert Haas <robertmhaas@gmail.com>
      Discussion: https://www.postgresql.org/message-id/flat/ee9df1af-c0d8-7c82-5be7-39ce4e3b0a9d%402ndquadrant.com
      df7fe9e2
    • Peter Eisentraut's avatar
      Fix compiler warnings on MSYS2 · 8c6d30f2
      Peter Eisentraut authored
      The PS_USE_NONE case in ps_status.c left a couple of unused variables
      exposed.
      
      Discussion: https://www.postgresql.org/message-id/flat/6b467edc-4018-521f-ab18-171f098557ca%402ndquadrant.com
      8c6d30f2
    • Andrew Dunstan's avatar
      Superuser can permit passwordless connections on postgres_fdw · 6136e94d
      Andrew Dunstan authored
      Currently postgres_fdw doesn't permit a non-superuser to connect to a
      foreign server without specifying a password, or to use an
      authentication mechanism that doesn't use the password. This is to avoid
      using the settings and identity of the user running Postgres.
      
      However, this doesn't make sense for all authentication methods. We
      therefore allow a superuser to set "password_required 'false'" for user
      mappings for the postgres_fdw. The superuser must ensure that the
      foreign server won't try to rely solely on the server identity (e.g.
      trust, peer, ident) or use an authentication mechanism that relies on the
      password settings (e.g. md5, scram-sha-256).
      
      This feature is a prelude to better support for sslcert and sslkey
      settings in user mappings.
      
      Author: Craig Ringer.
      Discussion: https://postgr.es/m/075135da-545c-f958-fed0-5dcb462d6dae@2ndQuadrant.com
      6136e94d
  2. 19 Dec, 2019 9 commits
  3. 18 Dec, 2019 11 commits
  4. 17 Dec, 2019 14 commits