Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
2cc40bac
Commit
2cc40bac
authored
Aug 22, 2005
by
Kai Blin
Committed by
Alexandre Julliard
Aug 22, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed a couple of bugs in InitializeSecurityContext(A/W) and
AcceptSecurityContext.
parent
297aeb5b
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
9 deletions
+36
-9
wrapper.c
dlls/secur32/wrapper.c
+36
-9
No files found.
dlls/secur32/wrapper.c
View file @
2cc40bac
...
@@ -37,6 +37,8 @@ static SECURITY_STATUS SECUR32_makeSecHandle(PSecHandle phSec,
...
@@ -37,6 +37,8 @@ static SECURITY_STATUS SECUR32_makeSecHandle(PSecHandle phSec,
{
{
SECURITY_STATUS
ret
;
SECURITY_STATUS
ret
;
TRACE
(
"%p %p %p
\n
"
,
phSec
,
package
,
realHandle
);
if
(
phSec
&&
package
&&
realHandle
)
if
(
phSec
&&
package
&&
realHandle
)
{
{
PSecHandle
newSec
=
(
PSecHandle
)
SECUR32_ALLOC
(
sizeof
(
SecHandle
));
PSecHandle
newSec
=
(
PSecHandle
)
SECUR32_ALLOC
(
sizeof
(
SecHandle
));
...
@@ -260,14 +262,22 @@ SECURITY_STATUS WINAPI InitializeSecurityContextA(
...
@@ -260,14 +262,22 @@ SECURITY_STATUS WINAPI InitializeSecurityContextA(
{
{
CtxtHandle
myCtxt
;
CtxtHandle
myCtxt
;
if
(
phContext
)
{
PCtxtHandle
realCtxt
=
(
PCtxtHandle
)
phContext
->
dwLower
;
myCtxt
.
dwUpper
=
realCtxt
->
dwUpper
;
myCtxt
.
dwLower
=
realCtxt
->
dwLower
;
}
ret
=
package
->
provider
->
fnTableA
.
InitializeSecurityContextA
(
ret
=
package
->
provider
->
fnTableA
.
InitializeSecurityContextA
(
cred
,
phContext
?
&
myCtxt
:
NULL
,
pszTargetName
,
fContextReq
,
cred
,
phContext
?
&
myCtxt
:
NULL
,
pszTargetName
,
fContextReq
,
Reserved1
,
TargetDataRep
,
pInput
,
Reserved2
,
&
myCtxt
,
Reserved1
,
TargetDataRep
,
pInput
,
Reserved2
,
&
myCtxt
,
pOutput
,
pfContextAttr
,
ptsExpiry
);
pOutput
,
pfContextAttr
,
ptsExpiry
);
if
(
ret
==
SEC_E_OK
)
if
(
ret
==
SEC_E_OK
||
ret
==
SEC_I_CONTINUE_NEEDED
)
{
{
ret
=
SECUR32_makeSecHandle
(
phContext
,
package
,
&
myCtxt
);
SECURITY_STATUS
ret2
;
if
(
ret
!=
SEC_E_OK
)
ret2
=
SECUR32_makeSecHandle
(
phNewContext
,
package
,
&
myCtxt
);
if
(
ret2
!=
SEC_E_OK
)
package
->
provider
->
fnTableW
.
DeleteSecurityContext
(
package
->
provider
->
fnTableW
.
DeleteSecurityContext
(
&
myCtxt
);
&
myCtxt
);
}
}
...
@@ -309,14 +319,22 @@ SECURITY_STATUS WINAPI InitializeSecurityContextW(
...
@@ -309,14 +319,22 @@ SECURITY_STATUS WINAPI InitializeSecurityContextW(
{
{
CtxtHandle
myCtxt
;
CtxtHandle
myCtxt
;
if
(
phContext
)
{
PCtxtHandle
realCtxt
=
(
PCtxtHandle
)
phContext
->
dwLower
;
myCtxt
.
dwUpper
=
realCtxt
->
dwUpper
;
myCtxt
.
dwLower
=
realCtxt
->
dwLower
;
}
ret
=
package
->
provider
->
fnTableW
.
InitializeSecurityContextW
(
ret
=
package
->
provider
->
fnTableW
.
InitializeSecurityContextW
(
cred
,
phContext
?
&
myCtxt
:
NULL
,
pszTargetName
,
fContextReq
,
cred
,
phContext
?
&
myCtxt
:
NULL
,
pszTargetName
,
fContextReq
,
Reserved1
,
TargetDataRep
,
pInput
,
Reserved2
,
&
myCtxt
,
Reserved1
,
TargetDataRep
,
pInput
,
Reserved2
,
&
myCtxt
,
pOutput
,
pfContextAttr
,
ptsExpiry
);
pOutput
,
pfContextAttr
,
ptsExpiry
);
if
(
ret
==
SEC_E_OK
)
if
(
ret
==
SEC_E_OK
||
ret
==
SEC_I_CONTINUE_NEEDED
)
{
{
ret
=
SECUR32_makeSecHandle
(
phContext
,
package
,
&
myCtxt
);
SECURITY_STATUS
ret2
;
if
(
ret
!=
SEC_E_OK
)
ret2
=
SECUR32_makeSecHandle
(
phNewContext
,
package
,
&
myCtxt
);
if
(
ret2
!=
SEC_E_OK
)
package
->
provider
->
fnTableW
.
DeleteSecurityContext
(
package
->
provider
->
fnTableW
.
DeleteSecurityContext
(
&
myCtxt
);
&
myCtxt
);
}
}
...
@@ -357,13 +375,22 @@ SECURITY_STATUS WINAPI AcceptSecurityContext(
...
@@ -357,13 +375,22 @@ SECURITY_STATUS WINAPI AcceptSecurityContext(
{
{
CtxtHandle
myCtxt
;
CtxtHandle
myCtxt
;
if
(
phContext
)
{
PCtxtHandle
realCtxt
=
(
PCtxtHandle
)
phContext
->
dwLower
;
TRACE
(
"realCtx: %p
\n
"
,
realCtxt
);
myCtxt
.
dwUpper
=
realCtxt
->
dwUpper
;
myCtxt
.
dwLower
=
realCtxt
->
dwLower
;
}
ret
=
package
->
provider
->
fnTableW
.
AcceptSecurityContext
(
ret
=
package
->
provider
->
fnTableW
.
AcceptSecurityContext
(
cred
,
phContext
?
&
myCtxt
:
NULL
,
pInput
,
fContextReq
,
cred
,
phContext
?
&
myCtxt
:
NULL
,
pInput
,
fContextReq
,
TargetDataRep
,
&
myCtxt
,
pOutput
,
pfContextAttr
,
ptsExpiry
);
TargetDataRep
,
&
myCtxt
,
pOutput
,
pfContextAttr
,
ptsExpiry
);
if
(
ret
==
SEC_E_OK
)
if
(
ret
==
SEC_E_OK
||
ret
==
SEC_I_CONTINUE_NEEDED
)
{
{
ret
=
SECUR32_makeSecHandle
(
phContext
,
package
,
&
myCtxt
);
SECURITY_STATUS
ret2
;
if
(
ret
!=
SEC_E_OK
)
ret2
=
SECUR32_makeSecHandle
(
phNewContext
,
package
,
&
myCtxt
);
if
(
ret2
!=
SEC_E_OK
)
package
->
provider
->
fnTableW
.
DeleteSecurityContext
(
package
->
provider
->
fnTableW
.
DeleteSecurityContext
(
&
myCtxt
);
&
myCtxt
);
}
}
...
...
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