From 10fd104abb670b8748c02734a8310738b9f5e9ab Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Mon, 26 Jul 2004 21:27:17 +0000 Subject: [PATCH] Added obexd --- bluetooth/init.d/obexd | 63 ++++++++++++++++++++++++++++++++++++++++++ bluetooth/obexd | 53 +++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100755 bluetooth/init.d/obexd create mode 100755 bluetooth/obexd diff --git a/bluetooth/init.d/obexd b/bluetooth/init.d/obexd new file mode 100755 index 0000000..d56c3da --- /dev/null +++ b/bluetooth/init.d/obexd @@ -0,0 +1,63 @@ +#! /bin/sh +# $Id$ +# -*- sh -*- vim: ft=sh sw=4 sts=4 +# +# /etc/init.d/obexd Used to launch Tim Pope's obexserver wrapper + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/local/sbin/obexd +NAME=obexd +DESC="obexserver daemon" + +test -x $DAEMON || exit 0 + +set -e + +case "$1" in + start) + echo -n "Starting $DESC$NAME" + start-stop-daemon -m -b --start --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON + echo "." + ;; + stop) + echo -n "Stopping $DESC$NAME" + start-stop-daemon -m --stop --quiet --pidfile /var/run/$NAME.pid + echo "." + ;; + #reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + # echo -n "Reloading $DESC configuration..." + # start-stop-daemon --stop --signal 1 --quiet --pidfile \ + # /var/run/$NAME.pid --exec $DAEMON + # echo "done." + #;; + restart|force-reload) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart". + # + echo -n "Restarting $DESC$NAME" + start-stop-daemon -m --stop --quiet --pidfile \ + /var/run/$NAME.pid + sleep 1 + start-stop-daemon -m -b --start --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON + echo "." + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/bluetooth/obexd b/bluetooth/obexd new file mode 100755 index 0000000..271e4d5 --- /dev/null +++ b/bluetooth/obexd @@ -0,0 +1,53 @@ +#!/bin/sh +# $Id$ +# -*- sh -*- vim: ft=sh sw=4 sts=4 + +# /usr/local/sbin/obexd +# Designed to repeatedly call obexserver to receive new files, and send them +# off in an email to root. + +on_term() { + killall obexserver >/dev/null 2>&1 || true + exit +} + +trap on_term SIGTERM +#trap on_term SIGQUIT +trap on_term SIGINT + +trap "sdptool del OPUSH >/dev/null || true" EXIT + +sdptool add --channel=10 OPUSH >/dev/null + +while true; do +filename=`obexserver|grep '^Filename = '|sed -e 's/^Filename = //'` + +( + case "$filename" in + *.txt) ctype=text/plain ;; + *.htm|*.html) ctype=text/html ;; + *.vcf) ctype=text/x-vcard ;; + *.wav) ctype=audio/x-wav ;; + *.mid|*.midi) ctype=audio/midi ;; + *.jpg|*.jpeg) ctype=image/jpeg ;; + *.gif) ctype=image/gif ;; + "WAP bookmark") ctype=text/x-url ;; + *.3gp) ctype=video/x-realmedia ;; # ??? + *) ctype=application/octet-stream ;; + esac + + # metasend can't handle file names with spaces + tempfile=`mktemp -t obexd.XXXXXX` + case "$ctype" in + text/*) tr -d '\r' < "/tmp/$filename" >> $tempfile ;; + *) cat "/tmp/$filename" >> $tempfile ;; + esac + rm -f "/tmp/$filename" + + metasend -b -F bluetooth -t root -s "Object received via Bluetooth" -c '' \ + -D "$filename" -S 4000000 -m "$ctype; name=\"`echo $filename|tr ' ' '_'`\""\ + -f $tempfile + rm -f $tempfile +) + +done -- 2.30.2