lib: All settings use configured namespace
This commit is contained in:
+142
-142
@@ -139,11 +139,15 @@ Plugins to load in ipsec attest tool
|
|||||||
.BR Note :
|
.BR Note :
|
||||||
Many of these options also apply to \fBcharon\-cmd\fR and other
|
Many of these options also apply to \fBcharon\-cmd\fR and other
|
||||||
\fBcharon\fR derivatives. Just use their respective name (e.g.
|
\fBcharon\fR derivatives. Just use their respective name (e.g.
|
||||||
\fIcharon\-cmd\fR) instead of \fIcharon\fR.
|
\fIcharon\-cmd\fR) instead of \fIcharon\fR. For many options defaults
|
||||||
|
can be defined in the \fIlibstrongswan\fR section.
|
||||||
.TP
|
.TP
|
||||||
.BR charon.block_threshold " [5]"
|
.BR charon.block_threshold " [5]"
|
||||||
Maximum number of half-open IKE_SAs for a single peer IP
|
Maximum number of half-open IKE_SAs for a single peer IP
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.cert_cache " [yes]"
|
||||||
|
Whether relations in validated certificate chains should be cached in memory
|
||||||
|
.TP
|
||||||
.BR charon.cisco_unity " [no]
|
.BR charon.cisco_unity " [no]
|
||||||
Send Cisco Unity vendor ID payload (IKEv1 only)
|
Send Cisco Unity vendor ID payload (IKEv1 only)
|
||||||
.TP
|
.TP
|
||||||
@@ -153,6 +157,31 @@ Close the IKE_SA if setup of the CHILD_SA along with IKE_AUTH failed
|
|||||||
.BR charon.cookie_threshold " [10]"
|
.BR charon.cookie_threshold " [10]"
|
||||||
Number of half-open IKE_SAs that activate the cookie mechanism
|
Number of half-open IKE_SAs that activate the cookie mechanism
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.crypto_test.bench " [no]"
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BR charon.crypto_test.bench_size " [1024]"
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BR charon.crypto_test.bench_time " [50]"
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BR charon.crypto_test.on_add " [no]"
|
||||||
|
Test crypto algorithms during registration
|
||||||
|
.TP
|
||||||
|
.BR charon.crypto_test.on_create " [no]"
|
||||||
|
Test crypto algorithms on each crypto primitive instantiation
|
||||||
|
.TP
|
||||||
|
.BR charon.crypto_test.required " [no]"
|
||||||
|
Strictly require at least one test vector to enable an algorithm
|
||||||
|
.TP
|
||||||
|
.BR charon.crypto_test.rng_true " [no]"
|
||||||
|
Whether to test RNG with TRUE quality; requires a lot of entropy
|
||||||
|
.TP
|
||||||
|
.BR charon.dh_exponent_ansi_x9_42 " [yes]"
|
||||||
|
Use ANSI X9.42 DH exponent size or optimum size matched to cryptographical
|
||||||
|
strength
|
||||||
|
.TP
|
||||||
.BR charon.dns1
|
.BR charon.dns1
|
||||||
.TQ
|
.TQ
|
||||||
.BR charon.dns2
|
.BR charon.dns2
|
||||||
@@ -161,6 +190,9 @@ DNS servers assigned to peer via configuration payload (CP)
|
|||||||
.BR charon.dos_protection " [yes]"
|
.BR charon.dos_protection " [yes]"
|
||||||
Enable Denial of Service protection using cookies and aggressiveness checks
|
Enable Denial of Service protection using cookies and aggressiveness checks
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.ecp_x_coordinate_only " [yes]"
|
||||||
|
Compliance with the errata for RFC 4753
|
||||||
|
.TP
|
||||||
.BR charon.filelog
|
.BR charon.filelog
|
||||||
Section to define file loggers, see LOGGER CONFIGURATION
|
Section to define file loggers, see LOGGER CONFIGURATION
|
||||||
.TP
|
.TP
|
||||||
@@ -183,6 +215,12 @@ Timeout in seconds for connecting IKE_SAs (also see IKE_SA_INIT DROPPING).
|
|||||||
.BR charon.hash_and_url " [no]"
|
.BR charon.hash_and_url " [no]"
|
||||||
Enable hash and URL support
|
Enable hash and URL support
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.host_resolver.max_threads " [3]"
|
||||||
|
Maximum number of concurrent resolver threads (they are terminated if unused)
|
||||||
|
.TP
|
||||||
|
.BR charon.host_resolver.min_threads " [0]"
|
||||||
|
Minimum number of resolver threads to keep around
|
||||||
|
.TP
|
||||||
.BR charon.i_dont_care_about_security_and_use_aggressive_mode_psk " [no]"
|
.BR charon.i_dont_care_about_security_and_use_aggressive_mode_psk " [no]"
|
||||||
If enabled responders are allowed to use IKEv1 Aggressive Mode with pre-shared
|
If enabled responders are allowed to use IKEv1 Aggressive Mode with pre-shared
|
||||||
keys, which is discouraged due to security concerns (offline attacks on the
|
keys, which is discouraged due to security concerns (offline attacks on the
|
||||||
@@ -225,6 +263,9 @@ Install virtual IP addresses
|
|||||||
The name of the interface on which virtual IP addresses should be installed.
|
The name of the interface on which virtual IP addresses should be installed.
|
||||||
If not specified the addresses will be installed on the outbound interface.
|
If not specified the addresses will be installed on the outbound interface.
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.integrity_test " [no]"
|
||||||
|
Check daemon, libstrongswan and plugin integrity at startup
|
||||||
|
.TP
|
||||||
.BR charon.interfaces_ignore
|
.BR charon.interfaces_ignore
|
||||||
A comma-separated list of network interfaces that should be ignored, if
|
A comma-separated list of network interfaces that should be ignored, if
|
||||||
.B charon.interfaces_use
|
.B charon.interfaces_use
|
||||||
@@ -237,6 +278,15 @@ All other interfaces are ignored.
|
|||||||
.BR charon.keep_alive " [20s]"
|
.BR charon.keep_alive " [20s]"
|
||||||
NAT keep alive interval
|
NAT keep alive interval
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.leak_detective.detailed " [yes]"
|
||||||
|
Includes source file names and line numbers in leak detective output
|
||||||
|
.TP
|
||||||
|
.BR charon.leak_detective.usage_threshold " [10240]"
|
||||||
|
Threshold in bytes for leaks to be reported (0 to report all)
|
||||||
|
.TP
|
||||||
|
.BR charon.leak_detective.usage_threshold_count " [0]"
|
||||||
|
Threshold in number of allocations for leaks to be reported (0 to report all)
|
||||||
|
.TP
|
||||||
.BR charon.load
|
.BR charon.load
|
||||||
Plugins to load in the IKEv2 daemon charon
|
Plugins to load in the IKEv2 daemon charon
|
||||||
.TP
|
.TP
|
||||||
@@ -263,6 +313,10 @@ otherwise a random port will be allocated.
|
|||||||
.BR charon.process_route " [yes]"
|
.BR charon.process_route " [yes]"
|
||||||
Process RTM_NEWROUTE and RTM_DELROUTE events
|
Process RTM_NEWROUTE and RTM_DELROUTE events
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.processor.priority_threads
|
||||||
|
Subsection to configure the number of reserved threads per priority class
|
||||||
|
see JOB PRIORITY MANAGEMENT
|
||||||
|
.TP
|
||||||
.BR charon.receive_delay " [0]"
|
.BR charon.receive_delay " [0]"
|
||||||
Delay in ms for receiving packets, to simulate larger RTT
|
Delay in ms for receiving packets, to simulate larger RTT
|
||||||
.TP
|
.TP
|
||||||
@@ -327,6 +381,10 @@ might be used as indicator on the number of reserved threads.
|
|||||||
.TP
|
.TP
|
||||||
.BR charon.user
|
.BR charon.user
|
||||||
Name of the user the daemon changes to after startup
|
Name of the user the daemon changes to after startup
|
||||||
|
.TP
|
||||||
|
.BR charon.x509.enforce_critical " [yes]"
|
||||||
|
Discard certificates with unsupported or unknown critical extensions
|
||||||
|
.
|
||||||
.SS charon.plugins subsection
|
.SS charon.plugins subsection
|
||||||
.TP
|
.TP
|
||||||
.BR charon.plugins.android_log.loglevel " [1]"
|
.BR charon.plugins.android_log.loglevel " [1]"
|
||||||
@@ -336,6 +394,12 @@ Loglevel for logging to Android specific logger
|
|||||||
Section to specify arbitrary attributes that are assigned to a peer via
|
Section to specify arbitrary attributes that are assigned to a peer via
|
||||||
configuration payload (CP)
|
configuration payload (CP)
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.plugins.attr-sql.database
|
||||||
|
Database URI for attr-sql plugin used by charon
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.attr-sql.lease_history " [yes]"
|
||||||
|
Enable logging of SQL IP pool leases
|
||||||
|
.TP
|
||||||
.BR charon.plugins.certexpire.csv.cron
|
.BR charon.plugins.certexpire.csv.cron
|
||||||
Cron style string specifying CSV export times
|
Cron style string specifying CSV export times
|
||||||
.TP
|
.TP
|
||||||
@@ -603,6 +667,9 @@ Request peer authentication based on a client certificate
|
|||||||
.BR charon.plugins.error-notify.socket " [unix://@piddir@/charon.enfy]"
|
.BR charon.plugins.error-notify.socket " [unix://@piddir@/charon.enfy]"
|
||||||
Socket provided by the error-notify plugin
|
Socket provided by the error-notify plugin
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.plugins.gcrypt.quick_random " [no]"
|
||||||
|
Use faster random numbers in gcrypt; for testing only, produces weak keys!
|
||||||
|
.TP
|
||||||
.BR charon.plugins.ha.autobalance " [0]"
|
.BR charon.plugins.ha.autobalance " [0]"
|
||||||
Interval in seconds to automatically balance handled segments between nodes.
|
Interval in seconds to automatically balance handled segments between nodes.
|
||||||
Set to 0 to disable.
|
Set to 0 to disable.
|
||||||
@@ -680,6 +747,51 @@ Section to configure the load-tester plugin, see LOAD TESTS
|
|||||||
.BR charon.plugins.lookip.socket " [unix://@piddir@/charon.lkp]"
|
.BR charon.plugins.lookip.socket " [unix://@piddir@/charon.lkp]"
|
||||||
Socket provided by the lookip plugin
|
Socket provided by the lookip plugin
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.plugins.ntru.max_drbg_requests " [4294967294]"
|
||||||
|
Number of pseudo-random bit requests from the DRBG before an automatic
|
||||||
|
reseeding occurs.
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.ntru.parameter_set " [optimum]"
|
||||||
|
The following parameter sets are available:
|
||||||
|
.BR x9_98_speed ,
|
||||||
|
.BR x9_98_bandwidth ,
|
||||||
|
.B x9_98_balance
|
||||||
|
and
|
||||||
|
.BR optimum ,
|
||||||
|
the last set not being part of the X9.98 standard but having the best performance.
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.openssl.engine_id " [pkcs11]"
|
||||||
|
ENGINE ID to use in the OpenSSL plugin
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.openssl.fips_mode " [0]"
|
||||||
|
Set OpenSSL FIPS mode: disabled(0), enabled(1), Suite B enabled(2)
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.pkcs11.modules
|
||||||
|
List of available PKCS#11 modules
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.pkcs11.load_certs " [yes]"
|
||||||
|
Whether to load certificates from tokens
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.pkcs11.reload_certs " [no]"
|
||||||
|
Reload certificates from all tokens if charon receives a SIGHUP
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.pkcs11.use_dh " [no]"
|
||||||
|
Whether the PKCS#11 modules should be used for DH and ECDH (see use_ecc option)
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.pkcs11.use_ecc " [no]"
|
||||||
|
Whether the PKCS#11 modules should be used for ECDH and ECDSA public key
|
||||||
|
operations. ECDSA private keys can be used regardless of this option
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.pkcs11.use_hasher " [no]"
|
||||||
|
Whether the PKCS#11 modules should be used to hash data
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.pkcs11.use_pubkey " [no]"
|
||||||
|
Whether the PKCS#11 modules should be used for public key operations, even for
|
||||||
|
keys not stored on tokens
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.pkcs11.use_rng " [no]"
|
||||||
|
Whether the PKCS#11 modules should be used as RNG
|
||||||
|
.TP
|
||||||
.BR charon.plugins.radattr.dir
|
.BR charon.plugins.radattr.dir
|
||||||
Directory where RADIUS attributes are stored in client-ID specific files.
|
Directory where RADIUS attributes are stored in client-ID specific files.
|
||||||
.TP
|
.TP
|
||||||
@@ -687,6 +799,16 @@ Directory where RADIUS attributes are stored in client-ID specific files.
|
|||||||
Attributes are added to all IKE_AUTH messages by default (-1), or only to the
|
Attributes are added to all IKE_AUTH messages by default (-1), or only to the
|
||||||
IKE_AUTH message with the given IKEv2 message ID.
|
IKE_AUTH message with the given IKEv2 message ID.
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.plugins.random.random " [@random_device@]"
|
||||||
|
File to read random bytes from, instead of @random_device@
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.random.urandom " [@urandom_device@]"
|
||||||
|
File to read pseudo random bytes from, instead of @urandom_device@
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.random.strong_equals_true " [no]"
|
||||||
|
If set to yes the RNG_STRONG class reads random bytes from the same source as
|
||||||
|
the RNG_TRUE class.
|
||||||
|
.TP
|
||||||
.BR charon.plugins.resolve.file " [/etc/resolv.conf]"
|
.BR charon.plugins.resolve.file " [/etc/resolv.conf]"
|
||||||
File where to add DNS server entries
|
File where to add DNS server entries
|
||||||
.TP
|
.TP
|
||||||
@@ -787,6 +909,20 @@ Name of the strongSwan PDP as contained in the AAA certificate
|
|||||||
.BR charon.plugins.tnc-pdp.timeout
|
.BR charon.plugins.tnc-pdp.timeout
|
||||||
Timeout in seconds before closing incomplete connections
|
Timeout in seconds before closing incomplete connections
|
||||||
.TP
|
.TP
|
||||||
|
.BR charon.plugins.unbound.resolv_conf " [/etc/resolv.conf]"
|
||||||
|
File to read DNS resolver configuration from
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.unbound.trust_anchors " [/etc/ipsec.d/dnssec.keys]"
|
||||||
|
File to read DNSSEC trust anchors from (usually root zone KSK). The format of
|
||||||
|
the file is the standard DNS Zone file format, anchors can be stored as DS or
|
||||||
|
DNSKEY entries in the file.
|
||||||
|
.TP
|
||||||
|
.BR charon.plugins.unbound.dlv_anchors
|
||||||
|
File to read trusted keys for DLV (DNSSEC Lookaside Validation) from. It uses
|
||||||
|
the same format as \fItrust_anchors\fR. Only one DLV can be configured, which
|
||||||
|
is then used as a root trusted DLV, this means that it is a lookaside for
|
||||||
|
the root.
|
||||||
|
.TP
|
||||||
.BR charon.plugins.updown.dns_handler " [no]"
|
.BR charon.plugins.updown.dns_handler " [no]"
|
||||||
Whether the updown script should handle DNS serves assigned via IKEv1 Mode
|
Whether the updown script should handle DNS serves assigned via IKEv1 Mode
|
||||||
Config or IKEv2 Config Payloads (if enabled they can't be handled by other
|
Config or IKEv2 Config Payloads (if enabled they can't be handled by other
|
||||||
@@ -810,142 +946,6 @@ Open/close a PAM session for each active IKE_SA
|
|||||||
.BR charon.plugins.xauth-pam.trim_email " [yes]"
|
.BR charon.plugins.xauth-pam.trim_email " [yes]"
|
||||||
If an email address is given as an XAuth username, trim it to just the
|
If an email address is given as an XAuth username, trim it to just the
|
||||||
username part.
|
username part.
|
||||||
.SS libstrongswan section
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.cert_cache " [yes]"
|
|
||||||
Whether relations in validated certificate chains should be cached in memory
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.crypto_test.bench " [no]"
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.crypto_test.bench_size " [1024]"
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.crypto_test.bench_time " [50]"
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.crypto_test.on_add " [no]"
|
|
||||||
Test crypto algorithms during registration
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.crypto_test.on_create " [no]"
|
|
||||||
Test crypto algorithms on each crypto primitive instantiation
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.crypto_test.required " [no]"
|
|
||||||
Strictly require at least one test vector to enable an algorithm
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.crypto_test.rng_true " [no]"
|
|
||||||
Whether to test RNG with TRUE quality; requires a lot of entropy
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.dh_exponent_ansi_x9_42 " [yes]"
|
|
||||||
Use ANSI X9.42 DH exponent size or optimum size matched to cryptographical
|
|
||||||
strength
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.ecp_x_coordinate_only " [yes]"
|
|
||||||
Compliance with the errata for RFC 4753
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.host_resolver.max_threads " [3]"
|
|
||||||
Maximum number of concurrent resolver threads (they are terminated if unused)
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.host_resolver.min_threads " [0]"
|
|
||||||
Minimum number of resolver threads to keep around
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.integrity_test " [no]"
|
|
||||||
Check daemon, libstrongswan and plugin integrity at startup
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.leak_detective.detailed " [yes]"
|
|
||||||
Includes source file names and line numbers in leak detective output
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.leak_detective.usage_threshold " [10240]"
|
|
||||||
Threshold in bytes for leaks to be reported (0 to report all)
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.leak_detective.usage_threshold_count " [0]"
|
|
||||||
Threshold in number of allocations for leaks to be reported (0 to report all)
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.processor.priority_threads
|
|
||||||
Subsection to configure the number of reserved threads per priority class
|
|
||||||
see JOB PRIORITY MANAGEMENT
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.x509.enforce_critical " [yes]"
|
|
||||||
Discard certificates with unsupported or unknown critical extensions
|
|
||||||
.SS libstrongswan.plugins subsection
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.attr-sql.database
|
|
||||||
Database URI for attr-sql plugin used by charon
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.attr-sql.lease_history " [yes]"
|
|
||||||
Enable logging of SQL IP pool leases
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.gcrypt.quick_random " [no]"
|
|
||||||
Use faster random numbers in gcrypt; for testing only, produces weak keys!
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.ntru.max_drbg_requests " [4294967294]"
|
|
||||||
Number of pseudo-random bit requests from the DRBG before an automatic
|
|
||||||
reseeding occurs.
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.ntru.parameter_set " [optimum]"
|
|
||||||
The following parameter sets are available:
|
|
||||||
.BR x9_98_speed ,
|
|
||||||
.BR x9_98_bandwidth ,
|
|
||||||
.B x9_98_balance
|
|
||||||
and
|
|
||||||
.BR optimum ,
|
|
||||||
the last set not being part of the X9.98 standard but having the best performance.
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.openssl.engine_id " [pkcs11]"
|
|
||||||
ENGINE ID to use in the OpenSSL plugin
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.openssl.fips_mode " [0]"
|
|
||||||
Set OpenSSL FIPS mode: disabled(0), enabled(1), Suite B enabled(2)
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.pkcs11.modules
|
|
||||||
List of available PKCS#11 modules
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.pkcs11.load_certs " [yes]"
|
|
||||||
Whether to load certificates from tokens
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.pkcs11.reload_certs " [no]"
|
|
||||||
Reload certificates from all tokens if charon receives a SIGHUP
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.pkcs11.use_dh " [no]"
|
|
||||||
Whether the PKCS#11 modules should be used for DH and ECDH (see use_ecc option)
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.pkcs11.use_ecc " [no]"
|
|
||||||
Whether the PKCS#11 modules should be used for ECDH and ECDSA public key
|
|
||||||
operations. ECDSA private keys can be used regardless of this option
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.pkcs11.use_hasher " [no]"
|
|
||||||
Whether the PKCS#11 modules should be used to hash data
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.pkcs11.use_pubkey " [no]"
|
|
||||||
Whether the PKCS#11 modules should be used for public key operations, even for
|
|
||||||
keys not stored on tokens
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.pkcs11.use_rng " [no]"
|
|
||||||
Whether the PKCS#11 modules should be used as RNG
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.random.random " [@random_device@]"
|
|
||||||
File to read random bytes from, instead of @random_device@
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.random.urandom " [@urandom_device@]"
|
|
||||||
File to read pseudo random bytes from, instead of @urandom_device@
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.random.strong_equals_true " [no]"
|
|
||||||
If set to yes the RNG_STRONG class reads random bytes from the same source as
|
|
||||||
the RNG_TRUE class.
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.unbound.resolv_conf " [/etc/resolv.conf]"
|
|
||||||
File to read DNS resolver configuration from
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.unbound.trust_anchors " [/etc/ipsec.d/dnssec.keys]"
|
|
||||||
File to read DNSSEC trust anchors from (usually root zone KSK). The format of
|
|
||||||
the file is the standard DNS Zone file format, anchors can be stored as DS or
|
|
||||||
DNSKEY entries in the file.
|
|
||||||
.TP
|
|
||||||
.BR libstrongswan.plugins.unbound.dlv_anchors
|
|
||||||
File to read trusted keys for DLV (DNSSEC Lookaside Validation) from. It uses
|
|
||||||
the same format as \fItrust_anchors\fR. Only one DLV can be configured, which
|
|
||||||
is then used as a root trusted DLV, this means that it is a lookaside for
|
|
||||||
the root.
|
|
||||||
.SS libtls section
|
.SS libtls section
|
||||||
.TP
|
.TP
|
||||||
.BR libtls.cipher
|
.BR libtls.cipher
|
||||||
@@ -1378,22 +1378,22 @@ for one).
|
|||||||
To ensure that there are always enough threads available for higher priority
|
To ensure that there are always enough threads available for higher priority
|
||||||
tasks, threads must be reserved for each priority class.
|
tasks, threads must be reserved for each priority class.
|
||||||
.TP
|
.TP
|
||||||
.BR libstrongswan.processor.priority_threads.critical " [0]"
|
.BR charon.processor.priority_threads.critical " [0]"
|
||||||
Threads reserved for CRITICAL priority class jobs
|
Threads reserved for CRITICAL priority class jobs
|
||||||
.TP
|
.TP
|
||||||
.BR libstrongswan.processor.priority_threads.high " [0]"
|
.BR charon.processor.priority_threads.high " [0]"
|
||||||
Threads reserved for HIGH priority class jobs
|
Threads reserved for HIGH priority class jobs
|
||||||
.TP
|
.TP
|
||||||
.BR libstrongswan.processor.priority_threads.medium " [0]"
|
.BR charon.processor.priority_threads.medium " [0]"
|
||||||
Threads reserved for MEDIUM priority class jobs
|
Threads reserved for MEDIUM priority class jobs
|
||||||
.TP
|
.TP
|
||||||
.BR libstrongswan.processor.priority_threads.low " [0]"
|
.BR charon.processor.priority_threads.low " [0]"
|
||||||
Threads reserved for LOW priority class jobs
|
Threads reserved for LOW priority class jobs
|
||||||
.PP
|
.PP
|
||||||
Let's consider the following configuration:
|
Let's consider the following configuration:
|
||||||
.PP
|
.PP
|
||||||
.EX
|
.EX
|
||||||
libstrongswan {
|
charon {
|
||||||
processor {
|
processor {
|
||||||
priority_threads {
|
priority_threads {
|
||||||
high = 1
|
high = 1
|
||||||
|
|||||||
@@ -1349,7 +1349,7 @@ credential_manager_t *credential_manager_create()
|
|||||||
|
|
||||||
this->local_sets = thread_value_create((thread_cleanup_t)this->sets->destroy);
|
this->local_sets = thread_value_create((thread_cleanup_t)this->sets->destroy);
|
||||||
this->exclusive_local_sets = thread_value_create((thread_cleanup_t)this->sets->destroy);
|
this->exclusive_local_sets = thread_value_create((thread_cleanup_t)this->sets->destroy);
|
||||||
if (lib->settings->get_bool(lib->settings, "libstrongswan.cert_cache", TRUE))
|
if (lib->settings->get_bool(lib->settings, "%s.cert_cache", TRUE, lib->ns))
|
||||||
{
|
{
|
||||||
this->cache = cert_cache_create();
|
this->cache = cert_cache_create();
|
||||||
this->sets->insert_first(this->sets, this->cache);
|
this->sets->insert_first(this->sets, this->cache);
|
||||||
|
|||||||
@@ -967,11 +967,11 @@ crypto_factory_t *crypto_factory_create()
|
|||||||
.lock = rwlock_create(RWLOCK_TYPE_DEFAULT),
|
.lock = rwlock_create(RWLOCK_TYPE_DEFAULT),
|
||||||
.tester = crypto_tester_create(),
|
.tester = crypto_tester_create(),
|
||||||
.test_on_add = lib->settings->get_bool(lib->settings,
|
.test_on_add = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.crypto_test.on_add", FALSE),
|
"%s.crypto_test.on_add", FALSE, lib->ns),
|
||||||
.test_on_create = lib->settings->get_bool(lib->settings,
|
.test_on_create = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.crypto_test.on_create", FALSE),
|
"%s.crypto_test.on_create", FALSE, lib->ns),
|
||||||
.bench = lib->settings->get_bool(lib->settings,
|
.bench = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.crypto_test.bench", FALSE),
|
"%s.crypto_test.bench", FALSE, lib->ns),
|
||||||
);
|
);
|
||||||
|
|
||||||
return &this->public;
|
return &this->public;
|
||||||
|
|||||||
@@ -1207,13 +1207,13 @@ crypto_tester_t *crypto_tester_create()
|
|||||||
.rng = linked_list_create(),
|
.rng = linked_list_create(),
|
||||||
|
|
||||||
.required = lib->settings->get_bool(lib->settings,
|
.required = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.crypto_test.required", FALSE),
|
"%s.crypto_test.required", FALSE, lib->ns),
|
||||||
.rng_true = lib->settings->get_bool(lib->settings,
|
.rng_true = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.crypto_test.rng_true", FALSE),
|
"%s.crypto_test.rng_true", FALSE, lib->ns),
|
||||||
.bench_time = lib->settings->get_int(lib->settings,
|
.bench_time = lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.crypto_test.bench_time", 50),
|
"%s.crypto_test.bench_time", 50, lib->ns),
|
||||||
.bench_size = lib->settings->get_int(lib->settings,
|
.bench_size = lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.crypto_test.bench_size", 1024),
|
"%s.crypto_test.bench_size", 1024, lib->ns),
|
||||||
);
|
);
|
||||||
|
|
||||||
/* enforce a block size of 16, should be fine for all algorithms */
|
/* enforce a block size of 16, should be fine for all algorithms */
|
||||||
|
|||||||
@@ -444,7 +444,7 @@ diffie_hellman_params_t *diffie_hellman_get_params(diffie_hellman_group_t group)
|
|||||||
{
|
{
|
||||||
if (!dh_params[i].public.subgroup.len &&
|
if (!dh_params[i].public.subgroup.len &&
|
||||||
lib->settings->get_int(lib->settings,
|
lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.dh_exponent_ansi_x9_42", TRUE))
|
"%s.dh_exponent_ansi_x9_42", TRUE, lib->ns))
|
||||||
{
|
{
|
||||||
dh_params[i].public.exp_len = dh_params[i].public.prime.len;
|
dh_params[i].public.exp_len = dh_params[i].public.prime.len;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ void library_deinit()
|
|||||||
}
|
}
|
||||||
|
|
||||||
detailed = lib->settings->get_bool(lib->settings,
|
detailed = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.leak_detective.detailed", TRUE);
|
"%s.leak_detective.detailed", TRUE, lib->ns);
|
||||||
|
|
||||||
/* make sure the cache is clear before unloading plugins */
|
/* make sure the cache is clear before unloading plugins */
|
||||||
lib->credmgr->flush_cache(lib->credmgr, CERT_ANY);
|
lib->credmgr->flush_cache(lib->credmgr, CERT_ANY);
|
||||||
@@ -318,7 +318,7 @@ bool library_init(char *settings, const char *namespace)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (lib->settings->get_bool(lib->settings,
|
if (lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.integrity_test", FALSE))
|
"%s.integrity_test", FALSE, lib->ns))
|
||||||
{
|
{
|
||||||
#ifdef INTEGRITY_TEST
|
#ifdef INTEGRITY_TEST
|
||||||
this->public.integrity = integrity_checker_create(CHECKSUM_LIBRARY);
|
this->public.integrity = integrity_checker_create(CHECKSUM_LIBRARY);
|
||||||
|
|||||||
@@ -355,11 +355,11 @@ host_resolver_t *host_resolver_create()
|
|||||||
);
|
);
|
||||||
|
|
||||||
this->min_threads = max(0, lib->settings->get_int(lib->settings,
|
this->min_threads = max(0, lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.host_resolver.min_threads",
|
"%s.host_resolver.min_threads",
|
||||||
MIN_THREADS_DEFAULT));
|
MIN_THREADS_DEFAULT, lib->ns));
|
||||||
this->max_threads = max(this->min_threads ?: 1,
|
this->max_threads = max(this->min_threads ?: 1,
|
||||||
lib->settings->get_int(lib->settings,
|
lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.host_resolver.max_threads",
|
"%s.host_resolver.max_threads",
|
||||||
MAX_THREADS_DEFAULT));
|
MAX_THREADS_DEFAULT, lib->ns));
|
||||||
return &this->public;
|
return &this->public;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -194,8 +194,8 @@ plugin_t *gcrypt_plugin_create()
|
|||||||
|
|
||||||
/* we currently do not use secure memory */
|
/* we currently do not use secure memory */
|
||||||
gcry_control(GCRYCTL_DISABLE_SECMEM, 0);
|
gcry_control(GCRYCTL_DISABLE_SECMEM, 0);
|
||||||
if (lib->settings->get_bool(lib->settings,
|
if (lib->settings->get_bool(lib->settings, "%s.plugins.gcrypt.quick_random",
|
||||||
"libstrongswan.plugins.gcrypt.quick_random", FALSE))
|
FALSE, lib->ns))
|
||||||
{
|
{
|
||||||
gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0);
|
gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -230,8 +230,8 @@ ntru_drbg_t *ntru_drbg_create(u_int32_t strength, chunk_t pers_str,
|
|||||||
}
|
}
|
||||||
|
|
||||||
max_requests = lib->settings->get_int(lib->settings,
|
max_requests = lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.plugins.ntru.max_drbg_requests",
|
"%s.plugins.ntru.max_drbg_requests",
|
||||||
MAX_DRBG_REQUESTS);
|
MAX_DRBG_REQUESTS, lib->ns);
|
||||||
|
|
||||||
INIT(this,
|
INIT(this,
|
||||||
.public = {
|
.public = {
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ ntru_ke_t *ntru_ke_create(diffie_hellman_group_t group, chunk_t g, chunk_t p)
|
|||||||
u_int32_t strength;
|
u_int32_t strength;
|
||||||
|
|
||||||
parameter_set = lib->settings->get_str(lib->settings,
|
parameter_set = lib->settings->get_str(lib->settings,
|
||||||
"libstrongswan.plugins.ntru.parameter_set", "optimum");
|
"%s.plugins.ntru.parameter_set", "optimum", lib->ns);
|
||||||
|
|
||||||
if (streq(parameter_set, "x9_98_speed"))
|
if (streq(parameter_set, "x9_98_speed"))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -471,7 +471,7 @@ static bool parse_extensions(private_openssl_crl_t *this)
|
|||||||
default:
|
default:
|
||||||
ok = X509_EXTENSION_get_critical(ext) == 0 ||
|
ok = X509_EXTENSION_get_critical(ext) == 0 ||
|
||||||
!lib->settings->get_bool(lib->settings,
|
!lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.x509.enforce_critical", TRUE);
|
"%s.x509.enforce_critical", TRUE, lib->ns);
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
DBG1(DBG_LIB, "found unsupported critical X.509 "
|
DBG1(DBG_LIB, "found unsupported critical X.509 "
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ static bool compute_shared_key(private_openssl_ec_diffie_hellman_t *this,
|
|||||||
* http://www.rfc-editor.org/errata_search.php?eid=9
|
* http://www.rfc-editor.org/errata_search.php?eid=9
|
||||||
*/
|
*/
|
||||||
x_coordinate_only = lib->settings->get_bool(lib->settings,
|
x_coordinate_only = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.ecp_x_coordinate_only", TRUE);
|
"%s.ecp_x_coordinate_only", TRUE, lib->ns);
|
||||||
if (!ecp2chunk(this->ec_group, secret, shared_secret, x_coordinate_only))
|
if (!ecp2chunk(this->ec_group, secret, shared_secret, x_coordinate_only))
|
||||||
{
|
{
|
||||||
goto error;
|
goto error;
|
||||||
|
|||||||
@@ -522,7 +522,7 @@ plugin_t *openssl_plugin_create()
|
|||||||
int fips_mode;
|
int fips_mode;
|
||||||
|
|
||||||
fips_mode = lib->settings->get_int(lib->settings,
|
fips_mode = lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.plugins.openssl.fips_mode", FIPS_MODE);
|
"%s.plugins.openssl.fips_mode", FIPS_MODE, lib->ns);
|
||||||
#ifdef OPENSSL_FIPS
|
#ifdef OPENSSL_FIPS
|
||||||
if (fips_mode)
|
if (fips_mode)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -558,7 +558,7 @@ openssl_rsa_private_key_t *openssl_rsa_private_key_connect(key_type_t type,
|
|||||||
if (!engine_id)
|
if (!engine_id)
|
||||||
{
|
{
|
||||||
engine_id = lib->settings->get_str(lib->settings,
|
engine_id = lib->settings->get_str(lib->settings,
|
||||||
"libstrongswan.plugins.openssl.engine_id", "pkcs11");
|
"%s.plugins.openssl.engine_id", "pkcs11", lib->ns);
|
||||||
}
|
}
|
||||||
engine = ENGINE_by_id(engine_id);
|
engine = ENGINE_by_id(engine_id);
|
||||||
if (!engine)
|
if (!engine)
|
||||||
|
|||||||
@@ -1012,7 +1012,7 @@ static bool parse_extensions(private_openssl_x509_t *this)
|
|||||||
default:
|
default:
|
||||||
ok = X509_EXTENSION_get_critical(ext) == 0 ||
|
ok = X509_EXTENSION_get_critical(ext) == 0 ||
|
||||||
!lib->settings->get_bool(lib->settings,
|
!lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.x509.enforce_critical", TRUE);
|
"%s.x509.enforce_critical", TRUE, lib->ns);
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
char buf[80] = "";
|
char buf[80] = "";
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ METHOD(diffie_hellman_t, set_other_public_value, void,
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (!lib->settings->get_bool(lib->settings,
|
if (!lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.ecp_x_coordinate_only", TRUE))
|
"%s.ecp_x_coordinate_only", TRUE, lib->ns))
|
||||||
{ /* we only get the x coordinate back */
|
{ /* we only get the x coordinate back */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ pkcs11_manager_t *pkcs11_manager_create(pkcs11_manager_token_event_t cb,
|
|||||||
);
|
);
|
||||||
|
|
||||||
enumerator = lib->settings->create_section_enumerator(lib->settings,
|
enumerator = lib->settings->create_section_enumerator(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.modules");
|
"%s.plugins.pkcs11.modules", lib->ns);
|
||||||
while (enumerator->enumerate(enumerator, &module))
|
while (enumerator->enumerate(enumerator, &module))
|
||||||
{
|
{
|
||||||
INIT(entry,
|
INIT(entry,
|
||||||
@@ -346,7 +346,7 @@ pkcs11_manager_t *pkcs11_manager_create(pkcs11_manager_token_event_t cb,
|
|||||||
);
|
);
|
||||||
|
|
||||||
entry->path = lib->settings->get_str(lib->settings,
|
entry->path = lib->settings->get_str(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.modules.%s.path", NULL, module);
|
"%s.plugins.pkcs11.modules.%s.path", NULL, lib->ns, module);
|
||||||
if (!entry->path)
|
if (!entry->path)
|
||||||
{
|
{
|
||||||
DBG1(DBG_CFG, "PKCS11 module '%s' lacks library path", module);
|
DBG1(DBG_CFG, "PKCS11 module '%s' lacks library path", module);
|
||||||
@@ -355,8 +355,8 @@ pkcs11_manager_t *pkcs11_manager_create(pkcs11_manager_token_event_t cb,
|
|||||||
}
|
}
|
||||||
entry->lib = pkcs11_library_create(module, entry->path,
|
entry->lib = pkcs11_library_create(module, entry->path,
|
||||||
lib->settings->get_bool(lib->settings,
|
lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.modules.%s.os_locking",
|
"%s.plugins.pkcs11.modules.%s.os_locking",
|
||||||
FALSE, module));
|
FALSE, lib->ns, module));
|
||||||
if (!entry->lib)
|
if (!entry->lib)
|
||||||
{
|
{
|
||||||
free(entry);
|
free(entry);
|
||||||
|
|||||||
@@ -83,8 +83,8 @@ static void token_event_cb(private_pkcs11_plugin_t *this, pkcs11_library_t *p11,
|
|||||||
if (add && this->handle_events)
|
if (add && this->handle_events)
|
||||||
{
|
{
|
||||||
if (lib->settings->get_bool(lib->settings,
|
if (lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.modules.%s.load_certs",
|
"%s.plugins.pkcs11.modules.%s.load_certs",
|
||||||
TRUE, p11->get_name(p11)))
|
TRUE, lib->ns, p11->get_name(p11)))
|
||||||
{
|
{
|
||||||
creds = pkcs11_creds_create(p11, slot);
|
creds = pkcs11_creds_create(p11, slot);
|
||||||
if (creds)
|
if (creds)
|
||||||
@@ -174,8 +174,8 @@ static bool handle_certs(private_pkcs11_plugin_t *this,
|
|||||||
METHOD(plugin_t, reload, bool,
|
METHOD(plugin_t, reload, bool,
|
||||||
private_pkcs11_plugin_t *this)
|
private_pkcs11_plugin_t *this)
|
||||||
{
|
{
|
||||||
if (lib->settings->get_bool(lib->settings,
|
if (lib->settings->get_bool(lib->settings, "%s.plugins.pkcs11.reload_certs",
|
||||||
"libstrongswan.plugins.pkcs11.reload_certs", FALSE))
|
FALSE, lib->ns))
|
||||||
{
|
{
|
||||||
DBG1(DBG_CFG, "reloading certificates from PKCS#11 tokens");
|
DBG1(DBG_CFG, "reloading certificates from PKCS#11 tokens");
|
||||||
handle_certs(this, NULL, FALSE, NULL);
|
handle_certs(this, NULL, FALSE, NULL);
|
||||||
@@ -247,28 +247,28 @@ METHOD(plugin_t, get_features, int,
|
|||||||
if (!count)
|
if (!count)
|
||||||
{ /* initialize only once */
|
{ /* initialize only once */
|
||||||
bool use_ecc = lib->settings->get_bool(lib->settings,
|
bool use_ecc = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.use_ecc", FALSE);
|
"%s.plugins.pkcs11.use_ecc", FALSE, lib->ns);
|
||||||
plugin_features_add(f, f_manager, countof(f_manager), &count);
|
plugin_features_add(f, f_manager, countof(f_manager), &count);
|
||||||
/* private key handling for EC keys is not disabled by use_ecc */
|
/* private key handling for EC keys is not disabled by use_ecc */
|
||||||
plugin_features_add(f, f_privkey, countof(f_privkey), &count);
|
plugin_features_add(f, f_privkey, countof(f_privkey), &count);
|
||||||
if (lib->settings->get_bool(lib->settings,
|
if (lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.use_pubkey", FALSE))
|
"%s.plugins.pkcs11.use_pubkey", FALSE, lib->ns))
|
||||||
{
|
{
|
||||||
plugin_features_add(f, f_pubkey, countof(f_pubkey) - (use_ecc ? 0 : 1),
|
plugin_features_add(f, f_pubkey, countof(f_pubkey) - (use_ecc ? 0 : 1),
|
||||||
&count);
|
&count);
|
||||||
}
|
}
|
||||||
if (lib->settings->get_bool(lib->settings,
|
if (lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.use_hasher", FALSE))
|
"%s.plugins.pkcs11.use_hasher", FALSE, lib->ns))
|
||||||
{
|
{
|
||||||
plugin_features_add(f, f_hash, countof(f_hash), &count);
|
plugin_features_add(f, f_hash, countof(f_hash), &count);
|
||||||
}
|
}
|
||||||
if (lib->settings->get_bool(lib->settings,
|
if (lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.use_rng", FALSE))
|
"%s.plugins.pkcs11.use_rng", FALSE, lib->ns))
|
||||||
{
|
{
|
||||||
plugin_features_add(f, f_rng, countof(f_rng), &count);
|
plugin_features_add(f, f_rng, countof(f_rng), &count);
|
||||||
}
|
}
|
||||||
if (lib->settings->get_bool(lib->settings,
|
if (lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.plugins.pkcs11.use_dh", FALSE))
|
"%s.plugins.pkcs11.use_dh", FALSE, lib->ns))
|
||||||
{
|
{
|
||||||
plugin_features_add(f, f_dh, countof(f_dh), &count);
|
plugin_features_add(f, f_dh, countof(f_dh), &count);
|
||||||
if (use_ecc)
|
if (use_ecc)
|
||||||
|
|||||||
@@ -143,11 +143,11 @@ plugin_t *random_plugin_create()
|
|||||||
);
|
);
|
||||||
|
|
||||||
strong_equals_true = lib->settings->get_bool(lib->settings,
|
strong_equals_true = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.plugins.random.strong_equals_true", FALSE);
|
"%s.plugins.random.strong_equals_true", FALSE, lib->ns);
|
||||||
urandom_file = lib->settings->get_str(lib->settings,
|
urandom_file = lib->settings->get_str(lib->settings,
|
||||||
"libstrongswan.plugins.random.urandom", DEV_URANDOM);
|
"%s.plugins.random.urandom", DEV_URANDOM, lib->ns);
|
||||||
random_file = lib->settings->get_str(lib->settings,
|
random_file = lib->settings->get_str(lib->settings,
|
||||||
"libstrongswan.plugins.random.random", DEV_RANDOM);
|
"%s.plugins.random.random", DEV_RANDOM, lib->ns);
|
||||||
if (!open_dev(urandom_file, &dev_urandom) ||
|
if (!open_dev(urandom_file, &dev_urandom) ||
|
||||||
!open_dev(random_file, &dev_random))
|
!open_dev(random_file, &dev_random))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -97,14 +97,14 @@ resolver_t *unbound_resolver_create(void)
|
|||||||
char *resolv_conf, *trust_anchors, *dlv_anchors;
|
char *resolv_conf, *trust_anchors, *dlv_anchors;
|
||||||
|
|
||||||
resolv_conf = lib->settings->get_str(lib->settings,
|
resolv_conf = lib->settings->get_str(lib->settings,
|
||||||
"libstrongswan.plugins.unbound.resolv_conf",
|
"%s.plugins.unbound.resolv_conf",
|
||||||
RESOLV_CONF_FILE);
|
RESOLV_CONF_FILE, lib->ns);
|
||||||
trust_anchors = lib->settings->get_str(lib->settings,
|
trust_anchors = lib->settings->get_str(lib->settings,
|
||||||
"libstrongswan.plugins.unbound.trust_anchors",
|
"%s.plugins.unbound.trust_anchors",
|
||||||
TRUST_ANCHOR_FILE);
|
TRUST_ANCHOR_FILE, lib->ns);
|
||||||
dlv_anchors = lib->settings->get_str(lib->settings,
|
dlv_anchors = lib->settings->get_str(lib->settings,
|
||||||
"libstrongswan.plugins.unbound.dlv_anchors",
|
"%s.plugins.unbound.dlv_anchors",
|
||||||
NULL);
|
NULL, lib->ns);
|
||||||
|
|
||||||
INIT(this,
|
INIT(this,
|
||||||
.public = {
|
.public = {
|
||||||
|
|||||||
@@ -1446,7 +1446,7 @@ static bool parse_certificate(private_x509_cert_t *this)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (critical && lib->settings->get_bool(lib->settings,
|
if (critical && lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.x509.enforce_critical", TRUE))
|
"%s.x509.enforce_critical", TRUE, lib->ns))
|
||||||
{
|
{
|
||||||
DBG1(DBG_ASN, "critical '%s' extension not supported",
|
DBG1(DBG_ASN, "critical '%s' extension not supported",
|
||||||
(extn_oid == OID_UNKNOWN) ? "unknown" :
|
(extn_oid == OID_UNKNOWN) ? "unknown" :
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ static bool parse(private_x509_crl_t *this)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (critical && lib->settings->get_bool(lib->settings,
|
if (critical && lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.x509.enforce_critical", TRUE))
|
"%s.x509.enforce_critical", TRUE, lib->ns))
|
||||||
{
|
{
|
||||||
DBG1(DBG_ASN, "critical '%s' extension not supported",
|
DBG1(DBG_ASN, "critical '%s' extension not supported",
|
||||||
(extn_oid == OID_UNKNOWN) ? "unknown" :
|
(extn_oid == OID_UNKNOWN) ? "unknown" :
|
||||||
|
|||||||
@@ -545,7 +545,7 @@ processor_t *processor_create()
|
|||||||
{
|
{
|
||||||
this->jobs[i] = linked_list_create();
|
this->jobs[i] = linked_list_create();
|
||||||
this->prio_threads[i] = lib->settings->get_int(lib->settings,
|
this->prio_threads[i] = lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.processor.priority_threads.%N", 0,
|
"%s.processor.priority_threads.%N", 0, lib->ns,
|
||||||
job_priority_names, i);
|
job_priority_names, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -754,11 +754,11 @@ METHOD(leak_detective_t, usage, void,
|
|||||||
size_t sum = 0;
|
size_t sum = 0;
|
||||||
|
|
||||||
thresh = lib->settings->get_int(lib->settings,
|
thresh = lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.leak_detective.usage_threshold", 10240);
|
"%s.leak_detective.usage_threshold", 10240, lib->ns);
|
||||||
thresh_count = lib->settings->get_int(lib->settings,
|
thresh_count = lib->settings->get_int(lib->settings,
|
||||||
"libstrongswan.leak_detective.usage_threshold_count", 0);
|
"%s.leak_detective.usage_threshold_count", 0, lib->ns);
|
||||||
detailed = lib->settings->get_bool(lib->settings,
|
detailed = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.leak_detective.detailed", TRUE);
|
"%s.leak_detective.detailed", TRUE, lib->ns);
|
||||||
|
|
||||||
leaks = print_traces(this, cb, user, thresh, thresh_count,
|
leaks = print_traces(this, cb, user, thresh, thresh_count,
|
||||||
detailed, &whitelisted, &sum);
|
detailed, &whitelisted, &sum);
|
||||||
|
|||||||
Reference in New Issue
Block a user