Re: stderr & win32 admin check

From: "Magnus Hagander" <mha(at)sollentuna(dot)net>
To: "Magnus Hagander" <mha(at)sollentuna(dot)net>, "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-patches(at)postgresql(dot)org>
Subject: Re: stderr & win32 admin check
Date: 2004-06-20 15:41:10
Message-ID: 6BCB9D8A16AC4241919521715F4D8BCE34BCE4@algol.sollentuna.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Attached is the updated version of this patch, which now includes proper
testing for win32 service running. This is tested and verified with
Claudios service wrapper pg_ctl patch (including the parts I added and
sent in a short while ago).

security.c goes in backend/port/win32/

//Magnus

>-----Original Message-----
>From: Magnus Hagander
>Sent: den 19 juni 2004 13:55
>To: Bruce Momjian
>Cc: Tom Lane; pgsql-patches(at)postgresql(dot)org
>Subject: Re: [PATCHES] stderr & win32 admin check
>
>
>I plan to resubmit this patch shortly (hopefully during the weekend)
>including supprot for detecting if running as a service (and thus pick
>eventlog support). From what I can tell, the rest should be Ok
>to go, so
>expect a new one shortly.
>
>//Magnus
>
>>-----Original Message-----
>>From: Bruce Momjian [mailto:pgman(at)candle(dot)pha(dot)pa(dot)us]
>>
>>
>>
>>Magnus, where are we on this refactoring process.
>>
>>---------------------------------------------------------------
>>------------
>>
>>Magnus Hagander wrote:
>>> >> * Created function write_stderr(const char *fmt, ...), used
>>> >before elog
>>> >> can be used. This function will write to stderr on unix
>>and on win32
>>> >> fconsole. It will write to the eventlog on win32 when
>running as a
>>> >> service.
>>> >> * Changed all (most? I think I got all) fprintf(stderr,...)
>>> >to use this
>>> >> function instead. That way, we gain the ability to put
>>all the other
>>> >> preivously-stderr-messages to the eventlog as well.
>>> >
>>> >I'm not sure this is a good idea. The remaining uses of
>stderr were
>>> >that way for a reason, not because someone had forgot to
>change them
>>> >into elog calls. It would be a lot less invasive to just move the
>>> >privilege check as you originally intended.
>>>
>>>
>>> I figured as long as nothing "dangerous" (e.g. using memory
>>allocations
>>> etc) is done in the function, it should be just as safe as
>>fprintf. On
>>> Unix, it does nothing more than a simple fprintf anyway (one call
>>> deeper). The only difference in practice is that we can put
>>them in the
>>> eventlog on win32 (again, only using calls that are safe in this
>>> context). If we do it the other way, we are going to lose
>these other
>>> messages when running as a service on win32 (since we
>>specifically are
>>> not using ereport(), per what you say above).
>>>
>>> Also, this would remove the check so you could do initdb and other
>>> operations that are blocked today (that don't go through
>>postmaster.c)
>>> when being root, I assumed that was not good either...
>>>
>>> //Magnus
>>>
>>> ---------------------------(end of
>>broadcast)---------------------------
>>> TIP 1: subscribe and unsubscribe commands go to
>>majordomo(at)postgresql(dot)org
>>>
>>
>>--
>> Bruce Momjian | http://candle.pha.pa.us
>> pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
>> + If your life is a hard drive, | 13 Roberts Road
>> + Christ can be your backup. | Newtown Square,
>>Pennsylvania 19073
>>
>
>---------------------------(end of
>broadcast)---------------------------
>TIP 8: explain analyze is your friend
>

Attachment Content-Type Size
security.c application/octet-stream 4.2 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Magnus Hagander 2004-06-20 17:17:01 initdb initial password from file
Previous Message Magnus Hagander 2004-06-20 15:26:56 Re: pg_ctl service integration for WIN32