diff --git a/packages/sysutils/busybox/patches/busybox-1.20.2-999-cifs-bug.patch b/packages/sysutils/busybox/patches/busybox-1.20.2-999-cifs-bug.patch new file mode 100644 index 0000000000..2a5398b9d3 --- /dev/null +++ b/packages/sysutils/busybox/patches/busybox-1.20.2-999-cifs-bug.patch @@ -0,0 +1,28 @@ +diff -Naur busybox-1.20.2/util-linux/mount.c busybox-1.20.2.patch/util-linux/mount.c +--- busybox-1.20.2/util-linux/mount.c 2012-07-02 16:08:25.000000000 +0200 ++++ busybox-1.20.2.patch/util-linux/mount.c 2012-11-14 00:04:29.305472692 +0100 +@@ -1804,7 +1804,7 @@ + int len; + char c; + len_and_sockaddr *lsa; +- char *hostname, *dotted, *ip; ++ char *hostname, *dotted, *ip, *share, *unc; + + hostname = mp->mnt_fsname + 2; + len = strcspn(hostname, "/\\"); +@@ -1812,6 +1812,15 @@ + goto report_error; + c = hostname[len]; + hostname[len] = '\0'; ++ ++ share = hostname + len + 1; ++ if (share[0] == '\0') ++ goto report_error; ++ // Insert "unc=\\hostname\share" option into options ++ unc = xasprintf("unc=\\\\%s\\%s", hostname, share); ++ parse_mount_options(unc, &filteropts); ++ if (ENABLE_FEATURE_CLEAN_UP) free(unc); ++ + lsa = host2sockaddr(hostname, 0); + hostname[len] = c; + if (!lsa)