mirror of
https://github.com/postgres/postgres.git
synced 2025-06-07 11:02:12 +03:00
Promote pg_dumpall shell/connstr quoting functions to src/fe_utils.
Rename these newly-extern functions with terms more typical of their new neighbors. No functional changes; a subsequent commit will use them in more places. Back-patch to 9.1 (all supported versions). Back branches lack src/fe_utils, so instead rename the functions in place; the subsequent commit will copy them into the other programs using them. Security: CVE-2016-5424
This commit is contained in:
parent
395d565ac7
commit
c1b048f498
@ -49,8 +49,8 @@ static void makeAlterConfigCommand(PGconn *conn, const char *arrayitem,
|
|||||||
const char *name2);
|
const char *name2);
|
||||||
static void dumpDatabases(PGconn *conn);
|
static void dumpDatabases(PGconn *conn);
|
||||||
static void dumpTimestamp(char *msg);
|
static void dumpTimestamp(char *msg);
|
||||||
static void doShellQuoting(PQExpBuffer buf, const char *str);
|
static void appendShellString(PQExpBuffer buf, const char *str);
|
||||||
static void doConnStrQuoting(PQExpBuffer buf, const char *str);
|
static void appendConnStrVal(PQExpBuffer buf, const char *str);
|
||||||
|
|
||||||
static int runPgDump(const char *dbname);
|
static int runPgDump(const char *dbname);
|
||||||
static void buildShSecLabels(PGconn *conn, const char *catalog_name,
|
static void buildShSecLabels(PGconn *conn, const char *catalog_name,
|
||||||
@ -213,7 +213,7 @@ main(int argc, char *argv[])
|
|||||||
case 'f':
|
case 'f':
|
||||||
filename = pg_strdup(optarg);
|
filename = pg_strdup(optarg);
|
||||||
appendPQExpBuffer(pgdumpopts, " -f ");
|
appendPQExpBuffer(pgdumpopts, " -f ");
|
||||||
doShellQuoting(pgdumpopts, filename);
|
appendShellString(pgdumpopts, filename);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'g':
|
case 'g':
|
||||||
@ -254,7 +254,7 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
case 'S':
|
case 'S':
|
||||||
appendPQExpBuffer(pgdumpopts, " -S ");
|
appendPQExpBuffer(pgdumpopts, " -S ");
|
||||||
doShellQuoting(pgdumpopts, optarg);
|
appendShellString(pgdumpopts, optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 't':
|
case 't':
|
||||||
@ -290,13 +290,13 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
appendPQExpBuffer(pgdumpopts, " --lock-wait-timeout ");
|
appendPQExpBuffer(pgdumpopts, " --lock-wait-timeout ");
|
||||||
doShellQuoting(pgdumpopts, optarg);
|
appendShellString(pgdumpopts, optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
use_role = pg_strdup(optarg);
|
use_role = pg_strdup(optarg);
|
||||||
appendPQExpBuffer(pgdumpopts, " --role ");
|
appendPQExpBuffer(pgdumpopts, " --role ");
|
||||||
doShellQuoting(pgdumpopts, use_role);
|
appendShellString(pgdumpopts, use_role);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -1699,9 +1699,9 @@ runPgDump(const char *dbname)
|
|||||||
* string.
|
* string.
|
||||||
*/
|
*/
|
||||||
appendPQExpBuffer(connstrbuf, "%s dbname=", connstr);
|
appendPQExpBuffer(connstrbuf, "%s dbname=", connstr);
|
||||||
doConnStrQuoting(connstrbuf, dbname);
|
appendConnStrVal(connstrbuf, dbname);
|
||||||
|
|
||||||
doShellQuoting(cmd, connstrbuf->data);
|
appendShellString(cmd, connstrbuf->data);
|
||||||
|
|
||||||
appendPQExpBuffer(cmd, "%s", SYSTEMQUOTE);
|
appendPQExpBuffer(cmd, "%s", SYSTEMQUOTE);
|
||||||
|
|
||||||
@ -1983,7 +1983,7 @@ constructConnStr(const char **keywords, const char **values)
|
|||||||
appendPQExpBufferChar(buf, ' ');
|
appendPQExpBufferChar(buf, ' ');
|
||||||
firstkeyword = false;
|
firstkeyword = false;
|
||||||
appendPQExpBuffer(buf, "%s=", keywords[i]);
|
appendPQExpBuffer(buf, "%s=", keywords[i]);
|
||||||
doConnStrQuoting(buf, values[i]);
|
appendConnStrVal(buf, values[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
connstr = pg_strdup(buf->data);
|
connstr = pg_strdup(buf->data);
|
||||||
@ -2076,7 +2076,7 @@ dumpTimestamp(char *msg)
|
|||||||
* string
|
* string
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
doConnStrQuoting(PQExpBuffer buf, const char *str)
|
appendConnStrVal(PQExpBuffer buf, const char *str)
|
||||||
{
|
{
|
||||||
const char *s;
|
const char *s;
|
||||||
bool needquotes;
|
bool needquotes;
|
||||||
@ -2125,7 +2125,7 @@ doConnStrQuoting(PQExpBuffer buf, const char *str)
|
|||||||
* there eventually leads to errors here.
|
* there eventually leads to errors here.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
doShellQuoting(PQExpBuffer buf, const char *str)
|
appendShellString(PQExpBuffer buf, const char *str)
|
||||||
{
|
{
|
||||||
const char *p;
|
const char *p;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user