diff options
Diffstat (limited to 'package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch')
-rw-r--r-- | package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch b/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch deleted file mode 100644 index 41396b6631..0000000000 --- a/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch +++ /dev/null @@ -1,95 +0,0 @@ -From b3afea5757af1a7356ba30d2e0a7d5909ca18121 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier@gentoo.org> -Date: Fri, 19 Nov 2010 23:48:20 -0500 -Subject: [PATCH 3/4] NO_FORK: control usage of fork() for nommu systems - -nommu systems lack a fork() function, so add a NO_FORK flag to control -its usage. We don't lose a ton of functionality in doing so, and on an -embedded system, this is OK. - -Signed-off-by: Mike Frysinger <vapier@gentoo.org> ---- - Makefile | 5 +++++ - README | 1 + - pmap_check.c | 6 ++++-- - portmap.c | 6 ++++++ - 4 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index cfcfdbb..9df5574 100644 ---- a/Makefile -+++ b/Makefile -@@ -27,6 +27,11 @@ MAN_SED += -e 's/USE_DNS/yes/' - endif - endif - -+# For no-mmu systems, we have to disable the fork() functions. -+ifneq ($(NO_FORK),) -+CPPFLAGS += -DNO_FORK -+endif -+ - # Comment out if your RPC library does not allocate privileged ports for - # requests from processes with root privilege, or the new portmap will - # always reject requests to register/unregister services on privileged -diff --git a/README b/README -index e0b561a..bda1707 100644 ---- a/README -+++ b/README -@@ -18,6 +18,7 @@ There is no "./configure", just use "make". - - Some make variable can be used to control compilation. - -+ NO_FORK= if non-empty, don't use fork (good for nommu systems) - NO_PIE= if non-empty, don't build portmap as a PIE - NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname -diff --git a/pmap_check.c b/pmap_check.c -index 6b3e490..983414e 100644 ---- a/pmap_check.c -+++ b/pmap_check.c -@@ -302,8 +302,10 @@ static void logit(int severity, struct sockaddr_in *addr, - * getrpcbynumber() or syslog() does its thing. - */ - -- if (fork() == 0) { -- -+#ifndef NO_FORK -+ if (fork() == 0) -+#endif -+ { - /* Try to map program number to name. */ - - if (prognum == 0) { -diff --git a/portmap.c b/portmap.c -index 2a98881..94abc64 100644 ---- a/portmap.c -+++ b/portmap.c -@@ -753,6 +755,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - if ((pml = find_service(a.rmt_prog, a.rmt_vers, - (u_long)IPPROTO_UDP)) == NULL) - return; -+#ifndef NO_FORK - /* - * fork a child to do the work. Parent immediately returns. - * Child exits upon completion. -@@ -763,6 +766,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - a.rmt_prog); - return; - } -+#endif - port = pml->pml_map.pm_port; - get_myaddress(&me); - me.sin_port = htons(port); -@@ -783,7 +787,9 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - clnt_destroy(client); - } - (void)close(so); -+#ifndef NO_FORK - exit(0); -+#endif - } - - #ifndef IGNORE_SIGCHLD /* Lionel Cons <cons@dxcern.cern.ch> */ --- -1.7.3.1 - |