Skip to content

Commit

Permalink
updated test cbmc stubs - SigV4_EncodeURI()
Browse files Browse the repository at this point in the history
  • Loading branch information
giuspen committed Nov 24, 2023
1 parent 5cb1d6c commit 1b383aa
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 1 deletion.
7 changes: 7 additions & 0 deletions test/cbmc/include/sigv4_stubs.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,13 @@ SigV4Status_t writeLineToCanonicalRequest( const char * pLine,
size_t lineLen,
CanonicalContext_t * pCanonicalContext );

SigV4Status_t SigV4_EncodeURI( const char * pUri,
size_t uriLen,
char * pCanonicalURI,
size_t * canonicalURILen,
bool encodeSlash,
bool doubleEncodeEquals );

SigV4Status_t generateCanonicalQuery( const char * pQuery,
size_t queryLen,
const bool doubleEncodeEqualsInParmsValues,
Expand Down
2 changes: 1 addition & 1 deletion test/cbmc/proofs/SigV4_GenerateHTTPAuthorization/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,4 @@ include ../Makefile-json.common

# Substitution command to pass to sed for patching sigv4.c. The
# characters " and # must be escaped with backslash.
SIGV4_SED_EXPR = 1s/^/\#include \"sigv4_stubs.h\" /; s/^static //; s/SigV4Status_t (scanValue|generateCanonicalQuery|generateCanonicalAndSignedHeaders|copyHeaderStringToCanonicalBuffer)\b/&_/
SIGV4_SED_EXPR = 1s/^/\#include \"sigv4_stubs.h\" /; s/^static //; s/SigV4Status_t (scanValue|SigV4_EncodeURI|generateCanonicalQuery|generateCanonicalAndSignedHeaders|copyHeaderStringToCanonicalBuffer)\b/&_/
25 changes: 25 additions & 0 deletions test/cbmc/stubs/sigv4_stubs.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,31 @@ SigV4Status_t writeLineToCanonicalRequest( const char * pLine,
return ret;
}

SigV4Status_t SigV4_EncodeURI( const char * pUri,
size_t uriLen,
char * pCanonicalURI,
size_t * canonicalURILen,
bool encodeSlash,
bool doubleEncodeEquals )
{
SigV4Status_t returnStatus = SigV4Success;

assert( pUri != NULL );
assert( pCanonicalURI != NULL );
assert( canonicalURILen != NULL );

if( nondet_bool() )
{
returnStatus = SigV4Success;
}
else
{
returnStatus = SigV4InsufficientMemory;
}

return returnStatus;
}

SigV4Status_t generateCanonicalQuery( const char * pQuery,
size_t queryLen,
const bool doubleEncodeEqualsInParmsValues,
Expand Down

0 comments on commit 1b383aa

Please sign in to comment.