• Simon McVittie's avatar
    userdb: Respect $HOME for the home directory of our own uid · 3f377c51
    Simon McVittie authored
    This lets cooperating processes with the same value of $HOME
    interoperate for DBUS_COOKIE_SHA1 by reading and writing $HOME, even
    if their $HOME differs from the uid's "official" home directory
    according to getpwuid(). Out of paranoia, we only do this if the uid
    and the euid are equal, since if they were unequal the correct thing
    to do would be ambiguous.
    
    In particular, Debian autobuilders run as a user whose "official"
    home directory in /etc/passwd is "/nonexistent", as a mechanism to
    detect non-deterministic build processes that rely on the contents of
    the home directory. Until now, this meant we couldn't run dbus'
    build-time tests, because every test that used DBUS_COOKIE_SHA1 would
    fail in this environment.
    
    In the tests, set HOME as well as DBUS_TEST_HOMEDIR. We keep
    DBUS_TEST_HOMEDIR too, because Windows doesn't use HOME, only HOMEDRIVE
    and HOMEPATH.
    
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101960
    Bug-Debian: https://bugs.debian.org/630152Signed-off-by: default avatarSimon McVittie <smcv@debian.org>
    Reviewed-by: Philip Withnall's avatarPhilip Withnall <withnall@endlessm.com>
    3f377c51
dbus-userdb.c 17.1 KB