Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
e739f040
Commit
e739f040
authored
Mar 07, 2014
by
Jacek Caban
Committed by
Alexandre Julliard
Mar 07, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
crypt32: Simplified getting context expiration.
parent
70628f80
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
59 deletions
+18
-59
cryptnet_main.c
dlls/cryptnet/cryptnet_main.c
+18
-59
No files found.
dlls/cryptnet/cryptnet_main.c
View file @
e739f040
...
...
@@ -1424,61 +1424,24 @@ static BOOL CRYPT_GetCreateFunction(LPCSTR pszObjectOid,
return
ret
;
}
typedef
BOOL
(
*
get_object_expiration_func
)(
const
void
*
pvContext
,
FILETIME
*
expiration
);
static
BOOL
CRYPT_GetExpirationFromCert
(
const
void
*
pvObject
,
FILETIME
*
expiration
)
{
PCCERT_CONTEXT
cert
=
pvObject
;
*
expiration
=
cert
->
pCertInfo
->
NotAfter
;
return
TRUE
;
}
static
BOOL
CRYPT_GetExpirationFromCRL
(
const
void
*
pvObject
,
FILETIME
*
expiration
)
static
BOOL
CRYPT_GetExpiration
(
const
void
*
object
,
const
char
*
pszObjectOid
,
FILETIME
*
expiration
)
{
PCCRL_CONTEXT
cert
=
pvObject
;
*
expiration
=
cert
->
pCrlInfo
->
NextUpdate
;
return
TRUE
;
}
static
BOOL
CRYPT_GetExpirationFromCTL
(
const
void
*
pvObject
,
FILETIME
*
expiration
)
{
PCCTL_CONTEXT
cert
=
pvObject
;
*
expiration
=
cert
->
pCtlInfo
->
NextUpdate
;
return
TRUE
;
}
static
BOOL
CRYPT_GetExpirationFunction
(
LPCSTR
pszObjectOid
,
get_object_expiration_func
*
getExpiration
)
{
BOOL
ret
;
if
(
!
IS_INTOID
(
pszObjectOid
))
return
FALSE
;
if
(
IS_INTOID
(
pszObjectOid
))
{
switch
(
LOWORD
(
pszObjectOid
))
{
case
LOWORD
(
CONTEXT_OID_CERTIFICATE
):
*
getExpiration
=
CRYPT_GetExpirationFromCert
;
ret
=
TRUE
;
break
;
case
LOWORD
(
CONTEXT_OID_CRL
):
*
getExpiration
=
CRYPT_GetExpirationFromCRL
;
ret
=
TRUE
;
break
;
case
LOWORD
(
CONTEXT_OID_CTL
):
*
getExpiration
=
CRYPT_GetExpirationFromCTL
;
ret
=
TRUE
;
break
;
default:
ret
=
FALSE
;
}
switch
(
LOWORD
(
pszObjectOid
))
{
case
LOWORD
(
CONTEXT_OID_CERTIFICATE
):
*
expiration
=
((
const
CERT_CONTEXT
*
)
object
)
->
pCertInfo
->
NotAfter
;
return
TRUE
;
case
LOWORD
(
CONTEXT_OID_CRL
):
*
expiration
=
((
const
CRL_CONTEXT
*
)
object
)
->
pCrlInfo
->
NextUpdate
;
return
TRUE
;
case
LOWORD
(
CONTEXT_OID_CTL
):
*
expiration
=
((
const
CTL_CONTEXT
*
)
object
)
->
pCtlInfo
->
NextUpdate
;
return
TRUE
;
}
else
ret
=
FALSE
;
return
ret
;
return
FALSE
;
}
/***********************************************************************
...
...
@@ -1511,22 +1474,18 @@ BOOL WINAPI CryptRetrieveObjectByUrlW(LPCWSTR pszURL, LPCSTR pszObjectOid,
CRYPT_BLOB_ARRAY
object
=
{
0
,
NULL
};
PFN_FREE_ENCODED_OBJECT_FUNC
freeObject
;
void
*
freeContext
;
FILETIME
expires
;
ret
=
retrieve
(
pszURL
,
pszObjectOid
,
dwRetrievalFlags
,
dwTimeout
,
&
object
,
&
freeObject
,
&
freeContext
,
hAsyncRetrieve
,
pCredentials
,
pAuxInfo
);
if
(
ret
)
{
get_object_expiration_func
getExpiration
;
ret
=
create
(
pszObjectOid
,
dwRetrievalFlags
,
&
object
,
ppvObject
);
if
(
ret
&&
!
(
dwRetrievalFlags
&
CRYPT_DONT_CACHE_RESULT
)
&&
CRYPT_GetExpirationFunction
(
pszObjectOid
,
&
getExpiration
))
CRYPT_GetExpiration
(
*
ppvObject
,
pszObjectOid
,
&
expires
))
{
FILETIME
expires
;
if
(
getExpiration
(
*
ppvObject
,
&
expires
))
CRYPT_CacheURL
(
pszURL
,
&
object
,
dwRetrievalFlags
,
expires
);
CRYPT_CacheURL
(
pszURL
,
&
object
,
dwRetrievalFlags
,
expires
);
}
freeObject
(
pszObjectOid
,
&
object
,
freeContext
);
}
...
...
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