diff --git a/libgamestream/CMakeLists.txt b/libgamestream/CMakeLists.txt index f9f9299..7f1a813 100644 --- a/libgamestream/CMakeLists.txt +++ b/libgamestream/CMakeLists.txt @@ -1,7 +1,7 @@ find_package(LibUUID REQUIRED) find_package(Threads REQUIRED) find_package(CURL REQUIRED) -find_package(OpenSSL REQUIRED) +find_package(OpenSSL 1.1 REQUIRED) find_package(EXPAT REQUIRED) pkg_check_modules(AVAHI REQUIRED avahi-client) diff --git a/libgamestream/client.c b/libgamestream/client.c index 2d547ce..bc6c020 100644 --- a/libgamestream/client.c +++ b/libgamestream/client.c @@ -494,12 +494,15 @@ int gs_pair(PSERVER_DATA server, char* pin) { char client_secret_data[16]; RAND_bytes(client_secret_data, 16); + const ASN1_BIT_STRING *asnSignature; + X509_get0_signature(&asnSignature, NULL, cert); + char challenge_response[16 + 256 + 16]; char challenge_response_hash[32]; char challenge_response_hash_enc[32]; char challenge_response_hex[65]; memcpy(challenge_response, challenge_response_data + hash_length, 16); - memcpy(challenge_response + 16, cert->signature->data, 256); + memcpy(challenge_response + 16, asnSignature->data, 256); memcpy(challenge_response + 16 + 256, client_secret_data, 16); if (server->serverMajorVersion >= 7) SHA256(challenge_response, 16 + 256 + 16, challenge_response_hash); diff --git a/libgamestream/mkcert.c b/libgamestream/mkcert.c index b0d5e5a..e3f6b9e 100644 --- a/libgamestream/mkcert.c +++ b/libgamestream/mkcert.c @@ -18,6 +18,7 @@ #include #include +#include #include #include #include @@ -42,7 +43,7 @@ CERT_KEY_PAIR mkcert_generate() { CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); bio_err = BIO_new_fp(stderr, BIO_NOCLOSE); - SSLeay_add_all_algorithms(); + OpenSSL_add_all_algorithms(); ERR_load_crypto_strings(); mkcert(&x509, &pkey, NUM_BITS, SERIAL, NUM_YEARS); @@ -54,7 +55,6 @@ CERT_KEY_PAIR mkcert_generate() { #endif CRYPTO_cleanup_all_ex_data(); - CRYPTO_mem_leaks(bio_err); BIO_free(bio_err); return (CERT_KEY_PAIR) {x509, pkey, p12}; diff --git a/third_party/moonlight-common-c b/third_party/moonlight-common-c index dcdfcd5..27213a1 160000 --- a/third_party/moonlight-common-c +++ b/third_party/moonlight-common-c @@ -1 +1 @@ -Subproject commit dcdfcd55e575e7f73e813e338fe9ab11ed1211a7 +Subproject commit 27213a167808e85824cc4e2163c7dcaaadf64e50