Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport remove unused branches from fs #5289

Closed
wants to merge 114 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
1576484
stream: fix no data on partial decode
mscdex Feb 14, 2016
e93a4f3
doc: fix links in Addons docs
estliberitas Feb 4, 2016
3e14933
doc: clarify code of conduct reporting
juliepagano Feb 5, 2016
91997ba
http,util: fix typos in comments
estliberitas Feb 17, 2016
ea7daed
doc: add "building node with ninja" guide
Fishrock123 Jan 19, 2016
0a69a17
doc: add Сковорода Никита Андреевич to the CTC
rvagg Feb 17, 2016
822ccdc
doc: add Ali Ijaz Sheikh to the CTC
rvagg Feb 17, 2016
94d7d0a
doc: add Rich Trott to the CTC
rvagg Feb 17, 2016
fb8db9e
doc: add Evan Lucas to the CTC
rvagg Feb 17, 2016
55f59e8
doc: document fs.datasync(Sync)
Feb 24, 2016
ed6db20
doc: update V8 URL
strawbrary Mar 2, 2016
788aa45
win,build: support Visual C++ Build Tools 2015
joaocgreis Mar 9, 2016
fae367b
lib: freelist: use .pop() for allocation
subzey Jan 26, 2016
cbb9633
doc: add onboarding resources
Fishrock123 Nov 9, 2015
8c465cd
doc: add info to docs on how to submit docs patch
Sequoia Jan 8, 2016
58a3984
build: add option to select VS version
greenjava Jan 12, 2016
d7dcd9a
src: return UV_EAI_NODATA on empty lookup
cjihrig Jan 15, 2016
3efe113
stream: prevent object map change in ReadableState
evanlucas Jan 19, 2016
7337e35
test: move cluster tests to parallel
Trott Jan 20, 2016
fd268fd
doc: clarify when writable.write callback is called
kevinoid Jan 22, 2016
659ef2d
buffer: remove duplicated code in fromObject
entertainyou Jan 29, 2016
12eae07
test: remove unneeded bind() and related comments
aayn Feb 1, 2016
61cecc1
stream: prevent object map change in TransformState
evanlucas Feb 2, 2016
04d6d5b
string_decoder: fix performance regression
mscdex Feb 11, 2016
6a21708
repl: handle quotes within regexp literal
princejwesley Feb 6, 2016
d5debfb
doc: add note for binary safe string reading
Feb 9, 2016
115a980
doc: update removeListener behaviour
vaibhav93 Feb 12, 2016
47e8c5c
build: skip msi build if WiX is not found
dimhotepus Feb 13, 2016
aaacf7f
http: remove unnecessary check
mscdex Feb 15, 2016
20b2dfe
http: remove old, confusing comment
mscdex Feb 15, 2016
5107f0a
doc: document base64url encoding support
tristanls Feb 15, 2016
fd95d5d
doc: fix buf.readInt16LE output
chinedufn Feb 17, 2016
d900716
doc: improve unhandledException doc copy
jasnell Feb 17, 2016
2b7a88c
deps: cherry-pick 2e4da65 from v8's 4.8 upstream
mhdawson Feb 17, 2016
9a1c8ba
doc: improve httpVersionMajor / httpVersionMajor
JacksonTian Feb 18, 2016
0605d41
doc: add missing property in cluster example
MrOutput Feb 18, 2016
3006485
doc: fix typo in pbkdf2Sync code sample
mjcuva Feb 18, 2016
b3e3569
debugger: remove unneeded callback check
Trott Feb 19, 2016
bf960bf
tools: add Node.js-specific ESLint rules
Trott Feb 19, 2016
6eb3fb9
test: refactor test-dgram-udp4
santigimeno Feb 20, 2016
48d069d
test: remove flaky designation from fixed tests
Trott Feb 26, 2016
8899016
test: mitigate flaky test-http-agent
Trott Feb 21, 2016
a1747c9
test: prevent flakey test on pi2
trevnorris Mar 2, 2016
213e13e
test: increase timeouts on some unref timers tests
Fishrock123 Feb 21, 2016
34776a1
tools: enable additional lint rules
Trott Feb 22, 2016
a80e9a6
doc: fix relative links in net docs
evanlucas Feb 22, 2016
82f49e3
doc: fix links in tls, cluster docs
estliberitas Feb 19, 2016
5642615
tools: apply custom buffer lint rule to /lib only
Trott Feb 22, 2016
ad3c726
test: fix test-timers.reliability on OS X
Trott Feb 23, 2016
2ca3373
url: group slashed protocols by protocol name
nettofarah Feb 23, 2016
2539ade
crypto: PBKDF2 works with `int` not `ssize_t`
indutny Feb 23, 2016
f0b3f41
test: fix flaky child-process-fork-regr-gh-2847
santigimeno Feb 24, 2016
a50ef9d
benchmark: add benchmark for buf.compare()
Trott Feb 26, 2016
7c0fc04
test: retry on known SmartOS bug
Trott Feb 26, 2016
9af26f0
doc: fix crypto function indentation level
mscdex Feb 26, 2016
5355e4a
doc: add Testing WG
Trott Feb 26, 2016
52a0992
test: increase timeout for test-tls-fast-writing
Trott Feb 28, 2016
ba7a247
test: apply Linux workaround to Linux only
Trott Feb 28, 2016
46b1043
doc: update NAN urls in ROADMAP.md and doc/releases.md
ronkorving Feb 28, 2016
ff1774b
doc: fix typo in child_process documentation
evanlucas Feb 28, 2016
ee98a3e
doc: add clarification on birthtime in fs stat
kthelgason Feb 28, 2016
5974a6d
tools: enable no-extra-parens in ESLint
Trott Mar 1, 2016
144f574
build: remove --quiet from eslint invocation
Mar 2, 2016
9cbd062
build: update Node.js logo on Win installer
eljefedelrodeodeljefe Mar 2, 2016
62ff109
test: remove broken debugger scenarios
Trott Mar 2, 2016
db6d14c
test: check memoryUsage properties The properties on memoryUsage were…
geek Mar 3, 2016
ed05eeb
doc: update link green to match homepage
silverwind Mar 3, 2016
1f5f341
tools: enable no-self-assign ESLint rule
Trott Mar 3, 2016
e987929
build: correctly detect clang version
Mar 3, 2016
81d00f3
doc: document directories in test directory
mike182uk Mar 3, 2016
d9703fa
doc: fix typo in fs.symlink
targos Mar 4, 2016
63c836f
tools: reduce verbosity of cpplint
thefourtheye Mar 6, 2016
49602af
doc: fix dns.resolveCname description typo
axvm Mar 9, 2016
2474e0d
docs: update link to iojs+release ci job
Mar 9, 2016
3c1d762
doc: move build instructions to a new document
jbergstroem Mar 9, 2016
16378e3
doc: fix markdown links
stevemao Mar 10, 2016
80bae47
doc: include typo in 'unhandledRejection' example
r1b Mar 11, 2016
49fbf57
doc: add mattloring to collaborators
Mar 11, 2016
1d02091
doc: add phillipj to collaborators
phillipj Mar 11, 2016
db21c17
doc: add benjamingr to collaborator list
benjamingr Mar 11, 2016
9b80b25
doc: add whitlockjc to collaborators
whitlockjc Mar 11, 2016
dbbb185
doc: add AndreasMadsen to collaborators
AndreasMadsen Mar 11, 2016
5ab4dfb
doc: add thekemkid to collaborators
GlenTiki Mar 11, 2016
3a94d78
doc: add fansworld-claudio to collaborators
claudiorodriguez Mar 11, 2016
d8eeca4
doc: remove non-standard use of hyphens
svozza Mar 12, 2016
dd79419
doc: fix typo in api/addons
watilde Mar 13, 2016
3d5f57b
doc: clarify type of first argument in zlib
fanatid Mar 13, 2016
cf02135
doc: explain path.format() algorithm
Trott Mar 13, 2016
a60b0c2
tls: fix assert in context._external accessor
bnoordhuis Mar 2, 2016
7b7fb6b
docs: fix man pages link if tok type is code
mithun-daa Mar 15, 2016
fa3ed70
doc: Add note about use of JSON.stringify()
mithun-daa Mar 15, 2016
2c82efb
doc: fix return value of write methods
fb55 Mar 16, 2016
6d631af
build: update Node.js logo on OSX installer
rvagg Feb 24, 2016
7167733
doc: update fansworld-claudio username on README
claudiorodriguez Mar 13, 2016
a47f209
collaborator_guide: clarify commit message rules
geek Mar 11, 2016
9a6494e
doc: fix typo in child_process docs
benjamingr Mar 13, 2016
ee1365f
doc: update release tweet template
Fishrock123 Mar 9, 2016
d015c54
doc: fix invalid path doc comments
Trott Mar 11, 2016
a411bf9
benchmark: fix lint errors
Trott Mar 2, 2016
9c8d596
tools,benchmark: increase lint compliance
Trott Feb 25, 2016
17a6e0d
benchmark: refactor to eliminate redeclared vars
Trott Feb 28, 2016
c0e0815
benchmark: use strict mode
Trott Feb 20, 2016
95e1048
benchmark: fix linting issues
Trott Mar 17, 2016
a15c6e1
tools: enable linting for benchmarks
Trott Mar 17, 2016
cda345e
tools: support testing known issues
cjihrig Mar 2, 2016
3e32397
test: bug repro for vm function redefinition
cjihrig Mar 2, 2016
2b7fd50
tools: update gyp to b3cef02
Oct 19, 2015
f9c32e2
tools: fix gyp to work on MacOSX without XCode
Feb 10, 2015
8c682a3
test: eval a strict function
kthelgason Feb 15, 2016
67e30b2
doc: topic blocking vs non-blocking
jrit Feb 19, 2016
4c089a6
build: don't install github templates
jbergstroem Mar 9, 2016
d8a5a31
deps: update openssl config
Mar 6, 2016
825db16
doc: fix typo in synchronous randomBytes example
WebReflection Mar 18, 2016
1ab7853
fs: Remove unused branches
benjamingr Mar 22, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 25 additions & 14 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ env:

rules:
# Possible Errors
# https://github.com/eslint/eslint/tree/master/docs/rules#possible-errors
# http://eslint.org/docs/rules/#possible-errors
comma-dangle: [2, "only-multiline"]
no-control-regex: 2
no-debugger: 2
no-dupe-args: 2
Expand All @@ -13,6 +14,7 @@ rules:
no-empty-character-class: 2
no-ex-assign: 2
no-extra-boolean-cast : 2
no-extra-parens: [2, "functions"]
no-extra-semi: 2
no-func-assign: 2
no-invalid-regexp: 2
Expand All @@ -26,13 +28,32 @@ rules:
valid-typeof: 2

# Best Practices
# https://github.com/eslint/eslint/tree/master/docs/rules#best-practices
# http://eslint.org/docs/rules/#best-practices
no-fallthrough: 2
no-octal: 2
no-redeclare: 2
no-self-assign: 2
no-unused-labels: 2

# Strict Mode
# http://eslint.org/docs/rules/#strict-mode
strict: [2, "global"]

# Variables
# http://eslint.org/docs/rules/#variables
no-delete-var: 2
no-undef: 2
no-unused-vars: [2, {"args": "none"}]

# Node.js and CommonJS
# http://eslint.org/docs/rules/#nodejs-and-commonjs
no-mixed-requires: 2
no-new-require: 2
no-path-concat: 2
no-restricted-modules: [2, "sys", "_linklist"]

# Stylistic Issues
# https://github.com/eslint/eslint/tree/master/docs/rules#stylistic-issues
# http://eslint.org/docs/rules/#stylistic-issues
comma-spacing: 2
eol-last: 2
indent: [2, 2, {SwitchCase: 1}]
Expand All @@ -59,21 +80,11 @@ rules:
no-confusing-arrow: 2
no-const-assign: 2
no-dupe-class-members: 2
no-new-symbol: 2
no-this-before-super: 2
prefer-const: 2

# Strict Mode
# https://github.com/eslint/eslint/tree/master/docs/rules#strict-mode
strict: [2, "global"]

# Variables
# https://github.com/eslint/eslint/tree/master/docs/rules#variables
no-delete-var: 2
no-undef: 2
no-unused-vars: [2, {"args": "none"}]

# Custom rules in tools/eslint-rules
require-buffer: 2
new-with-error: [2, "Error", "RangeError", "TypeError", "SyntaxError", "ReferenceError"]


Expand Down
246 changes: 246 additions & 0 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
## Building Node.js

Depending on what platform or features you require the build process may
differ slightly. After you've successfully built a binary, running the
test suite to validate that the binary works as intended is a good next step.

If you consistently can reproduce a test failure, search for it in the
[Node.js issue tracker](https://github.com/nodejs/node/issues) or
file a new issue.


### Unix / Macintosh

Prerequisites:

* `gcc` and `g++` 4.8 or newer, or
* `clang` and `clang++` 3.4 or newer
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)

```text
$ ./configure
$ make
$ [sudo] make install
```

If your Python binary is in a non-standard location or has a
non-standard name, run the following instead:

```text
$ export PYTHON=/path/to/python
$ $PYTHON ./configure
$ make
$ [sudo] make install
```

To run the tests:

```text
$ make test
```

To build the documentation:

```text
$ make doc
```

To read the documentation:

```text
$ man doc/node.1
```

To test if Node.js was built correctly:

```
$ node -e "console.log('Hello from Node.js ' + process.version)"
```


### Windows

Prerequisites:

* [Python 2.6 or 2.7](https://www.python.org/downloads/)
* Visual Studio 2013 / 2015, all editions including the Community edition, or
* Visual Studio Express 2013 / 2015 for Desktop
* Basic Unix tools required for some tests,
[Git for Windows](http://git-scm.com/download/win) includes Git Bash
and tools which can be included in the global `PATH`.

```text
> vcbuild nosign
```

To run the tests:

```text
> vcbuild test
```

To test if Node.js was built correctly:

```
$ node -e "console.log('Hello from Node.js ' + process.version)"
```

### Android / Android based devices, aka. Firefox OS

Be sure you have downloaded and extracted [Android NDK]
(https://developer.android.com/tools/sdk/ndk/index.html)
before in a folder. Then run:

```
$ ./android-configure /path/to/your/android-ndk
$ make
```


### `Intl` (ECMA-402) support:

[Intl](https://github.com/nodejs/node/wiki/Intl) support is not
enabled by default.


#### "small" (English only) support

This option will build with "small" (English only) support, but
the full `Intl` (ECMA-402) APIs. With `--download=all` it will
download the ICU library as needed.

##### Unix / Macintosh:

```text
$ ./configure --with-intl=small-icu --download=all
```

##### Windows:

```text
> vcbuild small-icu download-all
```

The `small-icu` mode builds with English-only data. You can add full
data at runtime.

*Note:* more docs are on
[the node wiki](https://github.com/nodejs/node/wiki/Intl).

#### Build with full ICU support (all locales supported by ICU):

With the `--download=all`, this may download ICU if you don't have an
ICU in `deps/icu`.

##### Unix / Macintosh:

```text
$ ./configure --with-intl=full-icu --download=all
```

##### Windows:

```text
> vcbuild full-icu download-all
```

#### Building without Intl support

The `Intl` object will not be available. This is the default at
present, so this option is not normally needed.

##### Unix / Macintosh:

```text
$ ./configure --with-intl=none
```

##### Windows:

```text
> vcbuild intl-none
```

#### Use existing installed ICU (Unix / Macintosh only):

```text
$ pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu
```

If you are cross compiling, your `pkg-config` must be able to supply a path
that works for both your host and target environments.

#### Build with a specific ICU:

You can find other ICU releases at
[the ICU homepage](http://icu-project.org/download).
Download the file named something like `icu4c-**##.#**-src.tgz` (or
`.zip`).

##### Unix / Macintosh

```text
# from an already-unpacked ICU:
$ ./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu

# from a local ICU tarball
$ ./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu.tgz

# from a tarball URL
$ ./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz
```

##### Windows

First unpack latest ICU to `deps/icu`
[icu4c-**##.#**-src.tgz](http://icu-project.org/download) (or `.zip`)
as `deps/icu` (You'll have: `deps/icu/source/...`)

```text
> vcbuild full-icu
```

## Building Node.js with FIPS-compliant OpenSSL

NOTE: Windows is not yet supported

It is possible to build Node.js with
[OpenSSL FIPS module](https://www.openssl.org/docs/fips/fipsnotes.html).

**Note**: building in this way does **not** allow you to claim that the
runtime is FIPS 140-2 validated. Instead you can indicate that the runtime
uses a validated module. See the [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf)
page 60 for more details. In addition, the validation for the underlying module
is only valid if it is deployed in accordance with its [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf).
If you need FIPS validated cryptography it is recommended that you read both
the [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf)
and [user guide](https://openssl.org/docs/fips/UserGuide-2.0.pdf).

### Instructions

1. Obtain a copy of openssl-fips-x.x.x.tar.gz.
To comply with the security policy you must ensure the path
through which you get the file complies with the requirements
for a "secure installation" as described in section 6.6 in
the [user guide](https://openssl.org/docs/fips/UserGuide-2.0.pdf).
For evaluation/experimentation you can simply download and verify
`openssl-fips-x.x.x.tar.gz` from https://www.openssl.org/source/
2. Extract source to `openssl-fips` folder and `cd openssl-fips`
3. `./config`
4. `make`
5. `make install`
(NOTE: to comply with the security policy you must use the exact
commands in steps 3-5 without any additional options as per
Appendix A in the [security policy](http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf).
The only exception is that `./config no-asm` can be
used in place of `./config`, and the FIPSDIR environment variable
may be used to specify a non-standard install folder for the
validated module, as per User Guide sections 4.2.1, 4.2.2, and 4.2.3.
6. Get into Node.js checkout folder
7. `./configure --openssl-fips=/path/to/openssl-fips/installdir`
For example on ubuntu 12 the installation directory was
/usr/local/ssl/fips-2.0
8. Build Node.js with `make -j`
9. Verify with `node -p "process.versions.openssl"` (`1.0.2a-fips`)
20 changes: 17 additions & 3 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
## Code of Conduct

This Code of Conduct is adapted from [Rust's wonderful
CoC](http://www.rust-lang.org/conduct.html) as well as the
[Contributor Covenant v1.3.0](http://contributor-covenant.org/version/1/3/0/).
### Conduct

* We are committed to providing a friendly, safe and welcoming
environment for all, regardless of level of experience, gender
Expand Down Expand Up @@ -39,3 +37,19 @@ CoC](http://www.rust-lang.org/conduct.html) as well as the
* Avoid the use of personal pronouns in code comments or
documentation. There is no need to address persons when explaining
code (e.g. "When the developer").

### Contact
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by:

* Emailing [report@nodejs.org](mailto:report@nodejs.org) (this will email all TSC members)
* Contacting [individual TSC members](https://nodejs.org/en/foundation/tsc/#current-members-of-the-technical-steering-committee).

### Moderation
See the TSC's [moderation policy](https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md) for details about moderation.

### Attribution

This Code of Conduct is adapted from [Rust's wonderful
CoC](http://www.rust-lang.org/conduct.html) as well as the
[Contributor Covenant v1.3.0](http://contributor-covenant.org/version/1/3/0/).
7 changes: 5 additions & 2 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,17 @@ information regarding the change process:

- A `Reviewed-By: Name <email>` line for yourself and any
other Collaborators who have reviewed the change.
- A `PR-URL:` line that references the full GitHub URL of the original
- A `PR-URL:` line that references the *full* GitHub URL of the original
pull request being merged so it's easy to trace a commit back to the
conversation that led up to that change.
- A `Fixes: X` line, where _X_ is either includes the full GitHub URL
- A `Fixes: X` line, where _X_ either includes the *full* GitHub URL
for an issue, and/or the hash and commit message if the commit fixes
a bug in a previous commit. Multiple `Fixes:` lines may be added if
appropriate.

Review the commit message to ensure that it adheres to the guidelines
outlined in the [contributing](https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#step-3-commit) guide.

See the commit log for examples such as
[this one](https://github.com/nodejs/node/commit/b636ba8186) if unsure
exactly how to format your commit messages.
Expand Down
Loading