X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=crypto.h;h=2cff5c2db1f02ff8457c12889d9199118f4bad71;hb=5f132358331c13df33f7c7858ee1e5aa69060e00;hp=b78041f6a1ad6186d3c6da47fa008ff9d048f163;hpb=1dfae27462dba735f317cac38f3b7deb415ed154;p=xonotic%2Fdarkplaces.git diff --git a/crypto.h b/crypto.h index b78041f6..2cff5c2d 100644 --- a/crypto.h +++ b/crypto.h @@ -32,6 +32,8 @@ crypto_t; void Crypto_Init(void); void Crypto_Init_Commands(void); void Crypto_Shutdown(void); +qboolean Crypto_Available(void); +void sha256(unsigned char *out, const unsigned char *in, int n); // may ONLY be called if Crypto_Available() const void *Crypto_EncryptPacket(crypto_t *crypto, const void *data_src, size_t len_src, void *data_dst, size_t *len_dst, size_t len); const void *Crypto_DecryptPacket(crypto_t *crypto, const void *data_src, size_t len_src, void *data_dst, size_t *len_dst, size_t len); #define CRYPTO_NOMATCH 0 // process as usual (packet was not used) @@ -53,7 +55,8 @@ const char *Crypto_GetInfoResponseDataString(void); qboolean Crypto_RetrieveHostKey(lhnetaddress_t *peeraddress, int *keyid, char *keyfp, size_t keyfplen, char *idfp, size_t idfplen, int *aeslevel); int Crypto_RetrieveLocalKey(int keyid, char *keyfp, size_t keyfplen, char *idfp, size_t idfplen); // return value: -1 if more to come, +1 if valid, 0 if end of list -qboolean Crypto_SignData(const void *data, size_t datasize, int keyid, void *signed_data, size_t signed_size); +size_t Crypto_SignData(const void *data, size_t datasize, int keyid, void *signed_data, size_t signed_size); +size_t Crypto_SignDataDetached(const void *data, size_t datasize, int keyid, void *signed_data, size_t signed_size); // netconn protocol: // non-crypto: