Embellish to taste. But somebody just tell me why diatheke doesn't generate output when run from the socket -- works fine at the terminal.
/etc/xinetd.d/sword: service sword { disable = no port = 22222 socket_type = stream protocol = tcp wait = no user = root server = /usr/local/bin/SwordDaemon type = unlisted } /usr/local/bin/SwordDaemon: #!/bin/bash # # xinetd-based reading of commands for Sword response. # # Add CR to IFS because such access routinely includes CRLF. export IFS="$IFS " max=10 format=plain dfltModule="NET" dfltVerse="Genesis 1:1" dfltType="multiword" dfltSearch="Jesus Christ" options="nmfhx" # while read -t 15 command stuff ; do #echo -n "$command" | od -c #echo -n "$stuff" | od -c case "$command" in quit|q|QUIT|Q) exit 0 ;; options|o|OPTIONS|O) options="$stuff" ;; *) echo "$stuff" | while read module searchtype key ; do case "$command" in cite|c|CITE|C) if [ "$module" = "" ] ; then module="$dfltModule" echo Module defaulting to "$module". fi key="$searchtype $key" # amalgamate if [ "$key" = "" ] ; then key="$dfltVerse" echo Key defaulting to "$key". fi diatheke -b "$module" -f "$format" -o "$options" -m "$max" -k "$key" | sed -e '/^[ \t]*$/d' -e '/^(.*)$/d' ;; search|s|SEARCH|S) if [ "$module" = "" ] ; then module="$dfltModule" echo Module defaulting to "$module". fi if [ "$searchtype" = "" ] ; then searchtype="$dfltType" echo SearchType defaulting to "$searchtype". fi if [ "$key" = "" ] ; then key="$dfltSearch" echo Key defaulting to "$key". fi diatheke -b "$module" -f $format -o "$options" -m $max -s "$searchtype" -k "$key" | sed -e 's/^Verses containing ".*"-- //' ;; *) echo SwordDaemon diatheke listener: echo - usage: this message echo - quit: exit echo - cite: ModuleName VerseKey echo - search: ModuleName SearchType SearchKey echo - options: NewOptionString echo defaults: echo ModuleName - "$dfltModule" echo VerseKey - "$dfltVerse" echo SearchType - "$dfltType" echo SearchKey - "$dfltSearch" echo current display options - "$options" ;; esac done ;; esac done _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page