From b5d400ec10b09bb4b6fe75ccb430e10352ece1a1 Mon Sep 17 00:00:00 2001 From: Philippe PITTOLI Date: Mon, 28 Aug 2017 23:51:44 +0200 Subject: [PATCH] graph --- diags/.gitignore | 1 + diags/graph-this.sh | 55 +++++++++++++++++++++++++++++++++++++++++++ diags/remoted.diag | 23 ++++++++++++++++++ diags/remoted.pdf | Bin 0 -> 19089 bytes remote/app/README.md | 32 +++++++++++++++++++++++++ remote/app/remotec.c | 17 +++++++++++-- 6 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 diags/.gitignore create mode 100755 diags/graph-this.sh create mode 100644 diags/remoted.diag create mode 100644 diags/remoted.pdf diff --git a/diags/.gitignore b/diags/.gitignore new file mode 100644 index 0000000..e33609d --- /dev/null +++ b/diags/.gitignore @@ -0,0 +1 @@ +*.png diff --git a/diags/graph-this.sh b/diags/graph-this.sh new file mode 100755 index 0000000..14a4e2b --- /dev/null +++ b/diags/graph-this.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +if [ "$FONT" = "" ] +then + FONT=/usr/share/fonts/truetype/ubuntu-font-family/UbuntuMono-R.ttf +fi + +echo "font : $FONT" + +for i in *\.diag +do + PNG=$(echo ${i} | sed "s/diag$/pdf/") + + if [ ! -f ${PNG} ] || [ $(stat -c "%X" ${PNG}) -lt $(stat -c "%X" ${i}) ] + then + + echo seqdiag ${i} + seqdiag -Tpdf -a -f $FONT ${i} + + echo touch ${PNG} + touch ${PNG} + fi +done + +# PKTDIAG=pktdiag +# for i in *\.$PKTDIAG +# do +# PNG=$(echo ${i} | sed "s/$PKTDIAG$/pdf/") +# +# if [ ! -f ${PNG} ] || [ $(stat -c "%X" ${PNG}) -lt $(stat -c "%X" ${i}) ] +# then +# +# echo seqdiag ${i} +# packetdiag -Tpdf -a -f $FONT ${i} +# +# echo touch ${PNG} +# touch ${PNG} +# fi +# done +# +# GDOT="gviz-dot" +# for i in *\.$GDOT +# do +# PDF=$(echo ${i} | sed "s/$GDOT$/pdf/") +# +# if [ ! -f ${PDF} ] || [ $(stat -c "%X" ${PDF}) -lt $(stat -c "%X" ${i}) ] +# then +# +# echo dot ${i} +# dot -Tpdf ${i} > ${PDF} +# +# echo touch ${PDF} +# touch ${PDF} +# fi +# done diff --git a/diags/remoted.diag b/diags/remoted.diag new file mode 100644 index 0000000..eed66c8 --- /dev/null +++ b/diags/remoted.diag @@ -0,0 +1,23 @@ +diagram { + edge_length = 300; + default_fontsize = 13; // default value is 11 + span_height = 10; // default value is 40 + activation = none; + + // Numbering edges automaticaly + autonumber = True; + + // Change note color + default_note_color = lightblue; + + + client; remoted; transportd; service; + + client -> remoted [label = "service-name"]; + client -> remoted [label = "REMOTED_VAR=URI"]; + client -> remoted [label = "END"]; + remoted -> transportd [label = "connect URI"]; + transportd -> remoted [label = "socket"]; + remoted -> client [label = "socket"]; + client -> service [label = "connection"]; +} diff --git a/diags/remoted.pdf b/diags/remoted.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e91f57949865c0ed41bb4753b2784f9fbd5ba814 GIT binary patch literal 19089 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 h1(l54_nmi(EcBE{s03r6A%CZ literal 0 HcmV?d00001 diff --git a/remote/app/README.md b/remote/app/README.md index f89adbf..5ad5f47 100644 --- a/remote/app/README.md +++ b/remote/app/README.md @@ -7,6 +7,38 @@ This service creates a path on the relevent remote location, going through anyth * authorizations * code the -d option +# Connection + +Client -> Remoted: service to contact (ex: pongd) + + format: [u8 (action); u16 (length); XXX (options)] + +Client -> Remoted: action (connect|listen) + options + + format: [u8 (action); u16 (length); XXX (options)] + + example 1: action = connect => options = uri (ex: udp://example.com:5000) + format: [u8 (1); u16 (22); udp://example.com:5000] + + example 2: action = listen => options = uri (ex: tcp://localhost:9000) + format: [u8 (2); u16 (20); tcp://localhost:9000] + +(optional) Client -> Remoted: options (environement variables) + + example: action = options => option = VAR=X + format: [u8 (4); u16 (20); VAR=X] + + The client sends all options this way, one at a time. + This sequence of messages is ended with the following message. + +Client -> Remoted: END + + format: [u8 (5)] + +Remoted -> Client: unix socket + +In the case the application has environement variables to pass to the remoted service, + ### authorizations The idea is to have a simple configuration file for authentication of remote connections, such as: diff --git a/remote/app/remotec.c b/remote/app/remotec.c index ff28d5e..46c2e22 100644 --- a/remote/app/remotec.c +++ b/remote/app/remotec.c @@ -8,6 +8,20 @@ #include #include +/** + * remoted test application + * + * this application can: + * listen, given an URI (including a transport layer and eventually a port) + * connect to a remote service through a tunnel + * the remote service used for testing is pongd + * + * TODO: this test application is a work in progress + * currently, this application will: + * connect itself to the remoted service + * hang up the connection with the remoted service + */ + void usage (char **argv) { printf ( "usage: %s uri service\n", argv[0]); } @@ -58,8 +72,7 @@ void main_loop (int argc, char **argv, char **env memset (&srv, 0, sizeof (struct service)); remotec_connection (argc, argv, env, &srv); - log_debug ("remotec connected"); - log_debug ("remotec main loop"); + log_debug ("remotec connected, entering main loop"); struct remoted_msg msg; memset (&msg, 0, sizeof (struct remoted_msg));