Code

sysdb.git
10 years agoRelease SysDB 0.2.0. sysdb-0.2.0
Sebastian Harl [Wed, 2 Jul 2014 05:31:30 +0000 (07:31 +0200)]
Release SysDB 0.2.0.

10 years agosysdbql(7): Documented conditional attribute matchers.
Sebastian Harl [Wed, 2 Jul 2014 05:26:35 +0000 (07:26 +0200)]
sysdbql(7): Documented conditional attribute matchers.

10 years agoReleaseNotes: Added release 0.2.0.
Sebastian Harl [Tue, 1 Jul 2014 20:27:11 +0000 (22:27 +0200)]
ReleaseNotes: Added release 0.2.0.

10 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Tue, 1 Jul 2014 20:01:13 +0000 (22:01 +0200)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

10 years agostore: Include backend information in the JSON serialization.
Sebastian Harl [Tue, 1 Jul 2014 19:59:29 +0000 (21:59 +0200)]
store: Include backend information in the JSON serialization.

10 years agostore: Store the backend of each stored object.
Sebastian Harl [Tue, 1 Jul 2014 19:58:06 +0000 (21:58 +0200)]
store: Store the backend of each stored object.

The backends are stored as a list of the plugin names of the plugins providing
the respective object.

10 years agoplugin: Added sdb_plugin_current().
Sebastian Harl [Tue, 1 Jul 2014 19:56:02 +0000 (21:56 +0200)]
plugin: Added sdb_plugin_current().

This function returns the plugin information for the plugin from which the
current call into the core originated.

10 years agoplugin: Make sdb_plugin_info_t public.
Sebastian Harl [Tue, 1 Jul 2014 19:55:16 +0000 (21:55 +0200)]
plugin: Make sdb_plugin_info_t public.

10 years agostore: Split out common JSON code into a separate helper function.
Sebastian Harl [Tue, 1 Jul 2014 19:41:33 +0000 (21:41 +0200)]
store: Split out common JSON code into a separate helper function.

10 years agoTravis: Ignore .y/.l files when running cpp-coveralls.
Sebastian Harl [Mon, 30 Jun 2014 18:46:47 +0000 (20:46 +0200)]
Travis: Ignore .y/.l files when running cpp-coveralls.

10 years agoos_test: Added tests for os_mkdir_all() and os_remove_all().
Sebastian Harl [Mon, 30 Jun 2014 06:41:06 +0000 (08:41 +0200)]
os_test: Added tests for os_mkdir_all() and os_remove_all().

10 years agoutils os: Added sdb_remove_all() to recursively remove a path.
Sebastian Harl [Mon, 30 Jun 2014 06:40:08 +0000 (08:40 +0200)]
utils os: Added sdb_remove_all() to recursively remove a path.

10 years agoconnection_test: Use mkstemp() instead of tmpnam().
Sebastian Harl [Mon, 30 Jun 2014 06:19:58 +0000 (08:19 +0200)]
connection_test: Use mkstemp() instead of tmpnam().

10 years agosock_test: Use mkstemp() instead of tmpnam().
Sebastian Harl [Mon, 30 Jun 2014 06:15:14 +0000 (08:15 +0200)]
sock_test: Use mkstemp() instead of tmpnam().

10 years agoDon't free dirname()'s return value.
Sebastian Harl [Mon, 30 Jun 2014 06:13:53 +0000 (08:13 +0200)]
Don't free dirname()'s return value.

It may point to static memory.

10 years agoutils os: Don't enforce the mode on existing directories in mkdir_all().
Sebastian Harl [Sun, 29 Jun 2014 19:52:30 +0000 (21:52 +0200)]
utils os: Don't enforce the mode on existing directories in mkdir_all().

This behaves badly when trying to create base directories like /var/run/ ;-)

10 years agofrontend: Ensure that the base directory of a UNIX socket exists.
Sebastian Harl [Sun, 29 Jun 2014 18:43:58 +0000 (20:43 +0200)]
frontend: Ensure that the base directory of a UNIX socket exists.

10 years agoutils os: Added sdb_mkdir_all() helper function.
Sebastian Harl [Sun, 29 Jun 2014 18:43:00 +0000 (20:43 +0200)]
utils os: Added sdb_mkdir_all() helper function.

This function recursively creates a directory (similar to 'mkdir -p' on the
command line).

10 years agosyslog plugin: Don't log DEBUG messages for now.
Sebastian Harl [Sun, 29 Jun 2014 16:01:48 +0000 (18:01 +0200)]
syslog plugin: Don't log DEBUG messages for now.

10 years agosyslog plugin: Initialize syslog as soon as possible.
Sebastian Harl [Sun, 29 Jun 2014 16:00:34 +0000 (18:00 +0200)]
syslog plugin: Initialize syslog as soon as possible.

Don't wait for the init callback to be called -- we might receive log messages
earlier than that.

10 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Sun, 29 Jun 2014 15:35:39 +0000 (17:35 +0200)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

10 years agobuild system: Added --enable-gprof configure flag.
Sebastian Harl [Sat, 28 Jun 2014 08:07:55 +0000 (10:07 +0200)]
build system: Added --enable-gprof configure flag.

10 years agoplugin: Use multiple log entries when logging plugin information.
Sebastian Harl [Sat, 28 Jun 2014 07:36:31 +0000 (09:36 +0200)]
plugin: Use multiple log entries when logging plugin information.

… instead of using a multi-line log entry (which is ugly).

10 years agoplugin: The replaced SDB_PLUGIN_INFO_NAME with the actual plugin name.
Sebastian Harl [Sat, 28 Jun 2014 07:27:30 +0000 (09:27 +0200)]
plugin: The replaced SDB_PLUGIN_INFO_NAME with the actual plugin name.

There's no need for any duplication.

10 years agoplugin: Automatically prepend callback names with the plugin name.
Sebastian Harl [Sat, 28 Jun 2014 07:19:49 +0000 (09:19 +0200)]
plugin: Automatically prepend callback names with the plugin name.

10 years agocore: Automatically determine config callback names.
Sebastian Harl [Fri, 27 Jun 2014 18:11:24 +0000 (20:11 +0200)]
core: Automatically determine config callback names.

The plugin name (as stored in the plugin context) is used for that purpose,
thus, ensuring that Plugin/Backend blocks will always belong to the respective
LoadPlugin/LoadBackend options of the same name.

10 years agostore: Cleaned up variable name (obj_lock → host_lock).
Sebastian Harl [Fri, 27 Jun 2014 17:40:37 +0000 (19:40 +0200)]
store: Cleaned up variable name (obj_lock → host_lock).

10 years agostore_lookup: Use more specific types where appropriate.
Sebastian Harl [Fri, 27 Jun 2014 17:18:23 +0000 (19:18 +0200)]
store_lookup: Use more specific types where appropriate.

10 years agostore: Renamed store_base to store_obj.
Sebastian Harl [Fri, 27 Jun 2014 17:04:34 +0000 (19:04 +0200)]
store: Renamed store_base to store_obj.

10 years agostore: Split store_obj into separate host and service objects.
Sebastian Harl [Fri, 27 Jun 2014 16:46:57 +0000 (18:46 +0200)]
store: Split store_obj into separate host and service objects.

10 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Fri, 27 Jun 2014 16:08:29 +0000 (18:08 +0200)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

10 years agostore: Simplified object lookup during update.
Sebastian Harl [Thu, 26 Jun 2014 21:05:36 +0000 (23:05 +0200)]
store: Simplified object lookup during update.

Again, based on having hosts on the toplevel only. This greatly simplifies the
overall structure. After all, this is the underlying storage layer only. More
complex relationships between objects will be handled on a different layer.

10 years agostore: Simplified object update based on having hosts on the toplevel only.
Sebastian Harl [Thu, 26 Jun 2014 20:55:47 +0000 (22:55 +0200)]
store: Simplified object update based on having hosts on the toplevel only.

10 years agostore: Renamed a store object's 'children' to 'services'.
Sebastian Harl [Thu, 26 Jun 2014 20:27:31 +0000 (22:27 +0200)]
store: Renamed a store object's 'children' to 'services'.

Hierarchical data will be represented using some object relationship
information rather than a weird tree construct below each host. That's going
to be more flexible.

10 years agostore: Removed obsolete TODO note.
Sebastian Harl [Thu, 26 Jun 2014 20:26:42 +0000 (22:26 +0200)]
store: Removed obsolete TODO note.

10 years agoplugin: Ignore internal loggers when checking for existing loggers.
Sebastian Harl [Wed, 25 Jun 2014 21:12:44 +0000 (23:12 +0200)]
plugin: Ignore internal loggers when checking for existing loggers.

An internal logger may currently be registered by the frontend which uses it
to send log messages to a client. Usually, these internal loggers will not
actually log stuff. Thus, we'll have to ignore them when deciding about
fallbacks.

10 years agosysdb: Wait for remaining data after the mainloop terminates.
Sebastian Harl [Wed, 25 Jun 2014 21:07:50 +0000 (23:07 +0200)]
sysdb: Wait for remaining data after the mainloop terminates.

10 years agoclient: Added sdb_client_shutdown().
Sebastian Harl [Wed, 25 Jun 2014 21:07:33 +0000 (23:07 +0200)]
client: Added sdb_client_shutdown().

10 years agoMakefile: For now, link libsysdb sources directly into sysdbd.
Sebastian Harl [Wed, 25 Jun 2014 08:40:21 +0000 (10:40 +0200)]
Makefile: For now, link libsysdb sources directly into sysdbd.

Libtool's convenience libraries don't work with programs. When linking sysdbd
previously, none of the libsysdb objects only used by plugins would have been
linked in. That is, the respective libraries could not be loaded when running
the daemon.

We'll keep the library around, though, since it's used for the unit tests.

This is just a hack but it'll go away after the API is stable and libsysdb is
turned back into a "real" library. That'll happen before the 1.0 release.

10 years agot/: Make mock_plugin a "check" library.
Sebastian Harl [Tue, 24 Jun 2014 17:51:14 +0000 (19:51 +0200)]
t/: Make mock_plugin a "check" library.

This way, it's only built on 'make check' (aka 'make test').

10 years agostore/frontend: Added support for integer and float comparison.
Sebastian Harl [Mon, 23 Jun 2014 20:47:01 +0000 (22:47 +0200)]
store/frontend: Added support for integer and float comparison.

This is supported only for comparing attribute values.

10 years agofrontend: Added initial parser for "data" values.
Sebastian Harl [Mon, 23 Jun 2014 18:40:24 +0000 (20:40 +0200)]
frontend: Added initial parser for "data" values.

10 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Mon, 23 Jun 2014 18:34:43 +0000 (20:34 +0200)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

10 years agostore_lookup: Pass a data-object to parse_cmp().
Sebastian Harl [Mon, 23 Jun 2014 16:43:40 +0000 (18:43 +0200)]
store_lookup: Pass a data-object to parse_cmp().

That'll allow for comparing attribute values of any type.

10 years agostore_lookup: Added support for <, <=, >=, > when comparing attribute values.
Sebastian Harl [Mon, 23 Jun 2014 07:29:20 +0000 (09:29 +0200)]
store_lookup: Added support for <, <=, >=, > when comparing attribute values.

10 years agostore_lookup: Don't accept invalid object types in parse_cmp().
Sebastian Harl [Mon, 23 Jun 2014 07:12:11 +0000 (09:12 +0200)]
store_lookup: Don't accept invalid object types in parse_cmp().

Added a unit-test catching that.

10 years agostore_lookup_test: Fixed a memory leak.
Sebastian Harl [Mon, 23 Jun 2014 05:15:45 +0000 (07:15 +0200)]
store_lookup_test: Fixed a memory leak.

Thanks to Travis-CI for identifying this! I wonder why my local tests did not
catch this :-(

10 years agostore_lookup: Introduce conditional based attribute matchers.
Sebastian Harl [Mon, 23 Jun 2014 04:39:19 +0000 (06:39 +0200)]
store_lookup: Introduce conditional based attribute matchers.

This allows using less-than, less-equal, equal, greater-equal, greater-than
operators on attributes.

10 years agodata: Pass 'const' data objects to strlen()/format().
Sebastian Harl [Sun, 22 Jun 2014 15:28:04 +0000 (17:28 +0200)]
data: Pass 'const' data objects to strlen()/format().

10 years agostore: Added helper function to retrieve a host's attribute.
Sebastian Harl [Sun, 22 Jun 2014 14:15:18 +0000 (16:15 +0200)]
store: Added helper function to retrieve a host's attribute.

This also fixes a memory leak in case of an data_format() error.

10 years agostore_lookup_test: Verify that NULL is not a valid attribute name.
Sebastian Harl [Sun, 22 Jun 2014 14:06:42 +0000 (16:06 +0200)]
store_lookup_test: Verify that NULL is not a valid attribute name.

10 years agostore: Don't allow name to be NULL when matching attributes.
Sebastian Harl [Sun, 22 Jun 2014 12:21:50 +0000 (14:21 +0200)]
store: Don't allow name to be NULL when matching attributes.

There's no real use-case for it imho and it's just a weird special case in the
code.

10 years agostore_lookup: Simplified some internal checks.
Sebastian Harl [Sun, 22 Jun 2014 11:28:46 +0000 (13:28 +0200)]
store_lookup: Simplified some internal checks.

10 years agostore: Removed a obsolete (and now somewhat misleading) comment.
Sebastian Harl [Sun, 22 Jun 2014 10:53:04 +0000 (12:53 +0200)]
store: Removed a obsolete (and now somewhat misleading) comment.

10 years agostore_lookup: Removed unneeded forward declarations.
Sebastian Harl [Thu, 19 Jun 2014 15:46:46 +0000 (17:46 +0200)]
store_lookup: Removed unneeded forward declarations.

Also, reshuffled some functions a bit to have a more natural order now that
the matcher approach is greatly simplified.

10 years agoCleaned up some internal type names.
Sebastian Harl [Thu, 19 Jun 2014 15:35:51 +0000 (17:35 +0200)]
Cleaned up some internal type names.

10 years agostore_lookup: Removed the (now unused) host matcher.
Sebastian Harl [Thu, 19 Jun 2014 14:41:55 +0000 (16:41 +0200)]
store_lookup: Removed the (now unused) host matcher.

10 years agostore_lookup: Let attribute matchers check the attribute name.
Sebastian Harl [Thu, 19 Jun 2014 14:41:23 +0000 (16:41 +0200)]
store_lookup: Let attribute matchers check the attribute name.

10 years agostore_lookup: Made the attribute matcher a "standalone" matcher.
Sebastian Harl [Thu, 19 Jun 2014 14:21:31 +0000 (16:21 +0200)]
store_lookup: Made the attribute matcher a "standalone" matcher.

The attribute matcher will now be applied to host objects directly and then
match against that host's attributes. This further simplifies parse_cmp() and
the general workflow for matchers.

10 years agostore_lookup: Removed the (now unused) service matcher.
Sebastian Harl [Thu, 19 Jun 2014 13:09:23 +0000 (15:09 +0200)]
store_lookup: Removed the (now unused) service matcher.

10 years agostore_lookup: Let parse_cmp() use the new name matcher.
Sebastian Harl [Thu, 19 Jun 2014 12:52:16 +0000 (14:52 +0200)]
store_lookup: Let parse_cmp() use the new name matcher.

10 years agostore_lookup: Added a matcher matching by object name.
Sebastian Harl [Thu, 19 Jun 2014 12:22:52 +0000 (14:22 +0200)]
store_lookup: Added a matcher matching by object name.

This is a generic matcher applied to hosts (or their services or attributes)
and matches based on the respective object name.

Subsequently, this will replace the more complex host/service/attribute
matchers. Instead, more basic matchers will be available which can then be
combined arbitrarily using the existing logical matchers.

10 years agodoc: Add asciidoc.conf and sysdb-description.txt to EXTRA_DIST.
Sebastian Harl [Thu, 19 Jun 2014 12:18:12 +0000 (14:18 +0200)]
doc: Add asciidoc.conf and sysdb-description.txt to EXTRA_DIST.

10 years agoRemoved obsolete TODO note.
Sebastian Harl [Wed, 18 Jun 2014 08:32:07 +0000 (10:32 +0200)]
Removed obsolete TODO note.

10 years agogrammar: Simplified compare matcher parser.
Sebastian Harl [Mon, 16 Jun 2014 06:35:19 +0000 (08:35 +0200)]
grammar: Simplified compare matcher parser.

10 years agodata: Added sdb_data_cmp() comparing two data points.
Sebastian Harl [Thu, 12 Jun 2014 16:57:29 +0000 (18:57 +0200)]
data: Added sdb_data_cmp() comparing two data points.

10 years agoRenamed DBI_TYPE_TO_SC to DBI_TYPE_TO_SDB.
Sebastian Harl [Wed, 11 Jun 2014 09:37:28 +0000 (11:37 +0200)]
Renamed DBI_TYPE_TO_SC to DBI_TYPE_TO_SDB.

The old name was still from the times the project was called syscollector ;-)

10 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Mon, 9 Jun 2014 12:41:12 +0000 (14:41 +0200)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

10 years agosysdbd: Forcefully terminate the frontend and backend loops.
Sebastian Harl [Fri, 6 Jun 2014 20:37:06 +0000 (22:37 +0200)]
sysdbd: Forcefully terminate the frontend and backend loops.

10 years agosysdbd: Simplified main loop management.
Sebastian Harl [Fri, 6 Jun 2014 20:22:04 +0000 (22:22 +0200)]
sysdbd: Simplified main loop management.

10 years agoautogen.sh: Report an error if yacc or lex are missing.
Sebastian Harl [Wed, 4 Jun 2014 19:50:07 +0000 (21:50 +0200)]
autogen.sh: Report an error if yacc or lex are missing.

Thanks to Uli Martens for reporting this.

10 years agoReplaced old URLs/email addresses with sysdb.io.
Sebastian Harl [Tue, 3 Jun 2014 06:26:02 +0000 (08:26 +0200)]
Replaced old URLs/email addresses with sysdb.io.

10 years agot/Makefile: Added valgrind.suppress to EXTRA_DIST.
Sebastian Harl [Sun, 1 Jun 2014 16:42:40 +0000 (18:42 +0200)]
t/Makefile: Added valgrind.suppress to EXTRA_DIST.

10 years agoversion-gen.sh: Append .git to default version again.
Sebastian Harl [Sun, 1 Jun 2014 16:41:17 +0000 (18:41 +0200)]
version-gen.sh: Append .git to default version again.

10 years agoRelease SysDB 0.1.0. sysdb-0.1.0
Sebastian Harl [Sun, 1 Jun 2014 15:56:19 +0000 (17:56 +0200)]
Release SysDB 0.1.0.

\o/

10 years agodoc/asciidoc.conf: Use html5 in custom macros as well.
Sebastian Harl [Sun, 1 Jun 2014 10:03:01 +0000 (12:03 +0200)]
doc/asciidoc.conf: Use html5 in custom macros as well.

10 years agodoc/: Use HTML5 instead of XHTML1.1 for HTML manpages.
Sebastian Harl [Sun, 1 Jun 2014 09:59:22 +0000 (11:59 +0200)]
doc/: Use HTML5 instead of XHTML1.1 for HTML manpages.

10 years agodoc/: Removed now unused CSS.
Sebastian Harl [Sun, 1 Jun 2014 07:55:25 +0000 (09:55 +0200)]
doc/: Removed now unused CSS.

10 years agodoc/: Added local rules to hook HTML manpages into 'make (install-)html'.
Sebastian Harl [Sun, 1 Jun 2014 05:16:08 +0000 (07:16 +0200)]
doc/: Added local rules to hook HTML manpages into 'make (install-)html'.

10 years agoconfigure: Check if AM_PROG_AR is defined.
Sebastian Harl [Sat, 31 May 2014 20:57:02 +0000 (22:57 +0200)]
configure: Check if AM_PROG_AR is defined.

It's not defined when using old versions of automake.

10 years agosysdbd.conf(5): Link to all plugin manpages.
Sebastian Harl [Fri, 30 May 2014 12:38:57 +0000 (14:38 +0200)]
sysdbd.conf(5): Link to all plugin manpages.

10 years agoconfigure, doc: Added ADOCFLAGS.
Sebastian Harl [Mon, 26 May 2014 07:44:21 +0000 (09:44 +0200)]
configure, doc: Added ADOCFLAGS.

This allows the user to specify additional flags for AsciiDoc.

10 years agodoc: Use asciidoc instead of a2x and added asciidoc.conf.
Sebastian Harl [Fri, 23 May 2014 17:46:37 +0000 (19:46 +0200)]
doc: Use asciidoc instead of a2x and added asciidoc.conf.

This allows to specify custom macros, which is currently used to turn
references to other manpages into links in the HTML output. In general, it
will make it easier to apply customizations.

10 years agodoc/sysdb-man.css: Applied tokkee.org-like style.
Sebastian Harl [Tue, 20 May 2014 13:34:17 +0000 (15:34 +0200)]
doc/sysdb-man.css: Applied tokkee.org-like style.

10 years agodoc/Makefile: Removed the dependency on docbook-xsl.css.
Sebastian Harl [Tue, 20 May 2014 13:27:15 +0000 (15:27 +0200)]
doc/Makefile: Removed the dependency on docbook-xsl.css.

Also, get rid of the ugly hack to "create" it.

10 years agodoc: Added a minimalistic custom CSS for manpages.
Sebastian Harl [Mon, 19 May 2014 18:21:17 +0000 (20:21 +0200)]
doc: Added a minimalistic custom CSS for manpages.

10 years agotests: Suppress valgrind errors found in gcov_exit.
Sebastian Harl [Mon, 19 May 2014 07:18:28 +0000 (09:18 +0200)]
tests: Suppress valgrind errors found in gcov_exit.

They don't matter for us.

10 years agostrbuf_test: Added some tests based on sdb_strbuf_cap().
Sebastian Harl [Fri, 16 May 2014 15:38:38 +0000 (17:38 +0200)]
strbuf_test: Added some tests based on sdb_strbuf_cap().

These are mostly for checking memory handling.

10 years agostrbuf utils: Added sdb_strbuf_cap().
Sebastian Harl [Fri, 16 May 2014 06:49:38 +0000 (08:49 +0200)]
strbuf utils: Added sdb_strbuf_cap().

This function returns the "capacity" of the string buffer. It's useful mostly
for testing, debugging, etc.

10 years agostrbuf utils: Fixed resizing in append.
Sebastian Harl [Fri, 16 May 2014 06:48:40 +0000 (08:48 +0200)]
strbuf utils: Fixed resizing in append.

Previously, resizing happened "too early" which may possibly generate
avoidable memory churn.

10 years agostrbuf_test: Added some more tests.
Sebastian Harl [Thu, 15 May 2014 17:25:08 +0000 (19:25 +0200)]
strbuf_test: Added some more tests.

Changed some test to be table-based and verify the result of the incremental
append test.

10 years agostrbuf_test: Cleaned up the code a bit.
Sebastian Harl [Thu, 15 May 2014 07:34:38 +0000 (09:34 +0200)]
strbuf_test: Cleaned up the code a bit.

Made golden_data arrays private to the respective function where possible and
removed "sdb_strbuf" from test names.

10 years agot/: Run all unit tests through valgrind.
Sebastian Harl [Wed, 14 May 2014 19:49:36 +0000 (21:49 +0200)]
t/: Run all unit tests through valgrind.

This is implemented through a wrapper script which will run its arguments
through valgrind if the first parameter matches "unit/". It is passed in to
'make test' using automake's TESTS_ENVIRONMENT variable.

10 years agodbi_test: Don't allocate any memory in dbi_driver_open_r().
Sebastian Harl [Wed, 14 May 2014 19:33:25 +0000 (21:33 +0200)]
dbi_test: Don't allocate any memory in dbi_driver_open_r().

This memory would be lost and appears as irrelevant noise in valgrind memory
checks.

10 years agoconnection_test: Free username strings stored in mock connection objects.
Sebastian Harl [Wed, 14 May 2014 19:31:49 +0000 (21:31 +0200)]
connection_test: Free username strings stored in mock connection objects.

10 years agofrontend: Simplified error handling.
Sebastian Harl [Wed, 14 May 2014 19:14:00 +0000 (21:14 +0200)]
frontend: Simplified error handling.

10 years agofrontend: Execute commands early on large amounts of incoming traffic.
Sebastian Harl [Wed, 14 May 2014 19:03:43 +0000 (21:03 +0200)]
frontend: Execute commands early on large amounts of incoming traffic.

This will free up buffer space if possible.

10 years agofrontend: Handle missing authentication early.
Sebastian Harl [Wed, 14 May 2014 18:55:29 +0000 (20:55 +0200)]
frontend: Handle missing authentication early.

… and limit the max amount of buffered data for unauthenticated connections in
order reduce the impact of anonymous DoS attempts.

10 years agofrontend: Fix invalid command handling when receiving data in chunks.
Sebastian Harl [Wed, 14 May 2014 18:38:17 +0000 (20:38 +0200)]
frontend: Fix invalid command handling when receiving data in chunks.

When skipping over invalid command data, make sure not to skip more data than
what's currently available. Rather, remember how much data needs to be ignored
and do so after actually receiving it.

Added a new test which catches these cases and also provides some more
low-level communication tests.

10 years agofrontend: Treat CONNECTION_IDLE as an invalid command.
Sebastian Harl [Tue, 13 May 2014 21:33:52 +0000 (23:33 +0200)]
frontend: Treat CONNECTION_IDLE as an invalid command.

This is only meant for internal use; don't silently ignore it.