Noah Misch
a2385cac13
Obstruct shell, SQL, and conninfo injection via database and role names.
...
Due to simplistic quoting and confusion of database names with conninfo
strings, roles with the CREATEDB or CREATEROLE option could escalate to
superuser privileges when a superuser next ran certain maintenance
commands. The new coding rule for PQconnectdbParams() calls, documented
at conninfo_array_parse(), is to pass expand_dbname=true and wrap
literal database names in a trivial connection string. Escape
zero-length values in appendConnStrVal(). Back-patch to 9.1 (all
supported versions).
Nathan Bossart, Michael Paquier, and Noah Misch. Reviewed by Peter
Eisentraut. Reported by Nathan Bossart.
Security: CVE-2016-5424
2016-08-08 10:07:54 -04:00
Tom Lane
ce10086168
Register atexit hook only once in pg_upgrade.
...
start_postmaster() registered stop_postmaster_atexit as an atexit(3)
callback each time through, although the obvious intention was to do
so only once per program run. The extra registrations were harmless,
so long as we didn't exceed ATEXIT_MAX, but still it's a bug.
Artur Zakirov, with bikeshedding by Kyotaro Horiguchi and me
Discussion: <d279e817-02b5-caa6-215f-cfb05dce109a@postgrespro.ru>
2016-07-28 11:39:11 -04:00
Bruce Momjian
c3810795e9
In pg_upgrade, fix the -l/log option to work on Windows.
...
Also, double-quote the log file name in all places, to allow (on all
platforms) log file names with spaces.
Back patch to 9.0 and 9.1.
2011-07-20 18:31:07 -04:00
Bruce Momjian
6560407c7d
Pgindent run before 9.1 beta2.
2011-06-09 14:32:50 -04:00
Bruce Momjian
6c19bd96bc
Allow pg_upgrade to honor libpq environment variables. Add 'local'
...
checks for PGHOST and PGHOSTADDR.
2011-05-16 10:48:40 -04:00
Bruce Momjian
5059cf6ebf
In pg_upgrade, remove suggestion of setting pg_hba.conf to 'trust', now
...
that we report the libpq connection failure string. Per suggestion from
Robert Haas.
2011-05-10 10:42:43 -04:00
Bruce Momjian
e6a7402842
Add C comment why client encoding can be set in pg_upgrade.
2011-05-07 22:30:35 -04:00
Bruce Momjian
81301b8578
Check that the pg_upgrade user specified is a super-user.
...
Also report the error message when the post-pg_ctl connection fails.
Per private bug report from EnterpriseDB.
2011-05-07 08:55:45 -04:00
Bruce Momjian
5c5f83507c
Adjust pg_upgrade FATAL error messages to have consistent newlines.
...
Also adjust some error message capitalization for consistency.
2011-05-06 21:47:42 -04:00
Bruce Momjian
6c4d2bd914
Now that pg_upgrade uses -w in pg_ctl, remove loop that retried testing
...
the connection; also restructure the libpq connection code.
This patch also removes the unused variable postmasterPID and fixes a
libpq structure leak that was in the testing loop.
2011-04-26 10:15:18 -04:00
Bruce Momjian
44091442db
In pg_upgrade, avoid one start/stop of the postmaster; use the -w
...
(wait) flag for pg_ctl start/stop; remove the unused "quiet" flag in
the functions for starting/stopping the postmaster.
2011-04-25 20:18:23 -04:00
Bruce Momjian
76dd09bbec
Add postmaster/postgres undocumented -b option for binary upgrades.
...
This option turns off autovacuum, prevents non-super-user connections,
and enables oid setting hooks in the backend. The code continues to use
the old autoavacuum disable settings for servers with earlier catalog
versions.
This includes a catalog version bump to identify servers that support
the -b option.
2011-04-25 12:00:21 -04:00
Bruce Momjian
bf50caf105
pgindent run before PG 9.1 beta 1.
2011-04-10 11:42:00 -04:00
Peter Eisentraut
1eb2231fc4
Allow pg_upgrade with PGCLIENTENCODING set
...
This used to work, but since PGCLIENTENCODING is now a connection
option variable, pg_upgrade would prevent it.
2011-04-07 19:24:47 +03:00
Peter Eisentraut
c75163842c
Replace the confusing exit_nicely() by an atexit/on_exit hook
2011-04-06 23:00:44 +03:00
Bruce Momjian
da3418cea9
Mention pg_upgrade sets autovacuum_freeze_max_age to maximum.
2011-03-30 17:45:54 -04:00
Bruce Momjian
d609b08ead
Expand comment on how pg_upgrade is turning off autovacuum.
2011-03-30 17:37:00 -04:00
Bruce Momjian
d67b0bf471
In pg_upgrade, add C comment about how autovacuum is disabled.
2011-03-29 11:11:45 -04:00
Bruce Momjian
d367d41d66
Fix file descriptor leaks in pg_upgrade in failure code paths.
2011-03-08 21:36:17 -05:00
Bruce Momjian
5d950e3b0c
Stamp copyrights for year 2011.
2011-01-01 13:18:15 -05:00
Bruce Momjian
67c9e4442f
Furter pg_upgrade optimizations to reduce function call argument count.
2011-01-01 12:28:48 -05:00
Bruce Momjian
6e6bee987f
In pg_upgrade, remove use of whichCluster, and just pass old/new cluster
...
pointers, which simplifies the code. This was not possible in 9.0 because
everything was in a single nested struct, but is possible now.
Per suggestion from Tom.
2011-01-01 12:06:36 -05:00
Bruce Momjian
f82b3e58f8
In pg_upgrade, rename "CLUSTERNAME" to "CLUSTER_NAME".
2010-12-31 20:42:29 -05:00
Bruce Momjian
691a67b922
Rename pg_upgrade 'log' to 'log_opts', to avoid platform naming conflict.
2010-10-20 02:31:17 +00:00
Bruce Momjian
07456b45e6
Pgindent run on pg_upgrade source after restructuring.
2010-10-19 22:37:04 +00:00
Bruce Momjian
e13f7e9a71
Restructure the pg_upgrade code to use several global structures rather
...
than packing everything into 'ctx' and passing that to every function.
2010-10-19 21:38:34 +00:00
Magnus Hagander
9f2e211386
Remove cvs keywords from all files.
2010-09-20 22:08:53 +02:00
Bruce Momjian
4504a1bc01
On Win32, pg_upgrade cannot sent any server log output to the log file
...
because of file access limitations on that platform.
2010-07-13 20:03:32 +00:00
Bruce Momjian
239d769e7e
pgindent run for 9.0, second run
2010-07-06 19:19:02 +00:00
Bruce Momjian
da254e3d16
Make pg_upgrade copyrights just 2010, not 2010-2010.
2010-07-03 16:33:15 +00:00
Bruce Momjian
de255a6eb1
Add copyrights to pg_upgrade and pg_upgrade_tools files, per Tom.
2010-07-03 16:25:01 +00:00
Bruce Momjian
ccbe0c14e6
Add CVS tags to pg_upgrade and pg_upgrade_support files, per request
...
from Tom.
2010-07-03 14:23:14 +00:00
Bruce Momjian
c1b617987d
Add username designations to all pg_upgrade utility calls that support it.
2010-06-23 20:04:50 +00:00
Bruce Momjian
601d1eeddc
Fix pg_upgrade's use of pg_ctl on Win32 to not send command and sever
...
output to the same file, because it is impossible.
Also set user name for pg_dumpall in pg_upgrade.
2010-06-22 16:45:10 +00:00
Tom Lane
8eac39780d
Get rid of unsafe sprintf and snprintf usages. Per compiler warnings.
2010-05-14 00:32:21 +00:00
Bruce Momjian
c2e9b2f288
Add pg_upgrade to /contrib; will be in 9.0 beta2.
...
Add documentation.
Supports migration from PG 8.3 and 8.4.
2010-05-12 02:19:11 +00:00