Re: [PATCH] Prefer getenv("HOME") to find the UNIX home directory

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Christoph Moench-Tegeder <cmt(at)burggraben(dot)net>
Cc: Anders Kaseorg <andersk(at)mit(dot)edu>, Daniel Gustafsson <daniel(at)yesql(dot)se>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, alvherre(at)alvh(dot)no-ip(dot)org, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [PATCH] Prefer getenv("HOME") to find the UNIX home directory
Date: 2022-01-09 22:40:08
Message-ID: 1888214.1641768008@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Christoph Moench-Tegeder <cmt(at)burggraben(dot)net> writes:
> ## Tom Lane (tgl(at)sss(dot)pgh(dot)pa(dot)us):
>> Given the POSIX requirements, it's basically impossible to believe
>> that there are interesting cases where $HOME isn't set.

> When I look at a random Debian with the usual PGDG packages, the
> postmaster process (and every backend) has a rather minimal environment
> without HOME. When I remember the code correctly, walreceiver uses
> the functions from fe-connect.c and may need to find the service file,
> a password file or certificates. If I'm correct with that, requiring
> HOME to be set would be a significant change for existing "normal"
> installations.
> What about containers and similar "reduced" environments?

Isn't that a flat out violation of POSIX 8.3 Other Environment Variables?

HOME
The system shall initialize this variable at the time of login to
be a pathname of the user's home directory. See <pwd.h>.

To claim it's not, you have to claim these programs aren't logged in,
in which case where did they get any privileges from?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Christoph Moench-Tegeder 2022-01-09 23:11:59 Re: [PATCH] Prefer getenv("HOME") to find the UNIX home directory
Previous Message Christoph Moench-Tegeder 2022-01-09 21:51:37 Re: [PATCH] Prefer getenv("HOME") to find the UNIX home directory