~ubuntu-branches/ubuntu/lucid/openbsd-inetd/lucid

« back to all changes in this revision

Viewing changes to debian/patches/nodaemon

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2009-12-31 05:01:54 UTC
  • mfrom: (5.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091231050154-ocsys00bjcx1py53
Tags: 0.20080125-4ubuntu1
* Merge from debian testing.  Remaining changes:
  - Update maintainer according to spec.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 Internal services cannot be wrapped.  When enabled,
20
20
--- a/inetd.c
21
21
+++ b/inetd.c
22
 
@@ -340,6 +340,7 @@ main(int argc, char *argv[], char *envp[
 
22
@@ -343,6 +343,7 @@ main(int argc, char *argv[], char *envp[
23
23
        fd_set *fdsrp = NULL;
24
24
        int readablen = 0, ch;
25
25
        int keepenv = 0;
27
27
        struct servtab *sep;
28
28
        extern char *optarg;
29
29
        extern int optind;
30
 
@@ -349,7 +350,7 @@ main(int argc, char *argv[], char *envp[
 
30
@@ -352,7 +353,7 @@ main(int argc, char *argv[], char *envp[
31
31
 
32
32
        initsetproctitle(argc, argv, envp);
33
33
 
36
36
                switch (ch) {
37
37
                case 'd':
38
38
                        debug = 1;
39
 
@@ -357,6 +358,9 @@ main(int argc, char *argv[], char *envp[
 
39
@@ -360,6 +361,9 @@ main(int argc, char *argv[], char *envp[
40
40
                case 'E':
41
41
                        keepenv = 1;
42
42
                        break;
46
46
                case 'l':
47
47
 #ifdef LIBWRAP
48
48
                        lflag = 1;
49
 
@@ -383,7 +387,7 @@ main(int argc, char *argv[], char *envp[
 
49
@@ -386,7 +390,7 @@ main(int argc, char *argv[], char *envp[
50
50
                case '?':
51
51
                default:
52
52
                        fprintf(stderr,
55
55
                            progname);
56
56
                        exit(1);
57
57
                }
58
 
@@ -412,6 +416,7 @@ main(int argc, char *argv[], char *envp[
 
58
@@ -415,7 +419,11 @@ main(int argc, char *argv[], char *envp[
59
59
 
60
60
        umask(022);
61
61
        if (debug == 0) {
 
62
-               daemon(0, 0);
62
63
+               if (nodaemon == 0)
63
 
                daemon(0, 0);
 
64
+                       if (daemon(0, 0) < 0) {
 
65
+                               syslog(LOG_ERR, "daemon(0, 0): %m");
 
66
+                               exit(1);
 
67
+                       }
64
68
 #ifdef HAVE_SETLOGIN
65
69
                if (uid == 0)
 
70
                        (void) setlogin("");