diff --git a/COPYING b/COPYING index 88798ab..caeca07 120000 --- a/COPYING +++ b/COPYING @@ -1 +1 @@ -/usr/share/automake-1.15/COPYING \ No newline at end of file +/usr/share/automake-1.14/COPYING \ No newline at end of file diff --git a/INSTALL b/INSTALL index ddcdb76..f812f5a 120000 --- a/INSTALL +++ b/INSTALL @@ -1 +1 @@ -/usr/share/automake-1.15/INSTALL \ No newline at end of file +/usr/share/automake-1.14/INSTALL \ No newline at end of file diff --git a/ax_init_standard_project.m4 b/ax_init_standard_project.m4 index 27b0bf6..60d1a4d 100644 --- a/ax_init_standard_project.m4 +++ b/ax_init_standard_project.m4 @@ -543,11 +543,22 @@ AC_DEFUN([AX_USE_SCRIPTS], [ AC_CONFIG_FILES([scripts/makefile]) ]) +# use this in configure.ac to support PlantUML in Doxygen generation +AC_DEFUN([AX_USE_PLANTUML], [ +]) + # use this in configure.ac to support Doxygen documentation generation AC_DEFUN([AX_USE_DOXYGEN], [ AC_CHECK_PROG(have_doxygen, doxygen, yes, no) AC_CHECK_PROG(have_dot, dot, yes, no) AC_CHECK_PROG(have_mscgen, mscgen, yes, no) + if test -f "${srcdir}/doc/plantuml.jar"; then + PLANTUML="doc/plantuml.jar" + AX_SUBST(PLANTUML) + else + AC_MSG_ERROR([NOT FOUND ac_top_srcdir=${ac_top_srcdir} top_srcdir=${top_srcdir} srcdir=${srcdir}]) + fi + AM_CONDITIONAL(HAVE_PLANTUML, test -n "$PLANTUML") PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf AC_SUBST(PDF_DOC) if test "$have_doxygen" = "no"; then @@ -569,17 +580,26 @@ AC_DEFUN([AX_USE_DOXYGEN], [ AX_ADD_MAKEFILE_TARGET_DEP([install-data-am], [install-data-documentation], [doc/makefile.in]) AX_ADD_MAKEFILE_TARGET_DEP([uninstall-am], [uninstall-documentation], [doc/makefile.in]) AX_ADD_MAKEFILE_TARGET_DEP([all], [doc], [doc/makefile.in]) - AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf], [doc/makefile.in]) + AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [pdf gen-uml-images], [doc/makefile.in]) test -f doc/makefile.in && cat >> doc/makefile.in < Bob: test + @enduml * Enable Debian packaging by calling "make deb": AX_USE_DEBIAN_PACKAGING * Enable RPM packaging by calling "make rpm": AX_USE_RPM_PACKAGING * Enable C++ testing using CppUnit: AX_USE_CPPUNIT @@ -439,6 +445,9 @@ copy() { source="${0%/*}/$1" fi fi + if test "${1%/*}" != "$1"; then + test -d "${1%/*}" || svn mkdir "${1%/*}" + fi run cp "${source}" "$1" if test $exists -eq 0; then if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then @@ -546,6 +555,7 @@ AX_INIT_STANDARD_PROJECT #AX_USE_LIBTOOL #AX_USE_SCRIPTS #AX_USE_DOXYGEN +#AX_USE_PLANTUML #AX_USE_DEBIAN_PACKAGING #AX_USE_RPM_PACKAGING #AX_USE_CPPUNIT @@ -965,6 +975,9 @@ to --condition AX_USE_DOXYGEN doc/style.css <@AUTHOR_NAME@"' + if testtag AX_USE_PLANTUML; then + doxyadd ALIASES '"startuml{1}=\\image html \\1\\n\\image latex \\1\\n\\if DontIgnorePlantUMLCode"' + doxyadd ALIASES '"enduml=\\endif"' + doxyadd IMAGE_PATH '"gen-uml-images"' + fi doxyreplace ENABLE_PREPROCESSING YES doxyreplace MACRO_EXPANSION YES doxyadd PREDEFINED '"NAMESPACE=@PACKAGE_NAME@"' @@ -1067,7 +1085,7 @@ if testtag AX_USE_DEBIAN_PACKAGING; then -- @AUTHOR@ @BUILD_DATE@ EOF - BUILD_DEPENDS="debhelper, ${VCSDEPENDS} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)" + BUILD_DEPENDS="debhelper, ${VCSDEPENDS} pkg-config, automake, libtool, autotools-dev, pandoc, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen"; fi; if testtag AX_USE_PLANTUML; then echo -n ", default-jre-headless|default-jre"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | libqt4-core | libqtcore4, qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)" to debian/control.in <@AUTHOR_NAME@" ALIASES += "readme=@README_HTML@" ALIASES += "description=@DESCRIPTION@" @@ -844,6 +846,7 @@ EXAMPLE_RECURSIVE = YES # \image command). IMAGE_PATH = +IMAGE_PATH += "gen-uml-images" # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/doc/plantuml.jar b/doc/plantuml.jar new file mode 100644 index 0000000..9502c23 Binary files /dev/null and b/doc/plantuml.jar differ diff --git a/nodejs/doc/documentation.dox b/nodejs/doc/documentation.dox index e717965..be601a4 100644 --- a/nodejs/doc/documentation.dox +++ b/nodejs/doc/documentation.dox @@ -95,9 +95,60 @@ - Security design is properly documented ✓ - Audit not yet done, we invite you to audit our code ✗ - @dot - - @enddot + @section overview System Overview + + @startuml{overview.png} + interface "user" + interface "user" as otheruser + [secret password] + [secret password] as otherpassword + user -up- [secret password] + otheruser -up- [otherpassword] + node "browser" { + [engine] + [openpgp.js] + folder "local storage" { + [public key] + [private key] + [username] + [chat history] + } + } + node "browser" as otherbrowser { + [engine] as otherengine + [openpgp.js] as otherpgp + folder "local storage" as otherstorage { + [public key] as otherpubkey + [private key] as otherprivkey + [username] as otherusername + [chat history] as otherhistory + } + } + node "safechat.ch" { + [safechat] + database "sql" { + } + } + node "keyserver" { + } + cloud { + [engine] -down- HTTP + [otherengine] -down- HTTP + [engine] -down- WebSocket + [otherengine] -down- WebSocket + HTTP - [safechat] + WebSocket - [safechat] + } + user - engine + otheruser - otherengine + [engine] - WebRTC + [otherengine] - WebRTC + [engine] - keyserver + [otherengine] - keyserver + [safechat] - keyserver + @enduml + + @section registration Registration of New User @msc diff --git a/resolve-debbuilddeps.sh b/resolve-debbuilddeps.sh index ecd5522..5ce3dd5 100755 --- a/resolve-debbuilddeps.sh +++ b/resolve-debbuilddeps.sh @@ -16,7 +16,7 @@ if test -n "${SCHROOTNAME}"; then SUDO="schroot -c "${SCHROOTNAME}" -u root -d / --" else DO="" - if grep -q '/docker/' /proc/1/cgroup; then + if grep -q '/docker' /proc/1/cgroup; then SUDO="" else SUDO="sudo"