Author: randy
Date: 2008-08-11 12:02:11 -0600 (Mon, 11 Aug 2008)
New Revision: 1968

Added:
   trunk/stunnel/
   trunk/stunnel/stunnel-4.21-setuid-1.patch
Log:
Added an Stunnel patch that was removed from upstream

Added: trunk/stunnel/stunnel-4.21-setuid-1.patch
===================================================================
--- trunk/stunnel/stunnel-4.21-setuid-1.patch                           (rev 0)
+++ trunk/stunnel/stunnel-4.21-setuid-1.patch   2008-08-11 18:02:11 UTC (rev 
1968)
@@ -0,0 +1,112 @@
+Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
+Date:                    2008-08-11
+Initial Package Version: 4.21
+Upstream Status:         From upstream
+Origin:                  Upstream
+Description:             Fixes an issue where the stunnel daemon will not
+                         drop root privileges.
+
+
+diff -Naur stunnel-4.21-orig/src/prototypes.h stunnel-4.21/src/prototypes.h
+--- stunnel-4.21-orig/src/prototypes.h 2007-10-05 15:42:48.000000000 +0000
++++ stunnel-4.21/src/prototypes.h      2008-08-11 17:43:32.000000000 +0000
+@@ -57,7 +57,6 @@
+ void main_initialize(char *, char *);
+ void main_execute(void);
+ void stunnel_info(int);
+-void drop_privileges(void);
+ 
+ /**************************************** Prototypes for log.c */
+
+ 
+diff -Naur stunnel-4.21-orig/src/stunnel.c stunnel-4.21/src/stunnel.c
+--- stunnel-4.21-orig/src/stunnel.c    2007-10-27 15:41:39.000000000 +0000
++++ stunnel-4.21/src/stunnel.c 2008-08-11 17:43:32.000000000 +0000
+@@ -3,8 +3,8 @@
+  *   Copyright (c) 1998-2007 Michal Trojnara <[EMAIL PROTECTED]>
+  *                 All Rights Reserved
+  *
+- *   Version:      4.21             (stunnel.c)
+- *   Date:         2007.10.27
++ *   Version:      4.22             (stunnel.c)
++ *   Date:         2007.11.xx
+  *
+  *   Author:       Michal Trojnara  <[EMAIL PROTECTED]>
+  *
+@@ -41,7 +41,7 @@
+ static void accept_connection(LOCAL_OPTIONS *);
+ static void get_limits(void); /* setup global max_clients and max_fds */
+ #if !defined (USE_WIN32) && !defined (__vms)
+-static void make_chroot(void);
++static void drop_privileges(void);
+ static void daemonize(void);
+ static void create_pid(void);
+ static void delete_pid(void);
+@@ -111,9 +111,6 @@
+     } else { /* inetd mode */
+ #if !defined (USE_WIN32) && !defined (__vms)&&!defined(USE_OS2)
+         max_fds=FD_SETSIZE; /* just in case */
+-#ifdef HAVE_CHROOT
+-        make_chroot();
+-#endif /* HAVE_CHROOT */
+         drop_privileges();
+ #endif
+         num_clients=1;
+@@ -171,9 +168,6 @@
+ #if !defined (USE_WIN32) && !defined (__vms) && !defined(USE_OS2)
+     if(!(options.option.foreground))
+         daemonize();
+-#ifdef HAVE_CHROOT
+-        make_chroot();
+-#endif /* HAVE_CHROOT */
+     drop_privileges();
+     create_pid();
+ #endif /* !defined USE_WIN32 && !defined (__vms) */
+@@ -299,24 +293,9 @@
+ #endif
+ }
+ 
+-#ifdef HAVE_CHROOT
+-static void make_chroot(void) {
+-    if(options.chroot_dir) {
+-        if(chroot(options.chroot_dir)) {
+-            sockerror("chroot");
+-            exit(1);
+-        }
+-        if(chdir("/")) {
+-            sockerror("chdir");
+-            exit(1);
+-        }
+-    }
+-}
+-#endif /* HAVE_CHROOT */
+-
+ #if !defined (USE_WIN32) && !defined (__vms)
+-    /* set process user and group(s) id */
+-void drop_privileges(void) {
++    /* chroot and set process user and group(s) id */
++static void drop_privileges(void) {
+     int uid=0, gid=0;
+     struct group *gr;
+ #ifdef HAVE_SETGROUPS
+@@ -350,6 +329,20 @@
+         }
+     }
+ 
++#ifdef HAVE_CHROOT
++    /* chroot */
++    if(options.chroot_dir) {
++        if(chroot(options.chroot_dir)) {
++            sockerror("chroot");
++            exit(1);
++        }
++        if(chdir("/")) {
++            sockerror("chdir");
++            exit(1);
++        }
++    }
++#endif /* HAVE_CHROOT */
++
+     /* Set uid and gid */
+     if(gid) {
+         if(setgid(gid)) {

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to