Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: kelektiv/node.bcrypt.js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0dc9b78dab6980d129b77d1df723aa44daa7deb4
Choose a base ref
...
head repository: kelektiv/node.bcrypt.js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 61139e6bbe6afe9c2c2a0dbdfe8f5e6a7b746a67
Choose a head ref
Loading
Showing with 3,633 additions and 502 deletions.
  1. +19 −0 .editorconfig
  2. +1 −1 .gitignore
  3. +47 −10 .travis.yml
  4. +95 −0 CHANGELOG.md
  5. +2 −0 ISSUE_TEMPLATE.md
  6. +4 −7 Makefile
  7. +130 −39 README.md
  8. +50 −0 appveyor.yml
  9. +89 −26 bcrypt.js
  10. +37 −2 binding.gyp
  11. +2,403 −0 package-lock.json
  12. +24 −10 package.json
  13. +42 −0 promises.js
  14. +47 −54 src/bcrypt.cc
  15. +226 −300 src/bcrypt_node.cc
  16. +0 −7 src/blowfish.cc
  17. +25 −4 src/node_blf.h
  18. +48 −16 test/async.js
  19. +48 −0 test/implementation.js
  20. +252 −0 test/promise.js
  21. +32 −16 test/sync.js
  22. +12 −0 test_alpine.sh
  23. +0 −10 werker.yml
19 changes: 19 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[{package.json,*.yml}]
indent_style = space
indent_size = 2

[appveyor.yml]
end_of_line = crlf

[*.md]
trim_trailing_whitespace = false
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.lock*
build
build*
*.node
*.sw[a-z]
node_modules
57 changes: 47 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,61 @@
language: node_js

services:
- docker

env:
- CXX=g++-4.8
- LINUX_CXX=g++-4.8

os:
- linux
- osx

arch:
- amd64
- arm64

node_js:
- "0.8"
- "0.10"
- "0.12"
- "4"
- "6"
- '10'
- '11'
- '12'
- '13'
- '14'

addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8

sudo: false
- bc

before_install:
- $CXX --version
- if [ "$TRAVIS_NODE_VERSION" = "0.8" ]; then npm install -g npm@2.7.3; fi;
- echo Building for Node $TRAVIS_NODE_VERSION
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CXX=$LINUX_CXX; $CXX --version;
fi;
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then c++ --version; fi;
- npm install -g npm@latest

install: true

script:
- npm test
- "./node_modules/.bin/node-pre-gyp configure"
- "./node_modules/.bin/node-pre-gyp build"
- "./node_modules/.bin/node-pre-gyp package"
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]
then
docker run -w /src --entrypoint /bin/sh -v`pwd`:/src "node:${TRAVIS_NODE_VERSION}-alpine" test_alpine.sh
fi
deploy:
provider: releases
api_key:
secure: j4gQ+m02izaw56EOd0gEStHAjCRfSCkohDWvpABiPzh1YPM9MvfEMSIvzzjV/0oMqi3Sy7eGyFv47EgQHZvouW0I8BIUzxuTCE5wP8z2SjABXCa/rz4WTppTc9d9ABq8JSdz80JxEwjmuwnYeMwWgOd7sT/VDiMxLYaXj0JWO7w=
file_glob: true
file: build/stage/*/*
on:
node_js: '10'
repo: kelektiv/node.bcrypt.js
condition: $TRAVIS_TAG =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-\w)?
95 changes: 95 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,98 @@
# 5.0.0 (2020-06-02)

* Fix the bcrypt "wrap-around" bug. It affects passwords with lengths >= 255.
It is uncommon but it's a bug nevertheless. Previous attempts to fix the bug
was unsuccessful.
* Experimental support for z/OS
* Fix a bug related to NUL in password input
* Update `node-pre-gyp` to 0.15.0

# 4.0.1 (2020-02-27)

* Fix compilation errors in Alpine linux

# 4.0.0 (2020-02-17)

* Switch to NAPI bcrypt
* Drop support for NodeJS 8

# 3.0.8 (2019-12-31)

* Update `node-pre-gyp` to 0.14
* Pre-built binaries for NodeJS 13

# 3.0.7 (2019-10-18)

* Update `nan` to 2.14.0
* Update `node-pre-gyp` to 0.13

# 3.0.6 (2019-04-11)

* Update `nan` to 2.13.2

# 3.0.5 (2019-03-19)

* Update `nan` to 2.13.1
* NodeJS 12 compatibility
* Remove `node-pre-gyp` from bundled dependencies

# 3.0.4-napi (2019-03-08)

* Sync N-API bcrypt with NAN bcrypt

# 3.0.4 (2019-02-07)

* Fix GCC, NAN and V8 deprecation warnings

# 3.0.3 (2018-12-19)

* Update `nan` to 2.12.1

# 3.0.2 (2018-10-18)

* Update `nan` to 2.11.1

# 3.0.1 (2018-09-20)

* Update `nan` to 2.11.0

# 3.0.0 (2018-07-06)

* Drop support for NodeJS <= 4

# 2.0.1 (2018-04-20)

* Update `node-pre-gyp` to allow downloading prebuilt modules

# 2.0.0 (2018-04-07)

* Make `2b` the default bcrypt version

# 1.1.0-napi (2018-01-21)

* Initial support for [N-API](https://nodejs.org/api/n-api.html)

# 1.0.3 (2016-08-23)

* update to nan v2.6.2 for NodeJS 8 support
* Fix: use npm scripts instead of node-gyp directly.

# 1.0.2 (2016-12-31)

* Fix `compare` promise rejection with invalid arguments

# 1.0.1 (2016-12-07)

* Fix destructuring imports with promises

# 1.0.0 (2016-12-04)

* add Promise support (commit 2488473)

# 0.8.7 (2016-06-09)

* update nan to 2.3.5 for improved node v6 support

# 0.8.6 (2016-04-20)

* update nan for node v6 support
2 changes: 2 additions & 0 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -14,3 +14,5 @@ Once you have done the above and are still confident that the issue is with the
* If you find a bug, please write a failing test.

Thanks!

P.S. If it doesn't look like you read the above then your issue will likely be closed without further explanation. Sorry, but there are just too many issues opened with no useful information or questions which have been previously addressed.
11 changes: 4 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -2,21 +2,18 @@ TESTS = test/*.js

all: test

build: clean configure compile
build: clean compile

configure:
node-gyp configure

compile: configure
node-gyp build
compile:
npm install .
npm run install

test: build
@./node_modules/nodeunit/bin/nodeunit \
$(TESTS)

clean:
node-gyp clean
rm -Rf lib/bindings/


.PHONY: clean test build
Loading