X-Git-Url: http://git.tpope.net/?p=tpope-extra.git;a=blobdiff_plain;f=bluetooth%2Fobexd;fp=bluetooth%2Fobexd;h=271e4d5e660270fe379083ebcfcd27d5b204a7f1;hp=0000000000000000000000000000000000000000;hb=10fd104abb670b8748c02734a8310738b9f5e9ab;hpb=3473cb486d27fdfab3e9494d3e17bc70d8677e3f 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