OBEXPUSHD(1)

NAME
obexpushd - receive files with OBEX protocol via Bluetooth or network connection

SYNOPSIS

obexpushd [-B [[[address]:]channel]] [-I[app]] [-N [[[address]:]port]] [-p file] [-A] [-a file] [-o directory] [-s file] [-n | -d] [-h | -v]

DESCRIPTION

obexpushd is a program that can be used to receive files using OBEX (OBject EXchange) protocol over Bluetooth or network connection. It can be used to receive files from mobile phones and other devices.

When run without -d or -n options obexpushd puts itself to the background and starts to listen for incoming connections via Bluetooth (default) and/or network connection(TCP). obexpushd saves all received files to it's current directory but can alternativly forward all received data to a script for further processing.

OPTIONS

-B
    Listen to Bluetooth connections. It is possible to specify an address of a local adapter and a channel number to listen to. Default is to use channel 9. The address can be either a bluetooth adapter interface name (e.g. "hci0"), only the number of that interface (e.g. "0") or the interface address enclosed in brackets (e.g. "[11:22:33:44:55:66]").

-N
    Listen to network connections. If compiled with TcpOBEX support (openobex > 1.3), it is possible to specify an address and a port number to listen to (default: *:650). Note that to bind to the default TCP OBEX port, you need root priviledges. The address can either be an IPv4 address in quad-dot-notation (e.g. "127.0.0.1"), an IPv6 address enclosed in brackets (e.g. "[::1]") or a "*" as alias for "[::]".

-p
    Write the process ID of the daemon to file

-A
    Enable special security/filter support that is special to the transport layer. For bluetooth, this enforces bluetooth pairing (does not conform to protocol specification). For TCP, this enables usage of hosts.allow and hosts.deny files.

-a
    Read user:password pairs from each line of file. Note that many client cannot handle authentication and will stop working when using this option. Note that no encoding is used, the plain byte sequence will be matched.

-o
    Use directory for files to read or write. This option only affects file output (not scripts). If this option is not specified, the current working directory (".") is used.

-s
    Open pipes to the script or program specified by file. These pipes are seen by the program as stdin and stdout. There is one argument which is one of the following:

        • put

        This requests data to be stored to a specific file. obexpushd is waiting for an acknoledge after the list of parameters. The script must either print a line with "OK" to stdout to get the data on stdin or a line with any other content to reject the transfer.

        • get

        This requests a specific file to be sent to stdout. Just exit the script with a non-zero exit status to reject the transfer.

        • listdir

        This requests a directory listing to be sent to stdout. You can use the provided obex-folder-listing to achieve a correctly formatted listing. Just exit the script with a non-zero exit status to reject the transfer.

        • capability

        This requests an obex capability object (XML formatted data) to be sent to stdout. Just exit the script with a non-zero exit status to reject the transfer.

        • createdir

        This requests creation of a new directory. No data is transferred. Just exit the script with a non-zero exit status to reject the request.

        • delete

        This requests deletion of a file. No data is transferred. Just exit the script with a non-zero exit status to reject the request.

    Further parameters are fed to the script via stdin. Parameters that are transmitted via stdin or stdout have the form "Parameter: value". The first empty line seperates parameters and data. The empty line can be the first line. In this case, no parameters are present. Line delimiter is system specific. The possible parameters are:

        • "From: type/client-identifier"

        This specifies the client address. Currently, types can be "bluetooth", "tcp" or "usb".

        Usage: always present on stdin.

        • "Name: utf8-string"

        This specifies the file name.

        Usage: present on stdin for "put", "get" and "delete".

        • "Length: uint32"

        This specifies the amount of data in bytes in the data section that follows.

        Usage: required on stdout for "get", else optional.

        • "Type: ascii-string"

        This specifies the mime type of the data.

        Usage: completely optional.

        • "Time: time-string"

        This defines a time stamp where time-string is a time in ISO-8601 format (YYYYMMDDThhmmssZ).

        Usage: completely optional.

        • "Path: ascii-string"

        This defines a relative path to the published base directory.

        Usage: present on stdin for "put", "get", "listdir", "createdir" and "delete".

    Unknown parameters shall be ignored.

-n
    Do not detach from terminal.

-d
    Enable debug messages (implies -n).

-h
    Show summary of options.

-v
    Show version of program.

AUTHORS

Hendrik Sattler <post@hendrik-sattler.de>
    conversion to docbook, all other changes

Eugeniy Meshcheryakov <eugen@debian.org>
    texted the first version of the obexpushd manpage