Skip to content

Commit

Permalink
src: move crypto_bio/clienthello to crypto ns
Browse files Browse the repository at this point in the history
Currently, node_crypto_bio and node_crypto_clienthello are not in the
crypto namespace but simply in the node namespace. Not sure if this was
intentional or not, but I think it would make sense to move them to be
consistent.

PR-URL: #13957
Reviewed-By: Refael Ackermann <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
  • Loading branch information
danbev authored and MylesBorins committed Aug 16, 2017
1 parent bd8574c commit 51364b7
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 13 deletions.
2 changes: 2 additions & 0 deletions src/node_crypto_bio.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include <string.h>

namespace node {
namespace crypto {

const BIO_METHOD NodeBIO::method = {
BIO_TYPE_MEM,
Expand Down Expand Up @@ -467,4 +468,5 @@ NodeBIO::~NodeBIO() {
write_head_ = nullptr;
}

} // namespace crypto
} // namespace node
2 changes: 2 additions & 0 deletions src/node_crypto_bio.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "v8.h"

namespace node {
namespace crypto {

class NodeBIO {
public:
Expand Down Expand Up @@ -135,6 +136,7 @@ class NodeBIO {
Buffer* write_head_;
};

} // namespace crypto
} // namespace node

#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
Expand Down
2 changes: 2 additions & 0 deletions src/node_crypto_clienthello-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "util-inl.h"

namespace node {
namespace crypto {

inline void ClientHelloParser::Reset() {
frame_len_ = 0;
Expand Down Expand Up @@ -53,6 +54,7 @@ inline bool ClientHelloParser::IsPaused() const {
return state_ == kPaused;
}

} // namespace crypto
} // namespace node

#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
Expand Down
2 changes: 2 additions & 0 deletions src/node_crypto_clienthello.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "node_crypto_clienthello-inl.h"

namespace node {
namespace crypto {

void ClientHelloParser::Parse(const uint8_t* data, size_t avail) {
switch (state_) {
Expand Down Expand Up @@ -223,4 +224,5 @@ bool ClientHelloParser::ParseTLSClientHello(const uint8_t* data, size_t avail) {
return true;
}

} // namespace crypto
} // namespace node
2 changes: 2 additions & 0 deletions src/node_crypto_clienthello.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include <stdlib.h> // nullptr

namespace node {
namespace crypto {

class ClientHelloParser {
public:
Expand Down Expand Up @@ -112,6 +113,7 @@ class ClientHelloParser {
const uint8_t* tls_ticket_;
};

} // namespace crypto
} // namespace node

#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
Expand Down
24 changes: 13 additions & 11 deletions src/tls_wrap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,10 @@ void TLSWrap::NewSessionDoneCb() {

void TLSWrap::InitSSL() {
// Initialize SSL
enc_in_ = NodeBIO::New();
enc_out_ = NodeBIO::New();
NodeBIO::FromBIO(enc_in_)->AssignEnvironment(env());
NodeBIO::FromBIO(enc_out_)->AssignEnvironment(env());
enc_in_ = crypto::NodeBIO::New();
enc_out_ = crypto::NodeBIO::New();
crypto::NodeBIO::FromBIO(enc_in_)->AssignEnvironment(env());
crypto::NodeBIO::FromBIO(enc_out_)->AssignEnvironment(env());

SSL_set_bio(ssl_, enc_in_, enc_out_);

Expand Down Expand Up @@ -149,15 +149,15 @@ void TLSWrap::InitSSL() {
SSL_set_accept_state(ssl_);
} else if (is_client()) {
// Enough space for server response (hello, cert)
NodeBIO::FromBIO(enc_in_)->set_initial(kInitialClientBufferLength);
crypto::NodeBIO::FromBIO(enc_in_)->set_initial(kInitialClientBufferLength);
SSL_set_connect_state(ssl_);
} else {
// Unexpected
ABORT();
}

// Initialize ring for queud clear data
clear_in_ = new NodeBIO();
clear_in_ = new crypto::NodeBIO();
clear_in_->AssignEnvironment(env());
}

Expand Down Expand Up @@ -289,7 +289,9 @@ void TLSWrap::EncOut() {
char* data[kSimultaneousBufferCount];
size_t size[arraysize(data)];
size_t count = arraysize(data);
write_size_ = NodeBIO::FromBIO(enc_out_)->PeekMultiple(data, size, &count);
write_size_ = crypto::NodeBIO::FromBIO(enc_out_)->PeekMultiple(data,
size,
&count);
CHECK(write_size_ != 0 && count != 0);

Local<Object> req_wrap_obj =
Expand Down Expand Up @@ -335,7 +337,7 @@ void TLSWrap::EncOutCb(WriteWrap* req_wrap, int status) {
}

// Commit
NodeBIO::FromBIO(wrap->enc_out_)->Read(nullptr, wrap->write_size_);
crypto::NodeBIO::FromBIO(wrap->enc_out_)->Read(nullptr, wrap->write_size_);

// Ensure that the progress will be made and `InvokeQueued` will be called.
wrap->ClearIn();
Expand Down Expand Up @@ -653,7 +655,7 @@ void TLSWrap::OnAllocImpl(size_t suggested_size, uv_buf_t* buf, void* ctx) {
}

size_t size = 0;
buf->base = NodeBIO::FromBIO(wrap->enc_in_)->PeekWritable(&size);
buf->base = crypto::NodeBIO::FromBIO(wrap->enc_in_)->PeekWritable(&size);
buf->len = size;
}

Expand Down Expand Up @@ -717,7 +719,7 @@ void TLSWrap::DoRead(ssize_t nread,
}

// Commit read data
NodeBIO* enc_in = NodeBIO::FromBIO(enc_in_);
crypto::NodeBIO* enc_in = crypto::NodeBIO::FromBIO(enc_in_);
enc_in->Commit(nread);

// Parse ClientHello first
Expand Down Expand Up @@ -788,7 +790,7 @@ void TLSWrap::EnableSessionCallbacks(
"EnableSessionCallbacks after destroySSL");
}
wrap->enable_session_callbacks();
NodeBIO::FromBIO(wrap->enc_in_)->set_initial(kMaxHelloLength);
crypto::NodeBIO::FromBIO(wrap->enc_in_)->set_initial(kMaxHelloLength);
wrap->hello_parser_.Start(SSLWrap<TLSWrap>::OnClientHello,
OnClientHelloParseEnd,
wrap);
Expand Down
4 changes: 2 additions & 2 deletions src/tls_wrap.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
namespace node {

// Forward-declarations
class NodeBIO;
class WriteWrap;
namespace crypto {
class SecureContext;
class NodeBIO;
}

class TLSWrap : public AsyncWrap,
Expand Down Expand Up @@ -151,7 +151,7 @@ class TLSWrap : public AsyncWrap,
StreamBase* stream_;
BIO* enc_in_;
BIO* enc_out_;
NodeBIO* clear_in_;
crypto::NodeBIO* clear_in_;
size_t write_size_;
typedef ListHead<WriteItem, &WriteItem::member_> WriteItemList;
WriteItemList write_item_queue_;
Expand Down

0 comments on commit 51364b7

Please sign in to comment.