diff options
Diffstat (limited to 'meta/recipes-extended')
10 files changed, 133 insertions, 333 deletions
diff --git a/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch b/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch index aac2d42b12..ab317b9aa0 100644 --- a/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch +++ b/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 8cf3454d567f77233023be49a39a33e9f0836f89 Mon Sep 17 00:00:00 2001 | 1 | From fa2d9453656641002802d8165e80adb9e6a729d2 Mon Sep 17 00:00:00 2001 |
2 | From: Scott Garman <scott.a.garman@intel.com> | 2 | From: Scott Garman <scott.a.garman@intel.com> |
3 | Date: Thu, 14 Apr 2016 12:28:57 +0200 | 3 | Date: Thu, 14 Apr 2016 12:28:57 +0200 |
4 | Subject: [PATCH] Disable use of syslog for sysroot | 4 | Subject: [PATCH] Disable use of syslog for sysroot |
@@ -12,6 +12,7 @@ Upstream-Status: Inappropriate [disable feature] | |||
12 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> | 12 | Signed-off-by: Scott Garman <scott.a.garman@intel.com> |
13 | Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 13 | Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> |
14 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | 14 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
15 | |||
15 | --- | 16 | --- |
16 | src/groupadd.c | 3 +++ | 17 | src/groupadd.c | 3 +++ |
17 | src/groupdel.c | 3 +++ | 18 | src/groupdel.c | 3 +++ |
@@ -23,7 +24,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
23 | 7 files changed, 21 insertions(+) | 24 | 7 files changed, 21 insertions(+) |
24 | 25 | ||
25 | diff --git a/src/groupadd.c b/src/groupadd.c | 26 | diff --git a/src/groupadd.c b/src/groupadd.c |
26 | index 63e1c48..a596c49 100644 | 27 | index 2dd8eec..e9c4bb7 100644 |
27 | --- a/src/groupadd.c | 28 | --- a/src/groupadd.c |
28 | +++ b/src/groupadd.c | 29 | +++ b/src/groupadd.c |
29 | @@ -34,6 +34,9 @@ | 30 | @@ -34,6 +34,9 @@ |
@@ -37,7 +38,7 @@ index 63e1c48..a596c49 100644 | |||
37 | #include <fcntl.h> | 38 | #include <fcntl.h> |
38 | #include <getopt.h> | 39 | #include <getopt.h> |
39 | diff --git a/src/groupdel.c b/src/groupdel.c | 40 | diff --git a/src/groupdel.c b/src/groupdel.c |
40 | index 70bed01..ababd81 100644 | 41 | index f941a84..5a70056 100644 |
41 | --- a/src/groupdel.c | 42 | --- a/src/groupdel.c |
42 | +++ b/src/groupdel.c | 43 | +++ b/src/groupdel.c |
43 | @@ -34,6 +34,9 @@ | 44 | @@ -34,6 +34,9 @@ |
@@ -65,7 +66,7 @@ index fc91c8b..2842514 100644 | |||
65 | #include <getopt.h> | 66 | #include <getopt.h> |
66 | #include <grp.h> | 67 | #include <grp.h> |
67 | diff --git a/src/groupmod.c b/src/groupmod.c | 68 | diff --git a/src/groupmod.c b/src/groupmod.c |
68 | index 72daf2c..8965f9d 100644 | 69 | index 1dca5fc..bc14438 100644 |
69 | --- a/src/groupmod.c | 70 | --- a/src/groupmod.c |
70 | +++ b/src/groupmod.c | 71 | +++ b/src/groupmod.c |
71 | @@ -34,6 +34,9 @@ | 72 | @@ -34,6 +34,9 @@ |
@@ -79,7 +80,7 @@ index 72daf2c..8965f9d 100644 | |||
79 | #include <fcntl.h> | 80 | #include <fcntl.h> |
80 | #include <getopt.h> | 81 | #include <getopt.h> |
81 | diff --git a/src/useradd.c b/src/useradd.c | 82 | diff --git a/src/useradd.c b/src/useradd.c |
82 | index 3aaf45c..1ab9174 100644 | 83 | index 4af0f7c..1b7bf06 100644 |
83 | --- a/src/useradd.c | 84 | --- a/src/useradd.c |
84 | +++ b/src/useradd.c | 85 | +++ b/src/useradd.c |
85 | @@ -34,6 +34,9 @@ | 86 | @@ -34,6 +34,9 @@ |
@@ -93,7 +94,7 @@ index 3aaf45c..1ab9174 100644 | |||
93 | #include <ctype.h> | 94 | #include <ctype.h> |
94 | #include <errno.h> | 95 | #include <errno.h> |
95 | diff --git a/src/userdel.c b/src/userdel.c | 96 | diff --git a/src/userdel.c b/src/userdel.c |
96 | index c8de1d3..24d3ea9 100644 | 97 | index cc951e5..153e0be 100644 |
97 | --- a/src/userdel.c | 98 | --- a/src/userdel.c |
98 | +++ b/src/userdel.c | 99 | +++ b/src/userdel.c |
99 | @@ -34,6 +34,9 @@ | 100 | @@ -34,6 +34,9 @@ |
@@ -107,7 +108,7 @@ index c8de1d3..24d3ea9 100644 | |||
107 | #include <errno.h> | 108 | #include <errno.h> |
108 | #include <fcntl.h> | 109 | #include <fcntl.h> |
109 | diff --git a/src/usermod.c b/src/usermod.c | 110 | diff --git a/src/usermod.c b/src/usermod.c |
110 | index ccfbb99..24fb60d 100644 | 111 | index 05b9871..21c6da9 100644 |
111 | --- a/src/usermod.c | 112 | --- a/src/usermod.c |
112 | +++ b/src/usermod.c | 113 | +++ b/src/usermod.c |
113 | @@ -34,6 +34,9 @@ | 114 | @@ -34,6 +34,9 @@ |
@@ -120,6 +121,3 @@ index ccfbb99..24fb60d 100644 | |||
120 | #include <assert.h> | 121 | #include <assert.h> |
121 | #include <ctype.h> | 122 | #include <ctype.h> |
122 | #include <errno.h> | 123 | #include <errno.h> |
123 | -- | ||
124 | 2.11.0 | ||
125 | |||
diff --git a/meta/recipes-extended/shadow/files/0001-Do-not-check-for-validity-of-shell-executable.patch b/meta/recipes-extended/shadow/files/0001-Do-not-check-for-validity-of-shell-executable.patch new file mode 100644 index 0000000000..2d15ff0673 --- /dev/null +++ b/meta/recipes-extended/shadow/files/0001-Do-not-check-for-validity-of-shell-executable.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From 0d0aded7307a9f4ee0d299951512acd18b3e029e Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Wed, 4 Dec 2019 19:28:48 +0100 | ||
4 | Subject: [PATCH] Do not check for validity of shell executable. | ||
5 | |||
6 | This kind of check fails when building a rootfs. | ||
7 | |||
8 | Upstream-Status: Inappropriate [oe-core specific] | ||
9 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
10 | --- | ||
11 | src/useradd.c | 5 +---- | ||
12 | 1 file changed, 1 insertion(+), 4 deletions(-) | ||
13 | |||
14 | diff --git a/src/useradd.c b/src/useradd.c | ||
15 | index 4af0f7c..898fe02 100644 | ||
16 | --- a/src/useradd.c | ||
17 | +++ b/src/useradd.c | ||
18 | @@ -1328,10 +1328,7 @@ static void process_flags (int argc, char **argv) | ||
19 | if ( ( !VALID (optarg) ) | ||
20 | || ( ('\0' != optarg[0]) | ||
21 | && ('/' != optarg[0]) | ||
22 | - && ('*' != optarg[0]) ) | ||
23 | - || (stat(optarg, &st) != 0) | ||
24 | - || (S_ISDIR(st.st_mode)) | ||
25 | - || (access(optarg, X_OK) != 0)) { | ||
26 | + && ('*' != optarg[0]) )) { | ||
27 | fprintf (stderr, | ||
28 | _("%s: invalid shell '%s'\n"), | ||
29 | Prog, optarg); | ||
diff --git a/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch b/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch deleted file mode 100644 index de0ba3ebb4..0000000000 --- a/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | From fe34a2a0e44bc80ff213bfd185046a5f10c94997 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chris Lamb <chris@chris-lamb.co.uk> | ||
3 | Date: Wed, 2 Jan 2019 18:06:16 +0000 | ||
4 | Subject: [PATCH 1/2] Make the sp_lstchg shadow field reproducible (re. #71) | ||
5 | |||
6 | From <https://github.com/shadow-maint/shadow/pull/71>: | ||
7 | |||
8 | ``` | ||
9 | The third field in the /etc/shadow file (sp_lstchg) contains the date of | ||
10 | the last password change expressed as the number of days since Jan 1, 1970. | ||
11 | As this is a relative time, creating a user today will result in: | ||
12 | |||
13 | username:17238:0:99999:7::: | ||
14 | whilst creating the same user tomorrow will result in: | ||
15 | |||
16 | username:17239:0:99999:7::: | ||
17 | This has an impact for the Reproducible Builds[0] project where we aim to | ||
18 | be independent of as many elements the build environment as possible, | ||
19 | including the current date. | ||
20 | |||
21 | This patch changes the behaviour to use the SOURCE_DATE_EPOCH[1] | ||
22 | environment variable (instead of Jan 1, 1970) if valid. | ||
23 | ``` | ||
24 | |||
25 | This updated PR adds some missing calls to gettime (). This was originally | ||
26 | filed by Johannes Schauer in Debian as #917773 [2]. | ||
27 | |||
28 | [0] https://reproducible-builds.org/ | ||
29 | [1] https://reproducible-builds.org/specs/source-date-epoch/ | ||
30 | [2] https://bugs.debian.org/917773 | ||
31 | |||
32 | Upstream-Status: Backport | ||
33 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
34 | --- | ||
35 | libmisc/pwd2spwd.c | 3 +-- | ||
36 | src/pwck.c | 2 +- | ||
37 | src/pwconv.c | 2 +- | ||
38 | 3 files changed, 3 insertions(+), 4 deletions(-) | ||
39 | |||
40 | diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c | ||
41 | index c1b9b29ac873..6799dd50d490 100644 | ||
42 | --- a/libmisc/pwd2spwd.c | ||
43 | +++ b/libmisc/pwd2spwd.c | ||
44 | @@ -40,7 +40,6 @@ | ||
45 | #include "prototypes.h" | ||
46 | #include "defines.h" | ||
47 | #include <pwd.h> | ||
48 | -extern time_t time (time_t *); | ||
49 | |||
50 | /* | ||
51 | * pwd_to_spwd - create entries for new spwd structure | ||
52 | @@ -66,7 +65,7 @@ struct spwd *pwd_to_spwd (const struct passwd *pw) | ||
53 | */ | ||
54 | sp.sp_min = 0; | ||
55 | sp.sp_max = (10000L * DAY) / SCALE; | ||
56 | - sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE; | ||
57 | + sp.sp_lstchg = (long) gettime () / SCALE; | ||
58 | if (0 == sp.sp_lstchg) { | ||
59 | /* Better disable aging than requiring a password | ||
60 | * change */ | ||
61 | diff --git a/src/pwck.c b/src/pwck.c | ||
62 | index 0ffb711efb13..f70071b12500 100644 | ||
63 | --- a/src/pwck.c | ||
64 | +++ b/src/pwck.c | ||
65 | @@ -609,7 +609,7 @@ static void check_pw_file (int *errors, bool *changed) | ||
66 | sp.sp_inact = -1; | ||
67 | sp.sp_expire = -1; | ||
68 | sp.sp_flag = SHADOW_SP_FLAG_UNSET; | ||
69 | - sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE; | ||
70 | + sp.sp_lstchg = (long) gettime () / SCALE; | ||
71 | if (0 == sp.sp_lstchg) { | ||
72 | /* Better disable aging than | ||
73 | * requiring a password change | ||
74 | diff --git a/src/pwconv.c b/src/pwconv.c | ||
75 | index 9c69fa131d8e..f932f266c59c 100644 | ||
76 | --- a/src/pwconv.c | ||
77 | +++ b/src/pwconv.c | ||
78 | @@ -267,7 +267,7 @@ int main (int argc, char **argv) | ||
79 | spent.sp_flag = SHADOW_SP_FLAG_UNSET; | ||
80 | } | ||
81 | spent.sp_pwdp = pw->pw_passwd; | ||
82 | - spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE; | ||
83 | + spent.sp_lstchg = (long) gettime () / SCALE; | ||
84 | if (0 == spent.sp_lstchg) { | ||
85 | /* Better disable aging than requiring a password | ||
86 | * change */ | ||
87 | -- | ||
88 | 2.17.1 | ||
89 | |||
diff --git a/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch b/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch deleted file mode 100644 index a74cbb0c0e..0000000000 --- a/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | From 3c52a84ff8775590e7e9da9c0d4408c23494305e Mon Sep 17 00:00:00 2001 | ||
2 | From: Yi Zhao <yi.zhao@windriver.com> | ||
3 | Date: Mon, 17 Jun 2019 15:36:34 +0800 | ||
4 | Subject: [PATCH] configure.ac: fix configure error with dash | ||
5 | |||
6 | A configure error occurs when /bin/sh -> dash: | ||
7 | checking for is_selinux_enabled in -lselinux... yes | ||
8 | checking for semanage_connect in -lsemanage... yes | ||
9 | configure: 16322: test: yesyes: unexpected operator | ||
10 | |||
11 | Use "=" instead of "==" since dash doesn't support this operator. | ||
12 | |||
13 | Upstream-Status: Backport | ||
14 | [https://github.com/shadow-maint/shadow/commit/3c52a84ff8775590e7e9da9c0d4408c23494305e] | ||
15 | |||
16 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
17 | --- | ||
18 | configure.ac | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/configure.ac b/configure.ac | ||
22 | index 6762556..1907afb 100644 | ||
23 | --- a/configure.ac | ||
24 | +++ b/configure.ac | ||
25 | @@ -500,7 +500,7 @@ if test "$with_selinux" != "no"; then | ||
26 | AC_MSG_ERROR([libsemanage not found]) | ||
27 | fi | ||
28 | |||
29 | - if test "$selinux_lib$semanage_lib" == "yesyes" ; then | ||
30 | + if test "$selinux_lib$semanage_lib" = "yesyes" ; then | ||
31 | AC_DEFINE(WITH_SELINUX, 1, | ||
32 | [Build shadow with SELinux support]) | ||
33 | LIBSELINUX="-lselinux" | ||
34 | -- | ||
35 | 2.7.4 | ||
36 | |||
diff --git a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch b/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch deleted file mode 100644 index faa6f68ebe..0000000000 --- a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch +++ /dev/null | |||
@@ -1,116 +0,0 @@ | |||
1 | Subject: [PATCH] useradd.c: create parent directories when necessary | ||
2 | |||
3 | Upstream-Status: Inappropriate [OE specific] | ||
4 | |||
5 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
6 | --- | ||
7 | src/useradd.c | 80 +++++++++++++++++++++++++++++++++++++++-------------------- | ||
8 | 1 file changed, 53 insertions(+), 27 deletions(-) | ||
9 | |||
10 | diff --git a/src/useradd.c b/src/useradd.c | ||
11 | index 00a3c30..9ecbb58 100644 | ||
12 | --- a/src/useradd.c | ||
13 | +++ b/src/useradd.c | ||
14 | @@ -2021,6 +2021,35 @@ static void usr_update (void) | ||
15 | } | ||
16 | |||
17 | /* | ||
18 | + * mkdir_p - create directories, including parent directories when needed | ||
19 | + * | ||
20 | + * similar to `mkdir -p' | ||
21 | + */ | ||
22 | +void mkdir_p(const char *path) { | ||
23 | + int len = strlen(path); | ||
24 | + char newdir[len + 1]; | ||
25 | + mode_t mode = 0755; | ||
26 | + int i = 0; | ||
27 | + | ||
28 | + if (path[i] == '\0') { | ||
29 | + return; | ||
30 | + } | ||
31 | + | ||
32 | + /* skip the leading '/' */ | ||
33 | + i++; | ||
34 | + | ||
35 | + while(path[i] != '\0') { | ||
36 | + if (path[i] == '/') { | ||
37 | + strncpy(newdir, path, i); | ||
38 | + newdir[i] = '\0'; | ||
39 | + mkdir(newdir, mode); | ||
40 | + } | ||
41 | + i++; | ||
42 | + } | ||
43 | + mkdir(path, mode); | ||
44 | +} | ||
45 | + | ||
46 | +/* | ||
47 | * create_home - create the user's home directory | ||
48 | * | ||
49 | * create_home() creates the user's home directory if it does not | ||
50 | @@ -2038,39 +2067,36 @@ static void create_home (void) | ||
51 | fail_exit (E_HOMEDIR); | ||
52 | } | ||
53 | #endif | ||
54 | - /* XXX - create missing parent directories. --marekm */ | ||
55 | - if (mkdir (prefix_user_home, 0) != 0) { | ||
56 | - fprintf (stderr, | ||
57 | - _("%s: cannot create directory %s\n"), | ||
58 | - Prog, prefix_user_home); | ||
59 | + mkdir_p(user_home); | ||
60 | + } | ||
61 | + if (access (prefix_user_home, F_OK) != 0) { | ||
62 | #ifdef WITH_AUDIT | ||
63 | - audit_logger (AUDIT_ADD_USER, Prog, | ||
64 | - "adding home directory", | ||
65 | - user_name, (unsigned int) user_id, | ||
66 | - SHADOW_AUDIT_FAILURE); | ||
67 | + audit_logger (AUDIT_ADD_USER, Prog, | ||
68 | + "adding home directory", | ||
69 | + user_name, (unsigned int) user_id, | ||
70 | + SHADOW_AUDIT_FAILURE); | ||
71 | #endif | ||
72 | - fail_exit (E_HOMEDIR); | ||
73 | - } | ||
74 | - (void) chown (prefix_user_home, user_id, user_gid); | ||
75 | - chmod (prefix_user_home, | ||
76 | - 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); | ||
77 | - home_added = true; | ||
78 | + fail_exit (E_HOMEDIR); | ||
79 | + } | ||
80 | + (void) chown (prefix_user_home, user_id, user_gid); | ||
81 | + chmod (prefix_user_home, | ||
82 | + 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); | ||
83 | + home_added = true; | ||
84 | #ifdef WITH_AUDIT | ||
85 | - audit_logger (AUDIT_ADD_USER, Prog, | ||
86 | - "adding home directory", | ||
87 | - user_name, (unsigned int) user_id, | ||
88 | - SHADOW_AUDIT_SUCCESS); | ||
89 | + audit_logger (AUDIT_ADD_USER, Prog, | ||
90 | + "adding home directory", | ||
91 | + user_name, (unsigned int) user_id, | ||
92 | + SHADOW_AUDIT_SUCCESS); | ||
93 | #endif | ||
94 | #ifdef WITH_SELINUX | ||
95 | - /* Reset SELinux to create files with default contexts */ | ||
96 | - if (reset_selinux_file_context () != 0) { | ||
97 | - fprintf (stderr, | ||
98 | - _("%s: cannot reset SELinux file creation context\n"), | ||
99 | - Prog); | ||
100 | - fail_exit (E_HOMEDIR); | ||
101 | - } | ||
102 | -#endif | ||
103 | + /* Reset SELinux to create files with default contexts */ | ||
104 | + if (reset_selinux_file_context () != 0) { | ||
105 | + fprintf (stderr, | ||
106 | + _("%s: cannot reset SELinux file creation context\n"), | ||
107 | + Prog); | ||
108 | + fail_exit (E_HOMEDIR); | ||
109 | } | ||
110 | +#endif | ||
111 | } | ||
112 | |||
113 | /* | ||
114 | -- | ||
115 | 2.11.0 | ||
116 | |||
diff --git a/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch b/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch index fa7eb07aa5..c6332e4f76 100644 --- a/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch +++ b/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch | |||
@@ -1,8 +1,12 @@ | |||
1 | From a7d995228491ad5255ad86c1f04ba071f6880897 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Sat, 16 Nov 2013 15:27:47 +0800 | ||
1 | Subject: [PATCH] Allow for setting password in clear text | 4 | Subject: [PATCH] Allow for setting password in clear text |
2 | 5 | ||
3 | Upstream-Status: Inappropriate [OE specific] | 6 | Upstream-Status: Inappropriate [OE specific] |
4 | 7 | ||
5 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | 8 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
9 | |||
6 | --- | 10 | --- |
7 | src/Makefile.am | 8 ++++---- | 11 | src/Makefile.am | 8 ++++---- |
8 | src/groupadd.c | 20 +++++++++++++++----- | 12 | src/groupadd.c | 20 +++++++++++++++----- |
@@ -12,39 +16,39 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
12 | 5 files changed, 64 insertions(+), 25 deletions(-) | 16 | 5 files changed, 64 insertions(+), 25 deletions(-) |
13 | 17 | ||
14 | diff --git a/src/Makefile.am b/src/Makefile.am | 18 | diff --git a/src/Makefile.am b/src/Makefile.am |
15 | index 3c98a8d..b8093d5 100644 | 19 | index f31fd7a..4a317a3 100644 |
16 | --- a/src/Makefile.am | 20 | --- a/src/Makefile.am |
17 | +++ b/src/Makefile.am | 21 | +++ b/src/Makefile.am |
18 | @@ -93,10 +93,10 @@ chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBSELINUX) $(LIBCRYPT) | 22 | @@ -103,10 +103,10 @@ chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) |
19 | chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) | 23 | chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) |
20 | chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT) | 24 | expiry_LDADD = $(LDADD) $(LIBECONF) |
21 | gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) | 25 | gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) |
22 | -groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) | 26 | -groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) |
23 | +groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) | 27 | +groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT) |
24 | groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) | 28 | groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) |
25 | groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) | 29 | groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) |
26 | -groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) | 30 | -groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) |
27 | +groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) | 31 | +groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT) |
28 | grpck_LDADD = $(LDADD) $(LIBSELINUX) | 32 | grpck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) |
29 | grpconv_LDADD = $(LDADD) $(LIBSELINUX) | 33 | grpconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) |
30 | grpunconv_LDADD = $(LDADD) $(LIBSELINUX) | 34 | grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) |
31 | @@ -117,9 +117,9 @@ su_SOURCES = \ | 35 | @@ -127,9 +127,9 @@ su_SOURCES = \ |
32 | suauth.c | 36 | suauth.c |
33 | su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) | 37 | su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) |
34 | sulogin_LDADD = $(LDADD) $(LIBCRYPT) | 38 | sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF) |
35 | -useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) | 39 | -useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) |
36 | +useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBCRYPT) | 40 | +useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT) |
37 | userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) | 41 | userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) |
38 | -usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) | 42 | -usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) |
39 | +usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBCRYPT) | 43 | +usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT) |
40 | vipw_LDADD = $(LDADD) $(LIBSELINUX) | 44 | vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) |
41 | 45 | ||
42 | install-am: all-am | 46 | install-am: all-am |
43 | diff --git a/src/groupadd.c b/src/groupadd.c | 47 | diff --git a/src/groupadd.c b/src/groupadd.c |
44 | index b57006c..63e1c48 100644 | 48 | index e9c4bb7..d572c00 100644 |
45 | --- a/src/groupadd.c | 49 | --- a/src/groupadd.c |
46 | +++ b/src/groupadd.c | 50 | +++ b/src/groupadd.c |
47 | @@ -123,9 +123,10 @@ static /*@noreturn@*/void usage (int status) | 51 | @@ -127,9 +127,10 @@ static /*@noreturn@*/void usage (int status) |
48 | (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n" | 52 | (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n" |
49 | " (non-unique) GID\n"), usageout); | 53 | " (non-unique) GID\n"), usageout); |
50 | (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout); | 54 | (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout); |
@@ -56,7 +60,7 @@ index b57006c..63e1c48 100644 | |||
56 | (void) fputs ("\n", usageout); | 60 | (void) fputs ("\n", usageout); |
57 | exit (status); | 61 | exit (status); |
58 | } | 62 | } |
59 | @@ -387,13 +388,14 @@ static void process_flags (int argc, char **argv) | 63 | @@ -391,13 +392,14 @@ static void process_flags (int argc, char **argv) |
60 | {"key", required_argument, NULL, 'K'}, | 64 | {"key", required_argument, NULL, 'K'}, |
61 | {"non-unique", no_argument, NULL, 'o'}, | 65 | {"non-unique", no_argument, NULL, 'o'}, |
62 | {"password", required_argument, NULL, 'p'}, | 66 | {"password", required_argument, NULL, 'p'}, |
@@ -73,7 +77,7 @@ index b57006c..63e1c48 100644 | |||
73 | long_options, NULL)) != -1) { | 77 | long_options, NULL)) != -1) { |
74 | switch (c) { | 78 | switch (c) { |
75 | case 'f': | 79 | case 'f': |
76 | @@ -445,12 +447,20 @@ static void process_flags (int argc, char **argv) | 80 | @@ -449,12 +451,20 @@ static void process_flags (int argc, char **argv) |
77 | pflg = true; | 81 | pflg = true; |
78 | group_passwd = optarg; | 82 | group_passwd = optarg; |
79 | break; | 83 | break; |
@@ -95,7 +99,7 @@ index b57006c..63e1c48 100644 | |||
95 | break; | 99 | break; |
96 | default: | 100 | default: |
97 | usage (E_USAGE); | 101 | usage (E_USAGE); |
98 | @@ -584,7 +594,7 @@ int main (int argc, char **argv) | 102 | @@ -588,7 +598,7 @@ int main (int argc, char **argv) |
99 | (void) textdomain (PACKAGE); | 103 | (void) textdomain (PACKAGE); |
100 | 104 | ||
101 | process_root_flag ("-R", argc, argv); | 105 | process_root_flag ("-R", argc, argv); |
@@ -105,10 +109,10 @@ index b57006c..63e1c48 100644 | |||
105 | OPENLOG ("groupadd"); | 109 | OPENLOG ("groupadd"); |
106 | #ifdef WITH_AUDIT | 110 | #ifdef WITH_AUDIT |
107 | diff --git a/src/groupmod.c b/src/groupmod.c | 111 | diff --git a/src/groupmod.c b/src/groupmod.c |
108 | index b293b98..72daf2c 100644 | 112 | index bc14438..25ccb44 100644 |
109 | --- a/src/groupmod.c | 113 | --- a/src/groupmod.c |
110 | +++ b/src/groupmod.c | 114 | +++ b/src/groupmod.c |
111 | @@ -134,8 +134,9 @@ static void usage (int status) | 115 | @@ -138,8 +138,9 @@ static void usage (int status) |
112 | (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), usageout); | 116 | (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), usageout); |
113 | (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n" | 117 | (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n" |
114 | " PASSWORD\n"), usageout); | 118 | " PASSWORD\n"), usageout); |
@@ -119,7 +123,7 @@ index b293b98..72daf2c 100644 | |||
119 | (void) fputs ("\n", usageout); | 123 | (void) fputs ("\n", usageout); |
120 | exit (status); | 124 | exit (status); |
121 | } | 125 | } |
122 | @@ -383,11 +384,12 @@ static void process_flags (int argc, char **argv) | 126 | @@ -387,11 +388,12 @@ static void process_flags (int argc, char **argv) |
123 | {"new-name", required_argument, NULL, 'n'}, | 127 | {"new-name", required_argument, NULL, 'n'}, |
124 | {"non-unique", no_argument, NULL, 'o'}, | 128 | {"non-unique", no_argument, NULL, 'o'}, |
125 | {"password", required_argument, NULL, 'p'}, | 129 | {"password", required_argument, NULL, 'p'}, |
@@ -134,7 +138,7 @@ index b293b98..72daf2c 100644 | |||
134 | long_options, NULL)) != -1) { | 138 | long_options, NULL)) != -1) { |
135 | switch (c) { | 139 | switch (c) { |
136 | case 'g': | 140 | case 'g': |
137 | @@ -414,9 +416,17 @@ static void process_flags (int argc, char **argv) | 141 | @@ -418,9 +420,17 @@ static void process_flags (int argc, char **argv) |
138 | group_passwd = optarg; | 142 | group_passwd = optarg; |
139 | pflg = true; | 143 | pflg = true; |
140 | break; | 144 | break; |
@@ -153,7 +157,7 @@ index b293b98..72daf2c 100644 | |||
153 | break; | 157 | break; |
154 | default: | 158 | default: |
155 | usage (E_USAGE); | 159 | usage (E_USAGE); |
156 | @@ -757,7 +767,7 @@ int main (int argc, char **argv) | 160 | @@ -761,7 +771,7 @@ int main (int argc, char **argv) |
157 | (void) textdomain (PACKAGE); | 161 | (void) textdomain (PACKAGE); |
158 | 162 | ||
159 | process_root_flag ("-R", argc, argv); | 163 | process_root_flag ("-R", argc, argv); |
@@ -163,10 +167,10 @@ index b293b98..72daf2c 100644 | |||
163 | OPENLOG ("groupmod"); | 167 | OPENLOG ("groupmod"); |
164 | #ifdef WITH_AUDIT | 168 | #ifdef WITH_AUDIT |
165 | diff --git a/src/useradd.c b/src/useradd.c | 169 | diff --git a/src/useradd.c b/src/useradd.c |
166 | index c74e491..7214e72 100644 | 170 | index 1b7bf06..44f09e2 100644 |
167 | --- a/src/useradd.c | 171 | --- a/src/useradd.c |
168 | +++ b/src/useradd.c | 172 | +++ b/src/useradd.c |
169 | @@ -829,9 +829,10 @@ static void usage (int status) | 173 | @@ -853,9 +853,10 @@ static void usage (int status) |
170 | (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n" | 174 | (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n" |
171 | " (non-unique) UID\n"), usageout); | 175 | " (non-unique) UID\n"), usageout); |
172 | (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), usageout); | 176 | (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), usageout); |
@@ -178,7 +182,7 @@ index c74e491..7214e72 100644 | |||
178 | (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), usageout); | 182 | (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), usageout); |
179 | (void) fputs (_(" -u, --uid UID user ID of the new account\n"), usageout); | 183 | (void) fputs (_(" -u, --uid UID user ID of the new account\n"), usageout); |
180 | (void) fputs (_(" -U, --user-group create a group with the same name as the user\n"), usageout); | 184 | (void) fputs (_(" -U, --user-group create a group with the same name as the user\n"), usageout); |
181 | @@ -1104,9 +1105,10 @@ static void process_flags (int argc, char **argv) | 185 | @@ -1133,9 +1134,10 @@ static void process_flags (int argc, char **argv) |
182 | {"no-user-group", no_argument, NULL, 'N'}, | 186 | {"no-user-group", no_argument, NULL, 'N'}, |
183 | {"non-unique", no_argument, NULL, 'o'}, | 187 | {"non-unique", no_argument, NULL, 'o'}, |
184 | {"password", required_argument, NULL, 'p'}, | 188 | {"password", required_argument, NULL, 'p'}, |
@@ -190,7 +194,7 @@ index c74e491..7214e72 100644 | |||
190 | {"shell", required_argument, NULL, 's'}, | 194 | {"shell", required_argument, NULL, 's'}, |
191 | {"uid", required_argument, NULL, 'u'}, | 195 | {"uid", required_argument, NULL, 'u'}, |
192 | {"user-group", no_argument, NULL, 'U'}, | 196 | {"user-group", no_argument, NULL, 'U'}, |
193 | @@ -1117,9 +1119,9 @@ static void process_flags (int argc, char **argv) | 197 | @@ -1146,9 +1148,9 @@ static void process_flags (int argc, char **argv) |
194 | }; | 198 | }; |
195 | while ((c = getopt_long (argc, argv, | 199 | while ((c = getopt_long (argc, argv, |
196 | #ifdef WITH_SELINUX | 200 | #ifdef WITH_SELINUX |
@@ -202,7 +206,7 @@ index c74e491..7214e72 100644 | |||
202 | #endif /* !WITH_SELINUX */ | 206 | #endif /* !WITH_SELINUX */ |
203 | long_options, NULL)) != -1) { | 207 | long_options, NULL)) != -1) { |
204 | switch (c) { | 208 | switch (c) { |
205 | @@ -1285,12 +1287,19 @@ static void process_flags (int argc, char **argv) | 209 | @@ -1320,12 +1322,19 @@ static void process_flags (int argc, char **argv) |
206 | } | 210 | } |
207 | user_pass = optarg; | 211 | user_pass = optarg; |
208 | break; | 212 | break; |
@@ -223,7 +227,7 @@ index c74e491..7214e72 100644 | |||
223 | break; | 227 | break; |
224 | case 's': | 228 | case 's': |
225 | if ( ( !VALID (optarg) ) | 229 | if ( ( !VALID (optarg) ) |
226 | @@ -2148,7 +2157,7 @@ int main (int argc, char **argv) | 230 | @@ -2257,7 +2266,7 @@ int main (int argc, char **argv) |
227 | 231 | ||
228 | process_root_flag ("-R", argc, argv); | 232 | process_root_flag ("-R", argc, argv); |
229 | 233 | ||
@@ -233,10 +237,10 @@ index c74e491..7214e72 100644 | |||
233 | OPENLOG ("useradd"); | 237 | OPENLOG ("useradd"); |
234 | #ifdef WITH_AUDIT | 238 | #ifdef WITH_AUDIT |
235 | diff --git a/src/usermod.c b/src/usermod.c | 239 | diff --git a/src/usermod.c b/src/usermod.c |
236 | index e571426..ccfbb99 100644 | 240 | index 21c6da9..cffdb3e 100644 |
237 | --- a/src/usermod.c | 241 | --- a/src/usermod.c |
238 | +++ b/src/usermod.c | 242 | +++ b/src/usermod.c |
239 | @@ -424,8 +424,9 @@ static /*@noreturn@*/void usage (int status) | 243 | @@ -431,8 +431,9 @@ static /*@noreturn@*/void usage (int status) |
240 | " new location (use only with -d)\n"), usageout); | 244 | " new location (use only with -d)\n"), usageout); |
241 | (void) fputs (_(" -o, --non-unique allow using duplicate (non-unique) UID\n"), usageout); | 245 | (void) fputs (_(" -o, --non-unique allow using duplicate (non-unique) UID\n"), usageout); |
242 | (void) fputs (_(" -p, --password PASSWORD use encrypted password for the new password\n"), usageout); | 246 | (void) fputs (_(" -p, --password PASSWORD use encrypted password for the new password\n"), usageout); |
@@ -247,7 +251,7 @@ index e571426..ccfbb99 100644 | |||
247 | (void) fputs (_(" -s, --shell SHELL new login shell for the user account\n"), usageout); | 251 | (void) fputs (_(" -s, --shell SHELL new login shell for the user account\n"), usageout); |
248 | (void) fputs (_(" -u, --uid UID new UID for the user account\n"), usageout); | 252 | (void) fputs (_(" -u, --uid UID new UID for the user account\n"), usageout); |
249 | (void) fputs (_(" -U, --unlock unlock the user account\n"), usageout); | 253 | (void) fputs (_(" -U, --unlock unlock the user account\n"), usageout); |
250 | @@ -1002,8 +1003,9 @@ static void process_flags (int argc, char **argv) | 254 | @@ -1010,8 +1011,9 @@ static void process_flags (int argc, char **argv) |
251 | {"move-home", no_argument, NULL, 'm'}, | 255 | {"move-home", no_argument, NULL, 'm'}, |
252 | {"non-unique", no_argument, NULL, 'o'}, | 256 | {"non-unique", no_argument, NULL, 'o'}, |
253 | {"password", required_argument, NULL, 'p'}, | 257 | {"password", required_argument, NULL, 'p'}, |
@@ -258,16 +262,16 @@ index e571426..ccfbb99 100644 | |||
258 | {"shell", required_argument, NULL, 's'}, | 262 | {"shell", required_argument, NULL, 's'}, |
259 | {"uid", required_argument, NULL, 'u'}, | 263 | {"uid", required_argument, NULL, 'u'}, |
260 | {"unlock", no_argument, NULL, 'U'}, | 264 | {"unlock", no_argument, NULL, 'U'}, |
261 | @@ -1019,7 +1021,7 @@ static void process_flags (int argc, char **argv) | 265 | @@ -1027,7 +1029,7 @@ static void process_flags (int argc, char **argv) |
262 | {NULL, 0, NULL, '\0'} | 266 | {NULL, 0, NULL, '\0'} |
263 | }; | 267 | }; |
264 | while ((c = getopt_long (argc, argv, | 268 | while ((c = getopt_long (argc, argv, |
265 | - "ac:d:e:f:g:G:hl:Lmop:R:s:u:UP:" | 269 | - "abc:d:e:f:g:G:hl:Lmop:R:s:u:UP:" |
266 | + "ac:d:e:f:g:G:hl:Lmop:P:R:s:u:UA:" | 270 | + "abc:d:e:f:g:G:hl:Lmop:P:R:s:u:UA:" |
267 | #ifdef ENABLE_SUBIDS | 271 | #ifdef ENABLE_SUBIDS |
268 | "v:w:V:W:" | 272 | "v:w:V:W:" |
269 | #endif /* ENABLE_SUBIDS */ | 273 | #endif /* ENABLE_SUBIDS */ |
270 | @@ -1119,9 +1121,17 @@ static void process_flags (int argc, char **argv) | 274 | @@ -1130,9 +1132,17 @@ static void process_flags (int argc, char **argv) |
271 | user_pass = optarg; | 275 | user_pass = optarg; |
272 | pflg = true; | 276 | pflg = true; |
273 | break; | 277 | break; |
@@ -286,7 +290,7 @@ index e571426..ccfbb99 100644 | |||
286 | break; | 290 | break; |
287 | case 's': | 291 | case 's': |
288 | if (!VALID (optarg)) { | 292 | if (!VALID (optarg)) { |
289 | @@ -2098,7 +2108,7 @@ int main (int argc, char **argv) | 293 | @@ -2127,7 +2137,7 @@ int main (int argc, char **argv) |
290 | (void) textdomain (PACKAGE); | 294 | (void) textdomain (PACKAGE); |
291 | 295 | ||
292 | process_root_flag ("-R", argc, argv); | 296 | process_root_flag ("-R", argc, argv); |
@@ -295,6 +299,3 @@ index e571426..ccfbb99 100644 | |||
295 | 299 | ||
296 | OPENLOG ("usermod"); | 300 | OPENLOG ("usermod"); |
297 | #ifdef WITH_AUDIT | 301 | #ifdef WITH_AUDIT |
298 | -- | ||
299 | 2.11.0 | ||
300 | |||
diff --git a/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch b/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch index 4fa3d184ed..9825216369 100644 --- a/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch +++ b/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch | |||
@@ -1,3 +1,8 @@ | |||
1 | From 66533c7c6f347d257020675a1ed6e0c59cbbc3f0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Thu, 17 Jul 2014 15:53:34 +0800 | ||
4 | Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env | ||
5 | |||
1 | Upstream-Status: Inappropriate [OE specific] | 6 | Upstream-Status: Inappropriate [OE specific] |
2 | 7 | ||
3 | commonio.c: fix unexpected open failure in chroot environment | 8 | commonio.c: fix unexpected open failure in chroot environment |
@@ -10,15 +15,16 @@ Note that this patch doesn't change the logic in the code, it just expands | |||
10 | the codes. | 15 | the codes. |
11 | 16 | ||
12 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | 17 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> |
18 | |||
13 | --- | 19 | --- |
14 | lib/commonio.c | 16 ++++++++++++---- | 20 | lib/commonio.c | 16 ++++++++++++---- |
15 | 1 file changed, 12 insertions(+), 4 deletions(-) | 21 | 1 file changed, 12 insertions(+), 4 deletions(-) |
16 | 22 | ||
17 | diff --git a/lib/commonio.c b/lib/commonio.c | 23 | diff --git a/lib/commonio.c b/lib/commonio.c |
18 | index cc536bf..51cafd9 100644 | 24 | index 16fa7e7..d6bc297 100644 |
19 | --- a/lib/commonio.c | 25 | --- a/lib/commonio.c |
20 | +++ b/lib/commonio.c | 26 | +++ b/lib/commonio.c |
21 | @@ -613,10 +613,18 @@ int commonio_open (struct commonio_db *db, int mode) | 27 | @@ -632,10 +632,18 @@ int commonio_open (struct commonio_db *db, int mode) |
22 | db->cursor = NULL; | 28 | db->cursor = NULL; |
23 | db->changed = false; | 29 | db->changed = false; |
24 | 30 | ||
@@ -41,6 +47,3 @@ index cc536bf..51cafd9 100644 | |||
41 | db->fp = NULL; | 47 | db->fp = NULL; |
42 | if (fd >= 0) { | 48 | if (fd >= 0) { |
43 | #ifdef WITH_TCB | 49 | #ifdef WITH_TCB |
44 | -- | ||
45 | 1.7.9.5 | ||
46 | |||
diff --git a/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch b/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch index 1af04d5fe8..cc833362e9 100644 --- a/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch +++ b/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch | |||
@@ -1,26 +1,37 @@ | |||
1 | From ca472d6866e545aaa70a70020e3226f236a8aafc Mon Sep 17 00:00:00 2001 | ||
2 | From: Shan Hai <shan.hai@windriver.com> | ||
3 | Date: Tue, 13 Sep 2016 13:45:46 +0800 | ||
4 | Subject: [PATCH] shadow: use relaxed usernames | ||
1 | 5 | ||
2 | The groupadd from shadow does not allow upper case group names, the | 6 | The groupadd from shadow does not allow upper case group names, the |
3 | same is true for the upstream shadow. But distributions like | 7 | same is true for the upstream shadow. But distributions like |
4 | Debian/Ubuntu/CentOS has their own way to cope with this problem, | 8 | Debian/Ubuntu/CentOS has their own way to cope with this problem, |
5 | this patch is picked up from CentOS release 7.0 to relax the usernames | 9 | this patch is picked up from CentOS release 7.0 to relax the usernames |
6 | restrictions to allow the upper case group names, and the relaxation is | 10 | restrictions to allow the upper case group names, and the relaxation is |
7 | POSIX compliant because POSIX indicate that usernames are composed of | 11 | POSIX compliant because POSIX indicate that usernames are composed of |
8 | characters from the portable filename character set [A-Za-z0-9._-]. | 12 | characters from the portable filename character set [A-Za-z0-9._-]. |
9 | 13 | ||
10 | Upstream-Status: Pending | 14 | Upstream-Status: Pending |
11 | 15 | ||
12 | Signed-off-by: Shan Hai <shan.hai@windriver.com> | 16 | Signed-off-by: Shan Hai <shan.hai@windriver.com> |
13 | 17 | ||
14 | diff -urpN a/libmisc/chkname.c b/libmisc/chkname.c | 18 | --- |
15 | index 5089112..f40a0da 100644 | 19 | libmisc/chkname.c | 30 ++++++++++++++++++------------ |
20 | man/groupadd.8.xml | 6 ------ | ||
21 | man/useradd.8.xml | 8 +------- | ||
22 | 3 files changed, 19 insertions(+), 25 deletions(-) | ||
23 | |||
24 | diff --git a/libmisc/chkname.c b/libmisc/chkname.c | ||
25 | index 90f185c..65762b4 100644 | ||
16 | --- a/libmisc/chkname.c | 26 | --- a/libmisc/chkname.c |
17 | +++ b/libmisc/chkname.c | 27 | +++ b/libmisc/chkname.c |
18 | @@ -49,21 +49,28 @@ | 28 | @@ -55,22 +55,28 @@ static bool is_valid_name (const char *name) |
19 | static bool is_valid_name (const char *name) | 29 | } |
20 | { | 30 | |
21 | /* | 31 | /* |
22 | - * User/group names must match [a-z_][a-z0-9_-]*[$] | 32 | - * User/group names must match [a-z_][a-z0-9_-]*[$] |
23 | - */ | 33 | - */ |
34 | - | ||
24 | - if (('\0' == *name) || | 35 | - if (('\0' == *name) || |
25 | - !((('a' <= *name) && ('z' >= *name)) || ('_' == *name))) { | 36 | - !((('a' <= *name) && ('z' >= *name)) || ('_' == *name))) { |
26 | + * User/group names must match gnu e-regex: | 37 | + * User/group names must match gnu e-regex: |
@@ -55,28 +66,28 @@ index 5089112..f40a0da 100644 | |||
55 | return false; | 66 | return false; |
56 | } | 67 | } |
57 | } | 68 | } |
58 | diff -urpN a/man/groupadd.8.xml b/man/groupadd.8.xml | 69 | diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml |
59 | index 230fd0c..94f7807 100644 | 70 | index 1e58f09..d804b61 100644 |
60 | --- a/man/groupadd.8.xml | 71 | --- a/man/groupadd.8.xml |
61 | +++ b/man/groupadd.8.xml | 72 | +++ b/man/groupadd.8.xml |
62 | @@ -222,12 +222,6 @@ | 73 | @@ -272,12 +272,6 @@ |
74 | |||
63 | <refsect1 id='caveats'> | 75 | <refsect1 id='caveats'> |
64 | <title>CAVEATS</title> | 76 | <title>CAVEATS</title> |
65 | <para> | 77 | - <para> |
66 | - Groupnames must start with a lower case letter or an underscore, | 78 | - Groupnames must start with a lower case letter or an underscore, |
67 | - followed by lower case letters, digits, underscores, or dashes. | 79 | - followed by lower case letters, digits, underscores, or dashes. |
68 | - They can end with a dollar sign. | 80 | - They can end with a dollar sign. |
69 | - In regular expression terms: [a-z_][a-z0-9_-]*[$]? | 81 | - In regular expression terms: [a-z_][a-z0-9_-]*[$]? |
70 | - </para> | 82 | - </para> |
71 | - <para> | 83 | <para> |
72 | Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long. | 84 | Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long. |
73 | </para> | 85 | </para> |
74 | <para> | 86 | diff --git a/man/useradd.8.xml b/man/useradd.8.xml |
75 | diff -urpN a/man/useradd.8.xml b/man/useradd.8.xml | 87 | index a16d730..c0bd777 100644 |
76 | index 5dec989..fe623b9 100644 | ||
77 | --- a/man/useradd.8.xml | 88 | --- a/man/useradd.8.xml |
78 | +++ b/man/useradd.8.xml | 89 | +++ b/man/useradd.8.xml |
79 | @@ -336,7 +336,7 @@ | 90 | @@ -366,7 +366,7 @@ |
80 | </term> | 91 | </term> |
81 | <listitem> | 92 | <listitem> |
82 | <para> | 93 | <para> |
@@ -85,16 +96,16 @@ index 5dec989..fe623b9 100644 | |||
85 | wide setting from <filename>/etc/login.defs</filename> | 96 | wide setting from <filename>/etc/login.defs</filename> |
86 | (<option>CREATE_HOME</option>) is set to | 97 | (<option>CREATE_HOME</option>) is set to |
87 | <replaceable>yes</replaceable>. | 98 | <replaceable>yes</replaceable>. |
88 | @@ -607,12 +607,6 @@ | 99 | @@ -660,12 +660,6 @@ |
100 | the user account creation request. | ||
89 | </para> | 101 | </para> |
90 | 102 | ||
91 | <para> | 103 | - <para> |
92 | - Usernames must start with a lower case letter or an underscore, | 104 | - Usernames must start with a lower case letter or an underscore, |
93 | - followed by lower case letters, digits, underscores, or dashes. | 105 | - followed by lower case letters, digits, underscores, or dashes. |
94 | - They can end with a dollar sign. | 106 | - They can end with a dollar sign. |
95 | - In regular expression terms: [a-z_][a-z0-9_-]*[$]? | 107 | - In regular expression terms: [a-z_][a-z0-9_-]*[$]? |
96 | - </para> | 108 | - </para> |
97 | - <para> | 109 | <para> |
98 | Usernames may only be up to 32 characters long. | 110 | Usernames may only be up to 32 characters long. |
99 | </para> | 111 | </para> |
100 | </refsect1> | ||
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc index 770c239e96..267d2324c5 100644 --- a/meta/recipes-extended/shadow/shadow.inc +++ b/meta/recipes-extended/shadow/shadow.inc | |||
@@ -11,8 +11,6 @@ DEPENDS = "virtual/crypt" | |||
11 | UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" | 11 | UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" |
12 | SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \ | 12 | SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \ |
13 | file://shadow-4.1.3-dots-in-usernames.patch \ | 13 | file://shadow-4.1.3-dots-in-usernames.patch \ |
14 | file://0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch \ | ||
15 | file://0001-configure.ac-fix-configure-error-with-dash.patch \ | ||
16 | ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ | 14 | ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ |
17 | file://shadow-relaxed-usernames.patch \ | 15 | file://shadow-relaxed-usernames.patch \ |
18 | " | 16 | " |
@@ -24,16 +22,16 @@ SRC_URI_append_class-target = " \ | |||
24 | 22 | ||
25 | SRC_URI_append_class-native = " \ | 23 | SRC_URI_append_class-native = " \ |
26 | file://0001-Disable-use-of-syslog-for-sysroot.patch \ | 24 | file://0001-Disable-use-of-syslog-for-sysroot.patch \ |
27 | file://allow-for-setting-password-in-clear-text.patch \ | 25 | file://0002-Allow-for-setting-password-in-clear-text.patch \ |
28 | file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ | 26 | file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ |
29 | file://0001-useradd.c-create-parent-directories-when-necessary.patch \ | 27 | file://0001-Do-not-check-for-validity-of-shell-executable.patch \ |
30 | " | 28 | " |
31 | SRC_URI_append_class-nativesdk = " \ | 29 | SRC_URI_append_class-nativesdk = " \ |
32 | file://0001-Disable-use-of-syslog-for-sysroot.patch \ | 30 | file://0001-Disable-use-of-syslog-for-sysroot.patch \ |
33 | " | 31 | " |
34 | 32 | ||
35 | SRC_URI[md5sum] = "36feb15665338ae3de414f2a88e434db" | 33 | SRC_URI[md5sum] = "017ac773ba370bc28e157cee30dad71a" |
36 | SRC_URI[sha256sum] = "4668f99bd087399c4a586084dc3b046b75f560720d83e92fd23bf7a89dda4d31" | 34 | SRC_URI[sha256sum] = "82016d65317555fc8ce9e669eb187984d8d4b1f8ecda0769f4bc5412aed326e4" |
37 | 35 | ||
38 | # Additional Policy files for PAM | 36 | # Additional Policy files for PAM |
39 | PAM_SRC_URI = "file://pam.d/chfn \ | 37 | PAM_SRC_URI = "file://pam.d/chfn \ |
@@ -53,6 +51,7 @@ EXTRA_OECONF += "--without-audit \ | |||
53 | --without-selinux \ | 51 | --without-selinux \ |
54 | --with-group-name-max-length=24 \ | 52 | --with-group-name-max-length=24 \ |
55 | --enable-subordinate-ids=yes \ | 53 | --enable-subordinate-ids=yes \ |
54 | --without-sssd \ | ||
56 | ${NSCDOPT}" | 55 | ${NSCDOPT}" |
57 | 56 | ||
58 | NSCDOPT = "" | 57 | NSCDOPT = "" |
diff --git a/meta/recipes-extended/shadow/shadow_4.6.bb b/meta/recipes-extended/shadow/shadow_4.8.bb index c975395ff8..c975395ff8 100644 --- a/meta/recipes-extended/shadow/shadow_4.6.bb +++ b/meta/recipes-extended/shadow/shadow_4.8.bb | |||