[package] update ndyndns to 2.1 (#8732)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@25246 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@ -1,14 +1,13 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ndyndns
|
PKG_NAME:=ndyndns
|
||||||
PKG_VERSION:=1.12
|
PKG_VERSION:=2.1
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=ndyndns-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://ndyndns.googlecode.com/files
|
PKG_SOURCE_URL:=http://ndyndns.googlecode.com/files
|
||||||
PKG_MD5SUM:=1ca356cf366cd617fe3fb5fad9eb961b
|
PKG_MD5SUM:=0cdb4dcba5f8c1664f53884b3c2179e9
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
|
||||||
PKG_FIXUP = libtool
|
PKG_FIXUP = libtool
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
@ -16,14 +15,14 @@ include $(INCLUDE_DIR)/package.mk
|
|||||||
MAKE_FLAGS:=PLATFORM=linux
|
MAKE_FLAGS:=PLATFORM=linux
|
||||||
|
|
||||||
define Package/ndyndns
|
define Package/ndyndns
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=DynDNS.com update daemon
|
TITLE:=DynDNS.com update daemon
|
||||||
URL:=http://ndyndns.googlecode.com/
|
URL:=http://ndyndns.googlecode.com/
|
||||||
DEPENDS:=+libcurl +libopenssl
|
DEPENDS:=+libcurl +libopenssl
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/ndyndns/description
|
define Package/ndyndns/description
|
||||||
The ndyndns daemon is an update client for DynDNS.com. It
|
The ndyndns daemon is an update client for DynDNS.com. It
|
||||||
checks for an IP address change every two minutes, avoids
|
checks for an IP address change every two minutes, avoids
|
||||||
unnecessary updates, reports errors, logs to syslog, and
|
unnecessary updates, reports errors, logs to syslog, and
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
username=user
|
[config]
|
||||||
password=password
|
|
||||||
hostname=hostname.dyndns.org
|
[dyndns]
|
||||||
|
username = user
|
||||||
|
password = password
|
||||||
|
hosts = hostname.dyndns.org
|
||||||
wildcard
|
wildcard
|
||||||
|
@ -1,14 +1,24 @@
|
|||||||
diff --git a/configure b/configure
|
diff -urN ndyndns-2.1.orig/configure ndyndns-2.1/configure
|
||||||
index 73ac9e1..3d3c187 100755
|
--- ndyndns-2.1.orig/configure 2010-07-17 13:22:39.000000000 +0200
|
||||||
--- a/configure
|
+++ ndyndns-2.1/configure 2011-01-26 16:24:15.834445729 +0100
|
||||||
+++ b/configure
|
@@ -3318,7 +3318,7 @@
|
||||||
@@ -3520,8 +3520,7 @@ fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
-CURLINC=-I`curl-config --prefix`/include
|
-CURLINC=-I`curl-config --prefix`/include
|
||||||
-
|
+CURLINC=-I`curl-config --cflags`
|
||||||
+CURLINC=`curl-config --cflags`
|
|
||||||
CURLLIB=`curl-config --libs`
|
CURLLIB=`curl-config --libs`
|
||||||
|
|
||||||
|
diff -urN ndyndns-2.1.orig/configure.in ndyndns-2.1/configure.in
|
||||||
|
--- ndyndns-2.1.orig/configure.in 2010-07-17 13:22:11.000000000 +0200
|
||||||
|
+++ ndyndns-2.1/configure.in 2011-01-26 16:24:14.090441650 +0100
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
fi
|
||||||
|
AC_SUBST(PLATFORM)
|
||||||
|
|
||||||
|
-CURLINC=-I`curl-config --prefix`/include
|
||||||
|
+CURLINC=-I`curl-config --cflags`
|
||||||
|
AC_SUBST(CURLINC)
|
||||||
|
CURLLIB=`curl-config --libs`
|
||||||
|
AC_SUBST(CURLLIB)
|
||||||
|
211
net/ndyndns/patches/020-ndyndns.patch
Normal file
211
net/ndyndns/patches/020-ndyndns.patch
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
diff -urN ndyndns-2.1.orig/cfg.c ndyndns-2.1/cfg.c
|
||||||
|
--- ndyndns-2.1.orig/cfg.c 2011-01-26 17:02:05.762443700 +0100
|
||||||
|
+++ ndyndns-2.1/cfg.c 2011-01-26 17:03:43.334443683 +0100
|
||||||
|
@@ -804,34 +804,6 @@
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
- tmp = parse_line_string(point, "user");
|
||||||
|
- if (tmp) {
|
||||||
|
- switch (prs) {
|
||||||
|
- default:
|
||||||
|
- parse_warn(lnum, "user");
|
||||||
|
- break;
|
||||||
|
- case PRS_CONFIG:
|
||||||
|
- cfg_set_user(tmp);
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- free(tmp);
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- tmp = parse_line_string(point, "group");
|
||||||
|
- if (tmp) {
|
||||||
|
- switch (prs) {
|
||||||
|
- default:
|
||||||
|
- parse_warn(lnum, "group");
|
||||||
|
- break;
|
||||||
|
- case PRS_CONFIG:
|
||||||
|
- cfg_set_group(tmp);
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- free(tmp);
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
tmp = parse_line_string(point, "interface");
|
||||||
|
if (tmp) {
|
||||||
|
switch (prs) {
|
||||||
|
diff -urN ndyndns-2.1.orig/chroot.c ndyndns-2.1/chroot.c
|
||||||
|
--- ndyndns-2.1.orig/chroot.c 2011-01-26 17:02:05.762443700 +0100
|
||||||
|
+++ ndyndns-2.1/chroot.c 2011-01-26 17:03:54.470442525 +0100
|
||||||
|
@@ -19,8 +19,6 @@
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
-#include <pwd.h>
|
||||||
|
-#include <grp.h>
|
||||||
|
|
||||||
|
#include "defines.h"
|
||||||
|
#include "log.h"
|
||||||
|
@@ -82,32 +80,3 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
-void drop_root(uid_t uid, gid_t gid)
|
||||||
|
-{
|
||||||
|
- if (uid == 0 || gid == 0) {
|
||||||
|
- log_line("FATAL - drop_root: attempt to drop root to root?\n");
|
||||||
|
- exit(EXIT_FAILURE);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (getgid() == 0) {
|
||||||
|
- if (setregid(gid, gid) == -1) {
|
||||||
|
- log_line("FATAL - drop_root: failed to drop real gid == root!\n");
|
||||||
|
- exit(EXIT_FAILURE);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (getuid() == 0) {
|
||||||
|
- if (setreuid(uid, uid) == -1) {
|
||||||
|
- log_line("FATAL - drop_root: failed to drop real uid == root!\n");
|
||||||
|
- exit(EXIT_FAILURE);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- /* be absolutely sure */
|
||||||
|
- if (getgid() == 0 || getuid() == 0) {
|
||||||
|
- log_line("FATAL - drop_root: tried to drop root, but still have root!\n");
|
||||||
|
- exit(EXIT_FAILURE);
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
diff -urN ndyndns-2.1.orig/Makefile.in ndyndns-2.1/Makefile.in
|
||||||
|
--- ndyndns-2.1.orig/Makefile.in 2011-01-26 17:02:05.766443748 +0100
|
||||||
|
+++ ndyndns-2.1/Makefile.in 2011-01-26 17:03:43.338443633 +0100
|
||||||
|
@@ -1,11 +1,9 @@
|
||||||
|
#CC = gcc -Wall -Wpointer-arith -Wstrict-prototypes -pedantic
|
||||||
|
CC = @CC@
|
||||||
|
-dnslib = -lnss_dns
|
||||||
|
objects = log.o nstrl.o util.o chroot.o pidfile.o signals.o strlist.o checkip.o $(PLATFORM).o cfg.o ndyndns.o
|
||||||
|
-CURLINC = @CURLINC@
|
||||||
|
CURLLIB = @CURLLIB@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
-CFLAGS = @CFLAGS@ -Wall -Wextra -pedantic $(CURLINC)
|
||||||
|
+CFLAGS += -Wall -Wpointer-arith -Wstrict-prototypes -pedantic
|
||||||
|
PLATFORM = @PLATFORM@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
@@ -16,7 +14,7 @@
|
||||||
|
all: ndyndns
|
||||||
|
|
||||||
|
ndyndns : $(objects)
|
||||||
|
- $(CC) $(LDFLAGS) $(dnslib) $(CURLLIB) -o ndyndns $(objects)
|
||||||
|
+ $(CC) $(LDFLAGS) $(CURLLIB) -o ndyndns $(objects)
|
||||||
|
|
||||||
|
ndyndns.o : log.h nstrl.h util.h chroot.h pidfile.h signals.h strlist.h checkip.h $(PLATFORM).h cfg.h
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ ndyndns.c
|
||||||
|
diff -urN ndyndns-2.1.orig/ndyndns.c ndyndns-2.1/ndyndns.c
|
||||||
|
--- ndyndns-2.1.orig/ndyndns.c 2011-01-26 17:02:05.766443748 +0100
|
||||||
|
+++ ndyndns-2.1/ndyndns.c 2011-01-26 17:04:15.526443092 +0100
|
||||||
|
@@ -32,8 +32,6 @@
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <time.h>
|
||||||
|
-#include <pwd.h>
|
||||||
|
-#include <grp.h>
|
||||||
|
|
||||||
|
#include <signal.h>
|
||||||
|
#include <errno.h>
|
||||||
|
@@ -897,40 +895,6 @@
|
||||||
|
strlcpy(pidfile, pidfname, sizeof pidfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
-void cfg_set_user(char *username)
|
||||||
|
-{
|
||||||
|
- int t;
|
||||||
|
- char *p;
|
||||||
|
- struct passwd *pws;
|
||||||
|
-
|
||||||
|
- t = (unsigned int) strtol(username, &p, 10);
|
||||||
|
- if (*p != '\0') {
|
||||||
|
- pws = getpwnam(username);
|
||||||
|
- if (pws) {
|
||||||
|
- cfg_uid = (int)pws->pw_uid;
|
||||||
|
- if (!cfg_gid)
|
||||||
|
- cfg_gid = (int)pws->pw_gid;
|
||||||
|
- } else suicide("FATAL - Invalid uid specified.\n");
|
||||||
|
- } else
|
||||||
|
- cfg_uid = t;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void cfg_set_group(char *groupname)
|
||||||
|
-{
|
||||||
|
- int t;
|
||||||
|
- char *p;
|
||||||
|
- struct group *grp;
|
||||||
|
-
|
||||||
|
- t = (unsigned int) strtol(groupname, &p, 10);
|
||||||
|
- if (*p != '\0') {
|
||||||
|
- grp = getgrnam(groupname);
|
||||||
|
- if (grp) {
|
||||||
|
- cfg_gid = (int)grp->gr_gid;
|
||||||
|
- } else suicide("FATAL - Invalid gid specified.\n");
|
||||||
|
- } else
|
||||||
|
- cfg_gid = t;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
void cfg_set_interface(char *interface)
|
||||||
|
{
|
||||||
|
strlcpy(ifname, interface, sizeof ifname);
|
||||||
|
@@ -954,8 +918,6 @@
|
||||||
|
{"disable-chroot", 0, 0, 'x'},
|
||||||
|
{"file", 1, 0, 'f'},
|
||||||
|
{"cfg-stdin", 0, 0, 'F'},
|
||||||
|
- {"user", 1, 0, 'u'},
|
||||||
|
- {"group", 1, 0, 'g'},
|
||||||
|
{"interface", 1, 0, 'i'},
|
||||||
|
{"remote", 0, 0, 'r'},
|
||||||
|
{"help", 0, 0, 'h'},
|
||||||
|
@@ -963,7 +925,7 @@
|
||||||
|
{0, 0, 0, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
- c = getopt_long(argc, argv, "rdnp:qc:xf:Fu:g:i:hv", long_options, &option_index);
|
||||||
|
+ c = getopt_long(argc, argv, "rdnp:qc:xf:i:hv", long_options, &option_index);
|
||||||
|
if (c == -1) break;
|
||||||
|
|
||||||
|
switch (c) {
|
||||||
|
@@ -983,8 +945,6 @@
|
||||||
|
" -F, --cfg-stdin read configuration file from standard input\n"
|
||||||
|
" -p, --pidfile pidfile path\n");
|
||||||
|
printf(
|
||||||
|
- " -u, --user user name that ndyndns should run as\n"
|
||||||
|
- " -g, --group group name that ndyndns should run as\n"
|
||||||
|
" -i, --interface interface ip to check (default: ppp0)\n"
|
||||||
|
" -r, --remote get ip from remote dyndns host (overrides -i)\n"
|
||||||
|
" -h, --help print this help and exit\n"
|
||||||
|
@@ -1060,14 +1020,6 @@
|
||||||
|
cfg_set_pidfile(optarg);
|
||||||
|
break;
|
||||||
|
|
||||||
|
- case 'u':
|
||||||
|
- cfg_set_user(optarg);
|
||||||
|
- break;
|
||||||
|
-
|
||||||
|
- case 'g':
|
||||||
|
- cfg_set_group(optarg);
|
||||||
|
- break;
|
||||||
|
-
|
||||||
|
case 'i':
|
||||||
|
cfg_set_interface(optarg);
|
||||||
|
break;
|
||||||
|
@@ -1095,7 +1047,6 @@
|
||||||
|
|
||||||
|
/* Note that failure cases are handled by called fns. */
|
||||||
|
imprison(get_chroot());
|
||||||
|
- drop_root(cfg_uid, cfg_gid);
|
||||||
|
|
||||||
|
/* Cover our tracks... */
|
||||||
|
wipe_chroot();
|
@ -1,163 +0,0 @@
|
|||||||
diff -Naur old/Makefile.in new/Makefile.in
|
|
||||||
--- old/Makefile.in 2007-09-13 10:56:00.000000000 -0700
|
|
||||||
+++ new/Makefile.in 2008-02-03 04:07:13.000000000 -0800
|
|
||||||
@@ -1,11 +1,9 @@
|
|
||||||
#CC = gcc -Wall -Wpointer-arith -Wstrict-prototypes -pedantic
|
|
||||||
CC = @CC@
|
|
||||||
-dnslib = -lnss_dns
|
|
||||||
objects = log.o nstrl.o util.o chroot.o pidfile.o signals.o strlist.o checkip.o $(PLATFORM).o cfg.o ndyndns.o
|
|
||||||
-CURLINC = @CURLINC@
|
|
||||||
CURLLIB = @CURLLIB@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
-CFLAGS = @CFLAGS@ -Wall -Wpointer-arith -Wstrict-prototypes -pedantic $(CURLINC)
|
|
||||||
+CFLAGS += -Wall -Wpointer-arith -Wstrict-prototypes -pedantic
|
|
||||||
PLATFORM = @PLATFORM@
|
|
||||||
prefix = @prefix@
|
|
||||||
exec_prefix = @exec_prefix@
|
|
||||||
@@ -16,7 +14,7 @@
|
|
||||||
all: ndyndns
|
|
||||||
|
|
||||||
ndyndns : $(objects)
|
|
||||||
- $(CC) $(LDFLAGS) $(dnslib) $(CURLLIB) -o ndyndns $(objects)
|
|
||||||
+ $(CC) $(LDFLAGS) $(CURLLIB) -o ndyndns $(objects)
|
|
||||||
|
|
||||||
ndyndns.o : log.h nstrl.h util.h chroot.h pidfile.h signals.h strlist.h checkip.h $(PLATFORM).h cfg.h
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ ndyndns.c
|
|
||||||
diff -Naur old/chroot.c new/chroot.c
|
|
||||||
--- old/chroot.c 2007-03-13 15:54:12.000000000 -0700
|
|
||||||
+++ new/chroot.c 2008-02-03 04:10:21.000000000 -0800
|
|
||||||
@@ -18,8 +18,6 @@
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
-#include <pwd.h>
|
|
||||||
-#include <grp.h>
|
|
||||||
|
|
||||||
#include "defines.h"
|
|
||||||
#include "log.h"
|
|
||||||
@@ -60,24 +58,4 @@
|
|
||||||
log_line("Failed to chdir(%s). Not invoking job.", path);
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- ret = chroot(path);
|
|
||||||
- if (ret) {
|
|
||||||
- log_line("Failed to chroot(%s). Not invoking job.", path);
|
|
||||||
- exit(EXIT_FAILURE);
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
-
|
|
||||||
-void drop_root(uid_t uid, gid_t gid)
|
|
||||||
-{
|
|
||||||
- if (uid == 0 || gid == 0) {
|
|
||||||
- log_line("FATAL - drop_root: attempt to drop root to root?\n");
|
|
||||||
- exit(EXIT_FAILURE);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (setregid(gid, gid) == -1 || setreuid(uid, uid) == -1) {
|
|
||||||
- log_line("FATAL - drop_root: failed to drop root!\n");
|
|
||||||
- exit(EXIT_FAILURE);
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
diff -Naur old/ndyndns.c new/ndyndns.c
|
|
||||||
--- old/ndyndns.c 2007-09-19 00:04:13.000000000 -0700
|
|
||||||
+++ new/ndyndns.c 2008-02-03 04:10:21.000000000 -0800
|
|
||||||
@@ -32,8 +32,6 @@
|
|
||||||
#include <net/if.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <time.h>
|
|
||||||
-#include <pwd.h>
|
|
||||||
-#include <grp.h>
|
|
||||||
|
|
||||||
#include <signal.h>
|
|
||||||
#include <errno.h>
|
|
||||||
@@ -728,12 +726,9 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
|
||||||
- int c, t, uid = 0, gid = 0;
|
|
||||||
+ int c, t;
|
|
||||||
char pidfile[MAX_PATH_LENGTH] = PID_FILE_DEFAULT;
|
|
||||||
char conffile[MAX_PATH_LENGTH] = CONF_FILE_DEFAULT;
|
|
||||||
- char *p;
|
|
||||||
- struct passwd *pws;
|
|
||||||
- struct group *grp;
|
|
||||||
|
|
||||||
|
|
||||||
while (1) {
|
|
||||||
@@ -745,8 +740,6 @@
|
|
||||||
{"quiet", 0, 0, 'q'},
|
|
||||||
{"chroot", 1, 0, 'c'},
|
|
||||||
{"file", 1, 0, 'f'},
|
|
||||||
- {"user", 1, 0, 'u'},
|
|
||||||
- {"group", 1, 0, 'g'},
|
|
||||||
{"interface", 1, 0, 'i'},
|
|
||||||
{"remote", 0, 0, 'r'},
|
|
||||||
{"help", 0, 0, 'h'},
|
|
||||||
@@ -754,7 +747,7 @@
|
|
||||||
{0, 0, 0, 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
- c = getopt_long (argc, argv, "rdnp:qc:f:u:g:i:hv", long_options, &option_index);
|
|
||||||
+ c = getopt_long (argc, argv, "rdnp:qc:f:i:hv", long_options, &option_index);
|
|
||||||
if (c == -1) break;
|
|
||||||
|
|
||||||
switch (c) {
|
|
||||||
@@ -771,8 +764,6 @@
|
|
||||||
" -f, --file configuration file\n"
|
|
||||||
" -p, --pidfile pidfile path\n");
|
|
||||||
printf(
|
|
||||||
-" -u, --user user name that ndyndns should run as\n"
|
|
||||||
-" -g, --group group name that ndyndns should run as\n"
|
|
||||||
" -i, --interface interface ip to check (default: ppp0)\n"
|
|
||||||
" -r, --remote get ip from remote dyndns host (overrides -i)\n"
|
|
||||||
" -h, --help print this help and exit\n"
|
|
||||||
@@ -817,39 +808,12 @@
|
|
||||||
strlcpy(pidfile, optarg, sizeof pidfile);
|
|
||||||
break;
|
|
||||||
|
|
||||||
- case 'u':
|
|
||||||
- t = (unsigned int) strtol(optarg, &p, 10);
|
|
||||||
- if (*p != '\0') {
|
|
||||||
- pws = getpwnam(optarg);
|
|
||||||
- if (pws) {
|
|
||||||
- uid = (int)pws->pw_uid;
|
|
||||||
- if (!gid)
|
|
||||||
- gid = (int)pws->pw_gid;
|
|
||||||
- } else suicide("FATAL - Invalid uid specified.\n");
|
|
||||||
- } else
|
|
||||||
- uid = t;
|
|
||||||
- break;
|
|
||||||
-
|
|
||||||
- case 'g':
|
|
||||||
- t = (unsigned int) strtol(optarg, &p, 10);
|
|
||||||
- if (*p != '\0') {
|
|
||||||
- grp = getgrnam(optarg);
|
|
||||||
- if (grp) {
|
|
||||||
- gid = (int)grp->gr_gid;
|
|
||||||
- } else suicide("FATAL - Invalid gid specified.\n");
|
|
||||||
- } else
|
|
||||||
- gid = t;
|
|
||||||
- break;
|
|
||||||
-
|
|
||||||
case 'i':
|
|
||||||
strlcpy(ifname, optarg, sizeof ifname);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (getuid())
|
|
||||||
- suicide("FATAL - I need root for chroot!\n");
|
|
||||||
-
|
|
||||||
if (gflags_detach)
|
|
||||||
if (daemon(0,0))
|
|
||||||
suicide("FATAL - detaching fork failed\n");
|
|
||||||
@@ -870,7 +834,6 @@
|
|
||||||
|
|
||||||
/* Note that failure cases are handled by called fns. */
|
|
||||||
imprison(get_chroot());
|
|
||||||
- drop_root(uid, gid);
|
|
||||||
|
|
||||||
/* Cover our tracks... */
|
|
||||||
wipe_chroot();
|
|
Reference in New Issue
Block a user