[Pkg-shadow-devel] Ubuntu shadow 1:4.1.5.1-1.1ubuntu7

Ubuntu Merge-o-Matic mom at ubuntu.com
Tue Jul 21 09:08:37 UTC 2015


This e-mail has been sent due to an upload to Ubuntu that contains Ubuntu
changes.  It contains the difference between the new version and the
previous version of the same source package in Ubuntu.
-------------- next part --------------
Format: 1.8
Date: Mon, 20 Jul 2015 18:44:12 -0700
Source: shadow
Binary: passwd login uidmap
Architecture: source
Version: 1:4.1.5.1-1.1ubuntu7
Distribution: wily
Urgency: medium
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
Changed-By: Steve Langasek <steve.langasek at ubuntu.com>
Description: 
 login      - system login tools
 passwd     - change and administer password and group data
 uidmap     - programs to help use subuids
Launchpad-Bugs-Fixed: 1475749
Changes: 
 shadow (1:4.1.5.1-1.1ubuntu7) wily; urgency=medium
 .
   * debian/patches/userns/subuids-nonlocal-users: Don't limit
     subuid/subgid support to local users.  Closes LP: #1475749.
Checksums-Sha1: 
 01d000335b65d2299503d7148fc4376f6ca4918c 2398 shadow_4.1.5.1-1.1ubuntu7.dsc
 7c930451af62cefed18e1533b4699b05afed986a 116204 shadow_4.1.5.1-1.1ubuntu7.diff.gz
Checksums-Sha256: 
 c82304b1ff86fb919aaeeaf7b1e08eb8ff0a0db4df88b9cad1d4992ec80a283b 2398 shadow_4.1.5.1-1.1ubuntu7.dsc
 8d127cc9e042d5427cc615f289d5f5c277c2e9fc8b46ba3f1b7cea4ab29f01aa 116204 shadow_4.1.5.1-1.1ubuntu7.diff.gz
Files: 
 06021cf850e65b326a86fa26a44e13e9 2398 admin required shadow_4.1.5.1-1.1ubuntu7.dsc
 a5e14ee932f0da1fd11c46cf116927a5 116204 admin required shadow_4.1.5.1-1.1ubuntu7.diff.gz
Original-Maintainer: Shadow package maintainers <pkg-shadow-devel at lists.alioth.debian.org>
-------------- next part --------------
diff -pruN 1:4.1.5.1-1.1ubuntu6/debian/changelog 1:4.1.5.1-1.1ubuntu7/debian/changelog
--- 1:4.1.5.1-1.1ubuntu6/debian/changelog	2015-07-21 09:05:41.000000000 +0000
+++ 1:4.1.5.1-1.1ubuntu7/debian/changelog	2015-07-21 09:05:40.000000000 +0000
@@ -1,3 +1,10 @@
+shadow (1:4.1.5.1-1.1ubuntu7) wily; urgency=medium
+
+  * debian/patches/userns/subuids-nonlocal-users: Don't limit
+    subuid/subgid support to local users.  Closes LP: #1475749.
+
+ -- Steve Langasek <steve.langasek at ubuntu.com>  Mon, 20 Jul 2015 18:44:12 -0700
+
 shadow (1:4.1.5.1-1.1ubuntu6) wily; urgency=medium
 
   * extrausers support for useradd and groupadd (LP: #1323732)
diff -pruN 1:4.1.5.1-1.1ubuntu6/debian/patches/series 1:4.1.5.1-1.1ubuntu7/debian/patches/series
--- 1:4.1.5.1-1.1ubuntu6/debian/patches/series	2015-07-21 09:05:41.000000000 +0000
+++ 1:4.1.5.1-1.1ubuntu7/debian/patches/series	2015-07-21 09:05:40.000000000 +0000
@@ -37,4 +37,5 @@ userns/16_add-argument-sanity-checking.p
 1000_configure_userns
 1010_extrausers.patch
 1020_fix_user_busy_errors
+userns/subuids-nonlocal-users
 1011_extrausers_toggle.patch
diff -pruN 1:4.1.5.1-1.1ubuntu6/debian/patches/userns/subuids-nonlocal-users 1:4.1.5.1-1.1ubuntu7/debian/patches/userns/subuids-nonlocal-users
--- 1:4.1.5.1-1.1ubuntu6/debian/patches/userns/subuids-nonlocal-users	1970-01-01 00:00:00.000000000 +0000
+++ 1:4.1.5.1-1.1ubuntu7/debian/patches/userns/subuids-nonlocal-users	2015-07-21 09:05:40.000000000 +0000
@@ -0,0 +1,138 @@
+Description: Don't limit subuid/subgid support to local users
+ The current implementation of subuid/subgid support in usermod requires the
+ user to be a local user present in /etc/passwd.  There doesn't seem to be a
+ good reason for this; subuids should work equally well for users whose
+ records are in other NSS databases.
+Author: Steve Langasek <steve.langasek at ubuntu.com>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1475749
+
+Index: shadow-4.1.5.1/src/usermod.c
+===================================================================
+--- shadow-4.1.5.1.orig/src/usermod.c
++++ shadow-4.1.5.1/src/usermod.c
+@@ -1672,58 +1672,6 @@
+ 			fail_exit (E_PW_UPDATE);
+ 		}
+ 	}
+-	if (Vflg) {
+-		struct ulong_range_list_entry *ptr;
+-		for (ptr = del_sub_uids; ptr != NULL; ptr = ptr->next) {
+-			unsigned long count = ptr->range.last - ptr->range.first + 1;
+-			if (sub_uid_remove(user_name, ptr->range.first, count) == 0) {
+-				fprintf (stderr,
+-					_("%s: failed to remove uid range %lu-%lu from '%s'\n"),
+-					Prog, ptr->range.first, ptr->range.last, 
+-					sub_uid_dbname ());
+-				fail_exit (E_SUB_UID_UPDATE);
+-			}
+-		}
+-	}
+-	if (vflg) {
+-		struct ulong_range_list_entry *ptr;
+-		for (ptr = add_sub_uids; ptr != NULL; ptr = ptr->next) {
+-			unsigned long count = ptr->range.last - ptr->range.first + 1;
+-			if (sub_uid_add(user_name, ptr->range.first, count) == 0) {
+-				fprintf (stderr,
+-					_("%s: failed to add uid range %lu-%lu from '%s'\n"),
+-					Prog, ptr->range.first, ptr->range.last, 
+-					sub_uid_dbname ());
+-				fail_exit (E_SUB_UID_UPDATE);
+-			}
+-		}
+-	}
+-	if (Wflg) {
+-		struct ulong_range_list_entry *ptr;
+-		for (ptr = del_sub_gids; ptr != NULL; ptr = ptr->next) {
+-			unsigned long count = ptr->range.last - ptr->range.first + 1;
+-			if (sub_gid_remove(user_name, ptr->range.first, count) == 0) {
+-				fprintf (stderr,
+-					_("%s: failed to remove gid range %lu-%lu from '%s'\n"),
+-					Prog, ptr->range.first, ptr->range.last, 
+-					sub_gid_dbname ());
+-				fail_exit (E_SUB_GID_UPDATE);
+-			}
+-		}
+-	}
+-	if (wflg) {
+-		struct ulong_range_list_entry *ptr;
+-		for (ptr = add_sub_gids; ptr != NULL; ptr = ptr->next) {
+-			unsigned long count = ptr->range.last - ptr->range.first + 1;
+-			if (sub_gid_add(user_name, ptr->range.first, count) == 0) {
+-				fprintf (stderr,
+-					_("%s: failed to add gid range %lu-%lu from '%s'\n"),
+-					Prog, ptr->range.first, ptr->range.last, 
+-					sub_gid_dbname ());
+-				fail_exit (E_SUB_GID_UPDATE);
+-			}
+-		}
+-	}
+ }
+ 
+ /*
+@@ -2121,12 +2069,65 @@
+ 	 */
+ 	open_files ();
+ 	if (   cflg || dflg || eflg || fflg || gflg || Lflg || lflg || pflg
+-	    || sflg || uflg || Uflg || vflg || Vflg || wflg || Wflg) {
++	    || sflg || uflg || Uflg) {
+ 		usr_update ();
+ 	}
+ 	if (Gflg || lflg) {
+ 		grp_update ();
+ 	}
++	if (Vflg) {
++		struct ulong_range_list_entry *ptr;
++		for (ptr = del_sub_uids; ptr != NULL; ptr = ptr->next) {
++			unsigned long count = ptr->range.last - ptr->range.first + 1;
++			if (sub_uid_remove(user_name, ptr->range.first, count) == 0) {
++				fprintf (stderr,
++					_("%s: failed to remove uid range %lu-%lu from '%s'\n"),
++					Prog, ptr->range.first, ptr->range.last, 
++					sub_uid_dbname ());
++				fail_exit (E_SUB_UID_UPDATE);
++			}
++		}
++	}
++	if (vflg) {
++		struct ulong_range_list_entry *ptr;
++		for (ptr = add_sub_uids; ptr != NULL; ptr = ptr->next) {
++			unsigned long count = ptr->range.last - ptr->range.first + 1;
++			if (sub_uid_add(user_name, ptr->range.first, count) == 0) {
++				fprintf (stderr,
++					_("%s: failed to add uid range %lu-%lu from '%s'\n"),
++					Prog, ptr->range.first, ptr->range.last, 
++					sub_uid_dbname ());
++				fail_exit (E_SUB_UID_UPDATE);
++			}
++		}
++	}
++	if (Wflg) {
++		struct ulong_range_list_entry *ptr;
++		for (ptr = del_sub_gids; ptr != NULL; ptr = ptr->next) {
++			unsigned long count = ptr->range.last - ptr->range.first + 1;
++			if (sub_gid_remove(user_name, ptr->range.first, count) == 0) {
++				fprintf (stderr,
++					_("%s: failed to remove gid range %lu-%lu from '%s'\n"),
++					Prog, ptr->range.first, ptr->range.last, 
++					sub_gid_dbname ());
++				fail_exit (E_SUB_GID_UPDATE);
++			}
++		}
++	}
++	if (wflg) {
++		struct ulong_range_list_entry *ptr;
++		for (ptr = add_sub_gids; ptr != NULL; ptr = ptr->next) {
++			unsigned long count = ptr->range.last - ptr->range.first + 1;
++			if (sub_gid_add(user_name, ptr->range.first, count) == 0) {
++				fprintf (stderr,
++					_("%s: failed to add gid range %lu-%lu from '%s'\n"),
++					Prog, ptr->range.first, ptr->range.last, 
++					sub_gid_dbname ());
++				fail_exit (E_SUB_GID_UPDATE);
++			}
++		}
++	}
++
+ 	close_files ();
+ 
+ #ifdef WITH_TCB


More information about the Pkg-shadow-devel mailing list