Martin Willi
997fdd1f02
Accept non-"/0" subnet sizes for traffic selectors starting at 0.0.0.0
2012-07-02 17:25:26 +02:00
Tobias Brunner
a60e92a2c8
Added GPL header to AndroidConfigLocal.h
2012-06-29 16:51:29 +02:00
Tobias Brunner
e516068965
Removed superfluous remove_hasher() call in md5 plugin
2012-06-29 16:23:20 +02:00
Tobias Brunner
bbbffac3ab
Defined a macro to replace strerror(3) with calls to thread-safe wrapper
2012-06-28 13:14:52 +02:00
Tobias Brunner
2a59527659
Thread-safe wrapper around strerror(3)/strerror_r(3) added
2012-06-28 13:14:52 +02:00
Tobias Brunner
8122ae8cd8
gcrypt: Register SHA1 first as HASH_PREFERRED depends on it
2012-06-27 11:31:16 +02:00
Tobias Brunner
92250a48a9
Added MAC wrappers to Android.mk
2012-06-26 07:58:04 +02:00
Tobias Brunner
43d01ab2f6
Build nonce plugin on Android
2012-06-26 07:56:15 +02:00
Tobias Brunner
197dbf5f72
Added support for the curl plugin on Android
2012-06-26 07:56:14 +02:00
Tobias Brunner
e0efd7c121
Make rescheduling a job more predictable
...
This avoids race conditions between calls to cancel() and jobs that like
to be rescheduled. If jobs were able to reschedule themselves it would
theoretically be possible that two worker threads have the same job
assigned (the one currently executing the job and the one executing the
same but rescheduled job if it already is time to execute it), this means
that cancel() could be called twice for that job.
Creating a new job based on the current one and reschedule that is also
OK, but rescheduling itself is more efficient for jobs that need to be
executed often.
2012-06-25 17:49:12 +02:00
Tobias Brunner
26d77eb3e6
Centralized thread cancellation in processor_t
...
This ensures that no threads are active when plugins and the rest of the
daemon are unloaded.
callback_job_t was simplified a lot in the process as its main
functionality is now contained in processor_t. The parent-child
relationships were abandoned as these were only needed to simplify job
cancellation.
2012-06-25 17:38:59 +02:00
Tobias Brunner
7fec83af28
Give processor_t more control over the lifecycle of a job
...
Jobs are now destroyed by the processor, but they are allowed to
reschedule themselves. That is, parts of the reschedule functionality
already provided by callback_job_t is moved to the processor. Not yet
fully supported is JOB_REQUEUE_DIRECT and canceling jobs.
Note: job_t.destroy() is now called not only for queued jobs but also
after execution or cancellation of jobs. job_t.status can be used to
decide what to do in said method.
2012-06-25 17:10:28 +02:00
Tobias Brunner
18d21a57df
Added a method to plugin_loader_t to add 'static' plugin features
...
This allows daemons and other components to register plugin features
like those provided by plugins (following the same lifecycle).
The added features are internally handled like they were added by a
plugin.
2012-06-25 17:03:07 +02:00
Tobias Brunner
e07122436c
Make sure that all features of critical plugins are loaded
2012-06-25 17:03:07 +02:00
Tobias Brunner
738b9121cb
Use mac_t and PRF and signer wrappers in cmac plugin
2012-06-25 16:35:06 +02:00
Tobias Brunner
83cb52b044
Use mac_t and PRF and signer wrappers in xcbc plugin
2012-06-25 16:35:06 +02:00
Tobias Brunner
c4a3c9672a
Make the hmac_t interface a generic interface for message authentication codes
2012-06-25 16:35:06 +02:00
Tobias Brunner
228d096e42
Simplified creation of PRFs and signers in openssl and hmac plugins
2012-06-25 16:35:06 +02:00
Tobias Brunner
01850f5d55
Function to convert PRFs to hash algorithms added
2012-06-25 16:35:06 +02:00
Tobias Brunner
903093d439
hasher_algorithm_from_integrity() optionally returns truncation length
2012-06-25 16:35:06 +02:00
Tobias Brunner
73d032e412
Use simple wrappers for HMAC based PRF and signer in openssl plugin
2012-06-25 16:35:06 +02:00
Tobias Brunner
63420c6e13
Use simple wrappers for HMAC based PRF and signer in hmac plugin
2012-06-25 16:35:06 +02:00
Tobias Brunner
57ff4be874
Simple wrappers for HMAC based prf_t and signer_t implementations added
2012-06-25 16:35:06 +02:00
Tobias Brunner
8391c1d0b1
Refactored OpenSSL based HMAC implementation
2012-06-25 16:35:06 +02:00
Aleksandr Grinberg
54081897cf
Adding OpenSSL HMAC signer functions to openssl plugin
2012-06-25 16:35:05 +02:00
Aleksandr Grinberg
0504b0a09f
Adding OpenSSL HMAC pseudo random functions to openssl plugin
2012-06-25 16:35:05 +02:00
Aleksandr Grinberg
4faece7b1e
Adding OpenSSL random number functions to openssl plugin
2012-06-25 16:35:05 +02:00
Tobias Brunner
5d227c79a9
Doxygen fix in PKCS#7 wrapper
2012-06-19 13:32:59 +02:00
Martin Willi
918e92c4c9
Support multiple different public key strength types in constraints
2012-06-12 14:24:49 +02:00
Martin Willi
fd4ff11858
Add signature schemes to auth_cfg during trustchain validation
2012-06-12 14:24:49 +02:00
Martin Willi
a37f2d2006
certificate_t->issued_by takes an argument to receive signature scheme
2012-06-12 14:24:49 +02:00
Martin Willi
439d0742e9
Define auth_cfg rules for signature schemes
2012-06-12 14:24:49 +02:00
Tobias Brunner
753ca22f9c
Implement strdupnull() macro as static inline function.
...
This avoids compiler warnings if the argument is a const char*.
2012-06-11 17:33:30 +02:00
Tobias Brunner
cc55783f36
Added function to convert integrity algorithms to hash algorithms (if based on one).
2012-06-11 17:33:28 +02:00
Tobias Brunner
82e526ce81
Properly encode 0 in ASN.1.
...
According to X.690 an INTEGER object always has at least one content
octet.
2012-06-11 17:09:20 +02:00
Tobias Brunner
e8120632ae
Don't use chunk_skip() in asn1_length().
...
chunk_skip() returns chunk_empty if the length of the chunk is equal to
the number of bytes to skip, this is problematic as asn1_length() modifies
the original chunk. asn1_parser_t for instance uses the modified chunk to
later calculate the length of the resulting ASN.1 object which produces
incorrect results if it is based on chunk_empty.
2012-06-11 17:09:20 +02:00
Tobias Brunner
6e6d78a561
Changed memory management and call logic in PKCS#7 parser/generator.
2012-06-11 17:09:20 +02:00
Tobias Brunner
2bf125f0ed
Changed memory management and attribute handling in PKCS#9 wrapper.
2012-06-11 17:09:20 +02:00
Tobias Brunner
ea92d4f305
Added get_attributes() method to pkcs7_t.
2012-06-11 17:09:19 +02:00
Tobias Brunner
a69d8dd000
Log group added for applications other than daemons.
2012-06-11 17:09:19 +02:00
Tobias Brunner
07f0abd7ac
Updated PKCS#7 parser/generator in libstrongswan.
...
Added some functionality from pluto's version, updated usage of asn1
and crypto primitives. It does compile but is not really tested yet.
2012-06-11 17:09:19 +02:00
Tobias Brunner
9e9295ed10
Properly handle empty RDN values in DN strings.
2012-06-07 16:50:11 +02:00
Tobias Brunner
79d5c4f06b
Fixed return values of several functions (e.g. return FALSE for pointer types).
2012-05-31 17:39:04 +02:00
Martin Willi
060b508e0e
Fix boolean return value if an empty RSA signature is detected in gmp plugin
...
Fixes CVE-2012-2388.
2012-05-31 17:38:59 +02:00
Tobias Brunner
fda9f104b4
Fixed check for loaded plugins with feature types that are not compared exactly.
...
Previously e.g. RNGs with weaker strength would have overwritten stronger
ones.
2012-05-24 15:15:34 +02:00
Tobias Brunner
0e5d587df7
get_match() method added to hashtable_t.
2012-05-24 15:15:34 +02:00
Tobias Brunner
9eac6106d0
Use a hashtable to check for already loaded plugin features.
2012-05-23 17:50:05 +02:00
Tobias Brunner
a9cfd29c10
Hash function for plugin features added.
2012-05-23 17:50:05 +02:00
Martin Willi
75d4e01c4a
Enumerate correct list while removing nonce_gens, fix deregistration
2012-05-21 12:28:01 +02:00
Martin Willi
32400cd91a
Added a convenience function to dump backtraces for gdb-less debugging
2012-05-21 12:18:49 +02:00