Added obexd
authorTim Pope <code@tpope.net>
Mon, 26 Jul 2004 21:27:17 +0000 (21:27 +0000)
committerTim Pope <code@tpope.net>
Mon, 26 Jul 2004 21:27:17 +0000 (21:27 +0000)
bluetooth/init.d/obexd [new file with mode: 0755]
bluetooth/obexd [new file with mode: 0755]

diff --git a/bluetooth/init.d/obexd b/bluetooth/init.d/obexd
new file mode 100755 (executable)
index 0000000..d56c3da
--- /dev/null
@@ -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 (executable)
index 0000000..271e4d5
--- /dev/null
@@ -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