[Buildroot] [git commit] nodejs: disable ssl2 and ssl3 when openssl is not built
Jörg Krause
jkrause at posteo.de
Sat Nov 15 19:58:05 UTC 2014
On Di, 2014-11-11 at 21:41 +0100, Peter Korsgaard wrote:
> commit: http://git.buildroot.net/buildroot/commit/?id=e712638b4adc6e18b3ce99ab37b94530e9aa786f
> branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
>
> The nodejs version 0.10.33 is compiled with SSLv2 and SSLv3 protocol
> support by default so it fails to build if the package openssl was not
> built.
>
> To fix this build failure disable SSLv2 and SSLv3 protcol suppport if
> the openssl package is not built.
>
> Fixes:
> http://autobuild.buildroot.net/results/e1fb34818ff1167aa008b4011befb9fd14c81293
> http://autobuild.buildroot.net/results/8b72b0c311f2f7f7430aca5f7cca1f7d82d1c213
> http://autobuild.buildroot.net/results/e5f87dc635e0e6a6d1cc234529a433e12d810097
> http://autobuild.buildroot.net/results/3c4a5be556cfbd0d0e632757887ebc2f1de64bba
>
> Signed-off-by: Fabio Porcedda <fabio.porcedda at gmail.com>
> Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
> ---
> package/nodejs/nodejs.mk | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk
> index 312aaa9..32e19b7 100644
> --- a/package/nodejs/nodejs.mk
> +++ b/package/nodejs/nodejs.mk
> @@ -75,7 +75,8 @@ define NODEJS_CONFIGURE_CMDS
> --prefix=/usr \
> --without-snapshot \
> --shared-zlib \
> - $(if $(BR2_PACKAGE_OPENSSL),--shared-openssl,--without-ssl) \
> + $(if $(BR2_PACKAGE_OPENSSL),--shared-openssl,\
> + --without-ssl --without-ssl2 --without-ssl3) \
> $(if $(BR2_PACKAGE_NODEJS_NPM),,--without-npm) \
> --without-dtrace \
> --without-etw \
The build failure is not fixed by this patch:
http://autobuild.buildroot.net/results/0bf/0bf17bf710db051d491123482c90f2f72810804b/
Actual this patch does nothing since --without-ssl2 and --without-ssl3
are only evaluated if --without-ssl is not set:
# cat configure
[snip]
def configure_openssl(o):
o['variables']['node_use_openssl'] = b(not
options.without_ssl)
o['variables']['node_shared_openssl'] =
b(options.shared_openssl)
o['variables']['openssl_no_asm'] = (
1 if options.openssl_no_asm else 0)
if options.without_ssl:
return
if options.ssl2:
o['defines'] += ['OPENSSL_NO_SSL2=1']
if options.ssl3:
o['defines'] += ['OPENSSL_NO_SSL3=1']
[snip]
The build failure is caused by a bug in src/node.cc which makes it
impossible to build nodejs without ssl support.
So this leaves us with the option to enable ssl support for nodejs, and
just disable ssl2 and ssl3, eg.:
$(if $(BR2_PACKAGE_OPENSSL),--shared-openssl,--without-ssl2
--without-ssl3).
I think it is even a good idea to enable ssl by default for nodejs.
More information about the buildroot
mailing list