package/xerces: add enable network option

Update to add the option to compile xerces with network
enabled by default so it can be unselected to compile
without network support.

When network support is enabled the Network Accessor feature
will decode schema urls and if they don't appear as localhost
or local files, it will open a stream (socket) session with
the remote server. In an embedded setting having the option to
disable this allows:
 * cleaner audit logging
 * smaller security attack surface
 * less library dependencies
 * no behind the scenes failed session attempts

Signed-off-by: Jared Bents <jared.bents@rockwellcollins.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Jared Bents 2020-05-20 17:28:50 -05:00 committed by Thomas Petazzoni
parent 6480cf63dc
commit 850d9cbafc
2 changed files with 14 additions and 0 deletions

View File

@ -6,5 +6,15 @@ config BR2_PACKAGE_XERCES
http://xerces.apache.org/xerces-c/
if BR2_PACKAGE_XERCES
config BR2_PACKAGE_XERCES_ENABLE_NETWORK
bool "Enable network support"
default y
help
Enable network support in xerces
endif
comment "xerces-c++ needs a toolchain w/ C++, wchar"
depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)

View File

@ -31,12 +31,16 @@ XERCES_CONF_ENV += LIBS=-liconv
XERCES_DEPENDENCIES += libiconv
endif
ifeq ($(BR2_PACKAGE_XERCES_ENABLE_NETWORK),y)
ifeq ($(BR2_PACKAGE_LIBCURL),y)
XERCES_CONF_OPTS += -Dnetwork-accessor=curl
XERCES_DEPENDENCIES += libcurl
else
XERCES_CONF_OPTS += -Dnetwork-accessor=socket
endif
else
XERCES_CONF_OPTS += -Dnetwork=OFF
endif
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
XERCES_CONF_OPTS += -Dthreads=ON