Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jul 2002 23:41:55 -0700 (PDT)
From:      Joe Marcus Clarke <marcus@FreeBSD.org>
To:        rgoellner@gmx.de, marcus@FreeBSD.org, gnome@FreeBSD.org
Subject:   Re: ports/38323: x11-toolkits/gtk12 issue with getresuid
Message-ID:  <200207050641.g656ftR7045530@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
Synopsis: x11-toolkits/gtk12 issue with getresuid

State-Changed-From-To: feedback->closed
State-Changed-By: marcus
State-Changed-When: Thu Jul 4 23:39:36 PDT 2002
State-Changed-Why: 
This PR was solved in a rather unusual way.  Maxim Sobolev came up with a
workaround for the problem.  That workaround is detailed below.

-- From Maxim Sobolev <sobomax@FreeBSD.org>

Aha, I suspected something like that. Try attached program instead.
Use it as follows:

1. Compile with:
$ cc -shared getresuid.c -o /some/path/getresuid.so
2. Set LD_PRELOAD variable to contain path to getresuid.so and invoke
applix:
$ export LD_PRELOAD=/some/path/getresuid.so
$ [run applix]

-- getresuid.c
#include <sys/types.h>
#include <dlfcn.h>
#include <unistd.h>

static int (*getresuid_p)(uid_t *, uid_t *, uid_t *) = NULL;

int
getresuid(uid_t *ruid, uid_t *euid, uid_t *suid)
{
    void *tmp;

    if (getresuid_p == NULL) {
        tmp = dlopen("/usr/lib/libc.so", RTLD_LAZY);
        getresuid_p = dlsym(tmp, "getresuid");
    }

    return getresuid_p(ruid, euid, suid);
}

-- End workaround

http://www.freebsd.org/cgi/query-pr.cgi?pr=38323

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-gnome" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207050641.g656ftR7045530>