[CIFS] Fixed build warning in is_ip
Signed-off-by: Igor Mammedov <niallain@gmail.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
committed by
Steve French
parent
cf432eb50f
commit
7c5e628f95
@@ -70,7 +70,7 @@ extern unsigned int smbCalcSize(struct smb_hdr *ptr);
|
|||||||
extern unsigned int smbCalcSize_LE(struct smb_hdr *ptr);
|
extern unsigned int smbCalcSize_LE(struct smb_hdr *ptr);
|
||||||
extern int decode_negTokenInit(unsigned char *security_blob, int length,
|
extern int decode_negTokenInit(unsigned char *security_blob, int length,
|
||||||
enum securityEnum *secType);
|
enum securityEnum *secType);
|
||||||
extern int cifs_inet_pton(int, char *source, void *dst);
|
extern int cifs_inet_pton(const int, const char *source, void *dst);
|
||||||
extern int map_smb_to_linux_error(struct smb_hdr *smb, int logErr);
|
extern int map_smb_to_linux_error(struct smb_hdr *smb, int logErr);
|
||||||
extern void header_assemble(struct smb_hdr *, char /* command */ ,
|
extern void header_assemble(struct smb_hdr *, char /* command */ ,
|
||||||
const struct cifsTconInfo *, int /* length of
|
const struct cifsTconInfo *, int /* length of
|
||||||
|
@@ -1302,6 +1302,9 @@ cifs_parse_mount_options(char *options, const char *devname,
|
|||||||
"begin with // or \\\\ \n");
|
"begin with // or \\\\ \n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
value = strpbrk(vol->UNC+2, "/\\");
|
||||||
|
if (value)
|
||||||
|
*value = '\\';
|
||||||
} else {
|
} else {
|
||||||
printk(KERN_WARNING "CIFS: UNC name too long\n");
|
printk(KERN_WARNING "CIFS: UNC name too long\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
@@ -132,47 +132,17 @@ static const struct smb_to_posix_error mapping_table_ERRHRD[] = {
|
|||||||
{0, 0}
|
{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 */
|
/* Convert string containing dotted ip address to binary form */
|
||||||
/* returns 0 if invalid address */
|
/* returns 0 if invalid address */
|
||||||
|
|
||||||
int
|
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;
|
int ret = 0;
|
||||||
|
|
||||||
/* calculate length by finding first slash or NULL */
|
/* calculate length by finding first slash or NULL */
|
||||||
if (address_family == AF_INET) {
|
if (address_family == AF_INET) {
|
||||||
ret = in4_pton(cp, -1 /* len */, dst, '\\', NULL);
|
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) {
|
} else if (address_family == AF_INET6) {
|
||||||
ret = in6_pton(cp, -1 /* len */, dst , '\\', NULL);
|
ret = in6_pton(cp, -1 /* len */, dst , '\\', NULL);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user