strongswan.git
8 years agofixed attest sql query in list_measurements()
Andreas Steffen [Wed, 15 Feb 2012 22:13:05 +0000 (23:13 +0100)]
fixed attest sql query in list_measurements()

8 years agoCompiler warnings fixed.
Tobias Brunner [Tue, 14 Feb 2012 15:09:44 +0000 (16:09 +0100)]
Compiler warnings fixed.

8 years agopluto: Print expiry time more properly.
Tobias Brunner [Tue, 14 Feb 2012 08:34:48 +0000 (09:34 +0100)]
pluto: Print expiry time more properly.

8 years agopluto: Drop support for legacy PSK format.
Tobias Brunner [Wed, 8 Feb 2012 12:36:32 +0000 (13:36 +0100)]
pluto: Drop support for legacy PSK format.

Any line in ipsec.secrets starting with " or ' was treated as PSK
without ID selectors by pluto.  This prevented it from supporting DNs
like "C=CH, O=Linux strongSwan, OU=Sales, CN=alice@strongswan.org" as
ID selectors.

PSKs defined in this legacy format can easily be updated by changing

"thisIsASecret"

into

: PSK "thisIsASecret"

8 years agocompleted imc/imv-attestation settings
Andreas Steffen [Tue, 7 Feb 2012 21:11:51 +0000 (22:11 +0100)]
completed imc/imv-attestation settings

8 years agoadapted debug output check in openssl-ikev2/rw-eap-tls-only scenario
Andreas Steffen [Tue, 7 Feb 2012 19:31:09 +0000 (20:31 +0100)]
adapted debug output check in openssl-ikev2/rw-eap-tls-only scenario

8 years agoDouble check if a cached suite is available, overwrite any old suite state
Martin Willi [Tue, 7 Feb 2012 10:41:56 +0000 (11:41 +0100)]
Double check if a cached suite is available, overwrite any old suite state

8 years agoSome Doxygen fixes.
Tobias Brunner [Tue, 7 Feb 2012 10:20:46 +0000 (11:20 +0100)]
Some Doxygen fixes.

8 years agoFix TLS EAP-MSK derivation, uses different order of randoms than key expansion
Martin Willi [Tue, 7 Feb 2012 09:50:02 +0000 (10:50 +0100)]
Fix TLS EAP-MSK derivation, uses different order of randoms than key expansion

8 years agoFilter TLS suite MAC by HMAC algorithm, as the hash is not necessarily the same
Martin Willi [Tue, 7 Feb 2012 08:37:51 +0000 (09:37 +0100)]
Filter TLS suite MAC by HMAC algorithm, as the hash is not necessarily the same

8 years agoopen RADIUS accounting port in firewall
Andreas Steffen [Mon, 6 Feb 2012 19:45:21 +0000 (20:45 +0100)]
open RADIUS accounting port in firewall

8 years agoadded ikev2/rw-radius-accounting scenario
Andreas Steffen [Mon, 6 Feb 2012 11:52:48 +0000 (12:52 +0100)]
added ikev2/rw-radius-accounting scenario

8 years agoUpdate usage for all children in RADIUS accounting just before sending Stop
Martin Willi [Mon, 6 Feb 2012 09:26:24 +0000 (10:26 +0100)]
Update usage for all children in RADIUS accounting just before sending Stop

8 years agoCheck if ClusterIP directory could be opened before enumerating it
Martin Willi [Fri, 3 Feb 2012 11:55:55 +0000 (12:55 +0100)]
Check if ClusterIP directory could be opened before enumerating it

8 years agoversion bump to 4.6.2rc1
Andreas Steffen [Sun, 5 Feb 2012 21:24:56 +0000 (22:24 +0100)]
version bump to 4.6.2rc1

8 years agoipsec attest adds and deletes key/component pairs
Andreas Steffen [Sun, 5 Feb 2012 21:23:45 +0000 (22:23 +0100)]
ipsec attest adds and deletes key/component pairs

8 years agocheck if TNC client has a valid and registered AIK
Andreas Steffen [Sun, 5 Feb 2012 18:37:58 +0000 (19:37 +0100)]
check if TNC client has a valid and registered AIK

8 years agoreformulated some NEWS entries
Andreas Steffen [Fri, 3 Feb 2012 15:13:34 +0000 (16:13 +0100)]
reformulated some NEWS entries

8 years agoadded openssl-ikev2/ecdsa-pkcs8 scenario
Andreas Steffen [Fri, 3 Feb 2012 10:44:04 +0000 (11:44 +0100)]
added openssl-ikev2/ecdsa-pkcs8 scenario

8 years agoadded ikev2/rw-pkcs8 scenario
Andreas Steffen [Fri, 3 Feb 2012 10:10:13 +0000 (11:10 +0100)]
added ikev2/rw-pkcs8 scenario

8 years agoversion bump to 4.6.2dr4
Andreas Steffen [Thu, 2 Feb 2012 17:26:12 +0000 (18:26 +0100)]
version bump to 4.6.2dr4

8 years agoTrigger DPD not before IKE_SA state gets updated
Martin Willi [Thu, 2 Feb 2012 09:33:40 +0000 (10:33 +0100)]
Trigger DPD not before IKE_SA state gets updated

8 years agoDon't retransmit, rekey, reauth or DPD check SAs when in PASSIVE state
Martin Willi [Tue, 10 Jan 2012 12:32:06 +0000 (13:32 +0100)]
Don't retransmit, rekey, reauth or DPD check SAs when in PASSIVE state

8 years agoMoved and clarified NEWS about PKCS#8 plugin.
Tobias Brunner [Wed, 1 Feb 2012 17:32:28 +0000 (18:32 +0100)]
Moved and clarified NEWS about PKCS#8 plugin.

8 years agoMoved log message for unexpected ASN.1 objects to level 2.
Tobias Brunner [Wed, 1 Feb 2012 17:15:38 +0000 (18:15 +0100)]
Moved log message for unexpected ASN.1 objects to level 2.

This avoids error messages if later builders can successfully decode something.

8 years agoAdded support for PKCS#5 v2 schemes when decrypting PKCS#8 files.
Tobias Brunner [Tue, 31 Jan 2012 17:54:00 +0000 (18:54 +0100)]
Added support for PKCS#5 v2 schemes when decrypting PKCS#8 files.

8 years agoNEWS about pkcs8 plugin added.
Tobias Brunner [Mon, 30 Jan 2012 17:52:47 +0000 (18:52 +0100)]
NEWS about pkcs8 plugin added.

8 years agoAdded support for encrypted PKCS#8 files (for some PKCS#5 v1.5 schemes).
Tobias Brunner [Mon, 30 Jan 2012 17:42:22 +0000 (18:42 +0100)]
Added support for encrypted PKCS#8 files (for some PKCS#5 v1.5 schemes).

8 years agoAdded support to parse PKCS#8 encoded ECDSA private keys.
Tobias Brunner [Wed, 18 Jan 2012 21:33:36 +0000 (22:33 +0100)]
Added support to parse PKCS#8 encoded ECDSA private keys.

8 years agoOpenSSL plugin parses ECDSA private keys with explicitly specified EC parameters.
Tobias Brunner [Wed, 18 Jan 2012 21:29:09 +0000 (22:29 +0100)]
OpenSSL plugin parses ECDSA private keys with explicitly specified EC parameters.

This is needed in case the key itself does not contain the parameters,
which is the case for PKCS#8.

8 years agoAdd builder part for parameters from algorithmIdentifier.
Tobias Brunner [Wed, 18 Jan 2012 21:25:47 +0000 (22:25 +0100)]
Add builder part for parameters from algorithmIdentifier.

8 years agoReturn parsed parameters from algorithmIdentifier if they are an OID (aka EC named...
Tobias Brunner [Wed, 18 Jan 2012 20:28:38 +0000 (21:28 +0100)]
Return parsed parameters from algorithmIdentifier if they are an OID (aka EC named curve).

Explicit EC parameters are not supported with this function, but before this
change no parameters were actually ever returned.

8 years agoParse RSA private keys from PKCS#8 encoded blobs.
Tobias Brunner [Wed, 18 Jan 2012 18:14:56 +0000 (19:14 +0100)]
Parse RSA private keys from PKCS#8 encoded blobs.

8 years agoAdded PKCS#8 stub plugin.
Tobias Brunner [Wed, 18 Jan 2012 18:12:21 +0000 (19:12 +0100)]
Added PKCS#8 stub plugin.

8 years agoAdded an option to load CA certificates without CA basic constraint.
Tobias Brunner [Wed, 1 Feb 2012 13:34:52 +0000 (14:34 +0100)]
Added an option to load CA certificates without CA basic constraint.

Enabling this option treats all certificates in ipsec.d/cacerts and
ipsec.conf ca sections as CA certificates even if they do not contain a
CA basic constraint.

8 years agoAdded TLS session resumption NEWS
Martin Willi [Wed, 1 Feb 2012 11:13:00 +0000 (12:13 +0100)]
Added TLS session resumption NEWS

8 years agoAdded RADIUS accounting NEWS
Martin Willi [Wed, 1 Feb 2012 11:07:32 +0000 (12:07 +0100)]
Added RADIUS accounting NEWS

8 years agoAdded RADIUS accounting option to strongswan.conf manual
Martin Willi [Wed, 1 Feb 2012 10:35:13 +0000 (11:35 +0100)]
Added RADIUS accounting option to strongswan.conf manual

8 years agoSupport RADIUS accounting messages containing Framed-IP and Inbound/Outbound-Octets
Martin Willi [Mon, 30 Jan 2012 18:16:49 +0000 (19:16 +0100)]
Support RADIUS accounting messages containing Framed-IP and Inbound/Outbound-Octets

8 years agoOpen RADIUS accounting sockets to exchange accounting messages
Martin Willi [Mon, 30 Jan 2012 18:15:20 +0000 (19:15 +0100)]
Open RADIUS accounting sockets to exchange accounting messages

8 years agoSupport signing of RADIUS accounting messages
Martin Willi [Mon, 30 Jan 2012 18:13:20 +0000 (19:13 +0100)]
Support signing of RADIUS accounting messages

8 years agoRADIUS message constructor accepts a message code parameter
Martin Willi [Mon, 30 Jan 2012 18:11:08 +0000 (19:11 +0100)]
RADIUS message constructor accepts a message code parameter

8 years agoDisable crypto benchmarking if CLOCK_THREAD_CPUTIME_ID is not available.
Tobias Brunner [Mon, 30 Jan 2012 10:04:55 +0000 (11:04 +0100)]
Disable crypto benchmarking if CLOCK_THREAD_CPUTIME_ID is not available.

8 years agoBuild libstrongswan if libfast gets built
Martin Willi [Tue, 24 Jan 2012 17:23:44 +0000 (18:23 +0100)]
Build libstrongswan if libfast gets built

8 years agoCache list of plugin names to further simplify its usage.
Tobias Brunner [Thu, 19 Jan 2012 11:27:56 +0000 (12:27 +0100)]
Cache list of plugin names to further simplify its usage.

Also helpful for ipsec statusall to avoid having to enumerate plugins.

8 years agoLog list of loaded plugins in main PKI help output.
Tobias Brunner [Thu, 19 Jan 2012 10:56:43 +0000 (11:56 +0100)]
Log list of loaded plugins in main PKI help output.

8 years agoSimplified logging of list of loaded plugins.
Tobias Brunner [Thu, 19 Jan 2012 10:53:06 +0000 (11:53 +0100)]
Simplified logging of list of loaded plugins.

8 years agoFunction added to plugin_loader to get a list of the names of loaded plugins.
Tobias Brunner [Thu, 19 Jan 2012 10:51:51 +0000 (11:51 +0100)]
Function added to plugin_loader to get a list of the names of loaded plugins.

8 years agoUse correct time_t variables to store ARG_TIME options
Martin Willi [Wed, 18 Jan 2012 09:31:45 +0000 (10:31 +0100)]
Use correct time_t variables to store ARG_TIME options

8 years agoDestroy active task list before queued tasks
Thomas Egerer [Mon, 16 Jan 2012 16:41:47 +0000 (17:41 +0100)]
Destroy active task list before queued tasks

Since active task's destruction might result in adopting tasks from a
rekeyed ike sa it seems better to first destroy the active task list and
then destroy all queued tasks. This way adoption is possible at all,
while otherwise the queued task list would be empty.

8 years agoVarious style, typo and whitespace corrections
Adrian-Ken Rueegsegger [Fri, 6 Jan 2012 16:37:59 +0000 (17:37 +0100)]
Various style, typo and whitespace corrections

8 years agoStarter depends on whack/stroke on Android.
Tobias Brunner [Thu, 12 Jan 2012 18:16:18 +0000 (19:16 +0100)]
Starter depends on whack/stroke on Android.

With this change whack and stroke get installed automatically if starter is
enabled.

8 years agoAndroid 4 requires LOCAL_MODULE_TAGS to be set for all modules.
Tobias Brunner [Thu, 12 Jan 2012 18:14:11 +0000 (19:14 +0100)]
Android 4 requires LOCAL_MODULE_TAGS to be set for all modules.

Because all packages are now marked as optional executables that are to
be installed on the final system have to be added to PRODUCT_PACKAGES in
build/target/product/core.mk.  Dependencies (such as libraries) are
installed automatically.

8 years agoFixed additional typos in comments and log messages.
Tobias Brunner [Thu, 12 Jan 2012 10:41:34 +0000 (11:41 +0100)]
Fixed additional typos in comments and log messages.

8 years agoFix whitespaces
Adrian-Ken Rueegsegger [Thu, 5 Jan 2012 17:52:36 +0000 (18:52 +0100)]
Fix whitespaces

8 years agoSome documentation corrections
Adrian-Ken Rueegsegger [Wed, 4 Jan 2012 10:11:47 +0000 (11:11 +0100)]
Some documentation corrections

8 years agoFix gettid() on Android, which is defined in unistd.h there.
Tobias Brunner [Thu, 12 Jan 2012 10:08:22 +0000 (11:08 +0100)]
Fix gettid() on Android, which is defined in unistd.h there.

8 years agoUse native gettid() if available (which is the case on Android).
Tobias Brunner [Tue, 10 Jan 2012 17:31:33 +0000 (18:31 +0100)]
Use native gettid() if available (which is the case on Android).

8 years agopluto: Use srand() to initialize the C library PRNG.
Tobias Brunner [Wed, 4 Jan 2012 12:19:29 +0000 (13:19 +0100)]
pluto: Use srand() to initialize the C library PRNG.

Otherwise rekey and DPD times would always be the same after a restart.

8 years agoUse the TLS socket splicing in tls_test script
Martin Willi [Sat, 31 Dec 2011 11:49:18 +0000 (12:49 +0100)]
Use the TLS socket splicing in tls_test script

8 years agoAdded a tls_socket_t.splice method to wrap a file descriptor into TLS
Martin Willi [Sat, 31 Dec 2011 11:37:08 +0000 (12:37 +0100)]
Added a tls_socket_t.splice method to wrap a file descriptor into TLS

8 years agoImplemented TLS session resumption both as client and as server
Martin Willi [Sat, 31 Dec 2011 00:41:56 +0000 (01:41 +0100)]
Implemented TLS session resumption both as client and as server

8 years agoImplemented a TLS session cache
Martin Willi [Sat, 31 Dec 2011 00:39:17 +0000 (01:39 +0100)]
Implemented a TLS session cache

8 years agoCheck for cipherspec changes after each handshake message
Martin Willi [Fri, 30 Dec 2011 17:29:55 +0000 (18:29 +0100)]
Check for cipherspec changes after each handshake message

8 years agoSeparated cipherspec checking and switching, allowing us to defer the second
Martin Willi [Fri, 30 Dec 2011 17:29:11 +0000 (18:29 +0100)]
Separated cipherspec checking and switching, allowing us to defer the second

8 years agoMake number of concurrently handled stroke messages configurable.
Tobias Brunner [Thu, 29 Dec 2011 17:41:39 +0000 (18:41 +0100)]
Make number of concurrently handled stroke messages configurable.

8 years agoLimit the number of concurrently handled stroke messages.
Tobias Brunner [Thu, 29 Dec 2011 17:39:34 +0000 (18:39 +0100)]
Limit the number of concurrently handled stroke messages.

This avoids clogging the thread pool with potentially blocking jobs.

8 years agoregister aik certificate via ipsec attest
Andreas Steffen [Sun, 25 Dec 2011 13:30:52 +0000 (14:30 +0100)]
register aik certificate via ipsec attest

8 years agoBe less verbose about TLS extensions
Martin Willi [Sat, 24 Dec 2011 12:26:24 +0000 (13:26 +0100)]
Be less verbose about TLS extensions

8 years agoIn TLS 1.2, PRF and HASH function use at least SHA-256, not the MAC hash function
Martin Willi [Sat, 24 Dec 2011 11:35:28 +0000 (12:35 +0100)]
In TLS 1.2, PRF and HASH function use at least SHA-256, not the MAC hash function

8 years agoAdded a getter for the tls_socket file descriptor
Martin Willi [Sat, 24 Dec 2011 10:02:57 +0000 (11:02 +0100)]
Added a getter for the tls_socket file descriptor

8 years agoAllow callers to force ASN.1 date encoding as GENERALIZEDTIME.
Tobias Brunner [Fri, 23 Dec 2011 17:01:31 +0000 (18:01 +0100)]
Allow callers to force ASN.1 date encoding as GENERALIZEDTIME.

8 years agoAvoid integer overflow when parsing ASN.1 dates.
Tobias Brunner [Fri, 23 Dec 2011 15:36:59 +0000 (16:36 +0100)]
Avoid integer overflow when parsing ASN.1 dates.

This only works properly if sizeof(time_t) > 4.

8 years agopki: Avoid integer overflow when calculating certificate lifetimes.
Tobias Brunner [Fri, 23 Dec 2011 15:33:24 +0000 (16:33 +0100)]
pki: Avoid integer overflow when calculating certificate lifetimes.

This only works properly if sizeof(time_t) > 4.

8 years agoProperly ASN.1 encode dates in certificates depending on the year.
Tobias Brunner [Fri, 23 Dec 2011 15:29:41 +0000 (16:29 +0100)]
Properly ASN.1 encode dates in certificates depending on the year.

8 years agopluto: Fixed expiration date test.
Tobias Brunner [Fri, 23 Dec 2011 14:32:06 +0000 (15:32 +0100)]
pluto: Fixed expiration date test.

8 years agoFix deadlock in trap_manager_t during acquire.
Tobias Brunner [Fri, 23 Dec 2011 10:07:14 +0000 (11:07 +0100)]
Fix deadlock in trap_manager_t during acquire.

Also fixes a TOCTOU issue regarding the use of entry_t.pending.

The deadlock was caused because the rwlock was being locked while
waiting for an IKE_SA. Triggering the deadlock was a bit tricky, here
is the description by Thomas Egerer (the reporter of this issue):

"
The deadlock occurs when the following happens (in the given order):

a) an IKE_SA is built and a thread is processing the IKE_AUTH request,
   which can take a bit longer when a smartcard is involved. This
   causes the ike_sa_manager to lock a particular IKE_SA exclusively.
b) an acquire is triggered which causes the rwlock in the trap_manager
   to be read-locked, the subsequent call to
   ike_sa_manager->checkout_by_config has to wait until a) unlocks
   it's ike_sa.
c) a child_cfg contained in the peer_cfg belonging to the ike_sa
   a) has locked is routed causes the child_configs contained
   in the peer config to be locked by c) while the actual routing
   code within trap_manager tries to writelock it's rwlock.

That's about it. As soon as a) finishes authentication of the peer
and tries to find a matching child sa it will try to lock the child
configs of the peer config which is not possible since it has been
locked by c).

Thread | Resource locked                | Resource desired
-------+--------------------------------+--------------------------------
  (a)  | ike_sa in ike_sa_manager       | child_cfgs of peer_cfg
       |                                |
  (b)  | rwlock in trap-manager (read)  | ike_sa in ike_sa_manager
       |                                |
  (c)  | child_cfgs of peer_cfg         | rwlock in trap-manager (write)
"

With this patch thread (b) now does not hold the lock while waiting for
the IKE_SA. Thus (c) can get the write lock, and (a) can subsequently
lock the mutex in the peer_cfg which then finally allows (b) to checkout
the IKE_SA.

8 years agoAdded atomic compare and swap operations.
Tobias Brunner [Fri, 23 Dec 2011 10:04:55 +0000 (11:04 +0100)]
Added atomic compare and swap operations.

Using a GCC atomic builtin if available or a global mutex otherwise.

8 years agoFixed flush() method of trap_manager_t.
Tobias Brunner [Fri, 23 Dec 2011 09:38:10 +0000 (10:38 +0100)]
Fixed flush() method of trap_manager_t.

A segmentation fault could have happened during destruction of the trap
manager after calling flush().

8 years agomade ikev2/reauth-late scenario more robust
Andreas Steffen [Wed, 21 Dec 2011 05:00:13 +0000 (06:00 +0100)]
made ikev2/reauth-late scenario more robust

8 years agoadditional state waiting for the EvidenceFinal attribute response
Andreas Steffen [Tue, 20 Dec 2011 06:04:21 +0000 (07:04 +0100)]
additional state waiting for the EvidenceFinal attribute response

8 years agomoved send_message() in front of recommendation evaluation
Andreas Steffen [Sun, 18 Dec 2011 20:05:52 +0000 (21:05 +0100)]
moved send_message() in front of recommendation evaluation

8 years agoadded case IMV_ATTESTATION_STATE_END
Andreas Steffen [Sun, 18 Dec 2011 18:39:25 +0000 (19:39 +0100)]
added case IMV_ATTESTATION_STATE_END

8 years agoTrouSerS expects a bitmask field length of at least 3 bytes
Sansar Choinyambuu [Sun, 18 Dec 2011 17:36:36 +0000 (18:36 +0100)]
TrouSerS expects a bitmask field length of at least 3 bytes

8 years agocheck for TrouSerS
Andreas Steffen [Sun, 18 Dec 2011 17:26:38 +0000 (18:26 +0100)]
check for TrouSerS

8 years agoadded Attestation IMC/IMV to UML build
Andreas Steffen [Sun, 18 Dec 2011 17:07:47 +0000 (18:07 +0100)]
added Attestation IMC/IMV to UML build

8 years agobuild PA-TNC message only if there are PA-TNC attributes to send
Andreas Steffen [Sun, 18 Dec 2011 16:55:20 +0000 (17:55 +0100)]
build PA-TNC message only if there are PA-TNC attributes to send

8 years agodestroy attributes, too
Andreas Steffen [Sun, 18 Dec 2011 16:34:53 +0000 (17:34 +0100)]
destroy attributes, too

8 years agoadded reference counts to all PA-TNC attribute classes
Andreas Steffen [Sun, 18 Dec 2011 16:20:13 +0000 (17:20 +0100)]
added reference counts to all PA-TNC attribute classes

8 years agoreworded comments and debug output
Andreas Steffen [Sun, 18 Dec 2011 09:51:35 +0000 (10:51 +0100)]
reworded comments and debug output

8 years agoPrepend Debian string to Debian version
Andreas Steffen [Sun, 18 Dec 2011 09:27:42 +0000 (10:27 +0100)]
Prepend Debian string to Debian version

8 years agoremoved unused variable
Andreas Steffen [Thu, 15 Dec 2011 08:30:13 +0000 (09:30 +0100)]
removed unused variable

8 years agomoved management of additional IMC/IMV IDs to agent
Andreas Steffen [Fri, 16 Dec 2011 16:32:00 +0000 (17:32 +0100)]
moved management of additional IMC/IMV IDs to agent

8 years agoAlso log PGP parsing in ASN log group.
Tobias Brunner [Fri, 16 Dec 2011 15:34:56 +0000 (16:34 +0100)]
Also log PGP parsing in ASN log group.

8 years agoLog messages for PKCS1 and PEM parsing in ASN log group.
Tobias Brunner [Fri, 16 Dec 2011 15:32:47 +0000 (16:32 +0100)]
Log messages for PKCS1 and PEM parsing in ASN log group.

8 years agoLog most X.509 related messages in new ASN log group.
Tobias Brunner [Fri, 16 Dec 2011 15:31:50 +0000 (16:31 +0100)]
Log most X.509 related messages in new ASN log group.

8 years agoLog ASN.1 parsing in new ASN debug group.
Tobias Brunner [Fri, 16 Dec 2011 15:29:48 +0000 (16:29 +0100)]
Log ASN.1 parsing in new ASN debug group.

8 years agoAdded ASN debug group to log low-level encoding/decoding (ASN.1, X.509).
Tobias Brunner [Fri, 16 Dec 2011 15:27:28 +0000 (16:27 +0100)]
Added ASN debug group to log low-level encoding/decoding (ASN.1, X.509).

This will allow us to remove quite some clutter from the LIB debug group
for higher debug levels.

8 years agoLog native thread ID when a thread is created.
Tobias Brunner [Fri, 16 Dec 2011 15:21:01 +0000 (16:21 +0100)]
Log native thread ID when a thread is created.

If possible gettid() is used, otherwise pthread_self() is logged (which is
not completely portable, but seems to work on most supported platforms).

8 years agoLog worker thread ID with two digits.
Tobias Brunner [Fri, 16 Dec 2011 13:40:57 +0000 (14:40 +0100)]
Log worker thread ID with two digits.