Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | stream-service: move CAP_CHOWN check from plugins to service constructor | Martin Willi | 2013-07-18 | 1 | -0/+5 | |
| | | | | | A plugin service can be a TCP socket now, so it does not make much sense to strictly check for CAP_CHOWN. | |||||
* | processor: remove the now unused get_threads() method again | Martin Willi | 2013-07-18 | 2 | -17/+0 | |
| | ||||||
* | watcher: use processors new execute_job() to notify FDs | Martin Willi | 2013-07-18 | 1 | -9/+1 | |
| | | | | | Just queueing is problematic, as all threads might be busy waiting for events that the queued (but never executed) job delivers. | |||||
* | processor: add an execute_job() method to directly execute an important job | Martin Willi | 2013-07-18 | 2 | -0/+36 | |
| | | | | | | | If all worker threads are busy and waiting for an event, we must ensure that a job delivering that event gets executed. This new method has this property for CRITICAL jobs, using a worker if we have one, but executing the job directly if not. | |||||
* | watcher: properly support multiple watch callback types for the same FD | Martin Willi | 2013-07-18 | 2 | -36/+45 | |
| | ||||||
* | watcher: read multiple notifications if available | Martin Willi | 2013-07-18 | 1 | -2/+15 | |
| | | | | | Use non-blocking I/O on the read end of the notify pipe. This also makes sure the read does not block should select() signal data while there is none. | |||||
* | credmgr: introduce a hook function to catch trust chain validation errors | Martin Willi | 2013-07-18 | 5 | -6/+110 | |
| | ||||||
* | stream: allow async read/write callback to destroy the stream explicitly | Martin Willi | 2013-07-18 | 2 | -10/+15 | |
| | ||||||
* | stream: don't close underlying socket when creating a stream from it | Martin Willi | 2013-07-18 | 1 | -1/+6 | |
| | ||||||
* | watcher: add some debugging statements | Martin Willi | 2013-07-18 | 1 | -0/+12 | |
| | ||||||
* | watcher: if the processor has no threads, execute the job with watcher thread | Martin Willi | 2013-07-18 | 1 | -11/+19 | |
| | | | | | This is important during shutdown, where we might need to signal some FDs while all idle threads are gone already. | |||||
* | processor: add a getter for the threads passed to set_threads() | Martin Willi | 2013-07-18 | 2 | -1/+17 | |
| | ||||||
* | watcher: unregister a watcher FD if its thread gets cancelled | Martin Willi | 2013-07-18 | 1 | -0/+13 | |
| | ||||||
* | watcher: release threads waiting in remove() when watcher thread gets cancelled | Martin Willi | 2013-07-18 | 1 | -0/+24 | |
| | | | | | | | During daemon shutdown, users might call remove() after processor.set_threads(0) has been called. This gets problematic, as a watch event might be unable to signal completion when no threads are available anymore. Work around this issue by cancelling waiters once processor.cancel() has been called. | |||||
* | stream: support keeping the service alive outside of service callback | Martin Willi | 2013-07-18 | 2 | -4/+5 | |
| | ||||||
* | stream: add read/write_all() methods to stream | Martin Willi | 2013-07-18 | 2 | -2/+73 | |
| | ||||||
* | stream: support cancellation of stream service callback | Martin Willi | 2013-07-18 | 1 | -2/+3 | |
| | ||||||
* | stream: use a service constructor to create services | Martin Willi | 2013-07-18 | 2 | -77/+8 | |
| | | | | | | It does not make much sense to reference running services in the manager, especially as unregistration would need the URI (which a user would have to store instead of the service reference). | |||||
* | stream: replace print/vprint() convenience functions by a FILE* getter | Martin Willi | 2013-07-18 | 2 | -51/+20 | |
| | | | | | While this will complicate the implementation of streams not based on a fd, it allows us to unleash the full power of FILE based convenience functions. | |||||
* | stream: add a concurrency option to services, limiting parallel callbacks | Martin Willi | 2013-07-18 | 4 | -7/+71 | |
| | ||||||
* | stream: add a job priority option to stream services | Martin Willi | 2013-07-18 | 4 | -7/+24 | |
| | ||||||
* | stream: add backlog option to stream services, forward to listen() | Martin Willi | 2013-07-18 | 4 | -11/+15 | |
| | ||||||
* | stream: add support for TCP stream services | Martin Willi | 2013-07-18 | 3 | -0/+53 | |
| | ||||||
* | stream: add support for TCP streams | Martin Willi | 2013-07-18 | 3 | -2/+108 | |
| | ||||||
* | stream: add support for UNIX stream services | Martin Willi | 2013-07-18 | 3 | -0/+61 | |
| | ||||||
* | stream: add support for UNIX streams | Martin Willi | 2013-07-18 | 3 | -0/+77 | |
| | ||||||
* | stream: support async operation using watcher | Martin Willi | 2013-07-18 | 2 | -0/+142 | |
| | ||||||
* | stream: add printf()-style covenience functions | Martin Willi | 2013-07-18 | 2 | -1/+60 | |
| | ||||||
* | stream: create library instance of stream-manager | Martin Willi | 2013-07-18 | 5 | -5/+13 | |
| | ||||||
* | stream: add a manager to dynamically register streams and services | Martin Willi | 2013-07-18 | 4 | -3/+389 | |
| | ||||||
* | stream: add a stream service class abstracting services using BSD sockets | Martin Willi | 2013-07-18 | 4 | -0/+238 | |
| | ||||||
* | stream: add a stream class abstracting BSD sockets | Martin Willi | 2013-07-18 | 4 | -3/+205 | |
| | | | | | Currently only synchronous operation is supported, but this will be extended with asynchronous methods using the new watcher. | |||||
* | watcher: add a centralized an generic facility to monitor file descriptors | Martin Willi | 2013-07-18 | 6 | -3/+504 | |
| | ||||||
* | capabilities: Add function to check if a capability is held, without keeping it | Tobias Brunner | 2013-07-18 | 2 | -45/+75 | |
| | | | | | This can be useful if capabilities are not required anymore after dropping privileges. | |||||
* | automake: replace INCLUDES by AM_CPPFLAGS | Martin Willi | 2013-07-18 | 45 | -147/+194 | |
| | | | | | | INCLUDES are now deprecated and throw warnings when using automake 1.13. We now also differentiate AM_CPPFLAGS and AM_CFLAGS, where includes and defines are passed to AM_CPPFLAGS only. | |||||
* | soup: omit deprecated g_type_init() when using >= GLIB 2.36 | Martin Willi | 2013-07-18 | 1 | -0/+2 | |
| | ||||||
* | keychain: flush certificate cache after reloading System keychain | Martin Willi | 2013-07-18 | 1 | -0/+2 | |
| | ||||||
* | keychain: monitor changes in the system keychain, reload when necessary | Martin Willi | 2013-07-18 | 1 | -0/+65 | |
| | ||||||
* | keychain: use SearchCopyNext keychain enumeration for System certs as well | Martin Willi | 2013-07-18 | 1 | -71/+12 | |
| | | | | | | | SecItemCopyMatching seems to be problematic regarding memory management. And as there does not seem to be a good alternative to enumerate the System Roots keychain using the SecItemCopyMatching API, we stick to the deprecated enumeration functions for now. | |||||
* | keychain: load certificates from System Roots Keychain | Martin Willi | 2013-07-18 | 1 | -0/+65 | |
| | ||||||
* | keychain: load certificates only once during startup, improving performance | Martin Willi | 2013-07-18 | 3 | -111/+78 | |
| | ||||||
* | keychain: support on-the-fly enumeration of trusted/untrusted certificates | Martin Willi | 2013-07-18 | 2 | -1/+118 | |
| | ||||||
* | keychain: add a stub for a credential plugin using OS X Keychain Services | Martin Willi | 2013-07-18 | 6 | -0/+254 | |
| | ||||||
* | credmgr: stop querying for secrets once we get a perfect match | Martin Willi | 2013-07-18 | 1 | -0/+4 | |
| | ||||||
* | credmgr: don't use pointers for id_match_t enum values | Martin Willi | 2013-07-18 | 1 | -2/+2 | |
| | ||||||
* | openssl: parse X.509 extended key usage from extension parsing loop | Martin Willi | 2013-07-18 | 1 | -33/+38 | |
| | | | | | Otherwise parsing gets aborted if unknown critical extensions are handled as error. | |||||
* | openssl: show which critical X.509 extension is not supported | Martin Willi | 2013-07-18 | 1 | -1/+6 | |
| | ||||||
* | hashtable: add common hashtable hash/equals functions for pointer/string keys | Martin Willi | 2013-07-18 | 2 | -3/+68 | |
| | ||||||
* | thread: implicitly create thread_t if an external thread calls thread_current() | Martin Willi | 2013-07-18 | 1 | -1/+14 | |
| | ||||||
* | linked-list: Remove barely used has_more() method | Tobias Brunner | 2013-07-17 | 3 | -69/+1 | |
| | | | | | | | | This required some refactoring when handling encrypted payloads. Also changed log messages so that "encrypted payload" is logged instead of "encryption payload" (even if we internally still call it that) as that's the name used in RFC 5996. |