From: | "MauMau" <maumau307(at)gmail(dot)com> |
---|---|
To: | "Michael Paquier" <michael(dot)paquier(at)gmail(dot)com>, "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com> |
Cc: | "Breen Hagan" <breen(at)rtda(dot)com>, "Heikki Linnakangas" <hlinnaka(at)iki(dot)fi>, "Alvaro Herrera" <alvherre(at)2ndquadrant(dot)com>, "PostgreSQL Hackers" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Re: BUG #13755: pgwin32_is_service not checking if SECURITY_SERVICE_SID is disabled |
Date: | 2016-11-07 13:31:33 |
Message-ID: | E6EDF63C4AE04E1E83F0AA478AE9488C@tunaPC |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
From: Michael Paquier
Hm.. I have just tested HEAD, my patch and your patch using my patch
test on pg_ctl.c, but I am always getting pgwin32_is_service set to 0
when running pg_ctl start from a terminal, and set it to 1 when
running pg_ctl service to register the service startup. Could you
precise in which ways you started the Postgres instance and could you
post the patch of pg_ctl you used? I am afraid that I am taking it
incorrectly because I am not able to see any differences.
Also, did you test the patch I posted and were you able to see the
same differences as with your patch? I still think that my short patch
is logically correct but if the tests are not we are in a no-go
position for any fix posted on this thread.
Yes, I tested both your patch and mine. I used the attached pg_ctl.c.
It adds -z option which disables SECURITY_SERVICE_RID.
I registered the service with "pg_ctl register -N pg -D
datadir -w -z -S demand -U myuser -P mypass", then started the service
with "net start pg". The following messages were output in the server
log:
LOG: pgwin32_is_admin = 0
LOG: pgwin32_is_service = 0
LOG: database system was shut down at 2016-11-07 22:04:46 JST
LOG: MultiXact member wraparound protections are now enabled
LOG: database system is ready to accept connections
LOG: autovacuum launcher started
Without -z, the message becomes "pgwin32_is_service = 1". And without
the win32security.c patch, "pgwin32_is_service = 1" is output.
I guess you registered the service without specifying the service
account with -U. Then the service runs as the Local System account,
whence pgwin32_is_service() returns 1.
Regards
Takayuki Tsunakawa
Attachment | Content-Type | Size |
---|---|---|
pg_ctl.c | text/plain | 62.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2016-11-07 15:05:30 | Re: BUG #14415: non-breaking space matching in regex as whitespace |
Previous Message | Вадим Акбашев | 2016-11-07 13:01:24 | Re: BUG #14393: Querry plan creation time is too long |
From | Date | Subject | |
---|---|---|---|
Next Message | Beena Emerson | 2016-11-07 13:52:55 | Re: Specifying the log file name of pgbench -l option |
Previous Message | Etsuro Fujita | 2016-11-07 12:20:49 | Re: Push down more full joins in postgres_fdw |