Amanda Protocol
When communicating over a Security API connection, the initiator makes requests of the target using the packet-based Amanda Protocol. This protocol grew out of the UDP days, so it includes lots of timeouts and retransmissions which are essentially superfluous in modern installations of Amanda.
Packet Types
There are five types of packet:
Symbol | Code | Description |
---|---|---|
P_REQ | 0 | Request |
P_REP | 1 | Reply |
P_PREP | 2 | Partial Reply |
P_ACK | 3 | Acknowledge |
P_NACK | 4 | Negative Acknowledge |
Packet Encoding
Packets are encoded as a single-byte type identifier, followed by a NUL-terminated string representing the body of the packet.
Protocol Definition
The initiator begins by sending a REQ packet, which has the following format (optionally prefixed with authentication information):
SERVICE servicename\n OPTIONS options\n service-specific information
The OPTIONS line generally describes the features supported by the initiator, the authentication mechanism in use, and so on.