From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by mail.openembedded.org (Postfix) with ESMTP id 6BF546C1BE for ; Tue, 2 Jul 2019 20:52:58 +0000 (UTC) Received: by mail-lf1-f51.google.com with SMTP id 62so97403lfa.8 for ; Tue, 02 Jul 2019 13:52:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oleksandr-kravchuk-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=BdE9dJItjpgt62xcXRyQs5QMYWsANffwgUmp88BgVbw=; b=oYvPWeMz1h1jeUA8u2k30ScFz0WX08f6mT+FmrqWGNrK/SmRw2h0b4jVIwCcamKxne rnYTsH8ArbYaRXTXqy8Uds65FpWZ4lZPVoswsFxIMc/oMndonKY5/QD8lenpuWL4o5OY nKzwUpuiOLR9aBE7uXb0tzslQzDWwV5C5E22KMrKFtApwTi/0hMysAR1waDGALtESOjk ObuBaKRJD68Of8i8u69dfOTdgdHwA1ylIelu2f905gJNK9fpNdwDRLWkFF+BWPjRNUkc Aq7X9xwukeHLUcxfP1o1/JkeSSuK7z+I7PNwwJEIrFrCSQk+Dz5soiJVkl8SSLVwOttI n+xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BdE9dJItjpgt62xcXRyQs5QMYWsANffwgUmp88BgVbw=; b=JzyKslMf3HkUdVvu57jF2epMDUYX7H0P2LQZN6ng388oAkmxuOz45KlIkbV2Ee6ARp 3GBopSbvYW+bJQyeNjEScu7LAdkrTvTF8ou+FXd5ieMjA1ItgK26+klAO7MmRRlFSaC8 5Zds6nQGgK0q3ZsbuBp4L9cRXpG6HBoGmCu1c6NTvi422b5umwlkfO0KnAZzfMBevQyo 5KBzQ6TMp7oFH9rlloWXQYSAEd69Pagk+7E9pANaduonEHXsvw+IgVZmJ9gEUkcuIMAO VI4HqM4bgK2UMyP0ohSFWuAePjqTdQZoSw3c6UNeE1zlC20JnQEktuTURHrRkbeAhj/y grMg== X-Gm-Message-State: APjAAAXMqpunVoCM0bpGwXamXFhy+pIHeOEI56Tkg5+dyY+veJYLHTVc UgnZQLSq442nqEAxPvTDYZayHDQMidY= X-Google-Smtp-Source: APXvYqx8osCV6HZ0BxYrd3Zw8HhVYW87TwBEOorR42v++PejIuRZkjLx8U0c7TqXNhVb9fO83ogqbw== X-Received: by 2002:a19:ca1e:: with SMTP id a30mr15317488lfg.163.1562100778302; Tue, 02 Jul 2019 13:52:58 -0700 (PDT) Received: from localhost.localdomain (c83-252-117-108.bredband.comhem.se. [83.252.117.108]) by smtp.gmail.com with ESMTPSA id z12sm18696lfg.67.2019.07.02.13.52.57 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 02 Jul 2019 13:52:57 -0700 (PDT) From: Oleksandr Kravchuk To: openembedded-core@lists.openembedded.org Date: Tue, 2 Jul 2019 22:52:55 +0200 Message-Id: <20190702205255.23938-1-open.source@oleksandr-kravchuk.com> X-Mailer: git-send-email 2.17.1 Cc: Oleksandr Kravchuk Subject: [PATCH] shadow: update to 4.7 X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Jul 2019 20:52:58 -0000 Removed patches were upstreamed. Signed-off-by: Oleksandr Kravchuk --- ...chg-shadow-field-reproducible-re.-71.patch | 89 -------------- ...te-parent-directories-when-necessary.patch | 116 ------------------ ...ettime-Use-secure_getenv-over-getenv.patch | 71 ----------- ...curetty_4.6.bb => shadow-securetty_4.7.bb} | 0 ...w-sysroot_4.6.bb => shadow-sysroot_4.7.bb} | 0 meta/recipes-extended/shadow/shadow.inc | 7 +- .../shadow/{shadow_4.6.bb => shadow_4.7.bb} | 0 7 files changed, 2 insertions(+), 281 deletions(-) delete mode 100644 meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch delete mode 100644 meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch delete mode 100644 meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch rename meta/recipes-extended/shadow/{shadow-securetty_4.6.bb => shadow-securetty_4.7.bb} (100%) rename meta/recipes-extended/shadow/{shadow-sysroot_4.6.bb => shadow-sysroot_4.7.bb} (100%) rename meta/recipes-extended/shadow/{shadow_4.6.bb => shadow_4.7.bb} (100%) 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 @@ -From fe34a2a0e44bc80ff213bfd185046a5f10c94997 Mon Sep 17 00:00:00 2001 -From: Chris Lamb -Date: Wed, 2 Jan 2019 18:06:16 +0000 -Subject: [PATCH 1/2] Make the sp_lstchg shadow field reproducible (re. #71) - -From : - -``` -The third field in the /etc/shadow file (sp_lstchg) contains the date of -the last password change expressed as the number of days since Jan 1, 1970. -As this is a relative time, creating a user today will result in: - -username:17238:0:99999:7::: -whilst creating the same user tomorrow will result in: - -username:17239:0:99999:7::: -This has an impact for the Reproducible Builds[0] project where we aim to -be independent of as many elements the build environment as possible, -including the current date. - -This patch changes the behaviour to use the SOURCE_DATE_EPOCH[1] -environment variable (instead of Jan 1, 1970) if valid. -``` - -This updated PR adds some missing calls to gettime (). This was originally -filed by Johannes Schauer in Debian as #917773 [2]. - -[0] https://reproducible-builds.org/ -[1] https://reproducible-builds.org/specs/source-date-epoch/ -[2] https://bugs.debian.org/917773 - -Upstream-Status: Backport -Signed-off-by: Alex Kiernan ---- - libmisc/pwd2spwd.c | 3 +-- - src/pwck.c | 2 +- - src/pwconv.c | 2 +- - 3 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c -index c1b9b29ac873..6799dd50d490 100644 ---- a/libmisc/pwd2spwd.c -+++ b/libmisc/pwd2spwd.c -@@ -40,7 +40,6 @@ - #include "prototypes.h" - #include "defines.h" - #include --extern time_t time (time_t *); - - /* - * pwd_to_spwd - create entries for new spwd structure -@@ -66,7 +65,7 @@ struct spwd *pwd_to_spwd (const struct passwd *pw) - */ - sp.sp_min = 0; - sp.sp_max = (10000L * DAY) / SCALE; -- sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE; -+ sp.sp_lstchg = (long) gettime () / SCALE; - if (0 == sp.sp_lstchg) { - /* Better disable aging than requiring a password - * change */ -diff --git a/src/pwck.c b/src/pwck.c -index 0ffb711efb13..f70071b12500 100644 ---- a/src/pwck.c -+++ b/src/pwck.c -@@ -609,7 +609,7 @@ static void check_pw_file (int *errors, bool *changed) - sp.sp_inact = -1; - sp.sp_expire = -1; - sp.sp_flag = SHADOW_SP_FLAG_UNSET; -- sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE; -+ sp.sp_lstchg = (long) gettime () / SCALE; - if (0 == sp.sp_lstchg) { - /* Better disable aging than - * requiring a password change -diff --git a/src/pwconv.c b/src/pwconv.c -index 9c69fa131d8e..f932f266c59c 100644 ---- a/src/pwconv.c -+++ b/src/pwconv.c -@@ -267,7 +267,7 @@ int main (int argc, char **argv) - spent.sp_flag = SHADOW_SP_FLAG_UNSET; - } - spent.sp_pwdp = pw->pw_passwd; -- spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE; -+ spent.sp_lstchg = (long) gettime () / SCALE; - if (0 == spent.sp_lstchg) { - /* Better disable aging than requiring a password - * change */ --- -2.17.1 - 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 @@ -Subject: [PATCH] useradd.c: create parent directories when necessary - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Chen Qi ---- - src/useradd.c | 80 +++++++++++++++++++++++++++++++++++++++-------------------- - 1 file changed, 53 insertions(+), 27 deletions(-) - -diff --git a/src/useradd.c b/src/useradd.c -index 00a3c30..9ecbb58 100644 ---- a/src/useradd.c -+++ b/src/useradd.c -@@ -2021,6 +2021,35 @@ static void usr_update (void) - } - - /* -+ * mkdir_p - create directories, including parent directories when needed -+ * -+ * similar to `mkdir -p' -+ */ -+void mkdir_p(const char *path) { -+ int len = strlen(path); -+ char newdir[len + 1]; -+ mode_t mode = 0755; -+ int i = 0; -+ -+ if (path[i] == '\0') { -+ return; -+ } -+ -+ /* skip the leading '/' */ -+ i++; -+ -+ while(path[i] != '\0') { -+ if (path[i] == '/') { -+ strncpy(newdir, path, i); -+ newdir[i] = '\0'; -+ mkdir(newdir, mode); -+ } -+ i++; -+ } -+ mkdir(path, mode); -+} -+ -+/* - * create_home - create the user's home directory - * - * create_home() creates the user's home directory if it does not -@@ -2038,39 +2067,36 @@ static void create_home (void) - fail_exit (E_HOMEDIR); - } - #endif -- /* XXX - create missing parent directories. --marekm */ -- if (mkdir (prefix_user_home, 0) != 0) { -- fprintf (stderr, -- _("%s: cannot create directory %s\n"), -- Prog, prefix_user_home); -+ mkdir_p(user_home); -+ } -+ if (access (prefix_user_home, F_OK) != 0) { - #ifdef WITH_AUDIT -- audit_logger (AUDIT_ADD_USER, Prog, -- "adding home directory", -- user_name, (unsigned int) user_id, -- SHADOW_AUDIT_FAILURE); -+ audit_logger (AUDIT_ADD_USER, Prog, -+ "adding home directory", -+ user_name, (unsigned int) user_id, -+ SHADOW_AUDIT_FAILURE); - #endif -- fail_exit (E_HOMEDIR); -- } -- (void) chown (prefix_user_home, user_id, user_gid); -- chmod (prefix_user_home, -- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); -- home_added = true; -+ fail_exit (E_HOMEDIR); -+ } -+ (void) chown (prefix_user_home, user_id, user_gid); -+ chmod (prefix_user_home, -+ 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); -+ home_added = true; - #ifdef WITH_AUDIT -- audit_logger (AUDIT_ADD_USER, Prog, -- "adding home directory", -- user_name, (unsigned int) user_id, -- SHADOW_AUDIT_SUCCESS); -+ audit_logger (AUDIT_ADD_USER, Prog, -+ "adding home directory", -+ user_name, (unsigned int) user_id, -+ SHADOW_AUDIT_SUCCESS); - #endif - #ifdef WITH_SELINUX -- /* Reset SELinux to create files with default contexts */ -- if (reset_selinux_file_context () != 0) { -- fprintf (stderr, -- _("%s: cannot reset SELinux file creation context\n"), -- Prog); -- fail_exit (E_HOMEDIR); -- } --#endif -+ /* Reset SELinux to create files with default contexts */ -+ if (reset_selinux_file_context () != 0) { -+ fprintf (stderr, -+ _("%s: cannot reset SELinux file creation context\n"), -+ Prog); -+ fail_exit (E_HOMEDIR); - } -+#endif - } - - /* --- -2.11.0 - diff --git a/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch b/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch deleted file mode 100644 index 8c8234d038..0000000000 --- a/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 3d921155e0a761f61c8f1ec37328724aee1e2eda Mon Sep 17 00:00:00 2001 -From: Chris Lamb -Date: Sun, 31 Mar 2019 15:59:45 +0100 -Subject: [PATCH 2/2] gettime: Use secure_getenv over getenv. - -Upstream-Status: Backport -Signed-off-by: Alex Kiernan ---- - README | 1 + - configure.ac | 3 +++ - lib/defines.h | 6 ++++++ - libmisc/gettime.c | 2 +- - 4 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/README b/README -index 952ac5787f06..26cfff1e8fa8 100644 ---- a/README -+++ b/README -@@ -51,6 +51,7 @@ Brian R. Gaeke - Calle Karlsson - Chip Rosenthal - Chris Evans -+Chris Lamb - Cristian Gafton - Dan Walsh - Darcy Boese -diff --git a/configure.ac b/configure.ac -index da236722766b..a738ad662cc3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -110,6 +110,9 @@ AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent) - AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr) - - AC_CHECK_FUNC(setpgrp) -+AC_CHECK_FUNC(secure_getenv, [AC_DEFINE(HAS_SECURE_GETENV, -+ 1, -+ [Defined to 1 if you have the declaration of 'secure_getenv'])]) - - if test "$ac_cv_header_shadow_h" = "yes"; then - AC_CACHE_CHECK(for working shadow group support, -diff --git a/lib/defines.h b/lib/defines.h -index cded1417fd12..2fb1b56eca6b 100644 ---- a/lib/defines.h -+++ b/lib/defines.h -@@ -382,4 +382,10 @@ extern char *strerror (); - # endif - #endif - -+#ifdef HAVE_SECURE_GETENV -+# define shadow_getenv(name) secure_getenv(name) -+# else -+# define shadow_getenv(name) getenv(name) -+#endif -+ - #endif /* _DEFINES_H_ */ -diff --git a/libmisc/gettime.c b/libmisc/gettime.c -index 53eaf51670bb..0e25a4b75061 100644 ---- a/libmisc/gettime.c -+++ b/libmisc/gettime.c -@@ -52,7 +52,7 @@ - unsigned long long epoch; - - fallback = time (NULL); -- source_date_epoch = getenv ("SOURCE_DATE_EPOCH"); -+ source_date_epoch = shadow_getenv ("SOURCE_DATE_EPOCH"); - - if (!source_date_epoch) - return fallback; --- -2.17.1 - diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb b/meta/recipes-extended/shadow/shadow-securetty_4.7.bb similarity index 100% rename from meta/recipes-extended/shadow/shadow-securetty_4.6.bb rename to meta/recipes-extended/shadow/shadow-securetty_4.7.bb diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb b/meta/recipes-extended/shadow/shadow-sysroot_4.7.bb similarity index 100% rename from meta/recipes-extended/shadow/shadow-sysroot_4.6.bb rename to meta/recipes-extended/shadow/shadow-sysroot_4.7.bb diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc index 7f82d20826..219d0d276a 100644 --- a/meta/recipes-extended/shadow/shadow.inc +++ b/meta/recipes-extended/shadow/shadow.inc @@ -11,8 +11,6 @@ DEPENDS = "virtual/crypt" UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \ file://shadow-4.1.3-dots-in-usernames.patch \ - file://0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch \ - file://0002-gettime-Use-secure_getenv-over-getenv.patch \ file://0001-configure.ac-fix-configure-error-with-dash.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ " @@ -27,14 +25,13 @@ SRC_URI_append_class-native = " \ file://0001-Disable-use-of-syslog-for-sysroot.patch \ file://allow-for-setting-password-in-clear-text.patch \ file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ - file://0001-useradd.c-create-parent-directories-when-necessary.patch \ " SRC_URI_append_class-nativesdk = " \ file://0001-Disable-use-of-syslog-for-sysroot.patch \ " -SRC_URI[md5sum] = "36feb15665338ae3de414f2a88e434db" -SRC_URI[sha256sum] = "4668f99bd087399c4a586084dc3b046b75f560720d83e92fd23bf7a89dda4d31" +SRC_URI[md5sum] = "eb66cc4e5166fba8854eb805ec0bab63" +SRC_URI[sha256sum] = "5135b0ca2a361a218fab59e63d9c1720d2a8fc1faa520c819a654b638017286f" # Additional Policy files for PAM PAM_SRC_URI = "file://pam.d/chfn \ diff --git a/meta/recipes-extended/shadow/shadow_4.6.bb b/meta/recipes-extended/shadow/shadow_4.7.bb similarity index 100% rename from meta/recipes-extended/shadow/shadow_4.6.bb rename to meta/recipes-extended/shadow/shadow_4.7.bb -- 2.17.1