|
@@ -132,47 +132,17 @@ static const struct smb_to_posix_error mapping_table_ERRHRD[] = {
|
|
|
{0, 0}
|
|
|
};
|
|
|
|
|
|
-
|
|
|
-/* if the mount helper is missing we need to reverse the 1st slash
|
|
|
- from '/' to backslash in order to format the UNC properly for
|
|
|
- ip address parsing and for tree connect (unless the user
|
|
|
- remembered to put the UNC name in properly). Fortunately we do
|
|
|
- not have to call this twice (we check for IPv4 addresses
|
|
|
- first, so it is already converted by the time we
|
|
|
- try IPv6 addresses */
|
|
|
-static int canonicalize_unc(char *cp)
|
|
|
-{
|
|
|
- int i;
|
|
|
-
|
|
|
- for (i = 0; i <= 46 /* INET6_ADDRSTRLEN */ ; i++) {
|
|
|
- if (cp[i] == 0)
|
|
|
- break;
|
|
|
- if (cp[i] == '\\')
|
|
|
- break;
|
|
|
- if (cp[i] == '/') {
|
|
|
- cFYI(DBG2, ("change slash to \\ in malformed UNC"));
|
|
|
- cp[i] = '\\';
|
|
|
- return 1;
|
|
|
- }
|
|
|
- }
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
/* Convert string containing dotted ip address to binary form */
|
|
|
/* returns 0 if invalid address */
|
|
|
|
|
|
int
|
|
|
-cifs_inet_pton(int address_family, char *cp, void *dst)
|
|
|
+cifs_inet_pton(const int address_family, const char *cp, void *dst)
|
|
|
{
|
|
|
int ret = 0;
|
|
|
|
|
|
/* calculate length by finding first slash or NULL */
|
|
|
if (address_family == AF_INET) {
|
|
|
ret = in4_pton(cp, -1 /* len */, dst, '\\', NULL);
|
|
|
- if (ret == 0) {
|
|
|
- if (canonicalize_unc(cp))
|
|
|
- ret = in4_pton(cp, -1, dst, '\\', NULL);
|
|
|
- }
|
|
|
} else if (address_family == AF_INET6) {
|
|
|
ret = in6_pton(cp, -1 /* len */, dst , '\\', NULL);
|
|
|
}
|