[crypto,base64] apply INLINE and WINPR_RESTRICT

This commit is contained in:
akallabeth 2024-06-07 10:04:10 +02:00
parent 8d20118de6
commit a93658cd06
No known key found for this signature in database
GPG Key ID: A49454A3FC909FD5
3 changed files with 32 additions and 23 deletions

View File

@ -38,18 +38,23 @@ extern "C"
};
typedef struct rdp_CertInfo rdpCertInfo;
FREERDP_API char* crypto_base64_encode(const BYTE* data, size_t length);
FREERDP_API char* crypto_base64_encode_ex(const BYTE* data, size_t length, BOOL withCrLf);
FREERDP_API char* crypto_base64_encode(const BYTE* WINPR_RESTRICT data, size_t length);
FREERDP_API char* crypto_base64_encode_ex(const BYTE* WINPR_RESTRICT data, size_t length,
BOOL withCrLf);
FREERDP_API void crypto_base64_decode(const char* enc_data, size_t length, BYTE** dec_data,
size_t* res_length);
FREERDP_API void crypto_base64_decode(const char* WINPR_RESTRICT enc_data, size_t length,
BYTE** WINPR_RESTRICT dec_data,
size_t* WINPR_RESTRICT res_length);
FREERDP_API char* crypto_base64url_encode(const BYTE* data, size_t length);
FREERDP_API void crypto_base64url_decode(const char* enc_data, size_t length, BYTE** dec_data,
size_t* res_length);
FREERDP_API char* crypto_base64url_encode(const BYTE* WINPR_RESTRICT data, size_t length);
FREERDP_API void crypto_base64url_decode(const char* WINPR_RESTRICT enc_data, size_t length,
BYTE** WINPR_RESTRICT dec_data,
size_t* WINPR_RESTRICT res_length);
FREERDP_API char* crypto_read_pem(const char* filename, size_t* plength);
FREERDP_API BOOL crypto_write_pem(const char* filename, const char* pem, size_t length);
FREERDP_API char* crypto_read_pem(const char* WINPR_RESTRICT filename,
size_t* WINPR_RESTRICT plength);
FREERDP_API BOOL crypto_write_pem(const char* WINPR_RESTRICT filename,
const char* WINPR_RESTRICT pem, size_t length);
#ifdef __cplusplus
}

View File

@ -26,8 +26,9 @@
static const char base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
static const char base64url[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
static char* base64_encode_ex(const char* alphabet, const BYTE* data, size_t length, BOOL pad,
BOOL crLf, size_t lineSize)
static INLINE char* base64_encode_ex(const char* WINPR_RESTRICT alphabet,
const BYTE* WINPR_RESTRICT data, size_t length, BOOL pad,
BOOL crLf, size_t lineSize)
{
int c = 0;
const BYTE* q = NULL;
@ -114,12 +115,13 @@ static char* base64_encode_ex(const char* alphabet, const BYTE* data, size_t len
return ret;
}
static char* base64_encode(const char* alphabet, const BYTE* data, size_t length, BOOL pad)
static INLINE char* base64_encode(const char* WINPR_RESTRICT alphabet,
const BYTE* WINPR_RESTRICT data, size_t length, BOOL pad)
{
return base64_encode_ex(alphabet, data, length, pad, FALSE, 64);
}
static int base64_decode_char(const char* alphabet, char c)
static INLINE int base64_decode_char(const char* WINPR_RESTRICT alphabet, char c)
{
char* p = NULL;
@ -132,8 +134,8 @@ static int base64_decode_char(const char* alphabet, char c)
return -1;
}
static void* base64_decode(const char* alphabet, const char* s, size_t length, size_t* data_len,
BOOL pad)
static INLINE void* base64_decode(const char* WINPR_RESTRICT alphabet, const char* WINPR_RESTRICT s,
size_t length, size_t* WINPR_RESTRICT data_len, BOOL pad)
{
int n[4];
BYTE* q = NULL;
@ -223,28 +225,29 @@ out_free:
return NULL;
}
char* crypto_base64_encode_ex(const BYTE* data, size_t length, BOOL withCrLf)
char* crypto_base64_encode_ex(const BYTE* WINPR_RESTRICT data, size_t length, BOOL withCrLf)
{
return base64_encode_ex(base64, data, length, TRUE, withCrLf, 64);
}
char* crypto_base64_encode(const BYTE* data, size_t length)
char* crypto_base64_encode(const BYTE* WINPR_RESTRICT data, size_t length)
{
return base64_encode(base64, data, length, TRUE);
}
void crypto_base64_decode(const char* enc_data, size_t length, BYTE** dec_data, size_t* res_length)
void crypto_base64_decode(const char* WINPR_RESTRICT enc_data, size_t length,
BYTE** WINPR_RESTRICT dec_data, size_t* WINPR_RESTRICT res_length)
{
*dec_data = base64_decode(base64, enc_data, length, res_length, TRUE);
}
char* crypto_base64url_encode(const BYTE* data, size_t length)
char* crypto_base64url_encode(const BYTE* WINPR_RESTRICT data, size_t length)
{
return base64_encode(base64url, data, length, FALSE);
}
void crypto_base64url_decode(const char* enc_data, size_t length, BYTE** dec_data,
size_t* res_length)
void crypto_base64url_decode(const char* WINPR_RESTRICT enc_data, size_t length,
BYTE** WINPR_RESTRICT dec_data, size_t* WINPR_RESTRICT res_length)
{
*dec_data = base64_decode(base64url, enc_data, length, res_length, FALSE);
}

View File

@ -186,7 +186,7 @@ void crypto_reverse(BYTE* data, size_t length)
}
}
char* crypto_read_pem(const char* filename, size_t* plength)
char* crypto_read_pem(const char* WINPR_RESTRICT filename, size_t* WINPR_RESTRICT plength)
{
char* pem = NULL;
FILE* fp = NULL;
@ -234,7 +234,8 @@ fail:
return NULL;
}
BOOL crypto_write_pem(const char* filename, const char* pem, size_t length)
BOOL crypto_write_pem(const char* WINPR_RESTRICT filename, const char* WINPR_RESTRICT pem,
size_t length)
{
WINPR_ASSERT(filename);
WINPR_ASSERT(pem || (length == 0));