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 7c6a416..27b0bf6 100644
--- a/ax_init_standard_project.m4
+++ b/ax_init_standard_project.m4
@@ -171,12 +171,13 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
AX_SUBST(NUMBERS)
AX_SUBST(HOME)
if test -f README.md; then
- README=$()
+ README=$(tail -n +3 README.md)
DESCRIPTION=$(head -1 README.md)
else
README=$(tail -n +3 README)
DESCRIPTION=$(head -1 README)
fi
+ README_ESCAPED=$(echo "$README" | sed ':a;N;$!ba;s/\n/\\n/g;s,",\\",g')
if which pandoc 2>&1 > /dev/null; then
README_HTML=$(echo "$README" | pandoc -f markdown_github -t html | sed ':a;N;$!ba;s,\\\(.\),\\\\\1,g;s/\n/\\n/g;s,",\\",g;s, ,\ \ ,g')
else
@@ -184,6 +185,8 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
fi
AX_SUBST(README)
_AM_SUBST_NOTMAKE([README])
+ AX_SUBST(README_ESCAPED)
+ _AM_SUBST_NOTMAKE([README_ESCAPED])
AX_SUBST(README_HTML)
_AM_SUBST_NOTMAKE([README_HTML])
AX_SUBST(DESCRIPTION)
@@ -424,6 +427,33 @@ maintainer-clean-example-targets:
EOF
])
+# use this in configure.ac to support C++ examples
+AC_DEFUN([AX_USE_NODEJS], [
+ AC_PATH_PROG(ANDROID, [android], [0],
+ [${PATH}${PATH_SEPARATOR}${ANDROID_HOME}/tools])
+ AC_PATH_PROG(CORDOVA, [cordova], [0],
+ [${PATH}${PATH_SEPARATOR}$(pwd)/node_modules/cordova/bin])
+ if test ${CORDOVA} = 0; then
+ AC_MSG_WARN([cordova is missing, on ubuntu install cordova-cli from repository ppa:cordova-ubuntu/ppa])
+ fi
+ if test ${ANDROID} = 0; then
+ AC_MSG_WARN([android sdk is missing, set variable ANDROID_HOME after installation])
+ fi
+ AM_CONDITIONAL(HAVE_CORDOVA, [test ${CORDOVA} != 0 -a ${ANDROID} != 0])
+ AX_SUBST(CORDOVA)
+ AC_CONFIG_FILES([nodejs/package.json])
+ AC_CONFIG_FILES([nodejs/makefile])
+ AC_CONFIG_FILES([cordova/makefile])
+ AC_CONFIG_FILES([cordova/config.xml])
+ AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-example-targets], [examples/makefile.in])
+ test -f examples/makefile.in && cat >> examples/makefile.in <1.8.10) support
# this, this feature is disabled by default.
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
-DOT_MULTI_TARGETS = NO
+DOT_MULTI_TARGETS = YES
# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
# explaining the meaning of the various boxes and arrows in the dot generated
@@ -2431,7 +2308,7 @@ DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
+# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
# files that are used to generate the various graphs.
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
diff --git a/nodejs/doc/documentation.dox b/nodejs/doc/documentation.dox
index 239470f..0c0c663 100644
--- a/nodejs/doc/documentation.dox
+++ b/nodejs/doc/documentation.dox
@@ -79,6 +79,55 @@
So I present here the safe chat program for dummies
+ @page design Design
+
+ Safechat is designed to provide a safe chat program for
+ dummies. Everything is simple to use, everything is strong
+ enrcrypted, everything is open source. You can chat and you can
+ write encrypted e-mails from the same address.
+
+ SafeChat provides:
+ - Encrypted in transit ✓
+ - Encrypted so the provider can't read it ✓
+ - You can verify contacts' identities ✓
+ - Past communications are secure if your key is stolen ✓
+ - Code is open to independent review ✓
+ - Security design is properly documented ✓
+ - Audit not yet done, we invite you to audit our code ✗
+
+ @dot
+
+ @enddot
+
+ @msc
+
+ user, browser, "safechat.ch", keyserver;
+
+ |||
+ --- [label="load homepage"];
+ user => browser [label="load https://safechat.ch"];
+ browser => "safechat.ch" [label="GET /"];
+ "safechat.ch" >> browser [label="index.html"];
+ browser => "safechat.ch" [label="GET /safechat.js"];
+ "safechat.ch" >> browser [label="safechat.js"];
+ ...;
+ browser -> browser [label="run safechat.js"];
+ --- [label="Create Account"];
+ browser => user [label="show create account"];
+ user >> browser [label="username, password"];
+ browser -> browser [label="create openpgp key pair"];
+ browser -> browser [label="locally store encrypted keys"];
+ browser -> browser [label="msg=encrypt(datetime)"];
+ browser -> "safechat.ch" [label="logon(username, pubkey, msg)"];
+ "safechat.ch" -> "safechat.ch" [label="datetime=decrypt(msg)"];
+ "safechat.ch" -> "safechat.ch" [label="verify datetime"];
+ "safechat.ch" => keyserver [label="lookup(username)"];
+ keyserver >> "safechat.ch" [label="not found"];
+ "safechat.ch" -> keyserver [label="upload(pubkey)"];
+ "safechat.ch" -> browser [label="logon success"];
+ browser -> user [label="ready to chat"];
+ @endmsc
+
@page security Password and Secrets Concept
Neither the password nor the private key are sent to the
diff --git a/resolve-debbuilddeps.sh b/resolve-debbuilddeps.sh
index 5ce3dd5..ecd5522 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"