Загрузка данных
Windows PowerShell 5.1
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
PS C:\Users\str> $src = 'C:\Moonlight-Tizen24\source'
PS C:\Users\str> $build = 'C:\Temp\pepper42-build'
PS C:\Users\str>
PS C:\Users\str> Write-Host "`n========== 1. CRYPTO IMPLEMENTATION ==========" -ForegroundColor Cyan
========== 1. CRYPTO IMPLEMENTATION ==========
PS C:\Users\str>
PS C:\Users\str> Select-String "$src\moonlight-common-c\src\PlatformCrypto.c" `
>> -Pattern 'USE_MBEDTLS|RAND_bytes|mbedtls_ctr_drbg|AES_|EVP_' `
>> -Context 3,5
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:1:#include "Limelight-internal.h"
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:2:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:3:#ifdef USE_MBEDTLS
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:4:#include <mbedtls/entropy.h>
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:5:#include <mbedtls/ctr_drbg.h>
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:6:#include <mbedtls/version.h>
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:7:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:8:mbedtls_entropy_context EntropyContext;
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:9:mbedtls_ctr_drbg_context CtrDrbgContext;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:10:bool RandomStateInitialized = false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:11:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:12:#if MBEDTLS_VERSION_MAJOR > 2 || (MBEDTLS_VERS
ION_MAJOR == 2 && MBEDTLS_VERSION_MINOR >= 25)
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:13:#define USE_MBEDTLS_CRYPTO_EXT
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:14:#endif
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:15:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:16:#else
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:17:#include <openssl/evp.h>
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:18:#include <openssl/rand.h>
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:39: unsigned char* tag, int
tagLength,
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:40: unsigned char* inputDat
a, int inputDataLength,
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:41: unsigned char* outputDa
ta, int* outputDataLength) {
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:42:#ifdef USE_MBEDTLS
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:43: mbedtls_cipher_mode_t cipherMode;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:44: size_t outLength;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:45:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:46: switch (algorithm) {
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:47: case ALGORITHM_AES_CBC:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:48: LC_ASSERT(tag == NULL);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:49: LC_ASSERT(tagLength == 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:50: cipherMode = MBEDTLS_MODE_CBC;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:51: break;
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:52: case ALGORITHM_AES_GCM:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:53: LC_ASSERT(tag != NULL);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:54: LC_ASSERT(tagLength > 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:55: cipherMode = MBEDTLS_MODE_GCM;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:56: break;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:57: default:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:74: outLength = *outputDataLength;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:75:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:76: if (tag != NULL) {
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:77:#ifdef USE_MBEDTLS_CRYPTO_EXT
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:78: // In mbedTLS, tag is always after cip
hertext, while we need to put tag BEFORE ciphertext here
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:79: // To avoid frequent heap allocation,
we will use some evil tricks...
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:80: // We only support 16 bytes sized tag
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:81: LC_ASSERT(tagLength == 16);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:82: // Assume outputData is right after ta
g
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:141:#else
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:142: LC_ASSERT(keyLength == 16);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:143:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:144: if (algorithm == ALGORITHM_AES_GCM) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:145: LC_ASSERT(tag != NULL);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:146: LC_ASSERT(tagLength > 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:147:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:148: if (!ctx->initialized || (flags & CIP
HER_FLAG_RESET_IV)) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:149: // Perform a full initialization.
This codepath also allows
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:150: // us to change the IV length if
required.
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:151: if (EVP_EncryptInit_ex(ctx->ctx,
EVP_aes_128_gcm(), NULL, NULL, NULL) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:152: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:153: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:154:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:155: if (EVP_CIPHER_CTX_ctrl(ctx->ctx,
EVP_CTRL_GCM_SET_IVLEN, ivLength, NULL) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:156: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:157: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:158:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:159: if (EVP_EncryptInit_ex(ctx->ctx,
NULL, NULL, key, iv) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:160: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:161: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:162:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:163: ctx->initialized = true;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:164: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:165: else {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:166: // Calling with cipher == NULL re
sults in a parameter change
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:167: // without requiring a reallocati
on of the internal cipher ctx.
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:168: if (EVP_EncryptInit_ex(ctx->ctx,
NULL, NULL, NULL, iv) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:169: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:170: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:171: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:172: }
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:173: else if (algorithm == ALGORITHM_AES_CBC)
{
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:174: LC_ASSERT(tag == NULL);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:175: LC_ASSERT(tagLength == 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:176:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:177: if (!ctx->initialized) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:178: // Perform a full initialization
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:179: if (EVP_EncryptInit_ex(ctx->ctx,
EVP_aes_128_cbc(), NULL, key, iv) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:180: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:181: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:182:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:183: ctx->initialized = true;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:184: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:185: else if (flags & CIPHER_FLAG_RESET_IV
) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:186: // Calling with cipher == NULL re
sults in a parameter change
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:187: // without requiring a reallocati
on of the internal cipher ctx.
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:188: if (EVP_EncryptInit_ex(ctx->ctx,
NULL, NULL, NULL, iv) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:189: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:190: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:191: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:192:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:193: if (flags & CIPHER_FLAG_PAD_TO_BLOCK_
SIZE) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:199: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:200: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:201:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:202: if (EVP_EncryptUpdate(ctx->ctx, outputDat
a, outputDataLength, inputData, inputDataLength) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:203: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:204: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:205:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:206: if (algorithm == ALGORITHM_AES_GCM) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:207: int len;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:208:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:209: // GCM encryption won't ever fill cip
hertext here but we have to call it anyway
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:210: if (EVP_EncryptFinal_ex(ctx->ctx, out
putData, &len) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:211: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:212: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:213: LC_ASSERT(len == 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:214:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:215: if (EVP_CIPHER_CTX_ctrl(ctx->ctx, EVP
_CTRL_GCM_GET_TAG, tagLength, tag) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:216: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:217: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:218: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:219: else if (flags & CIPHER_FLAG_FINISH) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:220: int len;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:221:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:222: if (EVP_EncryptFinal_ex(ctx->ctx, &ou
tputData[*outputDataLength], &len) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:223: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:224: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:225:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:226: *outputDataLength += len;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:227: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:241: unsigned char* tag, in
t tagLength,
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:242: unsigned char* inputDa
ta, int inputDataLength,
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:243: unsigned char* outputD
ata, int* outputDataLength) {
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:244:#ifdef USE_MBEDTLS
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:245: mbedtls_cipher_mode_t cipherMode;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:246: size_t outLength;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:247:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:248: switch (algorithm) {
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:249: case ALGORITHM_AES_CBC:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:250: LC_ASSERT(tag == NULL);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:251: LC_ASSERT(tagLength == 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:252: cipherMode = MBEDTLS_MODE_CBC;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:253: break;
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:254: case ALGORITHM_AES_GCM:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:255: LC_ASSERT(tag != NULL);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:256: LC_ASSERT(tagLength > 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:257: cipherMode = MBEDTLS_MODE_GCM;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:258: break;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:259: default:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:276: outLength = *outputDataLength;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:277:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:278: if (tag != NULL) {
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:279:#ifdef USE_MBEDTLS_CRYPTO_EXT
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:280: // We only support 16 bytes sized tag
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:281: LC_ASSERT(tagLength == 16);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:282: // Assume inputData is right after ta
g
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:283: LC_ASSERT(inputData == tag + tagLengt
h);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:284:#ifndef LC_DEBUG
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:334:#else
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:335: LC_ASSERT(keyLength == 16);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:336:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:337: if (algorithm == ALGORITHM_AES_GCM) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:338: LC_ASSERT(tag != NULL);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:339: LC_ASSERT(tagLength > 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:340:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:341: if (!ctx->initialized || (flags & CIP
HER_FLAG_RESET_IV)) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:342: // Perform a full initialization.
This codepath also allows
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:343: // us to change the IV length if
required.
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:344: if (EVP_DecryptInit_ex(ctx->ctx,
EVP_aes_128_gcm(), NULL, NULL, NULL) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:345: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:346: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:347:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:348: if (EVP_CIPHER_CTX_ctrl(ctx->ctx,
EVP_CTRL_GCM_SET_IVLEN, ivLength, NULL) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:349: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:350: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:351:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:352: if (EVP_DecryptInit_ex(ctx->ctx,
NULL, NULL, key, iv) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:353: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:354: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:355:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:356: ctx->initialized = true;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:357: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:358: else {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:359: // Calling with cipher == NULL re
sults in a parameter change
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:360: // without requiring a reallocati
on of the internal cipher ctx.
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:361: if (EVP_DecryptInit_ex(ctx->ctx,
NULL, NULL, NULL, iv) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:362: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:363: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:364: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:365: }
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:366: else if (algorithm == ALGORITHM_AES_CBC)
{
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:367: LC_ASSERT(tag == NULL);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:368: LC_ASSERT(tagLength == 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:369:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:370: if (!ctx->initialized) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:371: // Perform a full initialization
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:372: if (EVP_DecryptInit_ex(ctx->ctx,
EVP_aes_128_cbc(), NULL, key, iv) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:373: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:374: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:375:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:376: ctx->initialized = true;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:377: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:378: else if (flags & CIPHER_FLAG_RESET_IV
) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:379: // Calling with cipher == NULL re
sults in a parameter change
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:380: // without requiring a reallocati
on of the internal cipher ctx.
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:381: if (EVP_DecryptInit_ex(ctx->ctx,
NULL, NULL, NULL, iv) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:382: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:383: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:384: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:385: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:386: else {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:388: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:389: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:390:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:391: if (EVP_DecryptUpdate(ctx->ctx, outputDat
a, outputDataLength, inputData, inputDataLength) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:392: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:393: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:394:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:395: if (algorithm == ALGORITHM_AES_GCM) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:396: int len;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:397:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:398: // Set the GCM tag before calling EVP
_DecryptFinal_ex()
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:399: if (EVP_CIPHER_CTX_ctrl(ctx->ctx, EVP
_CTRL_GCM_SET_TAG, tagLength, tag) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:400: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:401: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:402:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:403: // GCM will never have additional pla
intext here, but we need to call it to
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:404: // ensure that the GCM authentication
tag is correct for this data.
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:405: if (EVP_DecryptFinal_ex(ctx->ctx, out
putData, &len) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:406: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:407: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:408: LC_ASSERT(len == 0);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:409: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:410: else if (flags & CIPHER_FLAG_FINISH) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:411: int len;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:412:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:413: if (EVP_DecryptFinal_ex(ctx->ctx, &ou
tputData[*outputDataLength], &len) != 1) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:414: return false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:415: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:416:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:417: *outputDataLength += len;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:418: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:429:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:430: ctx->initialized = false;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:431:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:432:#ifdef USE_MBEDTLS
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:433: mbedtls_cipher_init(&ctx->ctx);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:434:#else
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:435: ctx->ctx = EVP_CIPHER_CTX_new();
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:436: if (!ctx->ctx) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:437: free(ctx);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:438: return NULL;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:439: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:440:#endif
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:443:}
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:444:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:445:void PltDestroyCryptoContext(PPLT_CRYPTO_CONT
EXT ctx) {
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:446:#ifdef USE_MBEDTLS
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:447: mbedtls_cipher_free(&ctx->ctx);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:448:#else
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:449: EVP_CIPHER_CTX_free(ctx->ctx);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:450:#endif
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:451: free(ctx);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:452:}
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:453:
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:454:void PltGenerateRandomData(unsigned char* dat
a, int length) {
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:455:#ifdef USE_MBEDTLS
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:456: // FIXME: This is not thread safe...
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:457: if (!RandomStateInitialized) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:458: mbedtls_entropy_init(&EntropyContext)
;
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:459: mbedtls_ctr_drbg_init(&CtrDrbgContext
);
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:460: if (mbedtls_ctr_drbg_seed(&CtrDrbgCon
text, mbedtls_entropy_func, &EntropyContext, NULL, 0) != 0) {
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:461: // Nothing we can really do here.
..
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:462: Limelog("Seeding MbedTLS random n
umber generator failed!\n");
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:463: LC_ASSERT(false);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:464: return;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:465: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:467: RandomStateInitialized = true;
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:468: }
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:469:
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:470: mbedtls_ctr_drbg_random(&CtrDrbgContext,
data, length);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:471:#else
> C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:472: RAND_bytes(data, length);
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:473:#endif
C:\Moonlight-Tizen24\source\moonlight-common-c\src\PlatformCrypto.c:474:}
PS C:\Users\str>
PS C:\Users\str> Write-Host "`n========== 2. CRYPTO HEADER ==========" -ForegroundColor Cyan
========== 2. CRYPTO HEADER ==========
PS C:\Users\str>
PS C:\Users\str> Get-Content "$src\moonlight-common-c\src\PlatformCrypto.h"
#pragma once
#include <stdbool.h>
#ifdef USE_MBEDTLS
#include <mbedtls/cipher.h>
#else
// Include the official OpenSSL type definitions.
#include <openssl/ossl_typ.h>
#endif
typedef struct _PLT_CRYPTO_CONTEXT {
#ifdef USE_MBEDTLS
mbedtls_cipher_context_t ctx;
bool initialized;
#else
EVP_CIPHER_CTX* ctx;
bool initialized;
#endif
} PLT_CRYPTO_CONTEXT, *PPLT_CRYPTO_CONTEXT;
#define ROUND_TO_PKCS7_PADDED_LEN(x) ((((x) + 15) / 16) * 16)
PPLT_CRYPTO_CONTEXT PltCreateCryptoContext(void);
void PltDestroyCryptoContext(PPLT_CRYPTO_CONTEXT ctx);
#define ALGORITHM_AES_CBC 1
#define ALGORITHM_AES_GCM 2
#define CIPHER_FLAG_RESET_IV 0x01
#define CIPHER_FLAG_FINISH 0x02
#define CIPHER_FLAG_PAD_TO_BLOCK_SIZE 0x04
bool PltEncryptMessage(PPLT_CRYPTO_CONTEXT ctx, int algorithm, int flags,
unsigned char* key, int keyLength,
unsigned char* iv, int ivLength,
unsigned char* tag, int tagLength,
unsigned char* inputData, int inputDataLength,
unsigned char* outputData, int* outputDataLength);
bool PltDecryptMessage(PPLT_CRYPTO_CONTEXT ctx, int algorithm, int flags,
unsigned char* key, int keyLength,
unsigned char* iv, int ivLength,
unsigned char* tag, int tagLength,
unsigned char* inputData, int inputDataLength,
unsigned char* outputData, int* outputDataLength);
void PltGenerateRandomData(unsigned char* data, int length);
PS C:\Users\str>
PS C:\Users\str> Write-Host "`n========== 3. BUILD FLAGS ==========" -ForegroundColor Cyan
========== 3. BUILD FLAGS ==========
PS C:\Users\str>
PS C:\Users\str> Get-ChildItem $build -Recurse -File |
>> Where-Object { $_.Extension -in '.txt','.log','.sh','.py','.mk' } |
>> Select-String -Pattern 'USE_MBEDTLS|mbedtls|PlatformCrypto.c|openssl' |
>> Select-Object -First 100 Path,LineNumber,Line
Path LineNumber Line
---- ---------- ----
C:\Temp\pepper42-build\check-all-archives.py 8 ("/work/openssl/libssl.a", "libssl"),
C:\Temp\pepper42-build\check-all-archives.py 9 ("/work/openssl/libcrypto.a", "libcrypto"),
C:\Temp\pepper42-build\check-bitcode.sh 12 "$AR" x "/work/openssl/$lib.a"
C:\Temp\pepper42-build\check-curl-deps.py 8 ("/work/openssl/libssl.a", "libssl"),
C:\Temp\pepper42-build\check-curl-deps.py 9 ("/work/openssl/libcrypto.a", "libcrypto"),
C:\Temp\pepper42-build\check-curl-undefined.py 29 print("=== OPENSSL ===")
C:\Temp\pepper42-build\check-curl-undefined.py 31 if s.startswith(("SSL_", "EVP_", "BIO_", "X509_", "ASN...
C:\Temp\pepper42-build\configure-curl.sh 10 export CPPFLAGS="-I/openssl/include -I/zlib"
C:\Temp\pepper42-build\configure-curl.sh 11 export LDFLAGS="-L/openssl -L/zlib"
C:\Temp\pepper42-build\configure-curl.sh 19 --with-ssl=/openssl \
C:\Temp\pepper42-build\moonlight-dryrun.txt 296 echo " CC /work/moonlight-output/pnacl/Release/moonligh...
C:\Temp\pepper42-build\openssl-configure.sh 4 mkdir -p /work/openssl
C:\Temp\pepper42-build\openssl-configure.sh 5 cp -a /src/linux-unpacked/openssl-1.0.2d/. /work/openssl/
C:\Temp\pepper42-build\openssl-configure.sh 7 cd /work/openssl
C:\Temp\pepper42-build\openssl-configure.sh 14 echo "=== OpenSSL Configure: Pepper 42 ==="
C:\Temp\pepper42-build\openssl-configure.sh 18 --prefix=/work/openssl-install
C:\Temp\pepper42-build\openssl-fix-config.sh 2 cd /work/openssl
C:\Temp\pepper42-build\openssl-fix-config.sh 18 "CFLAG= -DOPENSSL_THREADS -D_REENTRANT -O3 -fomit-fram...
C:\Temp\pepper42-build\openssl-fix-config.sh 19 "CFLAG= -DOPENSSL_THREADS -D_REENTRANT -O2 -Wall"
C:\Temp\pepper42-build\openssl-inspect.sh 3 cd /work/linux-unpacked/openssl-1.0.2d
C:\Temp\pepper42-build\openssl-inspect.sh 6 grep -n 'OPENSSL_VERSION_TEXT' include/openssl/opensslv.h ...
C:\Temp\pepper42-build\curl\CMakeLists.txt 126 # OPTION(CURL_WINDOWS_SSPI "Use windows libraries to allow...
C:\Temp\pepper42-build\curl\CMakeLists.txt 298 option(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ON)
C:\Temp\pepper42-build\curl\CMakeLists.txt 299 mark_as_advanced(CMAKE_USE_OPENSSL)
C:\Temp\pepper42-build\curl\CMakeLists.txt 301 set(USE_OPENSSL OFF)
C:\Temp\pepper42-build\curl\CMakeLists.txt 305 if(CMAKE_USE_OPENSSL)
C:\Temp\pepper42-build\curl\CMakeLists.txt 306 find_package(OpenSSL)
C:\Temp\pepper42-build\curl\CMakeLists.txt 307 if(OPENSSL_FOUND)
C:\Temp\pepper42-build\curl\CMakeLists.txt 308 list(APPEND CURL_LIBS ${OPENSSL_LIBRARIES})
C:\Temp\pepper42-build\curl\CMakeLists.txt 309 set(USE_OPENSSL ON)
C:\Temp\pepper42-build\curl\CMakeLists.txt 312 include_directories(${OPENSSL_INCLUDE_DIR})
C:\Temp\pepper42-build\curl\CMakeLists.txt 313 set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
C:\Temp\pepper42-build\curl\CMakeLists.txt 314 check_include_file("openssl/crypto.h" HAVE_OPENSSL_CRY...
C:\Temp\pepper42-build\curl\CMakeLists.txt 315 check_include_file("openssl/engine.h" HAVE_OPENSSL_ENG...
C:\Temp\pepper42-build\curl\CMakeLists.txt 316 check_include_file("openssl/err.h" HAVE_OPENSSL_ERR_H)
C:\Temp\pepper42-build\curl\CMakeLists.txt 317 check_include_file("openssl/pem.h" HAVE_OPENSSL_PEM_H)
C:\Temp\pepper42-build\curl\CMakeLists.txt 318 check_include_file("openssl/pkcs12.h" HAVE_OPENSSL_PKC...
C:\Temp\pepper42-build\curl\CMakeLists.txt 319 check_include_file("openssl/rsa.h" HAVE_OPENSSL_RSA_H)
C:\Temp\pepper42-build\curl\CMakeLists.txt 320 check_include_file("openssl/ssl.h" HAVE_OPENSSL_SSL_H)
C:\Temp\pepper42-build\curl\CMakeLists.txt 321 check_include_file("openssl/x509.h" HAVE_OPENSSL_X50...
C:\Temp\pepper42-build\curl\CMakeLists.txt 322 check_include_file("openssl/rand.h" HAVE_OPENSSL_RAN...
C:\Temp\pepper42-build\curl\CMakeLists.txt 350 set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES})
C:\Temp\pepper42-build\curl\CMakeLists.txt 747 if(CMAKE_USE_OPENSSL)
C:\Temp\pepper42-build\curl\CMakeLists.txt 754 set(USE_OPENSSL 1)
C:\Temp\pepper42-build\curl\CMakeLists.txt 756 endif(CMAKE_USE_OPENSSL)
C:\Temp\pepper42-build\curl\CMakeLists.txt 1026 if(USE_OPENSSL)
C:\Temp\pepper42-build\curl\CMakeLists.txt 1057 if(NOT CURL_DISABLE_CRYPTO_AUTH AND (USE_OPENSSL OR
C:\Temp\pepper42-build\curl\CMakeLists.txt 1063 # TODO missing option (--enable-tls-srp), depends on GNUTL...
C:\Temp\pepper42-build\curl\config.log 7 $ ./configure --build=x86_64-pc-linux-gnu --host=le32-un...
C:\Temp\pepper42-build\curl\config.log 103 configure:4272: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 109 configure:4342: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 115 configure:4453: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 119 configure:4500: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 123 configure:4537: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 127 configure:4655: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 137 configure:4783: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 139 configure:4797: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 156 configure:4842: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 158 configure:4856: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 204 configure:5718: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 208 configure:5718: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 212 configure:5718: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 220 configure:5880: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 226 configure:5977: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 230 configure:5977: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 234 configure:5977: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 238 configure:5977: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 242 configure:5977: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 250 configure:5977: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 254 configure:6005: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 256 configure:6005: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 329 configure:6005: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 402 configure:6005: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 475 configure:6005: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 477 configure:6005: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 479 configure:6005: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 483 configure:6038: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 485 configure:6038: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 559 configure:6038: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 633 configure:6038: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 707 configure:6038: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 709 configure:6038: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 711 configure:6038: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 715 configure:6144: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 717 configure:6171: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 727 configure:6562: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 735 configure:6701: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 800 configure:6786: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 861 configure:6833: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 863 configure:6864: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 865 configure:6935: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 867 configure:7014: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 869 configure:7093: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 871 configure:7172: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 873 configure:7251: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 937 configure:7334: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 1001 configure:7413: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 1065 configure:7492: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 1129 configure:7571: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
C:\Temp\pepper42-build\curl\config.log 1199 configure:7736: /sdk/toolchain/linux_pnacl/bin/pnacl-clang...
PS C:\Users\str>
PS C:\Users\str> Write-Host "`n========== 4. OPENSSL RNG IMPLEMENTATION ==========" -ForegroundColor Cyan
========== 4. OPENSSL RNG IMPLEMENTATION ==========
PS C:\Users\str>
PS C:\Users\str> Get-ChildItem "$build\openssl\crypto\rand" -File |
>> Select-Object Name,Length
Name Length
---- ------
lib 0
Makefile 7375
md_rand.c 20420
md_rand.o 7904
rand.h 5772
randfile.c 10894
randfile.o 5028
randtest.c 6963
rand_egd.c 9474
rand_egd.o 4632
rand_err.c 4029
rand_err.o 2324
rand_lcl.h 7679
rand_lib.c 9167
rand_lib.o 5136
rand_nw.c 7736
rand_nw.o 684
rand_os2.c 5974
rand_os2.o 684
rand_unix.c 15683
rand_unix.o 4704
rand_vms.c 5139
rand_win.c 29194
rand_win.o 684
PS C:\Users\str>
PS C:\Users\str> Write-Host "`n========== 5. EXISTING BUILD ARTIFACTS ==========" -ForegroundColor Cyan
========== 5. EXISTING BUILD ARTIFACTS ==========
PS C:\Users\str>
PS C:\Users\str> Get-Item `
>> "$build\moonlight-output\pnacl\Release\moonlight-chrome-armv7.nexe", `
>> "$build\moonlight-output\pnacl\Release\moonlight-common-c\src\PlatformCrypto.o" |
>> Select-Object FullName,Length,LastWriteTime
FullName Length LastWriteTime
-------- ------ -------------
C:\Temp\pepper42-build\moonlight-output\pnacl\Release\moonlight-chrome-armv7.nexe 4160496 01.11.2026 21:...
C:\Temp\pepper42-build\moonlight-output\pnacl\Release\moonlight-common-c\src\PlatformCrypto.o 17572 01.11.2026 21:...
PS C:\Users\str>