# HG changeset patch # User Bjoern Kalkbrenner # Date 1278502066 -7200 # Node ID 2686221255cf19d23d5d0b9a8c4e0e51af13a3c0 # Parent a1c2677257da5e42500017b63450517918d3db50 restart authorize command if crashed or ended; added example shell script diff -r a1c2677257da -r 2686221255cf mod_auth_external/authorize_example.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_auth_external/authorize_example.sh Wed Jul 07 13:27:46 2010 +0200 @@ -0,0 +1,26 @@ +#!/bin/bash + +IFS=":" +AUTH_OK=1 +AUTH_FAILED=0 +LOGFILE="/var/log/prosody/auth.log" +USELOG=true + +while read ACTION USER HOST PASS ; do + + [ $USELOG == true ] && { echo "Date: $(date) Action: $ACTION User: $USER Host: $HOST Pass: $PASS" >> $LOGFILE; } + + case $ACTION in + "auth") + if [ $USER == "someone" ] ; then + echo $AUTH_OK + else + echo $AUTH_FAILED + fi + ;; + *) + echo $AUTH_FAILED + ;; + esac + +done diff -r a1c2677257da -r 2686221255cf mod_auth_external/mod_auth_external.lua --- a/mod_auth_external/mod_auth_external.lua Wed Jul 07 17:31:31 2010 +0800 +++ b/mod_auth_external/mod_auth_external.lua Wed Jul 07 13:27:46 2010 +0200 @@ -30,10 +30,14 @@ local pid; local readfile; local writefile; + local function send_query(text) - -- if not proc then + if pid and lpc.wait(pid,1) ~= nil then + log("debug","error, process died, force reopen"); + pid=nil; + end if not pid then - log("debug", "Opening process"); + log("debug", "Opening process " .. command); -- proc = process.popen(command); pid, writefile, readfile = lpc.run(command); end @@ -44,6 +48,7 @@ end -- proc:write(text); -- proc:flush(); + writefile:write(text); writefile:flush(); if script_type == "ejabberd" then