Revert Windows service check refactoring, and replace with a different fix.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: e0e1ef46d8c98dc71f23572851b5467185fae8e0
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2017-03-24T10:39:14Z
Releases: 9.3.17
Revert Windows service check refactoring, and replace with a different fix.

This reverts commit 38bdba54a64bacec78e3266f0848b0b4a824132a, "Fix and
simplify check for whether we're running as Windows service". It turns out
that older versions of MinGW - like that on buildfarm member narwhal - do
not support the CheckTokenMembership() function. This replaces the
refactoring with a much smaller fix, to add a check for SE_GROUP_ENABLED to
pgwin32_is_service().

Only apply to back-branches, and keep the refactoring in HEAD. It's
unlikely that anyone is still really using such an old version of MinGW -
aside from narwhal - but let's not change the minimum requirements in
minor releases.

Discussion: https://www.postgresql.org/message-id/16609.1489773427@sss.pgh.pa.us
Patch: https://www.postgresql.org/message-id/CAB7nPqSvfu%3DKpJ%3DNX%2BYAHmgAmQdzA7N5h31BjzXeMgczhGCC%2BQ%40mail.gmail.com

Files

PathChange+/−
src/backend/port/win32/security.c modified +136 −38

Discussion