* [PATCH] add support for the SUA layer (interix; windows)
@ 2010-10-22 9:56 mduft
2010-10-22 17:01 ` Jakub Narebski
0 siblings, 1 reply; 2+ messages in thread
From: mduft @ 2010-10-22 9:56 UTC (permalink / raw)
To: git; +Cc: Markus Duft
* add required build options to Makefile.
* introduce new NO_INTTYPES_H for systems lacking inttypes; code
includes stdint.h instead, if this is set.
* introduce new NO_SYS_POLL_H for systems lacking sys/poll.h; code
includes poll.h instead, if this is set.
* introduce NO_INITGROUPS. initgroups() call is simply omitted.
Signed-off-by: Markus Duft <mduft@gentoo.org>
---
Makefile | 28 ++++++++++++++++++++++++++++
daemon.c | 6 +++++-
git-compat-util.h | 8 ++++++++
3 files changed, 41 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index 1f1ce04..c9d8c9e 100644
--- a/Makefile
+++ b/Makefile
@@ -1096,6 +1096,25 @@ else
endif
X = .exe
endif
+ifeq ($(uname_S),Interix)
+ NO_SYS_POLL_H = YesPlease
+ NO_INTTYPES_H = YesPlease
+ NO_INITGROUPS = YesPlease
+ NO_IPV6 = YesPlease
+ NO_MEMMEM = YesPlease
+ NO_MKDTEMP = YesPlease
+ NO_STRTOUMAX = YesPlease
+ NO_NSEC = YesPlease
+ NO_MKSTEMPS = YesPlease
+ ifeq ($(uname_R),3.5)
+ NO_INET_NTOP = YesPlease
+ NO_INET_PTON = YesPlease
+ endif
+ ifeq ($(uname_R),5.2)
+ NO_INET_NTOP = YesPlease
+ NO_INET_PTON = YesPlease
+ endif
+endif
ifneq (,$(findstring MINGW,$(uname_S)))
pathsep = ;
NO_PREAD = YesPlease
@@ -1360,6 +1379,15 @@ endif
ifdef NO_SYS_SELECT_H
BASIC_CFLAGS += -DNO_SYS_SELECT_H
endif
+ifdef NO_SYS_POLL_H
+ BASIC_CFLAGS += -DNO_SYS_POLL_H
+endif
+ifdef NO_INTTYPES_H
+ BASIC_CFLAGS += -DNO_INTTYPES_H
+endif
+ifdef NO_INITGROUPS
+ BASIC_CFLAGS += -DNO_INITGROUPS
+endif
ifdef NO_MMAP
COMPAT_CFLAGS += -DNO_MMAP
COMPAT_OBJS += compat/mmap.o
diff --git a/daemon.c b/daemon.c
index 9326d3a..d68a31f 100644
--- a/daemon.c
+++ b/daemon.c
@@ -956,7 +956,11 @@ static int serve(char *listen_addr, int listen_port, struct passwd *pass, gid_t
listen_addr, listen_port);
if (pass && gid &&
- (initgroups(pass->pw_name, gid) || setgid (gid) ||
+ (
+#ifndef NO_INITGROUPS
+ initgroups(pass->pw_name, gid) ||
+#endif
+ setgid (gid) ||
setuid(pass->pw_uid)))
die("cannot drop privileges");
diff --git a/git-compat-util.h b/git-compat-util.h
index 2af8d3e..625b2e4 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -106,7 +106,11 @@
#include <utime.h>
#ifndef __MINGW32__
#include <sys/wait.h>
+#ifndef NO_SYS_POLL_H
#include <sys/poll.h>
+#else
+#include <poll.h>
+#endif
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <termios.h>
@@ -118,7 +122,11 @@
#include <arpa/inet.h>
#include <netdb.h>
#include <pwd.h>
+#ifndef NO_INTTYPES_H
#include <inttypes.h>
+#else
+#include <stdint.h>
+#endif
#if defined(__CYGWIN__)
#undef _XOPEN_SOURCE
#include <grp.h>
--
1.7.2.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] add support for the SUA layer (interix; windows)
2010-10-22 9:56 [PATCH] add support for the SUA layer (interix; windows) mduft
@ 2010-10-22 17:01 ` Jakub Narebski
0 siblings, 0 replies; 2+ messages in thread
From: Jakub Narebski @ 2010-10-22 17:01 UTC (permalink / raw)
To: mduft; +Cc: git, Markus Duft
mduft@s01en22.salomon.at writes:
> * add required build options to Makefile.
> * introduce new NO_INTTYPES_H for systems lacking inttypes; code
> includes stdint.h instead, if this is set.
> * introduce new NO_SYS_POLL_H for systems lacking sys/poll.h; code
> includes poll.h instead, if this is set.
> * introduce NO_INITGROUPS. initgroups() call is simply omitted.
>
> Signed-off-by: Markus Duft <mduft@gentoo.org>
> ---
> Makefile | 28 ++++++++++++++++++++++++++++
> daemon.c | 6 +++++-
> git-compat-util.h | 8 ++++++++
> 3 files changed, 41 insertions(+), 1 deletions(-)
Could you also add appropriate detection to configure.ac?
Thanks in advance.
--
Jakub Narebski
Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-10-22 17:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-22 9:56 [PATCH] add support for the SUA layer (interix; windows) mduft
2010-10-22 17:01 ` Jakub Narebski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).