Amandad Service Protocol: Difference between revisions

From wiki.zmanda.com
Jump to navigation Jump to search
(interim save)
(remove a chunk that's not relevant to this particular conversation)
Line 1: Line 1:
This article describes the way that amandad launches services like <tt>sendsize</tt> or <tt>amidxtaped</tt>.  Amanda serves as a sort of amanda-specific inetd, but adds support for multiple parallel communication channels, authentication, and lots of crazy backward-compatibility hacks.
This article describes the way that amandad launches services like <tt>sendsize</tt> or <tt>amidxtaped</tt>.  Amanda serves as a sort of amanda-specific inetd, but adds support for multiple parallel communication channels, authentication, and lots of crazy backward-compatibility hacks.


Note that most of amandad's activity takes place at connection set-up.  There may be other pages on this wiki to describe the protocol observed by particular sevices.  For example, [[amindexd protocol]] describes the protocol that amidxtaped speaks, and takes over where this page leaves off.
Note that most of amandad's activity takes place at connection set-up.  There may be other pages on this wiki to describe the protocol observed by particular sevices.  For example, [[amindexd protocol]] describes the protocol that amidxtaped speaks, and takes over where this page leaves off. Amandad is always on the receiving end of the [[Security API]], so a familiarity with that API will help in reading this document.
 
= Starting amandad =
The mechanism by which amandad is started depends on the authentication.  For the BSD* authentications, it's started from (x)inetd with its stdin and stdout tied to the socket that triggered the startup.  For most other authentications, like ssh or local, it is started directly, but again stdin and stdout are used for communication.
 
For some authentication mechanisms, amandad expects to be started as root, and immediately drops root privileges.  For others, it expects to start as CLIENT_LOGIN.
 
The program takes the following command-line arguments:
 
;-auth=$auth:specifies the authentication mechanism in use (default "BSD")
;-no-exit:do not exit when all requests have been satisfied (connection-oriented authentications only; all others wait 30s after the last packet before exiting)
;-tcp=$port:
;-udp=$port:bind to and listen on a port (for debugging of BSD* auths)
 
If any other command-line options are present, they are assumed to be service names, and amandad will only launch the named services.  <tt>amdump</tt> is a shortcut for the services required for amdump: <tt>noop</tt>, <tt>sendsize</tt>, <tt>sendbackup</tt>, and <tt>selfcheck</tt>.


= Service-Specific Hacks =
= Service-Specific Hacks =

Revision as of 05:28, 4 February 2010

This article describes the way that amandad launches services like sendsize or amidxtaped. Amanda serves as a sort of amanda-specific inetd, but adds support for multiple parallel communication channels, authentication, and lots of crazy backward-compatibility hacks.

Note that most of amandad's activity takes place at connection set-up. There may be other pages on this wiki to describe the protocol observed by particular sevices. For example, amindexd protocol describes the protocol that amidxtaped speaks, and takes over where this page leaves off. Amandad is always on the receiving end of the Security API, so a familiarity with that API will help in reading this document.

Service-Specific Hacks