aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2013-10-13 18:54:47 +0200
committerLaurent Ghigonis <laurent@p1sec.com>2013-10-13 18:54:47 +0200
commit5e65b42da32283a34190c59a0163b9c0a163805b (patch)
treea7a0cffedb0b0afb55901a4f857840852e4e13c4
parentadd dummy probe (diff)
downloadglouglou-5e65b42da32283a34190c59a0163b9c0a163805b.tar.xz
glouglou-5e65b42da32283a34190c59a0163b9c0a163805b.zip
protocol doc
-rw-r--r--v3/libglouglou/doc/protocol.txt64
1 files changed, 64 insertions, 0 deletions
diff --git a/v3/libglouglou/doc/protocol.txt b/v3/libglouglou/doc/protocol.txt
new file mode 100644
index 0000000..c5cb71c
--- /dev/null
+++ b/v3/libglouglou/doc/protocol.txt
@@ -0,0 +1,64 @@
+==================
+Glougloud protocol
+==================
+
+UDP protocol to transport events from glouglou probes to the glougloud server.
+
+libglouglou/client.c - client code, to connect to glougloud server
+libglouglou/packet.c - packet parsing
+libglouglou/server.c - server code
+libglouglou/log.c
+libglouglou/utils.c
+
+
+Protocol definitions
+====================
+
+The glougloud protocol is implemented in libglouglou extensions.
+Definitions are in .h in each libglouglou extensions.
+There is one glougloud module per group of events:
+* internal events (included in default libglouglou)
+* network events (included in default libglouglou)
+* system processus events
+* ...
+
+Probes and glougloud modules do #include of the libglouglou extension header,
+and link against it:
+#include <libglouglou/ext/ggpkt_mod_0_internal.h>
+ld -lggpkt_mod_0_internal
+
+
+Probe connection to glougloud server
+====================================
+
+probe <=> glougloud
+ ---> PACKET_INTERNAL_HELLO
+ * random
+ <--- PACKET_INTERNAL_HELLO_RES
+ * random2
+ ---> PACKET_INTERNAL_AUTH
+ * probe_id
+ * probe_password
+ * random + random2
+ <--- PACKET_INTERNAL_AUTH_RES
+ * auth_status (AUTH_OK, AUTH_REFUSED)
+
+
+Probe ID
+========
+
+Probe ID and probe password are defined by the system administrator when stating a probe, usualy via command line arguments.
+Each probe ID and probe password should be added in the glougloud password list
+directory /var/lib/glougloud/chroot/probe_passwords/ as single file:
+
+# umask 0227
+# echo "my_probe_0_password" > /var/lib/glougloud/chroot/probe_passwords/probe_0
+
+
+API
+===
+
+libglouglou
+ggpkt_mod_0_internal
+
+libglouglou/ext/ggpkt_mod_0_internal.h