diff options
author | Andrej Valek <andrej.valek@siemens.com> | 2021-08-23 13:23:19 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-08-27 11:54:33 +0100 |
commit | 95f0ce92b6fda26543fb0002321f1363bef9758e (patch) | |
tree | 3ced3a71dd3d797cc72824f515cb773d03c1cd8c /meta/recipes-core/busybox | |
parent | d270dfde25987ec6c19ff03c08b01ee321a0fac4 (diff) | |
download | poky-95f0ce92b6fda26543fb0002321f1363bef9758e.tar.gz |
busybox: 1.33.1 -> 1.34.0
- update to next stable version 1.34.0
- refresh defconfig
- remove and refresh already merged patches
(From OE-Core rev: d0e694ef4ec7bd862bdefee494210e3878152b44)
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/busybox')
-rw-r--r-- | meta/recipes-core/busybox/busybox-inittab_1.34.0.bb (renamed from meta/recipes-core/busybox/busybox-inittab_1.33.0.bb) | 0 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch | 28 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch | 6 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch | 102 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox/defconfig | 12 | ||||
-rw-r--r-- | meta/recipes-core/busybox/busybox_1.34.0.bb (renamed from meta/recipes-core/busybox/busybox_1.33.1.bb) | 3 |
6 files changed, 36 insertions, 115 deletions
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb b/meta/recipes-core/busybox/busybox-inittab_1.34.0.bb index be8c06323c..be8c06323c 100644 --- a/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb +++ b/meta/recipes-core/busybox/busybox-inittab_1.34.0.bb | |||
diff --git a/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch b/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch deleted file mode 100644 index e0a22c5bb3..0000000000 --- a/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | From bff7f16f7f41de8df67beb03722f235828ef2249 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 3 May 2021 15:48:19 -0700 | ||
4 | Subject: [PATCH] gen_build_files: Use C locale when calling sed on globbed files | ||
5 | |||
6 | sort order is different based on chosen locale and also default shell | ||
7 | being bash or dash | ||
8 | |||
9 | This sets the environment variable LC_ALL to the value C, which will | ||
10 | enforce bytewise sorting, irrespective of the shell | ||
11 | |||
12 | Upstream-Status: Pending | ||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | scripts/gen_build_files.sh | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | --- a/scripts/gen_build_files.sh | ||
19 | +++ b/scripts/gen_build_files.sh | ||
20 | @@ -4,6 +4,8 @@ | ||
21 | # but users complain that many sed implementations | ||
22 | # are misinterpreting --. | ||
23 | |||
24 | +export LC_ALL=C | ||
25 | + | ||
26 | test $# -ge 2 || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; } | ||
27 | |||
28 | # cd to objtree | ||
diff --git a/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch b/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch index 25472f0bbd..d4bda3c12f 100644 --- a/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch +++ b/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch | |||
@@ -18,13 +18,13 @@ diff --git a/testsuite/tar.tests b/testsuite/tar.tests | |||
18 | index d71a349..8c88567 100755 | 18 | index d71a349..8c88567 100755 |
19 | --- a/testsuite/tar.tests | 19 | --- a/testsuite/tar.tests |
20 | +++ b/testsuite/tar.tests | 20 | +++ b/testsuite/tar.tests |
21 | @@ -336,7 +336,7 @@ SKIP= | 21 | @@ -339,7 +339,7 @@ cd .. || exit 1; rm -rf tar.tempdir 2>/d |
22 | cd .. || exit 1; rm -rf tar.tempdir 2>/dev/null | 22 | fi |
23 | 23 | ||
24 | mkdir tar.tempdir && cd tar.tempdir || exit 1 | 24 | mkdir tar.tempdir && cd tar.tempdir || exit 1 |
25 | -optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS | 25 | -optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS |
26 | +optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS UUDECODE | 26 | +optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS UUDECODE |
27 | testing "Symlink attack: create symlink and then write through it" '\ | 27 | testing "tar Symlink attack: create symlink and then write through it" '\ |
28 | exec 2>&1 | 28 | exec 2>&1 |
29 | uudecode -o input && tar xvf input; echo $? | 29 | uudecode -o input && tar xvf input; echo $? |
30 | diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests | 30 | diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests |
diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch index 35e981d6a2..948932a3e8 100644 --- a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch +++ b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch | |||
@@ -31,11 +31,11 @@ Signed-off-by: Andreas Oberritter <obi@opendreambox.org> | |||
31 | networking/udhcp/dhcpc.c | 29 ++++++++++++++++------ | 31 | networking/udhcp/dhcpc.c | 29 ++++++++++++++++------ |
32 | 1 file changed, 21 insertions(+), 8 deletions(-) | 32 | 1 file changed, 21 insertions(+), 8 deletions(-) |
33 | 33 | ||
34 | Index: busybox-1.32.0/networking/udhcp/dhcpc.c | 34 | Index: busybox-1.34.0/networking/udhcp/dhcpc.c |
35 | =================================================================== | 35 | =================================================================== |
36 | --- busybox-1.32.0.orig/networking/udhcp/dhcpc.c | 36 | --- busybox-1.34.0.orig/networking/udhcp/dhcpc.c |
37 | +++ busybox-1.32.0/networking/udhcp/dhcpc.c | 37 | +++ busybox-1.34.0/networking/udhcp/dhcpc.c |
38 | @@ -48,6 +48,8 @@ struct tpacket_auxdata { | 38 | @@ -48,6 +48,8 @@ |
39 | }; | 39 | }; |
40 | #endif | 40 | #endif |
41 | 41 | ||
@@ -44,47 +44,37 @@ Index: busybox-1.32.0/networking/udhcp/dhcpc.c | |||
44 | 44 | ||
45 | /* "struct client_data_t client_data" is in bb_common_bufsiz1 */ | 45 | /* "struct client_data_t client_data" is in bb_common_bufsiz1 */ |
46 | 46 | ||
47 | @@ -103,8 +105,10 @@ | 47 | @@ -100,8 +102,10 @@ |
48 | OPT_x = 1 << 18, | 48 | OPT_x = 1 << 16, |
49 | OPT_f = 1 << 19, | 49 | OPT_f = 1 << 17, |
50 | OPT_B = 1 << 20, | 50 | OPT_B = 1 << 18, |
51 | + OPT_D = 1 << 21, | 51 | + OPT_D = 1 << 19, |
52 | /* The rest has variable bit positions, need to be clever */ | 52 | /* The rest has variable bit positions, need to be clever */ |
53 | OPTBIT_B = 20, | 53 | OPTBIT_B = 18, |
54 | + OPTBIT_D = 21, | 54 | + OPTBIT_D = 19, |
55 | USE_FOR_MMU( OPTBIT_b,) | 55 | USE_FOR_MMU( OPTBIT_b,) |
56 | IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,) | 56 | IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,) |
57 | IF_FEATURE_UDHCP_PORT( OPTBIT_P,) | 57 | IF_FEATURE_UDHCP_PORT( OPTBIT_P,) |
58 | @@ -1084,7 +1088,8 @@ | 58 | @@ -587,7 +591,8 @@ |
59 | client_data.state = RENEW_REQUESTED; | 59 | |
60 | break; | 60 | static void d4_run_script_deconfig(void) |
61 | case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ | 61 | { |
62 | - udhcp_run_script(NULL, "deconfig"); | 62 | - d4_run_script(NULL, "deconfig"); |
63 | + if (allow_deconfig) | ||
64 | + udhcp_run_script(NULL, "deconfig"); | ||
65 | case REQUESTING: | ||
66 | case RELEASED: | ||
67 | change_listen_mode(LISTEN_RAW); | ||
68 | @@ -1120,7 +1125,8 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip) | ||
69 | * Users requested to be notified in all cases, even if not in one | ||
70 | * of the states above. | ||
71 | */ | ||
72 | - udhcp_run_script(NULL, "deconfig"); | ||
73 | + if (allow_deconfig) | 63 | + if (allow_deconfig) |
74 | + udhcp_run_script(NULL, "deconfig"); | 64 | + d4_run_script(NULL, "deconfig"); |
65 | } | ||
75 | 66 | ||
76 | change_listen_mode(LISTEN_NONE); | 67 | /*** Sending/receiving packets ***/ |
77 | client_data.state = RELEASED; | 68 | @@ -1244,7 +1249,7 @@ |
78 | @@ -1238,7 +1244,7 @@ | ||
79 | /* Parse command line */ | 69 | /* Parse command line */ |
80 | opt = getopt32long(argv, "^" | 70 | opt = getopt32long(argv, "^" |
81 | /* O,x: list; -T,-t,-A take numeric param */ | 71 | /* O,x: list; -T,-t,-A take numeric param */ |
82 | - "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB" | 72 | - "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB" |
83 | + "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD" | 73 | + "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD" |
84 | USE_FOR_MMU("b") | 74 | USE_FOR_MMU("b") |
85 | IF_FEATURE_UDHCPC_ARPING("a::") | 75 | IF_FEATURE_UDHCPC_ARPING("a::") |
86 | IF_FEATURE_UDHCP_PORT("P:") | 76 | IF_FEATURE_UDHCP_PORT("P:") |
87 | @@ -1349,6 +1355,10 @@ | 77 | @@ -1361,6 +1366,10 @@ |
88 | logmode |= LOGMODE_SYSLOG; | 78 | logmode |= LOGMODE_SYSLOG; |
89 | } | 79 | } |
90 | 80 | ||
@@ -95,49 +85,3 @@ Index: busybox-1.32.0/networking/udhcp/dhcpc.c | |||
95 | /* Create pidfile */ | 85 | /* Create pidfile */ |
96 | write_pidfile(client_data.pidfile); | 86 | write_pidfile(client_data.pidfile); |
97 | /* Goes to stdout (unless NOMMU) and possibly syslog */ | 87 | /* Goes to stdout (unless NOMMU) and possibly syslog */ |
98 | @@ -1357,7 +1367,8 @@ | ||
99 | srand(monotonic_us()); | ||
100 | |||
101 | client_data.state = INIT_SELECTING; | ||
102 | - udhcp_run_script(NULL, "deconfig"); | ||
103 | + if (allow_deconfig) | ||
104 | + udhcp_run_script(NULL, "deconfig"); | ||
105 | change_listen_mode(LISTEN_RAW); | ||
106 | packet_num = 0; | ||
107 | timeout = 0; | ||
108 | @@ -1530,7 +1541,8 @@ | ||
109 | } | ||
110 | /* Timed out, enter init state */ | ||
111 | bb_simple_info_msg("lease lost, entering init state"); | ||
112 | - udhcp_run_script(NULL, "deconfig"); | ||
113 | + if (allow_deconfig) | ||
114 | + udhcp_run_script(NULL, "deconfig"); | ||
115 | client_data.state = INIT_SELECTING; | ||
116 | client_data.first_secs = 0; /* make secs field count from 0 */ | ||
117 | /*timeout = 0; - already is */ | ||
118 | @@ -1722,8 +1734,10 @@ | ||
119 | "(got ARP reply), declining"); | ||
120 | send_decline(/*xid,*/ server_addr, packet.yiaddr); | ||
121 | |||
122 | - if (client_data.state != REQUESTING) | ||
123 | - udhcp_run_script(NULL, "deconfig"); | ||
124 | + if (client_data.state != REQUESTING) { | ||
125 | + if (allow_deconfig) | ||
126 | + udhcp_run_script(NULL, "deconfig"); | ||
127 | + } | ||
128 | change_listen_mode(LISTEN_RAW); | ||
129 | client_data.state = INIT_SELECTING; | ||
130 | client_data.first_secs = 0; /* make secs field count from 0 */ | ||
131 | @@ -1792,8 +1806,10 @@ | ||
132 | /* return to init state */ | ||
133 | bb_info_msg("received %s", "DHCP NAK"); | ||
134 | udhcp_run_script(&packet, "nak"); | ||
135 | - if (client_data.state != REQUESTING) | ||
136 | - udhcp_run_script(NULL, "deconfig"); | ||
137 | + if (client_data.state != REQUESTING) { | ||
138 | + if (allow_deconfig) | ||
139 | + udhcp_run_script(NULL, "deconfig"); | ||
140 | + } | ||
141 | change_listen_mode(LISTEN_RAW); | ||
142 | sleep(3); /* avoid excessive network traffic */ | ||
143 | client_data.state = INIT_SELECTING; | ||
diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig index 701d48d625..16c61a84b2 100644 --- a/meta/recipes-core/busybox/busybox/defconfig +++ b/meta/recipes-core/busybox/busybox/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Busybox version: 1.33.0 | 3 | # Busybox version: 1.34.0 |
4 | # Wed Mar 10 13:29:25 2021 | 4 | # Wed Aug 23 09:07:25 2021 |
5 | # | 5 | # |
6 | CONFIG_HAVE_DOT_CONFIG=y | 6 | CONFIG_HAVE_DOT_CONFIG=y |
7 | 7 | ||
@@ -207,11 +207,13 @@ CONFIG_CHOWN=y | |||
207 | # CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set | 207 | # CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set |
208 | CONFIG_CHROOT=y | 208 | CONFIG_CHROOT=y |
209 | # CONFIG_CKSUM is not set | 209 | # CONFIG_CKSUM is not set |
210 | CONFIG_CRC32=y | ||
210 | # CONFIG_COMM is not set | 211 | # CONFIG_COMM is not set |
211 | CONFIG_CP=y | 212 | CONFIG_CP=y |
212 | # CONFIG_FEATURE_CP_LONG_OPTIONS is not set | 213 | # CONFIG_FEATURE_CP_LONG_OPTIONS is not set |
213 | # CONFIG_FEATURE_CP_REFLINK is not set | 214 | # CONFIG_FEATURE_CP_REFLINK is not set |
214 | CONFIG_CUT=y | 215 | CONFIG_CUT=y |
216 | CONFIG_FEATURE_CUT_REGEX=y | ||
215 | CONFIG_DATE=y | 217 | CONFIG_DATE=y |
216 | # CONFIG_FEATURE_DATE_ISOFMT is not set | 218 | # CONFIG_FEATURE_DATE_ISOFMT is not set |
217 | # CONFIG_FEATURE_DATE_NANO is not set | 219 | # CONFIG_FEATURE_DATE_NANO is not set |
@@ -316,7 +318,6 @@ CONFIG_TEST2=y | |||
316 | CONFIG_FEATURE_TEST_64=y | 318 | CONFIG_FEATURE_TEST_64=y |
317 | # CONFIG_TIMEOUT is not set | 319 | # CONFIG_TIMEOUT is not set |
318 | CONFIG_TOUCH=y | 320 | CONFIG_TOUCH=y |
319 | CONFIG_FEATURE_TOUCH_NODEREF=y | ||
320 | CONFIG_FEATURE_TOUCH_SUSV3=y | 321 | CONFIG_FEATURE_TOUCH_SUSV3=y |
321 | CONFIG_TR=y | 322 | CONFIG_TR=y |
322 | CONFIG_FEATURE_TR_CLASSES=y | 323 | CONFIG_FEATURE_TR_CLASSES=y |
@@ -424,6 +425,7 @@ CONFIG_VI=y | |||
424 | CONFIG_FEATURE_VI_MAX_LEN=1024 | 425 | CONFIG_FEATURE_VI_MAX_LEN=1024 |
425 | CONFIG_FEATURE_VI_8BIT=y | 426 | CONFIG_FEATURE_VI_8BIT=y |
426 | CONFIG_FEATURE_VI_COLON=y | 427 | CONFIG_FEATURE_VI_COLON=y |
428 | CONFIG_FEATURE_VI_COLON_EXPAND=y | ||
427 | CONFIG_FEATURE_VI_YANKMARK=y | 429 | CONFIG_FEATURE_VI_YANKMARK=y |
428 | CONFIG_FEATURE_VI_SEARCH=y | 430 | CONFIG_FEATURE_VI_SEARCH=y |
429 | # CONFIG_FEATURE_VI_REGEX_SEARCH is not set | 431 | # CONFIG_FEATURE_VI_REGEX_SEARCH is not set |
@@ -437,6 +439,7 @@ CONFIG_FEATURE_VI_WIN_RESIZE=y | |||
437 | CONFIG_FEATURE_VI_UNDO=y | 439 | CONFIG_FEATURE_VI_UNDO=y |
438 | CONFIG_FEATURE_VI_UNDO_QUEUE=y | 440 | CONFIG_FEATURE_VI_UNDO_QUEUE=y |
439 | CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 | 441 | CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 |
442 | CONFIG_FEATURE_VI_VERBOSE_STATUS=y | ||
440 | CONFIG_FEATURE_ALLOW_EXEC=y | 443 | CONFIG_FEATURE_ALLOW_EXEC=y |
441 | 444 | ||
442 | # | 445 | # |
@@ -743,6 +746,7 @@ CONFIG_FEATURE_VOLUMEID_SQUASHFS=y | |||
743 | # Miscellaneous Utilities | 746 | # Miscellaneous Utilities |
744 | # | 747 | # |
745 | # CONFIG_ADJTIMEX is not set | 748 | # CONFIG_ADJTIMEX is not set |
749 | CONFIG_ASCII=y | ||
746 | # CONFIG_BBCONFIG is not set | 750 | # CONFIG_BBCONFIG is not set |
747 | # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set | 751 | # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set |
748 | # CONFIG_BC is not set | 752 | # CONFIG_BC is not set |
@@ -838,6 +842,7 @@ CONFIG_TS=y | |||
838 | # CONFIG_UBIRENAME is not set | 842 | # CONFIG_UBIRENAME is not set |
839 | # CONFIG_VOLNAME is not set | 843 | # CONFIG_VOLNAME is not set |
840 | # CONFIG_WATCHDOG is not set | 844 | # CONFIG_WATCHDOG is not set |
845 | # CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set | ||
841 | 846 | ||
842 | # | 847 | # |
843 | # Networking Utilities | 848 | # Networking Utilities |
@@ -976,6 +981,7 @@ CONFIG_TRACEROUTE=y | |||
976 | CONFIG_WGET=y | 981 | CONFIG_WGET=y |
977 | CONFIG_FEATURE_WGET_LONG_OPTIONS=y | 982 | CONFIG_FEATURE_WGET_LONG_OPTIONS=y |
978 | CONFIG_FEATURE_WGET_STATUSBAR=y | 983 | CONFIG_FEATURE_WGET_STATUSBAR=y |
984 | CONFIG_FEATURE_WGET_FTP=y | ||
979 | CONFIG_FEATURE_WGET_AUTHENTICATION=y | 985 | CONFIG_FEATURE_WGET_AUTHENTICATION=y |
980 | CONFIG_FEATURE_WGET_TIMEOUT=y | 986 | CONFIG_FEATURE_WGET_TIMEOUT=y |
981 | CONFIG_FEATURE_WGET_HTTPS=y | 987 | CONFIG_FEATURE_WGET_HTTPS=y |
diff --git a/meta/recipes-core/busybox/busybox_1.33.1.bb b/meta/recipes-core/busybox/busybox_1.34.0.bb index 1e3e34e2a4..51df1df05f 100644 --- a/meta/recipes-core/busybox/busybox_1.33.1.bb +++ b/meta/recipes-core/busybox/busybox_1.34.0.bb | |||
@@ -47,9 +47,8 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | |||
47 | file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ | 47 | file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ |
48 | file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ | 48 | file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ |
49 | file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ | 49 | file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ |
50 | file://0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch \ | ||
51 | file://0001-mktemp-add-tmpdir-option.patch \ | 50 | file://0001-mktemp-add-tmpdir-option.patch \ |
52 | " | 51 | " |
53 | SRC_URI:append:libc-musl = " file://musl.cfg " | 52 | SRC_URI:append:libc-musl = " file://musl.cfg " |
54 | 53 | ||
55 | SRC_URI[tarball.sha256sum] = "12cec6bd2b16d8a9446dd16130f2b92982f1819f6e1c5f5887b6db03f5660d28" | 54 | SRC_URI[tarball.sha256sum] = "ec8d1615edb045b83b81966604759c4d4ac921434ab4011da604f629c06074ce" |