Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
7ada680
tls: destroy SSL once it is out of use
indutny Apr 26, 2015
74060bb
crypto: track external memory for SSL structures
indutny Apr 26, 2015
1cfc455
tls: zero SSL_CTX freelist for a singleUse socket
indutny Apr 26, 2015
b72e4bc
tls: destroy singleUse context immediately
indutny Apr 27, 2015
ba0e744
deps: upgrade npm to 2.9.0
othiym23 May 1, 2015
f10f379
deps: make node-gyp work with io.js
cjihrig May 1, 2015
0eb74a8
win,node-gyp: optionally allow node.exe/iojs.exe to be renamed
piscisaureus May 1, 2015
71274b0
tls_wrap: use localhost if options.host is empty
sitegui Apr 21, 2015
5896fe5
test: adjust Makefile/test-ci, add to vcbuild.bat
rvagg Apr 26, 2015
65dd10e
build: remove -J from test-ci
rvagg Apr 28, 2015
898d423
string_decoder: don't cache Buffer.isEncoding
mscdex Apr 28, 2015
4030545
fs: validate fd on fs.write
julianduque Apr 28, 2015
32a6dbc
test: extend timeouts for ARMv6
rvagg Apr 29, 2015
ca63d68
2015-05-17 io.js v1.8.2 Release
rvagg May 18, 2015
1e758e0
Working on v1.8.3
rvagg May 18, 2015
77f5184
win,node-gyp: make delay-load hook C89 compliant
cosmosgenius Apr 26, 2015
2a3367a
deps: upgrade openssl sources to 1.0.2b
Jun 11, 2015
d593b55
deps: fix openssl assembly error on ia32 win32
indutny Jan 8, 2014
2836428
deps: fix asm build error of openssl in x86_win32
Feb 13, 2015
2cd7f73
openssl: fix keypress requirement in apps on win32
Feb 17, 2015
139da6a
deps: add -no_rand_screen to openssl s_client
May 27, 2015
151720f
deps: replace all headers in openssl
Jun 11, 2015
1feaa68
deps: update asm files for openssl-1.0.2b
Jun 11, 2015
c65484a
tls: make server not use DHE in less than 1024bits
May 20, 2015
e548abb
deps: upgrade openssl sources to 1.0.2c
Jun 12, 2015
b2467e3
deps: fix openssl assembly error on ia32 win32
indutny Jan 8, 2014
a472946
deps: fix asm build error of openssl in x86_win32
Feb 13, 2015
5c29c0c
openssl: fix keypress requirement in apps on win32
Feb 17, 2015
310b8d1
deps: add -no_rand_screen to openssl s_client
May 27, 2015
0e2d068
deps: replace all headers in openssl
Jun 12, 2015
a971255
deps: update UPGRADING.md doc to openssl-1.0.2c
Jun 11, 2015
c5d1ec7
build: simplify execution of built binary
jbergstroem Jun 12, 2015
e52e990
build: don't run lint from test-ci
jbergstroem Jun 13, 2015
8e1134c
build: remove lint from test-ci on windows
jbergstroem Jun 17, 2015
2ce1475
build,win: set env before generating projects
orangemocha Apr 23, 2015
561919a
build: add MSVS 2015 support
rvagg Apr 16, 2015
39e2207
build: fix cherry-pick ooops, fix comment wording
rvagg Jun 23, 2015
00ba429
build: update build targets for io.js
rvagg Jun 10, 2015
83ee07b
deps: copy all openssl header files to include dir
Jun 19, 2015
d8f260d
build: add tar-headers target for headers-only tar
rvagg Jun 14, 2015
78de5f8
deps: fix out-of-band write in utf8 decoder
bnoordhuis Jul 4, 2015
766a3b4
2015-07-04 io.js v1.8.3 Release
rvagg Jul 4, 2015
03c105a
Working on v1.8.4
rvagg Jul 4, 2015
20ff1e2
deps: upgrade openssl sources to 1.0.2d
Jul 9, 2015
52b1230
deps: update deps/openssl/conf/arch/*/opensslconf.h
Jul 9, 2015
2ea2049
2015-07-09 io.js v1.8.4 Release
Fishrock123 Jul 9, 2015
fa9c769
Working on v1.8.5
Fishrock123 Jul 9, 2015
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
Prev Previous commit
Next Next commit
deps: copy all openssl header files to include dir
On upgrading openssl, all symlinks in pulic header files are replaced
with nested include files. The issue was raised that installing them
leads to lost its references to real header files.
To avoid this, all public header files are copied into the
`deps/openssl/openssl/include/openssl/` directory.
As a result, we have duplicated header files under
`deps/openssl/openssl/` but copied files are refereed in build as
specified to include path in openssl.gyp.

Fixes: #1975
PR-URL: #2016
PORT-PR-URL: #2101
PORT-FROM: 1f371e3
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
  • Loading branch information
Shigeki Ohtsu authored and Fishrock123 committed Jul 3, 2015
commit 83ee07b6bee2d0c4ffb7c2ddc0d045d72498ba7c
9 changes: 4 additions & 5 deletions deps/openssl/doc/UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,10 @@ There are three kinds of private patches to be applied in openssl-1.0.2c.
### 3. Replace openssl header files in `deps/openssl/openssl/include/openssl`
all header files in `deps/openssl/openssl/include/openssl/*.h` are
symbolic links in the distributed release tar.gz. They cause issues in
Windows. They are replaced into the files to include a real header
file such as
````
#include "../../crypto/aes/aes.h"
````
Windows. They are copied from the real files of symlink origin into
the include directory. During installation, they also copied into
`PREFIX/node/include` by tools/install.py.

### 4. Change `opensslconf.h` so as to fit each platform.
No change.

Expand Down
150 changes: 149 additions & 1 deletion deps/openssl/openssl/include/openssl/aes.h
Original file line number Diff line number Diff line change
@@ -1 +1,149 @@
#include "../../crypto/aes/aes.h"
/* crypto/aes/aes.h -*- mode:C; c-file-style: "eay" -*- */
/* ====================================================================
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
*/

#ifndef HEADER_AES_H
# define HEADER_AES_H

# include <openssl/opensslconf.h>

# ifdef OPENSSL_NO_AES
# error AES is disabled.
# endif

# include <stddef.h>

# define AES_ENCRYPT 1
# define AES_DECRYPT 0

/*
* Because array size can't be a const in C, the following two are macros.
* Both sizes are in bytes.
*/
# define AES_MAXNR 14
# define AES_BLOCK_SIZE 16

#ifdef __cplusplus
extern "C" {
#endif

/* This should be a hidden type, but EVP requires that the size be known */
struct aes_key_st {
# ifdef AES_LONG
unsigned long rd_key[4 * (AES_MAXNR + 1)];
# else
unsigned int rd_key[4 * (AES_MAXNR + 1)];
# endif
int rounds;
};
typedef struct aes_key_st AES_KEY;

const char *AES_options(void);

int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
AES_KEY *key);
int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
AES_KEY *key);

int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
AES_KEY *key);
int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
AES_KEY *key);

void AES_encrypt(const unsigned char *in, unsigned char *out,
const AES_KEY *key);
void AES_decrypt(const unsigned char *in, unsigned char *out,
const AES_KEY *key);

void AES_ecb_encrypt(const unsigned char *in, unsigned char *out,
const AES_KEY *key, const int enc);
void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, const int enc);
void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, int *num, const int enc);
void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, int *num, const int enc);
void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, int *num, const int enc);
void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, int *num);
void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char ivec[AES_BLOCK_SIZE],
unsigned char ecount_buf[AES_BLOCK_SIZE],
unsigned int *num);
/* NB: the IV is _two_ blocks long */
void AES_ige_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
unsigned char *ivec, const int enc);
/* NB: the IV is _four_ blocks long */
void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out,
size_t length, const AES_KEY *key,
const AES_KEY *key2, const unsigned char *ivec,
const int enc);

int AES_wrap_key(AES_KEY *key, const unsigned char *iv,
unsigned char *out,
const unsigned char *in, unsigned int inlen);
int AES_unwrap_key(AES_KEY *key, const unsigned char *iv,
unsigned char *out,
const unsigned char *in, unsigned int inlen);


#ifdef __cplusplus
}
#endif

#endif /* !HEADER_AES_H */
Loading