Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
etercifs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
etercifs
Commits
2bd4f1d7
Commit
2bd4f1d7
authored
Apr 29, 2013
by
Pavel Shilovsky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update 3.4 sources from stable (v3.4.42)
parent
06c4f30e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
51 deletions
+23
-51
asn1.c
sources/3.4/asn1.c
+5
-48
cifsfs.c
sources/3.4/cifsfs.c
+5
-0
connect.c
sources/3.4/connect.c
+13
-3
No files found.
sources/3.4/asn1.c
View file @
2bd4f1d7
...
@@ -614,53 +614,10 @@ decode_negTokenInit(unsigned char *security_blob, int length,
...
@@ -614,53 +614,10 @@ decode_negTokenInit(unsigned char *security_blob, int length,
}
}
}
}
/* mechlistMIC */
/*
if
(
asn1_header_decode
(
&
ctx
,
&
end
,
&
cls
,
&
con
,
&
tag
)
==
0
)
{
* We currently ignore anything at the end of the SPNEGO blob after
/* Check if we have reached the end of the blob, but with
* the mechTypes have been parsed, since none of that info is
no mechListMic (e.g. NTLMSSP instead of KRB5) */
* used at the moment.
if
(
ctx
.
error
==
ASN1_ERR_DEC_EMPTY
)
*/
goto
decode_negtoken_exit
;
cFYI
(
1
,
"Error decoding last part negTokenInit exit3"
);
return
0
;
}
else
if
((
cls
!=
ASN1_CTX
)
||
(
con
!=
ASN1_CON
))
{
/* tag = 3 indicating mechListMIC */
cFYI
(
1
,
"Exit 4 cls = %d con = %d tag = %d end = %p (%d)"
,
cls
,
con
,
tag
,
end
,
*
end
);
return
0
;
}
/* sequence */
if
(
asn1_header_decode
(
&
ctx
,
&
end
,
&
cls
,
&
con
,
&
tag
)
==
0
)
{
cFYI
(
1
,
"Error decoding last part negTokenInit exit5"
);
return
0
;
}
else
if
((
cls
!=
ASN1_UNI
)
||
(
con
!=
ASN1_CON
)
||
(
tag
!=
ASN1_SEQ
))
{
cFYI
(
1
,
"cls = %d con = %d tag = %d end = %p (%d)"
,
cls
,
con
,
tag
,
end
,
*
end
);
}
/* sequence of */
if
(
asn1_header_decode
(
&
ctx
,
&
end
,
&
cls
,
&
con
,
&
tag
)
==
0
)
{
cFYI
(
1
,
"Error decoding last part negTokenInit exit 7"
);
return
0
;
}
else
if
((
cls
!=
ASN1_CTX
)
||
(
con
!=
ASN1_CON
))
{
cFYI
(
1
,
"Exit 8 cls = %d con = %d tag = %d end = %p (%d)"
,
cls
,
con
,
tag
,
end
,
*
end
);
return
0
;
}
/* general string */
if
(
asn1_header_decode
(
&
ctx
,
&
end
,
&
cls
,
&
con
,
&
tag
)
==
0
)
{
cFYI
(
1
,
"Error decoding last part negTokenInit exit9"
);
return
0
;
}
else
if
((
cls
!=
ASN1_UNI
)
||
(
con
!=
ASN1_PRI
)
||
(
tag
!=
ASN1_GENSTR
))
{
cFYI
(
1
,
"Exit10 cls = %d con = %d tag = %d end = %p (%d)"
,
cls
,
con
,
tag
,
end
,
*
end
);
return
0
;
}
cFYI
(
1
,
"Need to call asn1_octets_decode() function for %s"
,
ctx
.
pointer
);
/* is this UTF-8 or ASCII? */
decode_negtoken_exit:
return
1
;
return
1
;
}
}
sources/3.4/cifsfs.c
View file @
2bd4f1d7
...
@@ -560,6 +560,11 @@ cifs_get_root(struct smb_vol *vol, struct super_block *sb)
...
@@ -560,6 +560,11 @@ cifs_get_root(struct smb_vol *vol, struct super_block *sb)
dentry
=
ERR_PTR
(
-
ENOENT
);
dentry
=
ERR_PTR
(
-
ENOENT
);
break
;
break
;
}
}
if
(
!
S_ISDIR
(
dir
->
i_mode
))
{
dput
(
dentry
);
dentry
=
ERR_PTR
(
-
ENOTDIR
);
break
;
}
/* skip separators */
/* skip separators */
while
(
*
s
==
sep
)
while
(
*
s
==
sep
)
...
...
sources/3.4/connect.c
View file @
2bd4f1d7
...
@@ -1582,14 +1582,24 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
...
@@ -1582,14 +1582,24 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
}
}
break
;
break
;
case
Opt_blank_pass
:
case
Opt_blank_pass
:
vol
->
password
=
NULL
;
break
;
case
Opt_pass
:
/* passwords have to be handled differently
/* passwords have to be handled differently
* to allow the character used for deliminator
* to allow the character used for deliminator
* to be passed within them
* to be passed within them
*/
*/
/*
* Check if this is a case where the password
* starts with a delimiter
*/
tmp_end
=
strchr
(
data
,
'='
);
tmp_end
++
;
if
(
!
(
tmp_end
<
end
&&
tmp_end
[
1
]
==
delim
))
{
/* No it is not. Set the password to NULL */
vol
->
password
=
NULL
;
break
;
}
/* Yes it is. Drop down to Opt_pass below.*/
case
Opt_pass
:
/* Obtain the value string */
/* Obtain the value string */
value
=
strchr
(
data
,
'='
);
value
=
strchr
(
data
,
'='
);
value
++
;
value
++
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment