Skip to content

Commit

Permalink
Fix gcc,nan & v8 deprecations
Browse files Browse the repository at this point in the history
  • Loading branch information
recrsn committed Dec 19, 2018
1 parent 1316e26 commit a315e3a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 15 deletions.
5 changes: 3 additions & 2 deletions src/bcrypt.cc
Expand Up @@ -118,7 +118,8 @@ encode_salt(char *salt, u_int8_t *csalt, char minor, u_int16_t clen, u_int8_t lo
salt[2] = minor;
salt[3] = '$';

snprintf(salt + 4, 4, "%2.2u$", logr);
// Max rounds are 31
snprintf(salt + 4, 4, "%2.2u$", logr & 0x001F);

encode_base64((u_int8_t *) salt + 7, csalt, clen);
}
Expand Down Expand Up @@ -261,7 +262,7 @@ bcrypt(const char *key, const char *salt, char *encrypted)
encrypted[i++] = minor;
encrypted[i++] = '$';

snprintf(encrypted + i, 4, "%2.2u$", logr);
snprintf(encrypted + i, 4, "%2.2u$", logr & 0x001F);

encode_base64((u_int8_t *) encrypted + i + 3, csalt, BCRYPT_MAXSALT);
encode_base64((u_int8_t *) encrypted + strlen(encrypted), ciphertext,
Expand Down
29 changes: 16 additions & 13 deletions src/bcrypt_node.cc
Expand Up @@ -63,8 +63,11 @@ bool ValidateSalt(const char* salt) {
}

char ToCharVersion(Local<String> str) {
String::Utf8Value value(str);
return **value;
//String::Utf8Value value(str);

std::string our_str = *Nan::Utf8String(str);

return our_str[0];
}

/* SALT GENERATION */
Expand Down Expand Up @@ -118,7 +121,7 @@ NAN_METHOD(GenerateSalt) {
return;
}

const char minor_ver = ToCharVersion(info[0]->ToString());
const char minor_ver = ToCharVersion(Nan::To<v8::String>(info[0]).ToLocalChecked());
const int32_t rounds = Nan::To<int32_t>(info[1]).FromMaybe(0);
Local<Object> seed = info[2].As<Object>();
Local<Function> callback = Local<Function>::Cast(info[3]);
Expand Down Expand Up @@ -147,7 +150,7 @@ NAN_METHOD(GenerateSaltSync) {
return;
}

const char minor_ver = ToCharVersion(info[0]->ToString());
const char minor_ver = ToCharVersion(Nan::To<v8::String>(info[0]).ToLocalChecked());
const int32_t rounds = Nan::To<int32_t>(info[1]).FromMaybe(0);
u_int8_t* seed = (u_int8_t*)Buffer::Data(info[2].As<Object>());

Expand Down Expand Up @@ -209,8 +212,8 @@ NAN_METHOD(Encrypt) {
return;
}

Nan::Utf8String data(info[0]->ToString());
Nan::Utf8String salt(info[1]->ToString());
Nan::Utf8String data(Nan::To<v8::String>(info[0]).ToLocalChecked());
Nan::Utf8String salt(Nan::To<v8::String>(info[1]).ToLocalChecked());
Local<Function> callback = Local<Function>::Cast(info[2]);

EncryptAsyncWorker* encryptWorker = new EncryptAsyncWorker(new Nan::Callback(callback),
Expand All @@ -228,8 +231,8 @@ NAN_METHOD(EncryptSync) {
return;
}

Nan::Utf8String data(info[0]->ToString());
Nan::Utf8String salt(info[1]->ToString());
Nan::Utf8String data(Nan::To<v8::String>(info[0]).ToLocalChecked());
Nan::Utf8String salt(Nan::To<v8::String>(info[1]).ToLocalChecked());

if (!(ValidateSalt(*salt))) {
Nan::ThrowError("Invalid salt. Salt must be in the form of: $Vers$log2(NumRounds)$saltvalue");
Expand Down Expand Up @@ -309,8 +312,8 @@ NAN_METHOD(Compare) {
return;
}

Nan::Utf8String input(info[0]->ToString());
Nan::Utf8String encrypted(info[1]->ToString());
Nan::Utf8String input(Nan::To<v8::String>(info[0]).ToLocalChecked());
Nan::Utf8String encrypted(Nan::To<v8::String>(info[1]).ToLocalChecked());
Local<Function> callback = Local<Function>::Cast(info[2]);

CompareAsyncWorker* compareWorker = new CompareAsyncWorker(new Nan::Callback(callback),
Expand All @@ -328,8 +331,8 @@ NAN_METHOD(CompareSync) {
return;
}

Nan::Utf8String pw(info[0]->ToString());
Nan::Utf8String hash(info[1]->ToString());
Nan::Utf8String pw(Nan::To<v8::String>(info[0]).ToLocalChecked());
Nan::Utf8String hash(Nan::To<v8::String>(info[1]).ToLocalChecked());

char bcrypted[_PASSWORD_LEN];
if (ValidateSalt(*hash)) {
Expand All @@ -349,7 +352,7 @@ NAN_METHOD(GetRounds) {
return;
}

Nan::Utf8String hash(info[0]->ToString());
Nan::Utf8String hash(Nan::To<v8::String>(info[0]).ToLocalChecked());
u_int32_t rounds;
if (!(rounds = bcrypt_get_rounds(*hash))) {
Nan::ThrowError("invalid hash provided");
Expand Down

0 comments on commit a315e3a

Please sign in to comment.