pgsql: Fix handling of restricted processes for Windows Vista (mainly),

Started by Magnus Haganderover 18 years ago5 messagescomitters
Jump to latest
#1Magnus Hagander
magnus@hagander.net

Log Message:
-----------
Fix handling of restricted processes for Windows Vista (mainly),
by explicitly adding back the user to the DACL of the new process.
This fixes the failure case when executing as the Administrator
user, which had no permissions left at all after we dropped the
Administrators group.

Dave Page with some modifications from me

Modified Files:
--------------
pgsql/src/bin/initdb:
initdb.c (r1.153 -> r1.154)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/initdb/initdb.c?r1=1.153&r2=1.154)
pgsql/src/bin/pg_ctl:
pg_ctl.c (r1.94 -> r1.95)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_ctl/pg_ctl.c?r1=1.94&r2=1.95)
pgsql/src/include:
port.h (r1.117 -> r1.118)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/port.h?r1=1.117&r2=1.118)
pgsql/src/port:
exec.c (r1.57 -> r1.58)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/port/exec.c?r1=1.57&r2=1.58)

#2Andrew Dunstan
andrew@dunslane.net
In reply to: Magnus Hagander (#1)
Re: pgsql: Fix handling of restricted processes for Windows Vista (mainly),

You have broken the Cygwin build (see buildfarm). Will we need those
calls to AddUserToDacl() on Cygwin? If not, the simplest thing would be
to #ifdef them out, I guess.

cheers

andrew

Magnus Hagander wrote:

Show quoted text

Log Message:
-----------
Fix handling of restricted processes for Windows Vista (mainly),
by explicitly adding back the user to the DACL of the new process.
This fixes the failure case when executing as the Administrator
user, which had no permissions left at all after we dropped the
Administrators group.

Dave Page with some modifications from me

Modified Files:
--------------
pgsql/src/bin/initdb:
initdb.c (r1.153 -> r1.154)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/initdb/initdb.c?r1=1.153&r2=1.154)
pgsql/src/bin/pg_ctl:
pg_ctl.c (r1.94 -> r1.95)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_ctl/pg_ctl.c?r1=1.94&r2=1.95)
pgsql/src/include:
port.h (r1.117 -> r1.118)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/port.h?r1=1.117&r2=1.118)
pgsql/src/port:
exec.c (r1.57 -> r1.58)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/port/exec.c?r1=1.57&r2=1.58)

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

#3Magnus Hagander
magnus@hagander.net
In reply to: Andrew Dunstan (#2)
Re: pgsql: Fix handling of restricted processes for Windows Vista (mainly),

AFAIK, we will if we want to run as Administrator on Vista. I'm not sure
what we're doing there is actually compatible with it though. And do we
care? I'm perfectly fine saying that we don't support that part on
cygwin, and just #ifdef the whole thing out there?

//Magnus

Andrew Dunstan wrote:

Show quoted text

You have broken the Cygwin build (see buildfarm). Will we need those
calls to AddUserToDacl() on Cygwin? If not, the simplest thing would be
to #ifdef them out, I guess.

cheers

andrew

Magnus Hagander wrote:

Log Message:
-----------
Fix handling of restricted processes for Windows Vista (mainly),
by explicitly adding back the user to the DACL of the new process.
This fixes the failure case when executing as the Administrator
user, which had no permissions left at all after we dropped the
Administrators group.

Dave Page with some modifications from me

Modified Files:
--------------
pgsql/src/bin/initdb:
initdb.c (r1.153 -> r1.154)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/initdb/initdb.c?r1=1.153&r2=1.154)

pgsql/src/bin/pg_ctl:
pg_ctl.c (r1.94 -> r1.95)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_ctl/pg_ctl.c?r1=1.94&r2=1.95)

pgsql/src/include:
port.h (r1.117 -> r1.118)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/port.h?r1=1.117&r2=1.118)

pgsql/src/port:
exec.c (r1.57 -> r1.58)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/port/exec.c?r1=1.57&r2=1.58)

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

#4Andrew Dunstan
andrew@dunslane.net
In reply to: Magnus Hagander (#3)
Re: pgsql: Fix handling of restricted processes for Windows Vista (mainly),

My testing on Vista shows we don't need them for Cygwin.

cheers

andrew

Magnus Hagander wrote:

Show quoted text

AFAIK, we will if we want to run as Administrator on Vista. I'm not
sure what we're doing there is actually compatible with it though. And
do we care? I'm perfectly fine saying that we don't support that part
on cygwin, and just #ifdef the whole thing out there?

//Magnus

Andrew Dunstan wrote:

You have broken the Cygwin build (see buildfarm). Will we need those
calls to AddUserToDacl() on Cygwin? If not, the simplest thing would
be to #ifdef them out, I guess.

cheers

andrew

Magnus Hagander wrote:

Log Message:
-----------
Fix handling of restricted processes for Windows Vista (mainly),
by explicitly adding back the user to the DACL of the new process.
This fixes the failure case when executing as the Administrator
user, which had no permissions left at all after we dropped the
Administrators group.

Dave Page with some modifications from me

Modified Files:
--------------
pgsql/src/bin/initdb:
initdb.c (r1.153 -> r1.154)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/initdb/initdb.c?r1=1.153&r2=1.154)

pgsql/src/bin/pg_ctl:
pg_ctl.c (r1.94 -> r1.95)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_ctl/pg_ctl.c?r1=1.94&r2=1.95)

pgsql/src/include:
port.h (r1.117 -> r1.118)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/port.h?r1=1.117&r2=1.118)

pgsql/src/port:
exec.c (r1.57 -> r1.58)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/port/exec.c?r1=1.57&r2=1.58)

---------------------------(end of
broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

#5Magnus Hagander
magnus@hagander.net
In reply to: Andrew Dunstan (#4)
Re: pgsql: Fix handling of restricted processes for Windows Vista (mainly),

I see you've also committed a fix for this. Thanks!

//Magnus

Andrew Dunstan wrote:

Show quoted text

My testing on Vista shows we don't need them for Cygwin.

cheers

andrew

Magnus Hagander wrote:

AFAIK, we will if we want to run as Administrator on Vista. I'm not
sure what we're doing there is actually compatible with it though. And
do we care? I'm perfectly fine saying that we don't support that part
on cygwin, and just #ifdef the whole thing out there?

//Magnus

Andrew Dunstan wrote:

You have broken the Cygwin build (see buildfarm). Will we need those
calls to AddUserToDacl() on Cygwin? If not, the simplest thing would
be to #ifdef them out, I guess.

cheers

andrew

Magnus Hagander wrote:

Log Message:
-----------
Fix handling of restricted processes for Windows Vista (mainly),
by explicitly adding back the user to the DACL of the new process.
This fixes the failure case when executing as the Administrator
user, which had no permissions left at all after we dropped the
Administrators group.

Dave Page with some modifications from me

Modified Files:
--------------
pgsql/src/bin/initdb:
initdb.c (r1.153 -> r1.154)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/initdb/initdb.c?r1=1.153&r2=1.154)

pgsql/src/bin/pg_ctl:
pg_ctl.c (r1.94 -> r1.95)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_ctl/pg_ctl.c?r1=1.94&r2=1.95)

pgsql/src/include:
port.h (r1.117 -> r1.118)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/port.h?r1=1.117&r2=1.118)

pgsql/src/port:
exec.c (r1.57 -> r1.58)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/port/exec.c?r1=1.57&r2=1.58)

---------------------------(end of
broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq