diff --git a/scripts/ax_init_standard_project.m4 b/scripts/ax_init_standard_project.m4 index fb2adc8..e8d2564 100644 --- a/scripts/ax_init_standard_project.m4 +++ b/scripts/ax_init_standard_project.m4 @@ -194,10 +194,13 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [ AX_SUBST(COPYING) _AM_SUBST_NOTMAKE([COPYING]) CHANGELOG=$(= 0.0.1", + "socket.io": "~1.4.4", + "socketio-auth": "0.0.5", + "ldapauth": "git+https://github.com/DimensionSoftware/node-ldapauth.git" + }, + "description": "@DESCRIPTION@", + "main": "@PACKAGE_NAME@.js", + "devDependencies": {}, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "@AUTHOR@", + "license": "@LICENSE@", + "path": { + "prefix": "@PREFIX@", + "sysconf": "@SYSCONFDIR@", + "pkgdata": "@PKGDATADIR@", + "localstate": "@LOCALSTATEDIR@", + "log": "@LOCALSTATEDIR@/log/@PACKAGE_NAME@.log", + "config": "@SYSCONFDIR@/@PACKAGE_NAME@.json", + "nodejs": "@PKGDATADIR@/nodejs" + } +} +EOF +to --condition AX_USE_NODEJS nodejs/etc/${PACKAGE_NAME}.json < /var/run/${PACKAGE_NAME}.pid + # there are some useful defaults + # do not edit this file, overwrite values in /etc/default/${PACKAGE_NAME} + EXEC_${PACKAGE_NAME^^}="/usr/bin/nodejs /usr/share/${PACKAGE_NAME}/nodejs/${PACKAGE_NAME}" + ${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log" + ${PACKAGE_NAME^^}_USER="${PACKAGE_NAME}" + ${PACKAGE_NAME^^}_PORT="" + [ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME} + if test -n "\${${PACKAGE_NAME^^}_USER}"; then + exec sudo -u "\${${PACKAGE_NAME^^}_USER}" \${EXEC_${PACKAGE_NAME^^}} \${${PACKAGE_NAME^^}_PORT} >> \${${PACKAGE_NAME^^}_LOG} 2>&1 + else + exec \${EXEC_${PACKAGE_NAME^^}} \${${PACKAGE_NAME^^}_PORT} >> \${${PACKAGE_NAME^^}_LOG} 2>&1 + fi +end script + +pre-start script + ${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log" + [ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME} + # Date format same as (new Date()).toISOString() for consistency + echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> \${${PACKAGE_NAME^^}_LOG} +end script + +pre-stop script + ${PACKAGE_NAME^^}_LOG="/var/log/${PACKAGE_NAME}.log" + [ -r /etc/default/${PACKAGE_NAME} ] && . /etc/default/${PACKAGE_NAME} + rm /var/run/${PACKAGE_NAME}.pid + echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> \${${PACKAGE_NAME^^}_LOG} +end script +EOF +to --condition AX_USE_NODEJS nodejs/etc/systemd/system/${PACKAGE_NAME}.service < /var/log/${PACKAGE_NAME}.log +Restart=on-abort + +[Install] +WantedBy=multi-user.target +EOF +if testtag AX_USE_DEBIAN_PACKAGING; then + checkdir AX_USE_NODEJS nodejs/public/images +fi +to --condition AX_USE_NODEJS nodejs/public/javascripts/${PACKAGE_NAME}.js < new connection from "+userdata.username); + + function emit(signal, data, info) { + if (typeof data == 'string' && !data.match("\n")) { + console.log("<- signal: "+signal+"("+data+")"); + } else { + console.log("<- signal: "+signal); + } + if (info) console.log(info); + socket.emit(signal, data); + } + + function fail(txt, data) { + console.log("** "+txt, data); + emit("fail", txt); + } + + /* + socket + .on("xxx", xxx) + .on("yyy", yyy; + */ + + } + + // Handle Connection + require('socketio-auth')(io, { + authenticate: function (socket, data, callback) { + console.log("=> authenticate: ", data.username); + //get credentials sent by the client + var username = data.username; + var password = data.password; + authentication(data.username, data.password, + function() { + console.log("####LOGIN-SUCESS####"); + callback(null, true) + }, + function() { + console.log("####LOGIN-FAIL####"); + callback(new Error("wrong credentials")) + }); + }, + postAuthenticate: connection, + timeout: "none" + }); + + return module; +} +EOF +to --condition AX_USE_NODEJS nodejs/views/index.ejs < + + + + + + + + $(head -1 README) + + + +

$(head -1 README)

+

generated by bootstrap, please edit

+ + + +EOF +to --condition AX_USE_NODEJS nodejs/views/layout.ejs < +EOF echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition 'AX_USE_DOXYGEN|AX_USE_PERLDOC' doc/makefile.am if testtag AX_BUILD_TEST; then to test/runtests.sh < ${0%/*}/test/runtests.sh