Code

sysdb.git
10 years agoInclude config.h in source files.
Sebastian Harl [Sun, 23 Feb 2014 20:35:33 +0000 (12:35 -0800)]
Include config.h in source files.

Else, we don't get any definitions required for enforcing standard compliance.

10 years agofrontend: Fixed two typing issues.
Sebastian Harl [Sun, 23 Feb 2014 04:48:03 +0000 (20:48 -0800)]
frontend: Fixed two typing issues.

10 years agofrontend, liboconfig: Added missing prototypes for yylex/yyparse.
Sebastian Harl [Sun, 23 Feb 2014 04:41:11 +0000 (20:41 -0800)]
frontend, liboconfig: Added missing prototypes for yylex/yyparse.

10 years agostore_lookup_test: Continue loop after fail().
Sebastian Harl [Sun, 23 Feb 2014 04:25:56 +0000 (20:25 -0800)]
store_lookup_test: Continue loop after fail().

The compiler does not know that fail aborts the test program and clang
(correctly) complains that the variable ('m' in this case) might be used
uninitialized afterwards.

10 years agot/coverage.sh: Fall-back to lcov without --no-external.
Sebastian Harl [Sun, 23 Feb 2014 04:14:26 +0000 (20:14 -0800)]
t/coverage.sh: Fall-back to lcov without --no-external.

Old versions of lcov don't support that flag. Simply try to fall back in case
the first run fails.

10 years agostore_lookup: Made logical operators public.
Sebastian Harl [Sun, 23 Feb 2014 04:12:05 +0000 (20:12 -0800)]
store_lookup: Made logical operators public.

10 years agoAdded tests for store lookup functions.
Sebastian Harl [Sun, 23 Feb 2014 03:22:17 +0000 (19:22 -0800)]
Added tests for store lookup functions.

10 years agostore: Added public functions to create and execute matchers.
Sebastian Harl [Sun, 23 Feb 2014 03:19:24 +0000 (19:19 -0800)]
store: Added public functions to create and execute matchers.

The matcher types are now based on sdb_object_t to ease memory management in
case a matcher is used in multiple places. Constructors for each matcher type
are now available and the top-level matching function has been made public.

10 years agot/coverage.sh: Use version-gen.sh to determine the current version.
Sebastian Harl [Sun, 23 Feb 2014 03:16:16 +0000 (19:16 -0800)]
t/coverage.sh: Use version-gen.sh to determine the current version.

… rather than guessing ;-) D'oh!

10 years agot/coverage.sh: Don't git reset but test the current, possibly dirty, code.
Sebastian Harl [Sun, 23 Feb 2014 03:09:55 +0000 (19:09 -0800)]
t/coverage.sh: Don't git reset but test the current, possibly dirty, code.

Instead, only get back files which are not included in the tarball.

10 years agostore_lookup: Fix matching of services with empty attr matcher.
Sebastian Harl [Fri, 21 Feb 2014 02:16:27 +0000 (03:16 +0100)]
store_lookup: Fix matching of services with empty attr matcher.

10 years agostore: Require name matchers to match string *and* regex if specified.
Sebastian Harl [Fri, 21 Feb 2014 02:07:11 +0000 (03:07 +0100)]
store: Require name matchers to match string *and* regex if specified.

10 years agostore: Fixed data format error detection.
Sebastian Harl [Fri, 21 Feb 2014 01:46:33 +0000 (02:46 +0100)]
store: Fixed data format error detection.

10 years agostore_test: Clear the test after running the test-case.
Sebastian Harl [Fri, 21 Feb 2014 01:00:21 +0000 (02:00 +0100)]
store_test: Clear the test after running the test-case.

This removes any cross-dependencies between multiple checks.

10 years agostore: Added sdb_store_clear().
Sebastian Harl [Fri, 21 Feb 2014 00:52:43 +0000 (01:52 +0100)]
store: Added sdb_store_clear().

This function clears the entire store removing all entries. It's mostly
useful for testing, I suppose.

10 years agostore: Added a frame-work for object lookups.
Sebastian Harl [Thu, 20 Feb 2014 22:16:25 +0000 (23:16 +0100)]
store: Added a frame-work for object lookups.

store_lookup currently provides low-level functionality for matching store
objects based on their various attributes.

10 years agodata: Let sdb_data_format() different quoting styles.
Sebastian Harl [Thu, 20 Feb 2014 22:11:47 +0000 (23:11 +0100)]
data: Let sdb_data_format() different quoting styles.

10 years agodata_test: Compare return values of format() and strlen().
Sebastian Harl [Thu, 20 Feb 2014 21:52:02 +0000 (22:52 +0100)]
data_test: Compare return values of format() and strlen().

This is to check that sdb_data_strlen() reports sane numbers.

10 years agodata: Let sdb_data_format() return the number of bytes written.
Sebastian Harl [Thu, 20 Feb 2014 21:48:43 +0000 (22:48 +0100)]
data: Let sdb_data_format() return the number of bytes written.

10 years agodate_test: Added some simple overflow tests.
Sebastian Harl [Thu, 20 Feb 2014 21:41:26 +0000 (22:41 +0100)]
date_test: Added some simple overflow tests.

10 years agodata: Let sdb_data_format output to a character array.
Sebastian Harl [Thu, 20 Feb 2014 21:37:01 +0000 (22:37 +0100)]
data: Let sdb_data_format output to a character array.

This is more universally usable.

10 years agodata: Added sdb_data_strlen.
Sebastian Harl [Thu, 20 Feb 2014 21:24:48 +0000 (22:24 +0100)]
data: Added sdb_data_strlen.

This function provides a worst-case estimate of the number of bytes required
to format a datum as a string.

10 years agodata_test: Print type of datum in case of a test failure.
Sebastian Harl [Thu, 20 Feb 2014 20:57:04 +0000 (21:57 +0100)]
data_test: Print type of datum in case of a test failure.

10 years agodata_test: Use a table-driven test.
Sebastian Harl [Thu, 20 Feb 2014 20:51:27 +0000 (21:51 +0100)]
data_test: Use a table-driven test.

10 years agodata: Escape \ and " in strings when formatting them.
Sebastian Harl [Thu, 20 Feb 2014 20:36:46 +0000 (21:36 +0100)]
data: Escape \ and " in strings when formatting them.

10 years agodata: Correctly format NULL values.
Sebastian Harl [Thu, 20 Feb 2014 20:27:38 +0000 (21:27 +0100)]
data: Correctly format NULL values.

10 years agostore: Split private type definitions into a new header store-private.h.
Sebastian Harl [Wed, 19 Feb 2014 22:12:24 +0000 (23:12 +0100)]
store: Split private type definitions into a new header store-private.h.

10 years agostore: Serialize attribute values using sdb_data_format().
Sebastian Harl [Tue, 11 Feb 2014 08:25:52 +0000 (09:25 +0100)]
store: Serialize attribute values using sdb_data_format().

10 years agostore: Removed sdb_ prefix from private lookup function.
Sebastian Harl [Mon, 10 Feb 2014 18:15:40 +0000 (19:15 +0100)]
store: Removed sdb_ prefix from private lookup function.

10 years agodata: Double quote formatted date-times.
Sebastian Harl [Mon, 10 Feb 2014 18:12:49 +0000 (19:12 +0100)]
data: Double quote formatted date-times.

JSON does not support time values, thus, we need to treat this is a string.

10 years agodata: Format binary bytes as \xXX rather than \XX.
Sebastian Harl [Mon, 10 Feb 2014 18:10:52 +0000 (19:10 +0100)]
data: Format binary bytes as \xXX rather than \XX.

10 years agodata: Improve serialization of binary data.
Sebastian Harl [Mon, 10 Feb 2014 18:07:49 +0000 (19:07 +0100)]
data: Improve serialization of binary data.

Instead of calling strbuf_append() for each byte, precompute the string in a
simple for-loop and then append the result to the buffer. This basically
inlines a formatter specific to this use-case and, thus, should be must
faster.

10 years agofrontend: Don't send debug logs to the client (for now).
Sebastian Harl [Thu, 6 Feb 2014 19:17:09 +0000 (20:17 +0100)]
frontend: Don't send debug logs to the client (for now).

Later, this should be configurable by the client at runtime.

10 years agofrontend: Send connection-related log messages to the client.
Sebastian Harl [Thu, 6 Feb 2014 19:12:38 +0000 (20:12 +0100)]
frontend: Send connection-related log messages to the client.

This is done by registering a logging callback which will send all messages
originating from a thread currently handling a connection to the respective
client. For this, the connection object is stored in a thread-specific data
segment.

10 years agosysdb: Handle EOF from the server.
Sebastian Harl [Thu, 6 Feb 2014 19:11:45 +0000 (20:11 +0100)]
sysdb: Handle EOF from the server.

10 years agoclient: Correctly handle EOF in sdb_client_connect().
Sebastian Harl [Thu, 6 Feb 2014 08:23:52 +0000 (09:23 +0100)]
client: Correctly handle EOF in sdb_client_connect().

10 years agoclient: Added an EOF flag to the client object.
Sebastian Harl [Thu, 6 Feb 2014 08:19:31 +0000 (09:19 +0100)]
client: Added an EOF flag to the client object.

In a lot of cases, a client is passed through a couple of functions in order
to handle I/O. Adding the flag will make it easier to access the information
in the right location without having to worry about 0 return codes (which mean
different things in some cases anyway, e.g. in sdb_client_recv() which returns
zero if an empty message (header only) has been received).

10 years agofrontend/connection: Require authentication before allowing any commands.
Sebastian Harl [Wed, 5 Feb 2014 21:08:54 +0000 (22:08 +0100)]
frontend/connection: Require authentication before allowing any commands.

10 years agofrontend/session: Store authenticated user information.
Sebastian Harl [Wed, 5 Feb 2014 21:07:46 +0000 (22:07 +0100)]
frontend/session: Store authenticated user information.

Also, for now, reject access in case no username is provided.

10 years agollist_test: Added simple tests for _search() and _remove().
Sebastian Harl [Tue, 4 Feb 2014 22:57:27 +0000 (23:57 +0100)]
llist_test: Added simple tests for _search() and _remove().

10 years agoUpdated copyright information.
Sebastian Harl [Tue, 4 Feb 2014 22:35:46 +0000 (23:35 +0100)]
Updated copyright information.

10 years agosysdb: Hide implementation details in the "input" module.
Sebastian Harl [Tue, 4 Feb 2014 22:31:36 +0000 (23:31 +0100)]
sysdb: Hide implementation details in the "input" module.

… and added some overview documentation about how the "input" module works and
interacts with the other subsystems.

10 years agosysdb: Use the asynchronous readline interface; handle asynch server replies.
Sebastian Harl [Tue, 4 Feb 2014 21:57:46 +0000 (22:57 +0100)]
sysdb: Use the asynchronous readline interface; handle asynch server replies.

For this, setup the terminal in non-canonical, raw mode in order to be able to
handle each single character input. This allows to handle user input and
asynchronous server replies at the same time but without the need to give up
sequential operation (no threads are required for the asynchronous operation).
Instead, select() is used to do the input multiplexing allowing to easily
handle different output.

10 years agosysdb: Split sdb_command_exec() into two functions.
Sebastian Harl [Tue, 4 Feb 2014 21:56:23 +0000 (22:56 +0100)]
sysdb: Split sdb_command_exec() into two functions.

Separate the handling of the server's reply to make it reusable by other parts
of the code.

10 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Fri, 31 Jan 2014 06:27:24 +0000 (07:27 +0100)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

10 years agocore/data: Added sdb_data_format() function.
Sebastian Harl [Thu, 30 Jan 2014 17:53:29 +0000 (18:53 +0100)]
core/data: Added sdb_data_format() function.

This function creates a string representation of a datum using a default
format.

10 years agocore/data.h: Removed obsolete comment.
Sebastian Harl [Thu, 30 Jan 2014 08:12:57 +0000 (09:12 +0100)]
core/data.h: Removed obsolete comment.

10 years agostore: Added support for different data-types for attributes.
Sebastian Harl [Wed, 29 Jan 2014 20:55:58 +0000 (21:55 +0100)]
store: Added support for different data-types for attributes.

An attribute value is now stored as sdb_data_t, supporting all data-types
which are supported by that type.

JSON-serialization does not fully support that yet, though.

10 years agoutils dbi: Use sdb_data_free_datum().
Sebastian Harl [Wed, 29 Jan 2014 20:42:09 +0000 (21:42 +0100)]
utils dbi: Use sdb_data_free_datum().

10 years agodata: Added helper functions to copy and free data.
Sebastian Harl [Wed, 29 Jan 2014 20:41:18 +0000 (21:41 +0100)]
data: Added helper functions to copy and free data.

10 years agodbi_test: Mocked required dbi*_copy_idx() functions.
Sebastian Harl [Wed, 29 Jan 2014 09:33:44 +0000 (10:33 +0100)]
dbi_test: Mocked required dbi*_copy_idx() functions.

10 years agocore/data: Make string and binary data not constant.
Sebastian Harl [Tue, 28 Jan 2014 19:12:22 +0000 (20:12 +0100)]
core/data: Make string and binary data not constant.

This will allow for more flexibility. However, it also requires to create a
copy of data queried using libdbi.

10 years agoconfigure, src/Makefile: Sort plugins alphabetically.
Sebastian Harl [Fri, 24 Jan 2014 08:04:29 +0000 (09:04 +0100)]
configure, src/Makefile: Sort plugins alphabetically.

10 years agoconfigure: Report an error when encountering invalid settings.
Sebastian Harl [Thu, 23 Jan 2014 19:43:41 +0000 (20:43 +0100)]
configure: Report an error when encountering invalid settings.

10 years agoclient, sysdb: Improved error reporting.
Sebastian Harl [Thu, 23 Jan 2014 08:12:47 +0000 (09:12 +0100)]
client, sysdb: Improved error reporting.

10 years agosysdb: Store a global input handler object in the input module.
Sebastian Harl [Sun, 12 Jan 2014 21:43:02 +0000 (22:43 +0100)]
sysdb: Store a global input handler object in the input module.

… rather than in the scanner. All input related code should be in the input
module.

10 years agofrontend: Added missing 'break' in switch statement.
Sebastian Harl [Sun, 12 Jan 2014 21:32:37 +0000 (22:32 +0100)]
frontend: Added missing 'break' in switch statement.

This bug caused a LIST command to be executed after each QUERY.

D'oh!

10 years agoclient: Added sdb_client_sockfd() function.
Sebastian Harl [Sun, 12 Jan 2014 21:11:34 +0000 (22:11 +0100)]
client: Added sdb_client_sockfd() function.

This function returns the file-descriptor associated with the client's network
socket.

10 years agofrontend: Free parser-allocated memory after handling a command.
Sebastian Harl [Sun, 12 Jan 2014 20:45:32 +0000 (21:45 +0100)]
frontend: Free parser-allocated memory after handling a command.

10 years agoMerged branch 'master' of git://git.tokkee.org/sysdb.
Sebastian Harl [Sun, 12 Jan 2014 18:19:56 +0000 (19:19 +0100)]
Merged branch 'master' of git://git.tokkee.org/sysdb.

10 years agosysdb: Do not add duplicate entries to the history.
Sebastian Harl [Fri, 10 Jan 2014 15:40:58 +0000 (16:40 +0100)]
sysdb: Do not add duplicate entries to the history.

10 years ago.travis.yml: Exclude AddressSanitizer runs with GCC.
Sebastian Harl [Sun, 12 Jan 2014 17:53:07 +0000 (18:53 +0100)]
.travis.yml: Exclude AddressSanitizer runs with GCC.

Travis-CI's GCC does not support the address sanitizer options.

10 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.

10 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

10 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.

10 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.

10 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.

10 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).

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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().

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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().

10 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.

10 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.

10 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().

10 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.

10 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().

10 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).

10 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.

10 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.

10 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.

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

10 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.

10 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.