Move changing of the effective user/group ID after writing new PID file.
This commit is contained in:
		
							parent
							
								
									e68ad5094a
								
							
						
					
					
						commit
						278bc55875
					
				
							
								
								
									
										49
									
								
								dhcp-4.2.2-paranoia-pid.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								dhcp-4.2.2-paranoia-pid.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | |||||||
|  | diff -up dhcp-4.2.2/server/dhcpd.c.paranoia-pid dhcp-4.2.2/server/dhcpd.c
 | ||||||
|  | --- dhcp-4.2.2/server/dhcpd.c.paranoia-pid	2011-09-12 16:07:01.000000000 +0200
 | ||||||
|  | +++ dhcp-4.2.2/server/dhcpd.c	2011-09-12 16:08:55.680988466 +0200
 | ||||||
|  | @@ -791,22 +791,6 @@ main(int argc, char **argv) {
 | ||||||
|  |  			exit (0); | ||||||
|  |  	} | ||||||
|  |    | ||||||
|  | -#if defined (PARANOIA)
 | ||||||
|  | -	/* change uid to the specified one */
 | ||||||
|  | -
 | ||||||
|  | -	if (set_gid) {
 | ||||||
|  | -		if (setgroups (0, (void *)0))
 | ||||||
|  | -			log_fatal ("setgroups: %m");
 | ||||||
|  | -		if (setgid (set_gid))
 | ||||||
|  | -			log_fatal ("setgid(%d): %m", (int) set_gid);
 | ||||||
|  | -	}	
 | ||||||
|  | -
 | ||||||
|  | -	if (set_uid) {
 | ||||||
|  | -		if (setuid (set_uid))
 | ||||||
|  | -			log_fatal ("setuid(%d): %m", (int) set_uid);
 | ||||||
|  | -	}
 | ||||||
|  | -#endif /* PARANOIA */
 | ||||||
|  | -
 | ||||||
|  |  	/* | ||||||
|  |  	 * Deal with pid files.  If the user told us | ||||||
|  |  	 * not to write a file we don't read one either | ||||||
|  | @@ -843,6 +827,22 @@ main(int argc, char **argv) {
 | ||||||
|  |  		} | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  | +#if defined (PARANOIA)
 | ||||||
|  | +	/* change uid to the specified one */
 | ||||||
|  | +
 | ||||||
|  | +	if (set_gid) {
 | ||||||
|  | +		if (setgroups (0, (void *)0))
 | ||||||
|  | +			log_fatal ("setgroups: %m");
 | ||||||
|  | +		if (setgid (set_gid))
 | ||||||
|  | +			log_fatal ("setgid(%d): %m", (int) set_gid);
 | ||||||
|  | +	}	
 | ||||||
|  | +
 | ||||||
|  | +	if (set_uid) {
 | ||||||
|  | +		if (setuid (set_uid))
 | ||||||
|  | +			log_fatal ("setuid(%d): %m", (int) set_uid);
 | ||||||
|  | +	}
 | ||||||
|  | +#endif /* PARANOIA */
 | ||||||
|  | +
 | ||||||
|  |  	/* If we were requested to log to stdout on the command line, | ||||||
|  |  	   keep doing so; otherwise, stop. */ | ||||||
|  |  	if (log_perror == -1) | ||||||
							
								
								
									
										30
									
								
								dhcp.spec
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								dhcp.spec
									
									
									
									
									
								
							| @ -4,6 +4,9 @@ | |||||||
| # vendor string (e.g., Fedora, EL) | # vendor string (e.g., Fedora, EL) | ||||||
| %global vvendor Fedora | %global vvendor Fedora | ||||||
| 
 | 
 | ||||||
|  | #http://lists.fedoraproject.org/pipermail/devel/2011-August/155358.html | ||||||
|  | %global _hardened_build 1 | ||||||
|  | 
 | ||||||
| # Where dhcp configuration files are stored | # Where dhcp configuration files are stored | ||||||
| %global dhcpconfdir %{_sysconfdir}/dhcp | %global dhcpconfdir %{_sysconfdir}/dhcp | ||||||
| 
 | 
 | ||||||
| @ -19,7 +22,7 @@ | |||||||
| Summary:  Dynamic host configuration protocol software | Summary:  Dynamic host configuration protocol software | ||||||
| Name:     dhcp | Name:     dhcp | ||||||
| Version:  4.2.3 | Version:  4.2.3 | ||||||
| Release:  1%{?dist} | Release:  2%{?dist} | ||||||
| # NEVER CHANGE THE EPOCH on this package.  The previous maintainer (prior to | # NEVER CHANGE THE EPOCH on this package.  The previous maintainer (prior to | ||||||
| # dcantrell maintaining the package) made incorrect use of the epoch and | # dcantrell maintaining the package) made incorrect use of the epoch and | ||||||
| # that's why it is at 12 now.  It should have never been used, but it was. | # that's why it is at 12 now.  It should have never been used, but it was. | ||||||
| @ -68,10 +71,11 @@ Patch28:  dhcp-4.2.0-noprefixavail.patch | |||||||
| Patch29:  dhcp-4.2.2-remove-bind.patch | Patch29:  dhcp-4.2.2-remove-bind.patch | ||||||
| Patch30:  dhcp-4.2.2-sharedlib.patch | Patch30:  dhcp-4.2.2-sharedlib.patch | ||||||
| Patch31:  dhcp-4.2.0-PPP.patch | Patch31:  dhcp-4.2.0-PPP.patch | ||||||
| Patch32:  dhcp-4.2.2-lpf-ib.patch | Patch32:  dhcp-4.2.2-paranoia-pid.patch | ||||||
| Patch33:  dhcp-4.2.2-improved-xid.patch | Patch33:  dhcp-4.2.2-lpf-ib.patch | ||||||
| Patch34:  dhcp-4.2.2-gpxe-cid.patch | Patch34:  dhcp-4.2.2-improved-xid.patch | ||||||
| Patch35:  dhcp-4.2.2-systemtap.patch | Patch35:  dhcp-4.2.2-gpxe-cid.patch | ||||||
|  | Patch36:  dhcp-4.2.2-systemtap.patch | ||||||
| 
 | 
 | ||||||
| BuildRequires: autoconf | BuildRequires: autoconf | ||||||
| BuildRequires: automake | BuildRequires: automake | ||||||
| @ -311,14 +315,18 @@ rm bind/bind.tar.gz | |||||||
| # DHCPv6 over PPP support (#626514) | # DHCPv6 over PPP support (#626514) | ||||||
| %patch31 -p1 -b .PPP | %patch31 -p1 -b .PPP | ||||||
| 
 | 
 | ||||||
|  | # Move changing of the effective user/group ID after writing new PID file. | ||||||
|  | # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #25806]) | ||||||
|  | %patch32 -p1 -b .paranoia-pid | ||||||
|  | 
 | ||||||
| # IPoIB support (#660681) | # IPoIB support (#660681) | ||||||
| # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24249]) | # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24249]) | ||||||
| %patch32 -p1 -b .lpf-ib | %patch33 -p1 -b .lpf-ib | ||||||
| %patch33 -p1 -b .improved-xid | %patch34 -p1 -b .improved-xid | ||||||
| %patch34 -p1 -b .gpxe-cid | %patch35 -p1 -b .gpxe-cid | ||||||
| 
 | 
 | ||||||
| # http://sourceware.org/systemtap/wiki/SystemTap | # http://sourceware.org/systemtap/wiki/SystemTap | ||||||
| %patch35 -p1 -b .systemtap | %patch36 -p1 -b .systemtap | ||||||
| 
 | 
 | ||||||
| # Copy in the Fedora/RHEL dhclient script | # Copy in the Fedora/RHEL dhclient script | ||||||
| %{__install} -p -m 0755 %{SOURCE4} client/scripts/linux | %{__install} -p -m 0755 %{SOURCE4} client/scripts/linux | ||||||
| @ -662,6 +670,10 @@ fi | |||||||
| %{_initddir}/dhcrelay | %{_initddir}/dhcrelay | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Thu Oct 20 2011 Jiri Popelka <jpopelka@redhat.com> - 12:4.2.3-2 | ||||||
|  | - Move changing of the effective user/group ID after writing new PID file. | ||||||
|  | - Really define _hardened_build this time | ||||||
|  | 
 | ||||||
| * Thu Oct 20 2011 Jiri Popelka <jpopelka@redhat.com> - 12:4.2.3-1 | * Thu Oct 20 2011 Jiri Popelka <jpopelka@redhat.com> - 12:4.2.3-1 | ||||||
| - 4.2.3 | - 4.2.3 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user