busybox: add patch to fix CIFS 'bug' with kernel > 3.3.7

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2012-11-14 00:12:49 +01:00
parent 956f5a1e14
commit f66041febd

View File

@ -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)