diff options
-rw-r--r-- | contrib/Makefile.am | 1 | ||||
-rw-r--r-- | contrib/nssswitch.conf | 25 | ||||
-rw-r--r-- | contrib/packages/guix/gnunet-doc.scm | 165 | ||||
-rw-r--r-- | contrib/packages/guix/guix-env.scm | 15 | ||||
-rw-r--r-- | contrib/packages/guix/packages/gnunet/packages/gnunet.scm | 15 | ||||
-rw-r--r-- | doc/Makefile.am | 97 | ||||
-rw-r--r-- | doc/README.txt | 42 | ||||
-rw-r--r-- | doc/figs/Service.pdf | bin | 7303 -> 0 bytes | |||
-rw-r--r-- | doc/figs/System.pdf | bin | 7897 -> 0 bytes | |||
-rw-r--r-- | doc/gnunet-c-tutorial.pdf | bin | 293947 -> 0 bytes | |||
-rw-r--r-- | doc/gnunet-c-tutorial.texi | 6 | ||||
-rw-r--r-- | doc/images/daemon_lego_block.svg | 126 | ||||
-rw-r--r-- | doc/images/gnunet-tutorial-service.png | bin | 0 -> 40142 bytes | |||
-rw-r--r-- | doc/images/gnunet-tutorial-system.png | bin | 0 -> 46982 bytes | |||
-rw-r--r-- | doc/images/lego_stack.svg | 737 | ||||
-rw-r--r-- | doc/images/service_lego_block.svg | 345 | ||||
-rw-r--r-- | src/cadet/gnunet-service-cadet.c | 1 |
17 files changed, 1538 insertions, 37 deletions
diff --git a/contrib/Makefile.am b/contrib/Makefile.am index 9ce4b019d8..07cff424c0 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -48,6 +48,7 @@ EXTRA_DIST = \ no_forcestart.conf \ no_autostart_above_core.conf \ coverage.sh \ + nssswitch.conf \ report.sh \ terminate.py.in \ gnunet_pyexpect.py.in \ diff --git a/contrib/nssswitch.conf b/contrib/nssswitch.conf new file mode 100644 index 0000000000..89af6471ea --- /dev/null +++ b/contrib/nssswitch.conf @@ -0,0 +1,25 @@ +# /etc/nsswitch.conf +# Modified to support GNUnet's GNS (.gnu, .zkey etc) +# Compare with your distributions' "nsswitch.conf" file. + +passwd: compat +shadow: compat +group: compat + +# passwd: db files nis +# shadow: db files nis +# group: db files nis + +hosts: files gns [NOTFOUND=return] dns +networks: files dns + +services: db files +protocols: db files +rpc: db files +ethers: db files +netmasks: files +netgroup: files +bootparams: files + +automount: files +aliases: files
\ No newline at end of file diff --git a/contrib/packages/guix/gnunet-doc.scm b/contrib/packages/guix/gnunet-doc.scm new file mode 100644 index 0000000000..a2a9a2393c --- /dev/null +++ b/contrib/packages/guix/gnunet-doc.scm @@ -0,0 +1,165 @@ +;;; This file is part of GNUnet. +;;; Copyright (C) 2016, 2017 GNUnet e.V. +;;; +;;; GNUnet is free software; you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published +;;; by the Free Software Foundation; either version 3, or (at your +;;; option) any later version. +;;; +;;; GNUnet is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;; General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNUnet; see the file COPYING. If not, write to the +;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;;; Boston, MA 02110-1301, USA. +;;; + +(use-modules + (ice-9 popen) + (ice-9 match) + (ice-9 rdelim) + (guix packages) + (guix build-system gnu) + (guix gexp) + ((guix build utils) #:select (with-directory-excursion)) + (guix git-download) + (guix utils) ; current-source-directory + (gnu packages) + (gnu packages aidc) + (gnu packages autotools) + (gnu packages backup) + (gnu packages base) + (gnu packages compression) + (gnu packages curl) + (gnu packages databases) + (gnu packages file) + (gnu packages gettext) + (gnu packages glib) + (gnu packages gnome) + (gnu packages gnunet) + (gnu packages gnupg) + (gnu packages gnuzilla) + (gnu packages groff) + (gnu packages gstreamer) + (gnu packages gtk) + (gnu packages guile) + (gnu packages image) + (gnu packages image-viewers) + (gnu packages libidn) + (gnu packages libunistring) + (gnu packages linux) + (gnu packages maths) + (gnu packages multiprecision) + (gnu packages perl) + (gnu packages pkg-config) + (gnu packages pulseaudio) + (gnu packages python) + (gnu packages tex) + (gnu packages texinfo) + (gnu packages tex) + (gnu packages tls) + (gnu packages video) + (gnu packages web) + (gnu packages xiph) + ((guix licenses) #:prefix license:)) + +(define %source-dir (string-append (current-source-directory) + "/../../../")) + +(define gnunet-doc + (let* ((revision "1") + (select? (delay (or (git-predicate + (string-append (current-source-directory) + "/../../../")) + source-file?)))) + (package + (name "gnunet-doc") + (version (string-append "0.10.1-" revision "." "dev")) + (source + (local-file ;;"../../.." + ;;%source-dir + ;;(string-append (getcwd) "/../../../") + (string-append (getcwd)) ;drrty hack and this assumes one static position FIXME! + #:recursive? #t)) + ;;#:select? (git-predicate %source-dir))) + ;;#:select? (force select?))) + (build-system gnu-build-system) + (inputs + `(("glpk" ,glpk) + ("gnurl" ,gnurl) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("gnutls" ,gnutls) ;Change to gnutls/dane once it is merged. + ("libextractor" ,libextractor) + ("libgcrypt" ,libgcrypt) + ("libidn" ,libidn) + ("libmicrohttpd" ,libmicrohttpd) + ("libltdl" ,libltdl) + ("libunistring" ,libunistring) + ("openssl" ,openssl) + ("opus" ,opus) + ("pulseaudio" ,pulseaudio) + ("sqlite" ,sqlite) + ("postgresql" ,postgresql) + ("mysql" ,mysql) + ("zlib" ,zlib) + ("perl" ,perl) + ("python" ,python) ; tests and gnunet-qr + ("jansson" ,jansson) + ("nss" ,nss) + ("glib" ,glib "bin") + ("gmp" ,gmp) + ("bluez" ,bluez) ; for optional bluetooth feature + ("glib" ,glib) + ;;("texlive-minimal" ,texlive-minimal) ; optional. + ("texlive" ,texlive) + ("libogg" ,libogg))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("gnu-gettext" ,gnu-gettext) + ("texinfo" ,texinfo) + ("libtool" ,libtool))) + (arguments + `(#:tests? #f ;Don't run tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'autoconf + (lambda _ + (substitute* "bootstrap" + (("contrib/pogen.sh") "sh contrib/pogen.sh")) + (for-each (lambda (f) (chmod f #o755)) + (find-files "po" "")) + (zero? (system* "sh" "bootstrap")))) + (replace 'build + (lambda _ + (chdir "doc") + (zero? (system* "make" "doc-all-give-me-the-noise")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/gnunet"))) + (mkdir-p doc) + (mkdir-p (string-append doc "/gnunet")) + (install-file "gnunet.pdf" doc) + (install-file "gnunet.info" doc) + (copy-recursively "gnunet" + (string-append doc + "/gnunet")) + (install-file "gnunet-c-tutorial.pdf" doc) + (install-file "gnunet-c-tutorial.info" doc) + (copy-recursively "gnunet-c-tutorial" + (string-append doc + "/gnunet-c-tutorial"))) + #t))))) + (synopsis "Documentation of GNUnet") + (description + "GNUnet documentation build") + (license (list license:fdl1.3+ license:gpl3+)) + (home-page "https://gnunet.org/")))) + +gnunet-doc diff --git a/contrib/packages/guix/guix-env.scm b/contrib/packages/guix/guix-env.scm index cf7ccb85a2..6946fee570 100644 --- a/contrib/packages/guix/guix-env.scm +++ b/contrib/packages/guix/guix-env.scm @@ -81,6 +81,7 @@ (gnu packages python) (gnu packages tex) (gnu packages texinfo) + (gnu packages tex) (gnu packages tls) (gnu packages video) (gnu packages web) @@ -91,7 +92,7 @@ "/../../../")) (define gnunet-git - (let* ((revision "2") + (let* ((revision "3") (select? (delay (or (git-predicate (string-append (current-source-directory) "/../../../")) @@ -131,12 +132,14 @@ ("python" ,python) ; tests and gnunet-qr ("jansson" ,jansson) ("nss" ,nss) + ("glib" ,glib "bin") ("gmp" ,gmp) ("bluez" ,bluez) ; for optional bluetooth feature ("glib" ,glib) ;; There are currently no binary substitutes for texlive on ;; hydra.gnu.org or its mirrors due to its size. Uncomment if you need it. ;;("texlive-minimal" ,texlive-minimal) ; optional. + ("texlive" ,texlive) ("libogg" ,libogg))) (native-inputs `(("pkg-config" ,pkg-config) @@ -150,7 +153,7 @@ (outputs '("out" "debug")) (arguments `(#:configure-flags - (list (string-append "--with-nssdir=" %output "/lib") + (list (string-append "--with-nssdir=" %output "/lib");"/lib/gnunet/nss") "--enable-gcc-hardening" "--enable-linker-hardening" @@ -174,6 +177,14 @@ (add-after 'patch-bin-sh 'bootstrap (lambda _ (zero? (system* "sh" "bootstrap")))) + ;; (add-after 'install 'install-lib-nss + ;; (lambda* (#:key outputs #:allow-other-keys) + ;; (let* ((out (assoc-ref outputs "out")) + ;; (lib (string-append out "/lib/nss/"))) + ;; (mkdir-p lib) + ;; (copy-recursively "src/gns/nss/" lib) + ;; (install-file "ping" "combobreak")) + ;; #t)) (delete 'check)))) ;; XXX: https://gnunet.org/bugs/view.php?id=4619 ;; (add-after 'install 'set-path-for-check diff --git a/contrib/packages/guix/packages/gnunet/packages/gnunet.scm b/contrib/packages/guix/packages/gnunet/packages/gnunet.scm index 7de216f1df..7840705a63 100644 --- a/contrib/packages/guix/packages/gnunet/packages/gnunet.scm +++ b/contrib/packages/guix/packages/gnunet/packages/gnunet.scm @@ -61,8 +61,8 @@ ;; Explanation for name scheme: UNIXPATH is capped at 108 characters, ;; this causes lots of tests to fail. (define-public gnunetg - (let* ((commit "292cc51b35bcb727fa80b7c95730dae02e41a7d4") - (revision "28")) + (let* ((commit "b005d5e4dac03fcfdabf0d0de434da3b295f6d63") + (revision "30")) (package (inherit gnunet) (name "gnunetg") @@ -77,7 +77,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0sapap3y7bakmmbj5jijbp60xbmaqiliwcsk9qfgaz571wsccpy3")))) + "10wfb58pi55399cw100vplq3f8nxg2vl6sywcmvkx3wg1d3firla")))) (build-system gnu-build-system) (inputs `(("glpk" ,glpk) @@ -220,7 +220,7 @@ (replace 'build (lambda _ (chdir "doc") - (zero? (system* "make" "doc-all")))) + (zero? (system* "make" "doc-all-give-me-the-noise")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -231,7 +231,12 @@ (install-file "gnunet.info" doc) (copy-recursively "gnunet" (string-append doc - "/gnunet"))) + "/gnunet")) + (install-file "gnunet-c-tutorial.pdf" doc) + (install-file "gnunet-c-tutorial.info" doc) + (copy-recursively "gnunet-c-tutorial" + (string-append doc + "/gnunet-c-tutorial"))) #t))))) (synopsis "GNUnet documentation") (description diff --git a/doc/Makefile.am b/doc/Makefile.am index 72c0734961..07aafbb519 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -3,34 +3,41 @@ SUBDIRS = man doxygen docdir = $(datadir)/doc/gnunet/ -gnunet_doc_images = \ - images/gnunet-gtk-0-10-gns-a-done.png \ - images/gnunet-gtk-0-10-gns-a.png \ - images/daemon_lego_block.png \ - images/gnunet-gtk-0-10-gns.png \ - images/gnunet-0-10-peerinfo.png \ - images/gnunet-gtk-0-10-identity.png \ - images/gnunet-fs-gtk-0-10-star-tab.png \ - images/gnunet-gtk-0-10.png \ - images/gnunet-gtk-0-10-download-area.png \ - images/gnunet-gtk-0-10-search-selected.png \ - images/gnunet-gtk-0-10-fs-menu.png \ - images/gnunet-gtk-0-10-traffic.png \ - images/gnunet-gtk-0-10-fs.png \ - images/gnunet-namestore-gtk-phone.png \ - images/gnunet-gtk-0-10-fs-publish-editing.png \ - images/gnunet-namestore-gtk-vpn.png \ - images/gnunet-gtk-0-10-fs-published.png \ - images/gnunet-setup-exit.png \ - images/gnunet-gtk-0-10-fs-publish.png \ - images/iceweasel-preferences.png \ - images/gnunet-gtk-0-10-fs-publish-select.png \ - images/iceweasel-proxy.png \ - images/gnunet-gtk-0-10-fs-publish-with-file_0.png \ - images/service_lego_block.png \ - images/gnunet-gtk-0-10-fs-publish-with-file.png \ - images/service_stack.png \ - images/gnunet-gtk-0-10-fs-search.png +infoimagedir = $(infodir)/images + +dist_infoimage_DATA = \ + %D%/images/gnunet-gtk-0-10-gns-a-done.png \ + %D%/images/gnunet-gtk-0-10-gns-a.png \ + %D%/images/daemon_lego_block.png \ + %D%/images/gnunet-gtk-0-10-gns.png \ + %D%/images/gnunet-0-10-peerinfo.png \ + %D%/images/gnunet-gtk-0-10-identity.png \ + %D%/images/gnunet-fs-gtk-0-10-star-tab.png \ + %D%/images/gnunet-gtk-0-10.png \ + %D%/images/gnunet-gtk-0-10-download-area.png \ + %D%/images/gnunet-gtk-0-10-search-selected.png \ + %D%/images/gnunet-gtk-0-10-fs-menu.png \ + %D%/images/gnunet-gtk-0-10-traffic.png \ + %D%/images/gnunet-gtk-0-10-fs.png \ + %D%/images/gnunet-namestore-gtk-phone.png \ + %D%/images/gnunet-gtk-0-10-fs-publish-editing.png \ + %D%/images/gnunet-namestore-gtk-vpn.png \ + %D%/images/gnunet-gtk-0-10-fs-published.png \ + %D%/images/gnunet-setup-exit.png \ + %D%/images/gnunet-gtk-0-10-fs-publish.png \ + %D%/images/iceweasel-preferences.png \ + %D%/images/gnunet-gtk-0-10-fs-publish-select.png \ + %D%/images/iceweasel-proxy.png \ + %D%/images/gnunet-gtk-0-10-fs-publish-with-file_0.png \ + %D%/images/service_lego_block.png \ + %D%/images/gnunet-gtk-0-10-fs-publish-with-file.png \ + %D%/images/service_stack.png \ + %D%/images/gnunet-gtk-0-10-fs-search.png \ + %D%/images/gnunet-tutorial-service.png \ + %D%/images/gnunet-tutorial-system.png \ + %D%/images/daemon_lego_block.svg \ + %D%/images/lego_stack.svg \ + %D%/images/service_lego_block.svg gnunet_tutorial_examples = \ 001.c \ @@ -74,9 +81,22 @@ gnunet_TEXINFOS = \ EXTRA_DIST = \ $(gnunet_TEXINFOS) \ - $(gnunet_doc_images) \ $(gnunet_tutorial_examples) \ - outdated-and-old-installation-instructions.txt + outdated-and-old-installation-instructions.txt \ + gnunet-c-tutorial-v1.pdf \ + README.txt + +daemon_lego_block.png: images/daemon_lego_block.svg + convert images/daemon_lego_block.svg images/daemon_lego_block.png && + pngcrush images/daemon_lego_block.png images/daemon_lego_block.png + +service_lego_block.png: images/service_lego_block.svg + convert images/service_lego_block.svg images/service_lego_block.png && + pngcrush images/service_lego_block.png images/serivce_lego_block.png + +lego_stack.png: images/lego_stack.svg + convert images/lego_stack.svg images/lego_stack.png && + pngcrush images/lego_stack.png images/lego_stack.png version.texi: echo "@set UPDATED $(date +'%d %B %Y')" > $@ @@ -105,4 +125,21 @@ doc-clean: doc-all: doc-pdf doc-html doc-info doc-pdf-tutorial doc-html-tutorial doc-info-tutorial +doc-pdf-noise: version.texi + @makeinfo --pdf gnunet.texi +doc-pdf-tutorial-noise: version.texi + @makeinfo --pdf gnunet-c-tutorial.texi + +doc-html-noise: version.texi + @makeinfo --html gnunet.texi +doc-html-tutorial-noise: version.texi + @makeinfo --html gnunet-c-tutorial.texi + +doc-info-noise: version.texi + @makeinfo --no-split gnunet.texi +doc-info-tutorial-noise: version.texi + @makeinfo --no-split gnunet-c-tutorial.texi + +doc-all-give-me-the-noise: doc-pdf-noise doc-html-noise doc-info-noise doc-pdf-tutorial-noise doc-html-tutorial-noise doc-info-tutorial-noise + .PHONY: version.texi diff --git a/doc/README.txt b/doc/README.txt new file mode 100644 index 0000000000..2abe479dd7 --- /dev/null +++ b/doc/README.txt @@ -0,0 +1,42 @@ +* What's left to do + +- Which Texlive modules are needed? Decrease the size. +- Update the content of gnunet documentation. + +* How to use (hack) on this + +** with guix + +export the environment variable GUIX_PACKAGE_PATH as $GUIX_PACKAGE_PATH:gnunet/contrib/packages/guix/packages +guix environment gnunet-doc + +** without guix + +You need to have Texinfo and Texlive in your path. +sh bootstrap +./configure +cd doc +make doc-all-give-me-the-noise + +* structure (relations) + +** gnunet.texi + -> chapters/developer.texi + -> chapters/installation.texi + -> chapters/philosophy.texi + -> chapters/user.texi + -> images/* + -> gpl-3.0.texi + -> fdl-1.3.texi + +** gnunet-c-tutorial.texi + -> figs/Service.pdf + -> figs/System.pdf + -> tutorial-examples/*.c + -> gpl-3.0.texi + -> fdl-1.3.texi + +- gnunet-c-tutorial-v1.pdf: original LaTeX "gnunet-c-tutorial.pdf". +- man folder: the man pages. +- doxygen folder +- outdated-and-old-installation-instructions.txt: self described within the file. diff --git a/doc/figs/Service.pdf b/doc/figs/Service.pdf Binary files differdeleted file mode 100644 index e9569cc7a8..0000000000 --- a/doc/figs/Service.pdf +++ /dev/null diff --git a/doc/figs/System.pdf b/doc/figs/System.pdf Binary files differdeleted file mode 100644 index 70dc6ff2b2..0000000000 --- a/doc/figs/System.pdf +++ /dev/null diff --git a/doc/gnunet-c-tutorial.pdf b/doc/gnunet-c-tutorial.pdf Binary files differdeleted file mode 100644 index 115ed77028..0000000000 --- a/doc/gnunet-c-tutorial.pdf +++ /dev/null diff --git a/doc/gnunet-c-tutorial.texi b/doc/gnunet-c-tutorial.texi index 2e4bd9a45e..4f56ae5c49 100644 --- a/doc/gnunet-c-tutorial.texi +++ b/doc/gnunet-c-tutorial.texi @@ -228,6 +228,12 @@ a DHT). @c** FXIME: See comment above. @c** See figure ~\ref{fig:interaction} for an illustration of this approach. +@c ** @image{filename[, width[, height[, alttext[, extension]]]]} + +@image{images/gnunet-tutorial-service,,5in,Service with API and network protocol,.png} + +@image{images/gnunet-tutorial-system,,5in,The layered system architecture of GNUnet,.png} + @c \begin{figure}[!h] @c \begin{center} @c % \begin{subfigure} diff --git a/doc/images/daemon_lego_block.svg b/doc/images/daemon_lego_block.svg new file mode 100644 index 0000000000..38ad90d134 --- /dev/null +++ b/doc/images/daemon_lego_block.svg @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg6781" + version="1.1" + inkscape:version="0.48.2 r9819" + sodipodi:docname="New document 58"> + <defs + id="defs6783" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="375" + inkscape:cy="520" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1366" + inkscape:window-height="721" + inkscape:window-x="-2" + inkscape:window-y="-3" + inkscape:window-maximized="1" /> + <metadata + id="metadata6786"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + transform="translate(-4.5298577,-148.04661)" + id="g6746"> + <path + style="fill:#5fd38d;fill-opacity:1;stroke:#faf6a2;stroke-width:1.99014676;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 183.84284,595.7683 350.8064,0 0,202.04036 -350.8064,0 z" + id="path6693" + inkscape:connector-curvature="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#faf6a2;stroke-width:2.22747946;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6695" + width="66.670067" + height="75.18058" + x="223.74881" + y="737.19458" /> + <rect + y="737.19458" + x="331.83514" + height="67.323441" + width="66.670067" + id="rect6697" + style="fill:#ffffff;fill-opacity:1;stroke:#faf6a2;stroke-width:2.10787106;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#faf6a2;stroke-width:2.06117821;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6699" + width="66.670067" + height="64.373825" + x="434.8707" + y="737.19458" /> + <path + style="fill:#37c871;fill-opacity:1;stroke:#faf6a2;stroke-width:0.98368376;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 223.60976,736.21851 67.23534,0.38374 0,23.63648 -67.23534,37.13818 z" + id="path6701" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6703" + d="m 331.69608,736.21851 67.23534,0.3894 0,23.98466 -67.23534,37.68524 z" + style="fill:#37c871;fill-opacity:1;stroke:#faf6a2;stroke-width:0.99090236;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + style="fill:#37c871;fill-opacity:1;stroke:#faf6a2;stroke-width:0.98368376;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 434.73164,736.21851 67.23534,0.38374 0,23.63648 -67.23534,37.13818 z" + id="path6705" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#37c871;fill-opacity:1;stroke:#faf6a2;stroke-width:1.92068994;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 533.72659,595.02309 56.12366,-29.34622 -1.01015,190.24271 -55.11351,41.45733 z" + id="path6707" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#37c871;fill-opacity:1;stroke:#faf6a2;stroke-width:1.99424875;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 245.46708,566.47881 345.46203,-1.01015 -56.56854,31.31472 -349.50264,-1.01014 z" + id="path6709" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <text + sodipodi:linespacing="125%" + id="text6715" + y="677.59558" + x="234.35539" + style="font-size:36px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="677.59558" + x="234.35539" + id="tspan6717" + sodipodi:role="line">User Interface</tspan></text> + </g> + </g> +</svg> diff --git a/doc/images/gnunet-tutorial-service.png b/doc/images/gnunet-tutorial-service.png Binary files differnew file mode 100644 index 0000000000..6daed2f35f --- /dev/null +++ b/doc/images/gnunet-tutorial-service.png diff --git a/doc/images/gnunet-tutorial-system.png b/doc/images/gnunet-tutorial-system.png Binary files differnew file mode 100644 index 0000000000..8b54e16cf2 --- /dev/null +++ b/doc/images/gnunet-tutorial-system.png diff --git a/doc/images/lego_stack.svg b/doc/images/lego_stack.svg new file mode 100644 index 0000000000..a0e8017c39 --- /dev/null +++ b/doc/images/lego_stack.svg @@ -0,0 +1,737 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + version="1.1" + inkscape:version="0.48.1 r9760" + sodipodi:docname="System.svg"> + <defs + id="defs4"> + <linearGradient + id="linearGradient6602"> + <stop + style="stop-color:#df8060;stop-opacity:1;" + offset="0" + id="stop6604" /> + <stop + style="stop-color:#df8002;stop-opacity:0;" + offset="1" + id="stop6606" /> + </linearGradient> + <linearGradient + id="linearGradient4392" + osb:paint="solid"> + <stop + style="stop-color:#faf6a6;stop-opacity:1;" + offset="0" + id="stop4394" /> + </linearGradient> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="883.99395 : 559.99673 : 1" + inkscape:vp_y="13.319386 : 993.87659 : 0" + inkscape:vp_z="285.3157 : 504.79962 : 1" + inkscape:persp3d-origin="481.39556 : 281.96355 : 1" + id="perspective3070" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="76.097926 : 349.87282 : 1" + inkscape:vp_y="-13.319386 : 979.366 : 0" + inkscape:vp_z="752.55793 : 376.31441 : 1" + inkscape:persp3d-origin="373.64045 : 350.98006 : 1" + id="perspective3012" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.98994949" + inkscape:cx="322.06882" + inkscape:cy="568.82291" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="846" + inkscape:window-height="963" + inkscape:window-x="59" + inkscape:window-y="0" + inkscape:window-maximized="0" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="352.03815" + y="-190.12544" + id="text6623" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6625" + x="352.03815" + y="-190.12544" /></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="338.40109" + y="-300.73715" + id="text6627" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6629" + x="338.40109" + y="-300.73715" /></text> + <g + style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + id="text6643" /> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="71.720833" + y="95.747719" + id="text6648" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6650" + x="71.720833" + y="95.747719" /></text> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="262.63965" + y="666.48389" + id="text6711" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6713" + x="262.63965" + y="666.48389" /></text> + <path + inkscape:connector-curvature="0" + id="path3506" + d="m 198.00647,673.76257 236.93358,0 0,158.2919 -236.93358,0 z" + style="fill:#000000;fill-opacity:1;stroke:#faf6a2;stroke-width:1.44768786;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path3432" + d="m 169.32669,654.90334 464.83332,-2.26992 -33.76593,25.73079 -483.97287,-0.12904 z" + style="fill:#deaa87;fill-opacity:1;stroke:#faf6a2;stroke-width:2.18398547;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <rect + style="fill:#000000;fill-opacity:1;stroke:#59000c;stroke-width:1.35822594;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0.48230088;stroke-dasharray:none;stroke-dashoffset:0" + id="rect3416" + width="28.495705" + height="172.2845" + x="464.19418" + y="518.96954" /> + <rect + style="fill:#000000;fill-opacity:1;stroke:#59000c;stroke-width:1.36876941;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0.48230088;stroke-dasharray:none;stroke-dashoffset:0" + id="rect3414" + width="34.729141" + height="170.67587" + x="340.86124" + y="517.93475" /> + <path + style="fill:#deaa87;fill-opacity:1;stroke:#faf6a2;stroke-width:2.04969239;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 246.8138,499.06358 386.50295,-0.94821 -41.88736,26.04231 -413.96081,0 z" + id="rect6568-0" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#ffdd55;fill-opacity:1;stroke:#faf6a2;stroke-width:1.49989259;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 276.05867,399.52042 323.05541,0 0,124.61741 -323.05541,0 z" + id="rect5973" + inkscape:connector-curvature="0" /> + <path + style="fill:#ffcc00;fill-opacity:1;stroke:#faf6a2;stroke-width:1.19094384;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 599.16863,399.06078 34.35465,-18.10059 0,117.34068 -34.35465,25.57066 z" + id="rect6542" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <rect + style="fill:#c87137;fill-opacity:1;stroke:#c48069;stroke-width:1.50087094;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6557" + width="322.88623" + height="30.529778" + x="276.67755" + y="368.99368" /> + <path + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:0.50882494;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 598.94047,368.99367 34.58281,-16.82253 0,28.66061 -34.58281,18.06864 z" + id="rect6561" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6564" + d="m 598.94047,369.07046 34.30741,-17.12981 0,29.18412 -34.30741,18.39868 z" + style="fill:#c87137;fill-opacity:1;stroke:#faf6a2;stroke-width:0.51140249;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + inkscape:transform-center-x="-70.147578" + inkscape:transform-center-y="15.429055" /> + <path + style="fill:#d38d5f;fill-opacity:1;stroke:#faf6a2;stroke-width:1.47079194;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 330.2508,353.23478 302.87005,-0.62306 -38.33414,16.82253 -318.87597,0 z" + id="rect6568" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:22.32217598px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="391.63083" + y="461.858" + id="text6656" + sodipodi:linespacing="125%" + transform="scale(1.0052948,0.9947331)"><tspan + sodipodi:role="line" + id="tspan6658" + x="391.63083" + y="461.858">Service</tspan></text> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6707" + d="m 598.75503,244.83802 34.98432,-18.10059 0.26082,125.2709 -35.24514,17.64044 z" + style="fill:#37c871;fill-opacity:1;stroke:#faf6a2;stroke-width:1.19094384;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6709" + d="m 419.07032,228.1132 214.71185,-1.24611 -34.63196,19.9378 L 381.29,246.18184 z" + style="fill:#37c871;fill-opacity:1;stroke:#faf6a2;stroke-width:1.23655474;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <rect + style="fill:#5fd38d;fill-opacity:1;stroke:#c48069;stroke-width:1.23640049;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect7224" + width="217.86653" + height="122.74216" + x="381.70358" + y="246.25151" /> + <text + xml:space="preserve" + style="font-size:22.32217598px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="409.16376" + y="302.05649" + id="text6715" + sodipodi:linespacing="125%" + transform="scale(1.0052948,0.9947331)"><tspan + sodipodi:role="line" + id="tspan6717" + x="409.16376" + y="302.05649">User Interface</tspan></text> + <g + id="g7219" + transform="matrix(0.62334353,0,0,0.61679464,281.18563,257.70936)"> + <rect + y="119.99139" + x="198.49498" + height="60.609154" + width="66.670067" + id="rect6571" + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text6631" + y="160.39748" + x="206.07112" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="160.39748" + x="206.07112" + id="tspan6633" + sodipodi:role="line">API</tspan></text> + </g> + <g + transform="matrix(0.62334353,0,0,0.61679464,344.78251,257.70936)" + id="g7226"> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect7228" + width="66.670067" + height="60.609154" + x="198.49498" + y="119.99139" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="206.07112" + y="160.39748" + id="text7230" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan7232" + x="206.07112" + y="160.39748">API</tspan></text> + </g> + <g + id="g7234" + transform="matrix(0.62334353,0,0,0.61679464,409.3239,257.70936)"> + <rect + y="119.99139" + x="198.49498" + height="60.609154" + width="66.670067" + id="rect7236" + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text7238" + y="160.39748" + x="206.07112" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="160.39748" + x="206.07112" + id="tspan7240" + sodipodi:role="line">API</tspan></text> + </g> + <g + transform="matrix(0.62334353,0,0,0.61679464,175.75806,412.85048)" + id="g7242"> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect7244" + width="66.670067" + height="60.609154" + x="198.49498" + y="119.99139" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="206.07112" + y="160.39748" + id="text7246" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan7248" + x="206.07112" + y="160.39748">API</tspan></text> + </g> + <g + id="g7250" + transform="matrix(0.62334353,0,0,0.61679464,240.79871,413.29105)"> + <rect + y="119.99139" + x="198.49498" + height="60.609154" + width="66.670067" + id="rect7252" + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text7254" + y="160.39748" + x="206.07112" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="160.39748" + x="206.07112" + id="tspan7256" + sodipodi:role="line">API</tspan></text> + </g> + <g + transform="matrix(0.62334353,0,0,0.61679464,303.79756,412.40991)" + id="g7258"> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect7260" + width="66.670067" + height="60.609154" + x="198.49498" + y="119.99139" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="206.07112" + y="160.39748" + id="text7262" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan7264" + x="206.07112" + y="160.39748">API</tspan></text> + </g> + <g + id="g7266" + transform="matrix(0.62334353,0,0,0.61679464,369.88148,412.40991)"> + <rect + y="119.99139" + x="198.49498" + height="60.609154" + width="66.670067" + id="rect7268" + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text7270" + y="160.39748" + x="206.07112" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="160.39748" + x="206.07112" + id="tspan7272" + sodipodi:role="line">API</tspan></text> + </g> + <path + style="fill:#ffeeaa;fill-opacity:1;stroke:#faf6a2;stroke-width:0.91879815;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 478.56081,554.09281 121.22633,0 0,124.61741 -121.22633,0 z" + id="rect5973-1" + inkscape:connector-curvature="0" /> + <g + transform="matrix(0.62334353,0,0,0.61679464,422.424,566.60858)" + id="g3474"> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect3476" + width="66.670067" + height="60.609154" + x="198.49498" + y="119.99139" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="206.07112" + y="160.39748" + id="text3478" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3480" + x="206.07112" + y="160.39748">API</tspan></text> + </g> + <path + style="fill:#ffe680;fill-opacity:1;stroke:#faf6a2;stroke-width:1.18771458;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 599.60339,554.02055 33.72575,-29.55535 0.88568,128.35487 -34.61143,26.01123 z" + id="rect6542-8" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6564-2" + d="m 598.92998,524.03024 34.30741,-25.94116 0,26.5407 -34.30741,29.85344 z" + style="fill:#d38d5f;fill-opacity:1;stroke:#faf6a2;stroke-width:0.51140249;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + inkscape:transform-center-x="-70.147578" + inkscape:transform-center-y="15.429055" /> + <path + inkscape:transform-center-y="15.492457" + inkscape:transform-center-x="-70.147578" + style="fill:#c87137;fill-opacity:1;stroke:#faf6a2;stroke-width:0.51245213;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 598.92998,524.13683 34.30741,-26.04775 0,26.64977 -34.30741,29.97611 z" + id="path3402" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path3404" + d="m 599.82047,678.2289 34.30741,-25.94116 0,26.5407 -34.30741,34.25912 z" + style="fill:#c87137;fill-opacity:1;stroke:#faf6a2;stroke-width:0.51140249;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + inkscape:transform-center-x="-70.147578" + inkscape:transform-center-y="15.429055" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path3406" + d="m 600.04863,707.77865 33.90941,-29.55535 0.89049,128.35487 -34.7999,26.01123 z" + style="fill:#37c837;fill-opacity:1;stroke:#faf6a2;stroke-width:1.19094384;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + inkscape:connector-curvature="0" + id="path3410" + d="m 356.56358,554.09281 120.92249,0 0,124.19268 -120.92249,0 z" + style="fill:#ffeeaa;fill-opacity:1;stroke:#faf6a2;stroke-width:0.91608089;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + style="fill:#ffeeaa;fill-opacity:1;stroke:#faf6a2;stroke-width:1.11023378;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 177.52518,554.09281 177.51841,0 0,124.25702 -177.51841,0 z" + id="path3412" + inkscape:connector-curvature="0" /> + <rect + style="fill:#c87137;fill-opacity:1;stroke:#c48069;stroke-width:1.11264122;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6557-7" + width="177.44882" + height="30.529778" + x="177.65657" + y="523.95343" /> + <rect + y="678.1521" + x="116.73995" + height="29.53463" + width="177.54182" + id="rect3408" + style="fill:#c87137;fill-opacity:1;stroke:#c48069;stroke-width:1.09464383;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + y="523.95343" + x="356.55023" + height="30.529778" + width="120.86897" + id="rect3420" + style="fill:#c87137;fill-opacity:1;stroke:#c48069;stroke-width:0.91828173;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + style="fill:#c87137;fill-opacity:1;stroke:#c48069;stroke-width:0.91828173;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect3422" + width="120.86897" + height="30.529778" + x="478.54919" + y="523.95343" /> + <text + xml:space="preserve" + style="font-size:22.32217598px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="372.34232" + y="622.53217" + id="text6656-2" + sodipodi:linespacing="125%" + transform="scale(1.0052948,0.9947331)"><tspan + sodipodi:role="line" + id="tspan6658-2" + x="372.34232" + y="622.53217">Service</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3424" + y="622.53217" + x="220.56013" + style="font-size:22.32217598px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve" + transform="scale(1.0052948,0.9947331)"><tspan + y="622.53217" + x="220.56013" + id="tspan3426" + sodipodi:role="line">Service</tspan></text> + <text + xml:space="preserve" + style="font-size:22.32217598px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="493.85532" + y="622.54492" + id="text3428" + sodipodi:linespacing="125%" + transform="scale(1.0052948,0.9947331)"><tspan + sodipodi:role="line" + id="tspan3430" + x="493.85532" + y="622.54492">Service</tspan></text> + <g + id="g3434" + transform="matrix(0.62334353,0,0,0.61679464,120.10238,566.60858)"> + <rect + y="119.99139" + x="198.49498" + height="60.609154" + width="66.670067" + id="rect3436" + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text3438" + y="160.39748" + x="206.07112" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="160.39748" + x="206.07112" + id="tspan3440" + sodipodi:role="line">API</tspan></text> + </g> + <g + transform="matrix(0.62334353,0,0,0.61679464,181.54625,566.60858)" + id="g3442"> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect3444" + width="66.670067" + height="60.609154" + x="198.49498" + y="119.99139" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="206.07112" + y="160.39748" + id="text3446" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3448" + x="206.07112" + y="160.39748">API</tspan></text> + </g> + <g + id="g3450" + transform="matrix(0.62334353,0,0,0.61679464,242.09962,566.60858)"> + <rect + y="119.99139" + x="198.49498" + height="60.609154" + width="66.670067" + id="rect3452" + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text3454" + y="160.39748" + x="206.07112" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="160.39748" + x="206.07112" + id="tspan3456" + sodipodi:role="line">API</tspan></text> + </g> + <g + transform="matrix(0.62334353,0,0,0.61679464,303.54348,566.60858)" + id="g3458"> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect3460" + width="66.670067" + height="60.609154" + x="198.49498" + y="119.99139" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="206.07112" + y="160.39748" + id="text3462" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3464" + x="206.07112" + y="160.39748">API</tspan></text> + </g> + <g + id="g3466" + transform="matrix(0.62334353,0,0,0.61679464,362.76112,566.60858)"> + <rect + y="119.99139" + x="198.49498" + height="60.609154" + width="66.670067" + id="rect3468" + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text3470" + y="160.39748" + x="206.07112" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="160.39748" + x="206.07112" + id="tspan3472" + sodipodi:role="line">API</tspan></text> + </g> + <path + style="fill:#5fd35f;fill-opacity:1;stroke:#faf6a2;stroke-width:1.11993289;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 420.2626,707.53388 180.11119,0 0,124.61741 -180.11119,0 z" + id="path3490" + inkscape:connector-curvature="0" /> + <g + transform="matrix(0.62334353,0,0,0.61679464,62.665728,566.60858)" + id="g3492"> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect3494" + width="66.670067" + height="60.609154" + x="198.49498" + y="119.99139" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="206.07112" + y="160.39748" + id="text3496" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3498" + x="206.07112" + y="160.39748">API</tspan></text> + </g> + <path + inkscape:connector-curvature="0" + id="path3500" + d="m 116.52597,707.54132 177.63643,0 0,124.61741 -177.63643,0 z" + style="fill:#5fd35f;fill-opacity:1;stroke:#faf6a2;stroke-width:1.11221218;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + style="fill:#5fd35f;fill-opacity:1;stroke:#faf6a2;stroke-width:0.92545629;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 295.65636,707.63061 122.98965,0 0,124.61741 -122.98965,0 z" + id="path3502" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-size:22.32217598px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="162.54019" + y="779.76184" + id="text3508" + sodipodi:linespacing="125%" + transform="scale(1.0052948,0.9947331)"><tspan + sodipodi:role="line" + id="tspan3510" + x="162.54019" + y="779.76184">Service</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3512" + y="779.7619" + x="313.56918" + style="font-size:22.32217598px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve" + transform="scale(1.0052948,0.9947331)"><tspan + y="779.7619" + x="313.56918" + id="tspan3514" + sodipodi:role="line">Service</tspan></text> + <text + xml:space="preserve" + style="font-size:22.32217598px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="465.48401" + y="779.7619" + id="text3516" + sodipodi:linespacing="125%" + transform="scale(1.0052948,0.9947331)"><tspan + sodipodi:role="line" + id="tspan3518" + x="465.48401" + y="779.7619">Service</tspan></text> + <rect + style="fill:#c87137;fill-opacity:1;stroke:#c48069;stroke-width:0.91063529;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect3520" + width="122.86946" + height="29.53463" + x="295.75125" + y="678.1521" /> + <rect + y="678.1521" + x="420.27423" + height="29.53463" + width="179.80205" + id="rect3522" + style="fill:#c87137;fill-opacity:1;stroke:#c48069;stroke-width:1.10158956;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + </g> +</svg> diff --git a/doc/images/service_lego_block.svg b/doc/images/service_lego_block.svg new file mode 100644 index 0000000000..ef0d0234fd --- /dev/null +++ b/doc/images/service_lego_block.svg @@ -0,0 +1,345 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + version="1.1" + inkscape:version="0.48.2 r9819" + sodipodi:docname="Lego block 3.svg"> + <defs + id="defs4"> + <linearGradient + id="linearGradient6602"> + <stop + style="stop-color:#df8060;stop-opacity:1;" + offset="0" + id="stop6604" /> + <stop + style="stop-color:#df8002;stop-opacity:0;" + offset="1" + id="stop6606" /> + </linearGradient> + <linearGradient + id="linearGradient4392" + osb:paint="solid"> + <stop + style="stop-color:#faf6a6;stop-opacity:1;" + offset="0" + id="stop4394" /> + </linearGradient> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="883.99395 : 559.99673 : 1" + inkscape:vp_y="13.319386 : 993.87659 : 0" + inkscape:vp_z="285.3157 : 504.79962 : 1" + inkscape:persp3d-origin="481.39556 : 281.96355 : 1" + id="perspective3070" /> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="76.097926 : 349.87282 : 1" + inkscape:vp_y="-13.319386 : 979.366 : 0" + inkscape:vp_z="752.55793 : 376.31441 : 1" + inkscape:persp3d-origin="373.64045 : 350.98006 : 1" + id="perspective3012" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.49497475" + inkscape:cx="385.59974" + inkscape:cy="826.03166" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1366" + inkscape:window-height="721" + inkscape:window-x="-2" + inkscape:window-y="-3" + inkscape:window-maximized="1" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + style="fill:#ffdd55;fill-opacity:1;stroke:#faf6a2;stroke-width:2.26315212;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 74.934278,230.09308 453.654042,0 0,202.04036 -453.654042,0 z" + id="rect5973" + inkscape:connector-curvature="0" /> + <path + style="fill:#ffcc00;fill-opacity:1;stroke:#faf6a2;stroke-width:1.92068994;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 528.67583,229.34787 55.11351,-29.34622 0,190.24271 -55.11351,41.45733 z" + id="rect6542" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <rect + style="fill:#d38d5f;fill-opacity:1;stroke:#c48069;stroke-width:2.2674458;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6557" + width="454.54535" + height="49.497475" + x="74.764442" + y="180.60052" /> + <path + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:0.8206054;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 528.30981,180.60052 55.47954,-27.27412 0,46.46702 -55.47954,29.29442 z" + id="rect6561" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6564" + d="m 528.30981,180.72501 55.03773,-27.7723 0,47.31578 -55.03773,29.8295 z" + style="fill:#d38d5f;fill-opacity:1;stroke:#faf6a2;stroke-width:0.82476228;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + inkscape:transform-center-x="-70.147578" + inkscape:transform-center-y="15.429055" /> + <path + style="fill:#deaa87;fill-opacity:1;stroke:#faf6a2;stroke-width:2.23265362;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 153.39374,154.33657 430.4643,-1.01015 -54.4837,27.27411 -453.213248,0 z" + id="rect6568" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="352.03815" + y="-190.12544" + id="text6623" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6625" + x="352.03815" + y="-190.12544" /></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="338.40109" + y="-300.73715" + id="text6627" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6629" + x="338.40109" + y="-300.73715" /></text> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6571" + width="66.670067" + height="60.609154" + x="198.49498" + y="119.99139" /> + <path + style="fill:#ff6600;fill-opacity:1;stroke:#faf6a2;stroke-width:1.98413372;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 265.16503,119.45792 44.95179,-22.465406 0,57.057986 -44.95179,26.55003 z" + id="path6600" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#ff6600;fill-opacity:1;stroke:#c48069;stroke-width:1.99687159;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 243.06977,97.26295 66.86223,10e-7 -45.08135,22.728439 -66.3557,0 z" + id="path6617" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="206.07112" + y="160.39748" + id="text6631" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6633" + x="206.07112" + y="160.39748">API</tspan></text> + <rect + y="119.99139" + x="313.65237" + height="60.609154" + width="66.670067" + id="rect6573" + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6598" + d="m 379.81735,119.56755 44.95179,-22.425126 0,56.955676 -44.95179,26.50243 z" + style="fill:#ff6600;fill-opacity:1;stroke:#faf6a2;stroke-width:1.98235416;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6615" + d="m 358.25117,97.26295 66.89824,10e-7 -45.10563,22.728439 -66.39143,0 z" + style="fill:#ff6600;fill-opacity:1;stroke:#c48069;stroke-width:1.99740911;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <text + sodipodi:linespacing="125%" + id="text6635" + y="160.39748" + x="322.23865" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + xml:space="preserve"><tspan + y="160.39748" + x="322.23865" + id="tspan6637" + sodipodi:role="line">API</tspan></text> + <rect + style="fill:#ff9955;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6575" + width="66.670067" + height="60.609154" + x="428.80978" + y="119.99139" /> + <path + style="fill:#ff6600;fill-opacity:1;stroke:#faf6a2;stroke-width:1.98960423;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 494.97474,119.62537 44.95179,-22.589454 0,57.373054 -44.95179,26.69664 z" + id="rect6595" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#ff6600;fill-opacity:1;stroke:#c48069;stroke-width:1.99399996;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 473.25645,97.26295 66.67007,10e-7 -44.95179,22.728439 -66.16499,0 z" + id="rect6612" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="439.41635" + y="159.89241" + id="text6639" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6641" + x="439.41635" + y="159.89241">API</tspan></text> + <g + style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + id="text6643" /> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="71.720833" + y="95.747719" + id="text6648" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6650" + x="71.720833" + y="95.747719" /></text> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="176.77669" + y="216.96603" + id="text6652" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6654" + x="176.77669" + y="216.96603">Network Protocol</tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="233.34526" + y="312.93051" + id="text6656" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6658" + x="233.34526" + y="312.93051">Service</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#faf6a2;stroke-width:2.09665918;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6660" + width="66.670067" + height="66.609154" + x="216.67773" + y="371.51938" /> + <rect + y="371.51938" + x="322.74374" + height="64.373825" + width="66.670067" + id="rect6662" + style="fill:#ffffff;fill-opacity:1;stroke:#faf6a2;stroke-width:2.06117821;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:#faf6a2;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" + id="rect6664" + width="66.670067" + height="60.609154" + x="423.75903" + y="372.52951" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6666" + d="m 423.61996,372.56359 67.23534,-0.62641 0,19.59587 -68.24549,41.17879 z" + style="fill:#ffcc00;fill-opacity:1;stroke:#faf6a2;stroke-width:0.98368376;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + style="fill:#ffcc00;fill-opacity:1;stroke:#faf6a2;stroke-width:0.98368376;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 322.60471,371.55344 67.23534,0.38374 0,23.63648 -67.23534,37.13818 z" + id="path6668" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6670" + d="m 322.60471,371.55344 67.23534,0.38374 0,23.63648 -67.23534,37.13818 z" + style="fill:#ffcc00;fill-opacity:1;stroke:#faf6a2;stroke-width:0.98368376;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + <path + style="fill:#ffcc00;fill-opacity:1;stroke:#faf6a2;stroke-width:0.98368376;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" + d="m 216.53869,371.55344 67.23534,0.38374 0,23.63648 -67.23534,37.13818 z" + id="path6672" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="262.63965" + y="666.48389" + id="text6711" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6713" + x="262.63965" + y="666.48389" /></text> + <rect + y="371.51938" + x="111.62187" + height="70.798637" + width="66.670067" + id="rect6721" + style="fill:#ffffff;fill-opacity:1;stroke:#faf6a2;stroke-width:2.1615901;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path6723" + d="m 111.48283,370.54329 67.23534,0.38374 0,23.63648 -67.23534,37.13818 z" + style="fill:#ffcc00;fill-opacity:1;stroke:#faf6a2;stroke-width:0.98368376;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:0;stroke-dashoffset:0" /> + </g> +</svg> diff --git a/src/cadet/gnunet-service-cadet.c b/src/cadet/gnunet-service-cadet.c index af4cebfaac..c3e99e0ebe 100644 --- a/src/cadet/gnunet-service-cadet.c +++ b/src/cadet/gnunet-service-cadet.c @@ -638,6 +638,7 @@ handle_channel_destroy (void *cls, "%s tried to destroy unknown channel %X\n", GSC_2s(c), (uint32_t) ntohl (msg->ccn.channel_of_client)); + GNUNET_SERVICE_client_continue (c->client); return; } LOG (GNUNET_ERROR_TYPE_DEBUG, |