From 032af4376ff2e531234bcb0eb1cecf564c36f11b Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Mon, 4 May 2009 11:02:59 +0200 Subject: busybox: 1.14.0 mdev / des fixes Signed-off-by: Peter Korsgaard --- package/busybox/busybox-1.14.0-des.patch | 14 ++++++++++++++ package/busybox/busybox-1.14.0-mdev.patch | 24 ++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 package/busybox/busybox-1.14.0-des.patch create mode 100644 package/busybox/busybox-1.14.0-mdev.patch (limited to 'package/busybox') diff --git a/package/busybox/busybox-1.14.0-des.patch b/package/busybox/busybox-1.14.0-des.patch new file mode 100644 index 000000000..efb1d7cc4 --- /dev/null +++ b/package/busybox/busybox-1.14.0-des.patch @@ -0,0 +1,14 @@ +--- busybox-1.14.0/libbb/pw_encrypt_des.c Tue Apr 14 01:43:00 2009 ++++ busybox-1.14.0-des/libbb/pw_encrypt_des.c Fri May 1 03:40:16 2009 +@@ -778,8 +778,10 @@ + to64_msb_first(output + 2, (r0 >> 8)); + /* bits 7..0 of r0 and 31..16 of r1 */ + to64_msb_first(output + 6, (r0 << 16) | (r1 >> 16)); +- /* (bits 15..0 of r1 + 00) and NUL byte */ ++ /* bits 15..0 of r1 and two zero bits (plus extra zero byte) */ + to64_msb_first(output + 10, (r1 << 8)); ++ /* extra zero byte is encoded as '.', fixing it */ ++ output[13] = '\0'; + #endif + + return output; diff --git a/package/busybox/busybox-1.14.0-mdev.patch b/package/busybox/busybox-1.14.0-mdev.patch new file mode 100644 index 000000000..4cefd0dd4 --- /dev/null +++ b/package/busybox/busybox-1.14.0-mdev.patch @@ -0,0 +1,24 @@ +--- busybox-1.14.0/util-linux/mdev.c Tue Apr 14 23:23:04 2009 ++++ busybox-1.14.0-mdev/util-linux/mdev.c Sat May 2 16:31:34 2009 +@@ -181,7 +181,8 @@ + * the rest of fields unless keep_matching == 1 */ + + /* 2nd field: uid:gid - device ownership */ +- parse_chown_usergroup_or_die(&ugid, tokens[1]); ++ if (get_uidgid(&ugid, tokens[1], 1) == 0) ++ bb_error_msg("unknown user/group %s", tokens[1]); + + /* 3rd field: mode - device permissions */ + mode = strtoul(tokens[2], NULL, 8); +@@ -524,7 +525,10 @@ + make_device(temp, 1); + } + else if (strcmp(action, "add") == 0) { +- make_device(temp, 0); ++ /* N.B. make_device() mangles the device path, so save it */ ++ char *s = xstrdup(temp); ++ make_device(s, 0); ++ free(s); + if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) { + if (fw) + load_firmware(fw, temp); -- cgit v1.2.3