Code

sysdb.git
6 years agot/cibuild.sh, .travis.yml: Do an AddressSanitizer run as well.
Sebastian Harl [Sun, 12 Jan 2014 17:44:40 +0000 (18:44 +0100)]
t/cibuild.sh, .travis.yml: Do an AddressSanitizer run as well.

Passing additional build flags as CICFLAGS and CILDFLAGS.

6 years agoFixed memory errors identified by LLVM's AddressSanitizer.
Sebastian Harl [Sun, 12 Jan 2014 17:37:04 +0000 (18:37 +0100)]
Fixed memory errors identified by LLVM's AddressSanitizer.

Test performed as:

  ./configure CC=clang \
      CFLAGS="-O0 -g -fsanitize=address -fno-omit-frame-pointer" \
      LDFLAGS=-fsanitize=address
  make clean all test

See also http://clang.llvm.org/docs/AddressSanitizer.html

6 years agoobject_test: Removed 'obj->ref_cnt == 0' checks.
Sebastian Harl [Sun, 12 Jan 2014 17:29:41 +0000 (18:29 +0100)]
object_test: Removed 'obj->ref_cnt == 0' checks.

They generate unnecessary noise in LLVM's AddressSanitizer runs.

6 years agosysdb: Added a query to the history after executing it.
Sebastian Harl [Fri, 10 Jan 2014 09:01:15 +0000 (10:01 +0100)]
sysdb: Added a query to the history after executing it.

Mimic zsh's histignorespace option and ignore commands when the first
character is a space.

6 years agosysdbd.conf(5), sysdbd.conf: Documented the 'Listen' option.
Sebastian Harl [Fri, 10 Jan 2014 08:23:35 +0000 (09:23 +0100)]
sysdbd.conf(5), sysdbd.conf: Documented the 'Listen' option.

And added a sample configuration.

6 years agosysdb: Only strip newlines from the command buffer.
Sebastian Harl [Fri, 10 Jan 2014 08:17:05 +0000 (09:17 +0100)]
sysdb: Only strip newlines from the command buffer.

Keep whitespace in order to keep the users formatting and keep semicolons to
ensure correct parsing (avoid possible future ambiquity).

6 years agounixsock utils: Retry reading from socket if the call was interrupted.
Sebastian Harl [Fri, 10 Jan 2014 08:06:33 +0000 (09:06 +0100)]
unixsock utils: Retry reading from socket if the call was interrupted.

6 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Thu, 9 Jan 2014 06:51:32 +0000 (07:51 +0100)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

6 years agosysdb: Implemented input scanner and simple command handling.
Sebastian Harl [Thu, 9 Jan 2014 06:47:46 +0000 (07:47 +0100)]
sysdb: Implemented input scanner and simple command handling.

Reused the frontend parser lexer to identify single queries (terminated by
semicolon). No other parsing of the command is done by the client to make the
frontend the ultimate truth in regard to the parser (including simple stuff
like comments).

The query is then sent to the daemon and the reply will be printed to the
standard output channel.

6 years agoconfigure: Fixed --with-readline=libreadline checks.
Sebastian Harl [Wed, 8 Jan 2014 12:13:03 +0000 (13:13 +0100)]
configure: Fixed --with-readline=libreadline checks.

6 years ago.travis.yml, t/cibuild.sh: Test builds with libedit and libreadline.
Sebastian Harl [Wed, 8 Jan 2014 10:15:07 +0000 (11:15 +0100)]
.travis.yml, t/cibuild.sh: Test builds with libedit and libreadline.

Using an env variable for this purpose, thus, making both options show up in
the Travis build matrix.

6 years agoAdded t/cibuild.sh and use that in the Travis configuration.
Sebastian Harl [Wed, 8 Jan 2014 10:10:41 +0000 (11:10 +0100)]
Added t/cibuild.sh and use that in the Travis configuration.

This allows for some more flexiblity.

6 years agosysdb: Append newlines to lines read from readline().
Sebastian Harl [Mon, 6 Jan 2014 22:32:31 +0000 (23:32 +0100)]
sysdb: Append newlines to lines read from readline().

Else, whitespace will be missing in multi-line commands.

6 years agoparser_test: Test partial query parsing.
Sebastian Harl [Mon, 6 Jan 2014 11:03:47 +0000 (12:03 +0100)]
parser_test: Test partial query parsing.

6 years agofrontend: Implemented the CONNECTION_QUERY command.
Sebastian Harl [Mon, 6 Jan 2014 11:00:18 +0000 (12:00 +0100)]
frontend: Implemented the CONNECTION_QUERY command.

This command expects a string representation of the to be executed command as
the command body. The frontend will then parse the string and execute the
first command. Other commands are (currently?) ignored to make injection
attacks harder.

6 years agofrontend parser: Added 'len' parameter to sdb_fe_parse().
Sebastian Harl [Mon, 6 Jan 2014 10:55:53 +0000 (11:55 +0100)]
frontend parser: Added 'len' parameter to sdb_fe_parse().

When greater than (or equal to) zero, this parameter let's the parser parse a
substring of the specified query. This makes it easier to pass in a command
stored in a connection's input string buffer.

6 years agofrontend: Added simple implementation of sdb_fe_exec().
Sebastian Harl [Mon, 6 Jan 2014 10:26:21 +0000 (11:26 +0100)]
frontend: Added simple implementation of sdb_fe_exec().

This function executes the return value of sdb_fe_parse().

6 years agostore: Added sdb_store_get_host().
Sebastian Harl [Mon, 6 Jan 2014 10:16:52 +0000 (11:16 +0100)]
store: Added sdb_store_get_host().

… querying a host by it's name.

6 years agot/coverage.sh: Reset files not part of the tarball.
Sebastian Harl [Sat, 4 Jan 2014 13:09:25 +0000 (14:09 +0100)]
t/coverage.sh: Reset files not part of the tarball.

This way, files like .gitignore and .travis.yml, which are not part of a
release, are reset and will not cause a "dirty" version.

6 years agostore_test: Test various serialization flags.
Sebastian Harl [Fri, 3 Jan 2014 13:36:54 +0000 (14:36 +0100)]
store_test: Test various serialization flags.

6 years agostore: Added flags to JSON functions indicating information to leave out.
Sebastian Harl [Fri, 3 Jan 2014 13:20:30 +0000 (14:20 +0100)]
store: Added flags to JSON functions indicating information to leave out.

This may be used to leave out services or attributes from the serialized
object. For this purpose, the serialization function has been simplified to
handle attributes and services mostly alike.

6 years agostore: Introduced sdb_store_host_tojson() to serialize a single host.
Sebastian Harl [Fri, 3 Jan 2014 12:50:34 +0000 (13:50 +0100)]
store: Introduced sdb_store_host_tojson() to serialize a single host.

6 years agostore: Moved object type attribute to the base object.
Sebastian Harl [Fri, 3 Jan 2014 12:39:27 +0000 (13:39 +0100)]
store: Moved object type attribute to the base object.

6 years agoutils llist: Added TODO note about iterator improvements.
Sebastian Harl [Fri, 3 Jan 2014 12:23:51 +0000 (13:23 +0100)]
utils llist: Added TODO note about iterator improvements.

6 years agostore: Exported the store base object type as opaque type.
Sebastian Harl [Fri, 3 Jan 2014 12:17:17 +0000 (13:17 +0100)]
store: Exported the store base object type as opaque type.

Renamed from store_obj_t to sdb_store_base_t to avoid a name-clash with
sdb_store_obj_t.

6 years agoparser_test: Free memory returned by sdb_fe_parse().
Sebastian Harl [Thu, 2 Jan 2014 00:15:52 +0000 (01:15 +0100)]
parser_test: Free memory returned by sdb_fe_parse().

6 years agodbi_test: Make tests support CK_FORK=no.
Sebastian Harl [Thu, 2 Jan 2014 00:14:17 +0000 (01:14 +0100)]
dbi_test: Make tests support CK_FORK=no.

… by resetting state as needed.

6 years agofrontend: Let sdb_fe_parse() return a list of parsed node objects.
Sebastian Harl [Thu, 2 Jan 2014 00:00:07 +0000 (01:00 +0100)]
frontend: Let sdb_fe_parse() return a list of parsed node objects.

Each parse-tree node object represents a single command.

6 years agoutils llist: Added sdb_llist_get().
Sebastian Harl [Wed, 1 Jan 2014 23:54:13 +0000 (00:54 +0100)]
utils llist: Added sdb_llist_get().

6 years agoobject: Added sdb_object_create_simple().
Sebastian Harl [Wed, 1 Jan 2014 23:40:35 +0000 (00:40 +0100)]
object: Added sdb_object_create_simple().

This function creates a "simple" object without custom initialization and
destructor.

6 years agoutils llist: Added sdb_llist_len().
Sebastian Harl [Wed, 1 Jan 2014 23:39:20 +0000 (00:39 +0100)]
utils llist: Added sdb_llist_len().

6 years agoDeclare sdb_fe_yyparse() in parser.h.
Sebastian Harl [Tue, 31 Dec 2013 00:23:01 +0000 (01:23 +0100)]
Declare sdb_fe_yyparse() in parser.h.

Apparently, older versions of bison do not include the function prototype in
the generated header file. Double-declarations don't hurt (as long as they
match).

6 years agosrc/Makefile: Let libsysdb depend on parser.h.
Sebastian Harl [Tue, 31 Dec 2013 00:20:41 +0000 (01:20 +0100)]
src/Makefile: Let libsysdb depend on parser.h.

6 years agosrc/Makefile: Tell automake that grammar.h is auto-built.
Sebastian Harl [Tue, 31 Dec 2013 00:16:27 +0000 (01:16 +0100)]
src/Makefile: Tell automake that grammar.h is auto-built.

6 years agofrontend: Added flex/bison based parser skeleton.
Sebastian Harl [Tue, 31 Dec 2013 00:05:22 +0000 (01:05 +0100)]
frontend: Added flex/bison based parser skeleton.

For now, this implements a mostly empty parser and helper functions to parse
strings (rather than open files). The parser accepts the "LIST" command and
ignores SQL and C style comments.

6 years agofrontend/query: Fixed typo.
Sebastian Harl [Mon, 30 Dec 2013 18:06:10 +0000 (19:06 +0100)]
frontend/query: Fixed typo.

6 years agosrc/Makefile: Use LTLIBRARIES for libsysdb_scanner.
Sebastian Harl [Mon, 30 Dec 2013 18:05:12 +0000 (19:05 +0100)]
src/Makefile: Use LTLIBRARIES for libsysdb_scanner.

6 years agosysdb/scanner.l: Enabled 8bit, nodefault, and warn options.
Sebastian Harl [Thu, 26 Dec 2013 14:37:45 +0000 (15:37 +0100)]
sysdb/scanner.l: Enabled 8bit, nodefault, and warn options.

6 years agostore: Don't look up services from hierarchical hosts.
Sebastian Harl [Thu, 26 Dec 2013 13:12:30 +0000 (14:12 +0100)]
store: Don't look up services from hierarchical hosts.

We don't have any concept of service inheritance (yet?).

Also, I'm not sure if this would ever make sense in general. This might be a
query option, though.

6 years agoFixed some issues identified by static code analysis.
Sebastian Harl [Thu, 26 Dec 2013 12:49:55 +0000 (13:49 +0100)]
Fixed some issues identified by static code analysis.

The following issues were identified and fixed:

 * Allocator sizeof operand mismatch in dbi utils.
 * Dead increment in tools/sysdb/input.
 * Memory leak (and leaving behind invalid memory) in tools/sysdbd/configfile.
 * Out-of-bound array access in core/plugin (the original report by the clang
   analyzer was wrong but pointed to a location affected by a related
   problem).
 * Stack address stored into global variable in liboconfig.

Thanks to cppcheck and the clang analyzer!

6 years agoMoved coverage.sh to the t/ subdirectory.
Sebastian Harl [Thu, 26 Dec 2013 12:34:45 +0000 (13:34 +0100)]
Moved coverage.sh to the t/ subdirectory.

6 years agoMakefile: Added coverage.sh to a dist tarball.
Sebastian Harl [Sun, 22 Dec 2013 17:55:14 +0000 (18:55 +0100)]
Makefile: Added coverage.sh to a dist tarball.

6 years agocoverage.sh: Added a helper script to generate HTML coverage reports.
Sebastian Harl [Sun, 22 Dec 2013 17:53:53 +0000 (18:53 +0100)]
coverage.sh: Added a helper script to generate HTML coverage reports.

The script uses lcov and creates a clean copy of the source code in a
temporary directory using 'make dist'.

6 years agot/Makefile: Pass gcov flags to tests as well.
Sebastian Harl [Sun, 22 Dec 2013 17:43:11 +0000 (18:43 +0100)]
t/Makefile: Pass gcov flags to tests as well.

Else, some tests might not compile correctly.

6 years ago.gitignore: Ignore test-driver.
Sebastian Harl [Sun, 22 Dec 2013 17:31:25 +0000 (18:31 +0100)]
.gitignore: Ignore test-driver.

This file is created by newer autotools when running ‘make check’.

6 years agosrc/Makefile: Include sysdb.h.in file in a distribution.
Sebastian Harl [Sun, 22 Dec 2013 17:30:31 +0000 (18:30 +0100)]
src/Makefile: Include sysdb.h.in file in a distribution.

6 years agosrc/Makefile: Added a rule to create ‘../version’.
Sebastian Harl [Sun, 22 Dec 2013 17:30:10 +0000 (18:30 +0100)]
src/Makefile: Added a rule to create ‘../version’.

6 years agoMakefile: Fixed generation of the ‘version’ file.
Sebastian Harl [Sun, 22 Dec 2013 17:29:20 +0000 (18:29 +0100)]
Makefile: Fixed generation of the ‘version’ file.

6 years agosrc/Makefile: Fixed path to connection-private.h.
Sebastian Harl [Sun, 22 Dec 2013 17:19:22 +0000 (18:19 +0100)]
src/Makefile: Fixed path to connection-private.h.

6 years agot/Makefile: Use top_srcdir rather than top_builddir.
Sebastian Harl [Sun, 22 Dec 2013 16:25:55 +0000 (17:25 +0100)]
t/Makefile: Use top_srcdir rather than top_builddir.

This allows running tests out-of-tree.

6 years agoMake everything buildable out-of-tree.
Sebastian Harl [Sun, 22 Dec 2013 16:25:01 +0000 (17:25 +0100)]
Make everything buildable out-of-tree.

6 years agoUpdated README.
Sebastian Harl [Sun, 22 Dec 2013 16:17:42 +0000 (17:17 +0100)]
Updated README.

Added missing dependencies, links to dependency upstream homepages, and some
notes about testing.

6 years agoLet the config parser accept unquoted IPv6 addresses.
Sebastian Harl [Sat, 21 Dec 2013 21:37:58 +0000 (22:37 +0100)]
Let the config parser accept unquoted IPv6 addresses.

The parser supports raw IPv6 addresses, optional address and port (as
[<addr>]:<port>), and embedded IPv4 addresses.

Based on "Common Patterns" found in the flex manual.

6 years agosrc/Makefile: Fixed an automake warning.
Sebastian Harl [Sat, 21 Dec 2013 21:29:16 +0000 (22:29 +0100)]
src/Makefile: Fixed an automake warning.

Added "lib" suffix to library name.

6 years agoconfigure: Re-enabled coverage support for GCC.
Sebastian Harl [Sat, 21 Dec 2013 21:05:17 +0000 (22:05 +0100)]
configure: Re-enabled coverage support for GCC.

D'oh!

6 years agoconfigure: Do stricter GCC checking.
Sebastian Harl [Sat, 21 Dec 2013 20:55:21 +0000 (21:55 +0100)]
configure: Do stricter GCC checking.

$GCC might be true for clang as well but clang does not support gcov coverage
testing.

6 years agoconfigure: Do not enable gcov unless the compiler is GCC.
Sebastian Harl [Sat, 21 Dec 2013 20:24:31 +0000 (21:24 +0100)]
configure: Do not enable gcov unless the compiler is GCC.

Others are not known (to me) to work.

6 years ago.travis.yml: Use --enable-gcov which will fix clang builds.
Sebastian Harl [Sat, 21 Dec 2013 20:09:47 +0000 (21:09 +0100)]
.travis.yml: Use --enable-gcov which will fix clang builds.

6 years agobuild system: Added --enable-gcov configure option.
Sebastian Harl [Sat, 21 Dec 2013 20:08:43 +0000 (21:08 +0100)]
build system: Added --enable-gcov configure option.

6 years ago.travis.yml: Use verbose coveralls output.
Sebastian Harl [Sat, 21 Dec 2013 19:28:06 +0000 (20:28 +0100)]
.travis.yml: Use verbose coveralls output.

This is to see what's going on in the logs.

6 years ago.travis.yml: Collect and upload coverage information to coveralls.io.
Sebastian Harl [Sat, 21 Dec 2013 19:22:12 +0000 (20:22 +0100)]
.travis.yml: Collect and upload coverage information to coveralls.io.

6 years agoUse -Wno-sign-conversion on Travis.
Sebastian Harl [Sat, 21 Dec 2013 18:30:04 +0000 (19:30 +0100)]
Use -Wno-sign-conversion on Travis.

GNU libc, as used on the current test machines, would else provoke an error in
the expansion of FD_SET.

6 years agoproto utils: Fixed invalid conversion of return value.
Sebastian Harl [Sat, 21 Dec 2013 17:45:57 +0000 (18:45 +0100)]
proto utils: Fixed invalid conversion of return value.

Thanks to Travis CI for finding this!

6 years agoAdded a travis-ci.org project specification.
Sebastian Harl [Sat, 21 Dec 2013 17:39:58 +0000 (18:39 +0100)]
Added a travis-ci.org project specification.

6 years agosysdb: Use the flex scanner generator for reading input.
Sebastian Harl [Fri, 20 Dec 2013 23:19:45 +0000 (00:19 +0100)]
sysdb: Use the flex scanner generator for reading input.

The idea is to implement a minimalistic parser which understands all valid
input and which is used to determine if an input line is part of an existing
command or a command on its own. This information will then be used to update
the prompt (and possibly to determine other information as well).

The scanner's YY_INPUT "method" is overwritten in order to use readline and
custom buffering for user input.

6 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Fri, 20 Dec 2013 19:09:48 +0000 (20:09 +0100)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

6 years agoplugin: Record all loaded plugins and use that for improved error messages.
Sebastian Harl [Fri, 20 Dec 2013 17:25:25 +0000 (18:25 +0100)]
plugin: Record all loaded plugins and use that for improved error messages.

6 years agofrontend: Make the number of handler threads configurable.
Sebastian Harl [Fri, 20 Dec 2013 08:18:34 +0000 (09:18 +0100)]
frontend: Make the number of handler threads configurable.

The number is passed to listen_and_serve() as part of sdb_fe_loop_t.

6 years agofrontend: Return an error if no handler threads could be created.
Sebastian Harl [Fri, 20 Dec 2013 08:09:59 +0000 (09:09 +0100)]
frontend: Return an error if no handler threads could be created.

6 years agofrontend: Implemented simplified error handling when creating threads.
Sebastian Harl [Thu, 19 Dec 2013 20:51:57 +0000 (21:51 +0100)]
frontend: Implemented simplified error handling when creating threads.

There's hardly any reasonable error condition that might happen, so this
rather simplied approach should be sufficient.

6 years agoclient: Let sdb_client_recv() use sdb_proto_select().
Sebastian Harl [Thu, 19 Dec 2013 20:43:59 +0000 (21:43 +0100)]
client: Let sdb_client_recv() use sdb_proto_select().

6 years agoproto utils: Added sdb_proto_select().
Sebastian Harl [Thu, 19 Dec 2013 20:41:38 +0000 (21:41 +0100)]
proto utils: Added sdb_proto_select().

This is a simple wrapper around select(2) to be used in cases where we only
care about a single file-descriptor being ready for a particular operation.

6 years agofrontend/sock_test: Try to connect to the server socket.
Sebastian Harl [Wed, 18 Dec 2013 20:34:43 +0000 (21:34 +0100)]
frontend/sock_test: Try to connect to the server socket.

This verifies that the socket is actually usable.

Also, it fixes a race condition in the test. The UNIX socket file is already
created when adding the listener. Thus, the previous synchronization between
the main thread and the socket handler thread did not work in most cases.

6 years agofrontend: Clean up UNIX sockets when closing a listener.
Sebastian Harl [Wed, 18 Dec 2013 10:15:54 +0000 (11:15 +0100)]
frontend: Clean up UNIX sockets when closing a listener.

6 years agofrontend: Let listen_and_serve() return early if do_loop == 0.
Sebastian Harl [Tue, 17 Dec 2013 19:13:16 +0000 (20:13 +0100)]
frontend: Let listen_and_serve() return early if do_loop == 0.

That is, do not (re-)open any sockets.

6 years agofrontend/sock_test: Added initial tests for frontend code.
Sebastian Harl [Tue, 17 Dec 2013 08:07:27 +0000 (09:07 +0100)]
frontend/sock_test: Added initial tests for frontend code.

6 years ago.gitignore: Ignore sysdb / sysdbd only as src/sysdb / src/sysdbd.
Sebastian Harl [Sun, 15 Dec 2013 15:43:52 +0000 (16:43 +0100)]
.gitignore: Ignore sysdb / sysdbd only as src/sysdb / src/sysdbd.

6 years agoMoved connection-private.h from src/include/frontend/ to src/frontend/.
Sebastian Harl [Sun, 15 Dec 2013 15:40:37 +0000 (16:40 +0100)]
Moved connection-private.h from src/include/frontend/ to src/frontend/.

This header is not meant to be used anyway else, so don't lead people into
temptation.

6 years agoMoved sysdb and sysdbd sources to src/tools/.
Sebastian Harl [Sun, 15 Dec 2013 15:36:41 +0000 (16:36 +0100)]
Moved sysdb and sysdbd sources to src/tools/.

Also, moved all purely private headers to that directory as well.
Renamed some files for greater consistency.

6 years ago.gitignore: Ignore ar-lib.
Sebastian Harl [Sun, 15 Dec 2013 08:50:40 +0000 (09:50 +0100)]
.gitignore: Ignore ar-lib.

6 years agosysdb: Use a string buffer and simple (stupid) ';' EO-query checks.
Sebastian Harl [Sun, 15 Dec 2013 08:49:10 +0000 (09:49 +0100)]
sysdb: Use a string buffer and simple (stupid) ';' EO-query checks.

Use a different prompt (similar to psql) when inside a query.

6 years agoconfigure: Fixed some automake warnings.
Sebastian Harl [Sun, 15 Dec 2013 08:46:32 +0000 (09:46 +0100)]
configure: Fixed some automake warnings.

6 years agodoc/Makefile: Use SUFFIXES rather than GNU-specific %-style rules.
Sebastian Harl [Sun, 15 Dec 2013 08:46:01 +0000 (09:46 +0100)]
doc/Makefile: Use SUFFIXES rather than GNU-specific %-style rules.

6 years agostrbuf_test: Added tests for sdb_strbuf_clear().
Sebastian Harl [Fri, 13 Dec 2013 13:57:40 +0000 (14:57 +0100)]
strbuf_test: Added tests for sdb_strbuf_clear().

6 years agostrbuf_test: Added a couple of tests operating on a zero-size buffer.
Sebastian Harl [Fri, 13 Dec 2013 13:53:02 +0000 (14:53 +0100)]
strbuf_test: Added a couple of tests operating on a zero-size buffer.

This is mostly about checking that this does not crash.

6 years agostrbuf utils: Added sdb_strbuf_clear().
Sebastian Harl [Fri, 13 Dec 2013 13:44:54 +0000 (14:44 +0100)]
strbuf utils: Added sdb_strbuf_clear().

6 years agosysdb: Free memory allocated by readline().
Sebastian Harl [Fri, 13 Dec 2013 13:36:38 +0000 (14:36 +0100)]
sysdb: Free memory allocated by readline().

6 years agosysdb: Don't warn about missing history file when loading history.
Sebastian Harl [Fri, 13 Dec 2013 13:33:13 +0000 (14:33 +0100)]
sysdb: Don't warn about missing history file when loading history.

6 years agosysdb: Check for and use libedit/libreadline for command input.
Sebastian Harl [Fri, 13 Dec 2013 13:31:22 +0000 (14:31 +0100)]
sysdb: Check for and use libedit/libreadline for command input.

6 years agodbi utils: Don't keep invalid object address after closing DBI connections.
Sebastian Harl [Fri, 13 Dec 2013 13:29:42 +0000 (14:29 +0100)]
dbi utils: Don't keep invalid object address after closing DBI connections.

6 years agofrontend: Remove stale UNIX sockets before trying to bind().
Sebastian Harl [Wed, 11 Dec 2013 10:26:24 +0000 (11:26 +0100)]
frontend: Remove stale UNIX sockets before trying to bind().

6 years agoclient: Report client socket errors using error utils.
Sebastian Harl [Wed, 11 Dec 2013 10:16:35 +0000 (11:16 +0100)]
client: Report client socket errors using error utils.

6 years agosysdb: Exit, if the current user could not be determined.
Sebastian Harl [Wed, 11 Dec 2013 10:09:04 +0000 (11:09 +0100)]
sysdb: Exit, if the current user could not be determined.

6 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Tue, 10 Dec 2013 19:29:28 +0000 (20:29 +0100)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

6 years agosysdb: Use error utilities.
Sebastian Harl [Tue, 10 Dec 2013 19:28:47 +0000 (20:28 +0100)]
sysdb: Use error utilities.

6 years agoerror utils: Make the logger callback configurable.
Sebastian Harl [Tue, 10 Dec 2013 18:13:37 +0000 (19:13 +0100)]
error utils: Make the logger callback configurable.

Don't depend on the plugin module anymore. Rather, add sdb_error_set_logger()
which may be used to set a callback to be used for all logging. Default to
printing to stderr.

sysdbd now uses that to register sdb_plugin_log as logger callback.

6 years agoMoved core/error to utils/error.
Sebastian Harl [Tue, 10 Dec 2013 17:56:59 +0000 (18:56 +0100)]
Moved core/error to utils/error.

Later, we'll use the module from the daemon and client.

6 years agosysdb: Connect to the server and issue a STARTUP command.
Sebastian Harl [Tue, 10 Dec 2013 17:49:38 +0000 (18:49 +0100)]
sysdb: Connect to the server and issue a STARTUP command.

The current username is sent along with the STARTUP command.

6 years agosysdbd: Send SIGINT to backend thread when shutting down.
Sebastian Harl [Tue, 10 Dec 2013 08:16:35 +0000 (09:16 +0100)]
sysdbd: Send SIGINT to backend thread when shutting down.

This will interrupt the sleep call and make the thread shut down faster.

6 years agoproto utils: Fixed offset check in get_int().
Sebastian Harl [Tue, 10 Dec 2013 08:11:53 +0000 (09:11 +0100)]
proto utils: Fixed offset check in get_int().