This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [ITP] libfakesu 1.0
- From: Christian Franke <Christian dot Franke at t-online dot de>
- To: cygwin-apps at cygwin dot com
- Date: Wed, 03 Sep 2014 21:38:34 +0200
- Subject: Re: [ITP] libfakesu 1.0
- Authentication-results: sourceware.org; auth=none
- References: <53F9A8FA dot A2868696 at boland dot nl>
D. Boland wrote:
http://cygwin.boland.nl/x86/release/libfakesu/
A few notes regarding cygfakesu.c:
uid_t root_uid = 18;
gid_t root_gid = 544;
uid_t my_uid = -1;
gid_t my_gid = -1;
struct passwd my_pw;
struct group my_grp;
char str255[255];
...
uid_t uid_get(uid_t uid){
...
gid_t gid_get(gid_t gid){
...
etc...
Variables and functions not exported by the fakesu.h file should be
declared as static. Note that the cygfakesu.def file has no effect when
generating a static lib.
$ gcc -Wall cygfakesu.c
...
cygfakesu.c:52:2: warning: implicit declaration of function âgetuidâ
[-Wimplicit-function-declaration]
...
Include of unistd.h is missing.
int su_setgroups(int size, const gid_t *list){
...
gid_t l[s];
...
return setgroups(size, &l);
setgroups() 2nd parameter expects a type compatible to 'pointer to const
git_t'
The type of '&l' is 'pointer to array of git_t' :-)
(cosmetic in C, compilation would fail in C++):
Christian