GeezerVison is showing github.com — src: register external references in crypto bindings · nodejs/node@7bb3d43
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_aes.cc +4Lines changed: 4 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -603,5 +603,9 @@ void AES::Initialize(Environment* env, Local<Object> target) { | 603 | 603 | #undef V | 604 | 604 | } | 605 | 605 |
| | 606 | +void AES::RegisterExternalReferences(ExternalReferenceRegistry* registry) { | | 607 | + AESCryptoJob::RegisterExternalReferences(registry); | | 608 | +} | | 609 | + | 606 | 610 | } // namespace crypto | 607 | 611 | } // namespace node |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_aes.h +1Lines changed: 1 addition & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -81,6 +81,7 @@ using AESCryptoJob = CipherJob<AESCipherTraits>; | 81 | 81 |
| 82 | 82 | namespace AES { | 83 | 83 | void Initialize(Environment* env, v8::Local<v8::Object> target); | | 84 | +void RegisterExternalReferences(ExternalReferenceRegistry* registry); | 84 | 85 | } // namespace AES | 85 | 86 | } // namespace crypto | 86 | 87 | } // namespace node | |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_cipher.cc +32Lines changed: 32 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -297,6 +297,38 @@ void CipherBase::Initialize(Environment* env, Local<Object> target) { | 297 | 297 | NODE_DEFINE_CONSTANT(target, kWebCryptoCipherDecrypt); | 298 | 298 | } | 299 | 299 |
| | 300 | +void CipherBase::RegisterExternalReferences( | | 301 | + ExternalReferenceRegistry* registry) { | | 302 | + registry->Register(New); | | 303 | + | | 304 | + registry->Register(Init); | | 305 | + registry->Register(InitIv); | | 306 | + registry->Register(Update); | | 307 | + registry->Register(Final); | | 308 | + registry->Register(SetAutoPadding); | | 309 | + registry->Register(GetAuthTag); | | 310 | + registry->Register(SetAuthTag); | | 311 | + registry->Register(SetAAD); | | 312 | + | | 313 | + registry->Register(GetSSLCiphers); | | 314 | + registry->Register(GetCiphers); | | 315 | + | | 316 | + registry->Register(PublicKeyCipher::Cipher<PublicKeyCipher::kPublic, | | 317 | + EVP_PKEY_encrypt_init, | | 318 | + EVP_PKEY_encrypt>); | | 319 | + registry->Register(PublicKeyCipher::Cipher<PublicKeyCipher::kPrivate, | | 320 | + EVP_PKEY_decrypt_init, | | 321 | + EVP_PKEY_decrypt>); | | 322 | + registry->Register(PublicKeyCipher::Cipher<PublicKeyCipher::kPrivate, | | 323 | + EVP_PKEY_sign_init, | | 324 | + EVP_PKEY_sign>); | | 325 | + registry->Register(PublicKeyCipher::Cipher<PublicKeyCipher::kPublic, | | 326 | + EVP_PKEY_verify_recover_init, | | 327 | + EVP_PKEY_verify_recover>); | | 328 | + | | 329 | + registry->Register(GetCipherInfo); | | 330 | +} | | 331 | + | 300 | 332 | void CipherBase::New(const FunctionCallbackInfo<Value>& args) { | 301 | 333 | CHECK(args.IsConstructCall()); | 302 | 334 | Environment* env = Environment::GetCurrent(args); | |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_cipher.h +5Lines changed: 5 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -21,6 +21,7 @@ class CipherBase : public BaseObject { | 21 | 21 | static void GetCiphers(const v8::FunctionCallbackInfo<v8::Value>& args); | 22 | 22 |
| 23 | 23 | static void Initialize(Environment* env, v8::Local<v8::Object> target); | | 24 | + static void RegisterExternalReferences(ExternalReferenceRegistry* registry); | 24 | 25 |
| 25 | 26 | void MemoryInfo(MemoryTracker* tracker) const override; | 26 | 27 | SET_MEMORY_INFO_NAME(CipherBase) | @@ -190,6 +191,10 @@ class CipherJob final : public CryptoJob<CipherTraits> { | 190 | 191 | CryptoJob<CipherTraits>::Initialize(New, env, target); | 191 | 192 | } | 192 | 193 |
| | 194 | + static void RegisterExternalReferences(ExternalReferenceRegistry* registry) { | | 195 | + CryptoJob<CipherTraits>::RegisterExternalReferences(New, registry); | | 196 | + } | | 197 | + | 193 | 198 | CipherJob( | 194 | 199 | Environment* env, | 195 | 200 | v8::Local<v8::Object> object, | |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_context.cc +41Lines changed: 41 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -339,6 +339,47 @@ void SecureContext::Initialize(Environment* env, Local<Object> target) { | 339 | 339 | IsExtraRootCertsFileLoaded); | 340 | 340 | } | 341 | 341 |
| | 342 | +void SecureContext::RegisterExternalReferences( | | 343 | + ExternalReferenceRegistry* registry) { | | 344 | + registry->Register(New); | | 345 | + registry->Register(Init); | | 346 | + registry->Register(SetKey); | | 347 | + registry->Register(SetCert); | | 348 | + registry->Register(AddCACert); | | 349 | + registry->Register(AddCRL); | | 350 | + registry->Register(AddRootCerts); | | 351 | + registry->Register(SetCipherSuites); | | 352 | + registry->Register(SetCiphers); | | 353 | + registry->Register(SetSigalgs); | | 354 | + registry->Register(SetECDHCurve); | | 355 | + registry->Register(SetDHParam); | | 356 | + registry->Register(SetMaxProto); | | 357 | + registry->Register(SetMinProto); | | 358 | + registry->Register(GetMaxProto); | | 359 | + registry->Register(GetMinProto); | | 360 | + registry->Register(SetOptions); | | 361 | + registry->Register(SetSessionIdContext); | | 362 | + registry->Register(SetSessionTimeout); | | 363 | + registry->Register(Close); | | 364 | + registry->Register(LoadPKCS12); | | 365 | + registry->Register(SetTicketKeys); | | 366 | + registry->Register(SetFreeListLength); | | 367 | + registry->Register(EnableTicketKeyCallback); | | 368 | + registry->Register(GetTicketKeys); | | 369 | + registry->Register(GetCertificate<true>); | | 370 | + registry->Register(GetCertificate<false>); | | 371 | + | | 372 | +#ifndef OPENSSL_NO_ENGINE | | 373 | + registry->Register(SetEngineKey); | | 374 | + registry->Register(SetClientCertEngine); | | 375 | +#endif // !OPENSSL_NO_ENGINE | | 376 | + | | 377 | + registry->Register(CtxGetter); | | 378 | + | | 379 | + registry->Register(GetRootCertificates); | | 380 | + registry->Register(IsExtraRootCertsFileLoaded); | | 381 | +} | | 382 | + | 342 | 383 | SecureContext* SecureContext::Create(Environment* env) { | 343 | 384 | Local<Object> obj; | 344 | 385 | if (!GetConstructorTemplate(env) | |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_context.h +1Lines changed: 1 addition & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -38,6 +38,7 @@ class SecureContext final : public BaseObject { | 38 | 38 | static v8::Local<v8::FunctionTemplate> GetConstructorTemplate( | 39 | 39 | Environment* env); | 40 | 40 | static void Initialize(Environment* env, v8::Local<v8::Object> target); | | 41 | + static void RegisterExternalReferences(ExternalReferenceRegistry* registry); | 41 | 42 | static SecureContext* Create(Environment* env); | 42 | 43 |
| 43 | 44 | SSL_CTX* operator*() const { return ctx_.get(); } | |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_dh.cc +22Lines changed: 22 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -108,6 +108,28 @@ void DiffieHellman::Initialize(Environment* env, Local<Object> target) { | 108 | 108 | DHBitsJob::Initialize(env, target); | 109 | 109 | } | 110 | 110 |
| | 111 | +void DiffieHellman::RegisterExternalReferences( | | 112 | + ExternalReferenceRegistry* registry) { | | 113 | + registry->Register(New); | | 114 | + registry->Register(DiffieHellmanGroup); | | 115 | + | | 116 | + registry->Register(GenerateKeys); | | 117 | + registry->Register(ComputeSecret); | | 118 | + registry->Register(GetPrime); | | 119 | + registry->Register(GetGenerator); | | 120 | + registry->Register(GetPublicKey); | | 121 | + registry->Register(GetPrivateKey); | | 122 | + registry->Register(SetPublicKey); | | 123 | + registry->Register(SetPrivateKey); | | 124 | + | | 125 | + registry->Register(DiffieHellman::VerifyErrorGetter); | | 126 | + registry->Register(DiffieHellman::Stateless); | | 127 | + | | 128 | + DHKeyPairGenJob::RegisterExternalReferences(registry); | | 129 | + DHKeyExportJob::RegisterExternalReferences(registry); | | 130 | + DHBitsJob::RegisterExternalReferences(registry); | | 131 | +} | | 132 | + | 111 | 133 | bool DiffieHellman::Init(int primeLength, int g) { | 112 | 134 | dh_.reset(DH_new()); | 113 | 135 | if (!DH_generate_parameters_ex(dh_.get(), primeLength, g, nullptr)) | |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_dh.h +1Lines changed: 1 addition & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -17,6 +17,7 @@ namespace crypto { | 17 | 17 | class DiffieHellman : public BaseObject { | 18 | 18 | public: | 19 | 19 | static void Initialize(Environment* env, v8::Local<v8::Object> target); | | 20 | + static void RegisterExternalReferences(ExternalReferenceRegistry* registry); | 20 | 21 |
| 21 | 22 | bool Init(int primeLength, int g); | 22 | 23 | bool Init(const char* p, int p_len, int g); | |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_dsa.cc +5Lines changed: 5 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -167,6 +167,11 @@ void Initialize(Environment* env, Local<Object> target) { | 167 | 167 | DsaKeyPairGenJob::Initialize(env, target); | 168 | 168 | DSAKeyExportJob::Initialize(env, target); | 169 | 169 | } | | 170 | + | | 171 | +void RegisterExternalReferences(ExternalReferenceRegistry* registry) { | | 172 | + DsaKeyPairGenJob::RegisterExternalReferences(registry); | | 173 | + DSAKeyExportJob::RegisterExternalReferences(registry); | | 174 | +} | 170 | 175 | } // namespace DSAAlg | 171 | 176 | } // namespace crypto | 172 | 177 | } // namespace node |
Collapse file Copy file name to clipboardExpand all lines: src/crypto/crypto_dsa.h +1Lines changed: 1 addition & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -68,6 +68,7 @@ v8::Maybe<bool> GetDsaKeyDetail( | 68 | 68 |
| 69 | 69 | namespace DSAAlg { | 70 | 70 | void Initialize(Environment* env, v8::Local<v8::Object> target); | | 71 | +void RegisterExternalReferences(ExternalReferenceRegistry* registry); | 71 | 72 | } // namespace DSAAlg | 72 | 73 | } // namespace crypto | 73 | 74 | } // namespace node | |
|