summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Krisztian Litkey [Tue, 8 May 2012 13:48:41 +0000 (16:48 +0300)]
Merge branch 'master' of github.com:otcshare/murphy
Krisztian Litkey [Tue, 8 May 2012 13:43:14 +0000 (16:43 +0300)]
Merge branch 'documentation'
Krisztian Litkey [Tue, 8 May 2012 13:20:52 +0000 (16:20 +0300)]
sample-config: minor commenting.
Krisztian Litkey [Tue, 8 May 2012 13:01:33 +0000 (16:01 +0300)]
transport: consolidated IP{v4,v6}/unix transports to {stream,dgram}-transpor
The recognized address prefixes are now tcp4, tcp6, udp4, udp6, unxstrm,
and unxdgrm. If you omit the type-specifier prefix, the address resolver
code will try to figure out the type based on the address itself ('[',
']', '@', '/'). However, a prefix specifies both the address family and
the connection-oriented vs. connectionlessness of the transport. The
resolver cannot guess which one you want if you omit the prefix and you
will always end up with connection-oriented transports in this case (as
these are registered before the datagram ones).
If you are careless and try to use prefixless string addresses for datagram
transports, you will get quite difficult to understand errors (as you end
up polling an unconnected, unlistened socket for readability).
One way to get around this would be to change the API so that
- only the address family is passed to the address resolver
- the socket type (dgram/stream) is passed to the transport creation
Although, this would be a more natural abstraction... maybe another day.
Krisztian Litkey [Mon, 7 May 2012 13:42:33 +0000 (16:42 +0300)]
console: for the sake of testing, a UDP-capable console/console-client.
No, it does not need to always make sense... I just wanted to check how
big chunk of code you need to write in addition to handling the connection-
oriented/connectionless differences.
Krisztian Litkey [Mon, 7 May 2012 13:27:49 +0000 (16:27 +0300)]
common/transport: some minor API cleanup, saner address resolving
There's plenty of things to write and clean up in the transport layer.
For a starter,
1) The message API is not sane. Fields should be tagged by integers
and not strings. It was a quick hack just to test the transports.
The basic encoder/decoder needs to be changed to an integer-tagged,
typed, TLV.
2) We also need unix-domain stream and dgram transports, maybe also IPv6
TCP and UDP transports. Once we have those, it'd make sense to combine
(or otherwise consolidate) the connection-oriented and connectionless
transport code as largely they would end up being identical anyway...
So IOW IPv4/v6 UDP, unix-domain dgram would share a large part of
their code, and similarly IPv4/v6 TCP and unix-domain stream would
share a large part of their code.
3) We need to write a DBUS transport to check if the current abstraction
is generic enough (or rather how far it is from being generic enough
and fix any remaining diffs).
4) While we're at it, an SHM-based transport wouldn't hurt either...
Janos Kovacs [Sun, 6 May 2012 23:52:40 +0000 (02:52 +0300)]
documentation-tools: eliminating/supressing some garbage prints
Janos Kovacs [Sun, 6 May 2012 23:07:02 +0000 (02:07 +0300)]
documentation-tools: doxygen automatic dependency generation
Some primitive doxygen depency generation added. Based on the doxygen
configuration file we try to guess the .h.c dependencies. However,
doxygen can have directories + patterns in which case we are living
on our wild guesses how doxygen finds the dependencies that are
not in the same directory.
MRP_DOCINIT autoconf macro was also introduced to initiate the
documentation building
Janos Kovacs [Sat, 5 May 2012 12:07:55 +0000 (15:07 +0300)]
documentation: oops, this Makefile.am was forgotten
Janos Kovacs [Sat, 5 May 2012 11:50:17 +0000 (14:50 +0300)]
documentation: plugin-developer-guide content update
Janos Kovacs [Sat, 5 May 2012 11:37:11 +0000 (14:37 +0300)]
documentation-tools: doc-tools finalized + makefiles
* plugin developer guide can be generated
* faking shavings and hiding the flood of doc-toolchain garbage
* manual dependencies (automatic dependency generation will be
the next big step)
Janos Kovacs [Fri, 4 May 2012 23:17:17 +0000 (02:17 +0300)]
documentation-tools: fixing doxml2db to open the output file for writing
Janos Kovacs [Fri, 4 May 2012 14:45:13 +0000 (17:45 +0300)]
documentation: some doxygen comments were added
some initial doxygen comments were added to be able to test the documentation
toolchain
Janos Kovacs [Fri, 4 May 2012 14:41:18 +0000 (17:41 +0300)]
documentation-tools: doxml2db.py introduced
doxml2db.py is to convert doxml files into docbook fragments
ie. chapters or sections. These chapters or sections in turn can be included
to the main docbook.
Krisztian Litkey [Thu, 3 May 2012 18:52:45 +0000 (21:52 +0300)]
tcp-transport: update leftover misleading comment.
Krisztian Litkey [Thu, 3 May 2012 15:58:36 +0000 (18:58 +0300)]
sample config: load two instances of test for command testing.
Krisztian Litkey [Thu, 3 May 2012 15:57:54 +0000 (18:57 +0300)]
daemon/config: kludge for partial-line comment support.
Krisztian Litkey [Thu, 3 May 2012 08:16:29 +0000 (11:16 +0300)]
common,core: support automatic console command registration for plugins
Krisztian Litkey [Thu, 3 May 2012 08:14:36 +0000 (11:14 +0300)]
common/transport: address is const for resolve.
Krisztian Litkey [Thu, 3 May 2012 00:02:27 +0000 (03:02 +0300)]
common: receive-side buffering fixes, added tcp_resolve.
Krisztian Litkey [Wed, 2 May 2012 22:38:11 +0000 (01:38 +0300)]
common: added a UDP transport to check if the abstraction is generic enough.
Krisztian Litkey [Wed, 2 May 2012 22:36:42 +0000 (01:36 +0300)]
common: preliminary resolve and bind support for transport layer.
Krisztian Litkey [Wed, 2 May 2012 17:30:04 +0000 (20:30 +0300)]
murphy.conf: try-load the console plugin in the sample config file.
Krisztian Litkey [Wed, 2 May 2012 17:29:19 +0000 (20:29 +0300)]
plugins-test: added a few commands for console testing.
Krisztian Litkey [Wed, 2 May 2012 17:26:05 +0000 (20:26 +0300)]
Added murphy-console, a client for the TCP console (plugin).
Krisztian Litkey [Wed, 2 May 2012 17:20:37 +0000 (20:20 +0300)]
plugins: added a TCP-transport based console plugin.
Krisztian Litkey [Wed, 2 May 2012 17:19:39 +0000 (20:19 +0300)]
common,core: include msg,transport,console to the convenience headers.
Krisztian Litkey [Wed, 2 May 2012 17:14:12 +0000 (20:14 +0300)]
core: added core console infra, a few basic commands for test.
Krisztian Litkey [Wed, 2 May 2012 16:52:16 +0000 (19:52 +0300)]
common: added a TCP transport implementation.
Krisztian Litkey [Wed, 2 May 2012 16:46:01 +0000 (19:46 +0300)]
common: added generic transport layer.
Krisztian Litkey [Wed, 2 May 2012 16:43:30 +0000 (19:43 +0300)]
common: added msg.[hc], a (preliminary) message interface for transports.
Krisztian Litkey [Wed, 2 May 2012 16:30:58 +0000 (19:30 +0300)]
daemon: fix stupid array sizing thinko.
Krisztian Litkey [Wed, 2 May 2012 16:27:46 +0000 (19:27 +0300)]
common: comment type fix.
Krisztian Litkey [Wed, 2 May 2012 16:24:02 +0000 (19:24 +0300)]
build: removed a bunch commented out conditionals.
Krisztian Litkey [Mon, 30 Apr 2012 12:38:57 +0000 (15:38 +0300)]
mainloop: handle more gracefully if fd is closed before delete_io_watch.
EPOLL_CTL_DEL sets errno to ENOENT if w->fd is closed (by the user)
after mrp_del_io_watch is called but before delete_io_watch gets around
to purge the watch and update our epoll bookkeeping. Don't treat this as
an error and avoid printing an error message.
Krisztian Litkey [Fri, 27 Apr 2012 14:04:14 +0000 (17:04 +0300)]
common: changed realloc macro to preserve ptr upon failure akin to reallocz.
Krisztian Litkey [Wed, 2 May 2012 14:01:56 +0000 (17:01 +0300)]
daemon: potentially uninitialized var. fix.
Krisztian Litkey [Thu, 26 Apr 2012 13:10:45 +0000 (16:10 +0300)]
common: fix calloc-like macro to set memory to zero.
Krisztian Litkey [Wed, 25 Apr 2012 23:24:24 +0000 (02:24 +0300)]
common: added mrp_datadup.
Krisztian Litkey [Mon, 30 Apr 2012 08:30:50 +0000 (11:30 +0300)]
common: fix copy-paste typo in pkg-config file.
Krisztian Litkey [Mon, 30 Apr 2012 08:27:34 +0000 (11:27 +0300)]
common: fix incorrect include paths in log.[hc].
Ismo Puustinen [Fri, 27 Apr 2012 10:55:30 +0000 (13:55 +0300)]
murphy-db: make pkg-config link also against the base library.
Janos Kovacs [Tue, 24 Apr 2012 23:52:16 +0000 (02:52 +0300)]
documentation: dblyxfix.py is now filtering <dummy> tags
Janos Kovacs [Mon, 23 Apr 2012 03:44:18 +0000 (06:44 +0300)]
documentation: fixing some bugs to get the first version work
Janos Kovacs [Mon, 23 Apr 2012 03:04:26 +0000 (06:04 +0300)]
documentation: make clean will delete the copied svg files
Janos Kovacs [Mon, 23 Apr 2012 02:57:02 +0000 (05:57 +0300)]
documentation: first version of document generation
* pdf generation
* no doxygen support yet
Janos Kovacs [Sat, 21 Apr 2012 16:53:38 +0000 (19:53 +0300)]
murphy-db: some cosmetic changes in mql-scanner.l
Some of the regexp's in mql-scanner.l got a facelift in order to produce
prettier ABNF description using abnf.py
Janos Kovacs [Sat, 21 Apr 2012 16:43:24 +0000 (19:43 +0300)]
murphy: abnf.py script now uses both the flex and bison file to generate ABNF
* flex support added for the automatic document generation, ie. ABNF is
generated from the regexp's in the definition section
* more correct ABNF description is generated
* the output is directly includable into DocBook xml file
Krisztian Litkey [Sat, 21 Apr 2012 09:46:08 +0000 (12:46 +0300)]
build: shave linker script generation.
Krisztian Litkey [Sat, 21 Apr 2012 09:15:56 +0000 (12:15 +0300)]
common,core: added top-level convenience include files.
Krisztian Litkey [Fri, 20 Apr 2012 18:11:45 +0000 (21:11 +0300)]
mainloop-test: enable logging.
Krisztian Litkey [Fri, 20 Apr 2012 18:11:31 +0000 (21:11 +0300)]
mainloop: I/O watch removal fix (thinko + incorrect EPOLL_CTL_DEL).
Krisztian Litkey [Thu, 19 Apr 2012 20:29:59 +0000 (23:29 +0300)]
mainloop: fix I/O watch HUP processing.
(e)poll uses (E)POLLRDHUP for input direction close/shutdown. The event
enum now has HUP for (POLLHUP|POLLRDHUP). RDHUP and WRHUP has been added
for POLLRDHUP and POLLHUP, respectively. Let's see if this will confuse
people...
Krisztian Litkey [Thu, 19 Apr 2012 09:46:19 +0000 (12:46 +0300)]
build: don't PKG_CHECK for dbus-glib.
Krisztian Litkey [Thu, 19 Apr 2012 09:45:21 +0000 (12:45 +0300)]
build: glib plugin needs glib, not dbus-glib.
Krisztian Litkey [Thu, 19 Apr 2012 08:19:39 +0000 (11:19 +0300)]
daemon: updated test config.
Krisztian Litkey [Thu, 19 Apr 2012 08:07:10 +0000 (11:07 +0300)]
build: generate/use linker scripts for murphy-db.
Krisztian Litkey [Thu, 19 Apr 2012 08:06:17 +0000 (11:06 +0300)]
build: clean up built linker-scripts during clean.
Krisztian Litkey [Thu, 19 Apr 2012 08:03:37 +0000 (11:03 +0300)]
build: linker-script generator pattern argument handling fix.
Krisztian Litkey [Wed, 18 Apr 2012 15:14:31 +0000 (18:14 +0300)]
shave: add support for lex/flex and yacc/bison.
Janos Kovacs [Tue, 17 Apr 2012 01:11:59 +0000 (04:11 +0300)]
murphy-db: mql syntax documentation
First incarnation of the abnf.py which produces the grammar description
directly from mql-scanner.l and mql-parser.y. The lexer regexp's are not
translated to ABNF yet.
Janos Kovacs [Sun, 15 Apr 2012 20:45:26 +0000 (23:45 +0300)]
murphy-db: mql transaction support
Use of transaction names (eg. BEGIN foo; COMMIT foo; etc)
precompiled transaction statements (begin, commit and rollback).
Janos Kovacs [Tue, 10 Apr 2012 23:23:30 +0000 (02:23 +0300)]
murphy-db: rest of mql transaction create routines
Test cases for string results only, ie. event result based
test cases are missing.
Janos Kovacs [Mon, 9 Apr 2012 20:07:15 +0000 (23:07 +0300)]
murphy-db: triggers introduced
mqi is fairily completei.
mql is just to see how the API will look like (only column change works)
cosmetic changes to confirm the agreed coding style (mostly typedef stuff).
Janos Kovacs [Sun, 25 Mar 2012 22:50:59 +0000 (01:50 +0300)]
murphy-db: pkg-config support for murphy-db
Janos Kovacs [Sun, 25 Mar 2012 21:36:37 +0000 (00:36 +0300)]
murphy-db: cleanup the include file names and dependencies
Janos Kovacs [Sun, 25 Mar 2012 19:44:10 +0000 (22:44 +0300)]
murphy-db: initial commit of the MurphyDB
Krisztian Litkey [Tue, 17 Apr 2012 13:30:19 +0000 (16:30 +0300)]
build: install .pc files & non-existing docs, honour libdir for plugins.
Generate and install pkgconfig files. Honour ${libdir} in the default
plugin directory and make ${libdir} available also as a macro. Install
(the non-existing) documentation.
Krisztian Litkey [Fri, 13 Apr 2012 13:17:09 +0000 (16:17 +0300)]
plugins: add some of the missing functionality (plugin metadata, checks)
Added plugin and API versioning, singletons, author et al metadata,
API version check and singletonnes check. Started adding plugin states.
Krisztian Litkey [Fri, 13 Apr 2012 13:18:32 +0000 (16:18 +0300)]
common: a simple directory scanning routine.
Krisztian Litkey [Thu, 12 Apr 2012 15:14:29 +0000 (18:14 +0300)]
plugins: don't hardcode 'plugin-' prefix twice.
Krisztian Litkey [Thu, 12 Apr 2012 10:48:53 +0000 (13:48 +0300)]
plugins: added basic support for plugin arguments.
Krisztian Litkey [Thu, 12 Apr 2012 10:47:21 +0000 (13:47 +0300)]
common: more pedantic array allocation macros.
Krisztian Litkey [Tue, 10 Apr 2012 10:33:00 +0000 (13:33 +0300)]
core: don't log low-level load errors for non-existing plugins.
Krisztian Litkey [Tue, 10 Apr 2012 10:26:33 +0000 (13:26 +0300)]
build: added brindging Makefiles to common, core, daemon and plugins.
Krisztian Litkey [Tue, 10 Apr 2012 10:02:46 +0000 (13:02 +0300)]
daemon: unified config directive handling, added info/warning/error directives.
Krisztian Litkey [Fri, 6 Apr 2012 11:52:51 +0000 (14:52 +0300)]
doc: added author info and coding style guide.
Krisztian Litkey [Fri, 6 Apr 2012 11:49:27 +0000 (14:49 +0300)]
build: removed unused Makefile.am's.
Krisztian Litkey [Fri, 6 Apr 2012 11:44:15 +0000 (14:44 +0300)]
daemon: added a config file for testing the parser.
Krisztian Litkey [Fri, 6 Apr 2012 11:42:30 +0000 (14:42 +0300)]
plugins: added glib plugin.
Krisztian Litkey [Fri, 6 Apr 2012 11:41:20 +0000 (14:41 +0300)]
plugins: added dbus core plugin.
Krisztian Litkey [Fri, 6 Apr 2012 11:39:58 +0000 (14:39 +0300)]
plugins: a primitive plugin to test the loading/unloading infra.
Krisztian Litkey [Fri, 6 Apr 2012 11:36:55 +0000 (14:36 +0300)]
daemon: skeleton of the daemon, config parsing.
Krisztian Litkey [Fri, 6 Apr 2012 11:33:58 +0000 (14:33 +0300)]
common: added utils for misc. routines (currently just daemonization).
Krisztian Litkey [Fri, 6 Apr 2012 11:30:39 +0000 (14:30 +0300)]
core: initial parts of the murphy plugin implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:28:58 +0000 (14:28 +0300)]
core: added murphy context.
Krisztian Litkey [Fri, 6 Apr 2012 11:26:01 +0000 (14:26 +0300)]
common/tests: ad-hoc mainloop test, with a GLIB and a DBUS pumps.
Krisztian Litkey [Fri, 6 Apr 2012 11:22:35 +0000 (14:22 +0300)]
common/tests: added and ad-hoc hash table test.
Krisztian Litkey [Fri, 6 Apr 2012 11:21:45 +0000 (14:21 +0300)]
common/tests: added and ad-hoc memory management test.
Krisztian Litkey [Fri, 6 Apr 2012 11:15:26 +0000 (14:15 +0300)]
common: first implementation of the murphy mainloop.
Krisztian Litkey [Fri, 6 Apr 2012 11:13:36 +0000 (14:13 +0300)]
common: added a simple hash table implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:06:48 +0000 (14:06 +0300)]
common: added a simple memory management wrapper/module
By default, it passes calls through to malloc et al. If run in
debugging mode (by setting the __MURPHY_MM_CONFIG=debug) the
module keeps track of memory allocations, and can be used to
detect and report memory leaks.
The same memory management module currently also provides a page-
based object pool implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:04:09 +0000 (14:04 +0300)]
common: added a simple logging implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:02:00 +0000 (14:02 +0300)]
common: added a simple doubly-linked list implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:00:24 +0000 (14:00 +0300)]
common: added some commonly used macros.
Krisztian Litkey [Tue, 13 Mar 2012 14:55:45 +0000 (16:55 +0200)]
Skeleton repo.