Загрузка данных


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>