Clever Geek Handbook
📜 ⬆️ ⬇️

Application Configuration Access Protocol

Application Configuration Access Protocol (ACAP) is a network protocol that allows a user to access the configuration data of applications that support ACAP from any computer connected to the network . The protocol is based on IMAP4 .

ACAP
TitleApplication Configuration Access Protocol
Level ( OSI model )Applied
FamilyTCP / IP
Created in1997
Port / ID674 / TCP
Protocol PurposeRemote configuration data storage
SpecificationRFC 2244

Content

Protocol Description

An ACAP session includes establishing a TCP connection, an initial greeting from the server, and client-server interaction, which includes client commands, execution results, and data from the server. ACAP is a text-based protocol, commands transmitted between the client and server, and the data is a sequence of characters ending with end-of-line characters ( CR LF ), or a sequence of octets of known length.

Client commands begin with an identifier (alphanumeric string up to 32 characters long) called a mark. Each transmitted command must have a unique mark. Commands can be sent by the client without waiting for the server to respond to the previous command.

The server response may be:

  • the request to continue the command starts with the “+” symbol;
  • the result of the command execution starts from the same mark as the client command that started the operation, followed by the server response code:
    • OK - successful execution;
    • NO - command not completed;
    • BAD - command not recognized or syntax error;
  • intermediate response, starts from the same mark as the command that called it, followed by the response code (excluding OK, NO, BAD);
  • an unmarked response starts with a “*” and returns a message or data that can be interpreted outside the context of the commands being executed.

Data is stored on the server as a hierarchical tree. Each hierarchy level is called a data set and consists of a list of nodes. Nodes have a unique name and can contain any number of named attributes. Attributes have one or more values ​​and associated metadata .

Data Format

The transmitted data can have one of five formats:

  • atom - consists of non-special characters (from 1 to 1024) and must begin with a letter, used for protocol keywords;
  • number - consists of digital characters, the size is limited by an unsigned 32-bit number;
  • string - may have two forms of presentation:
    • literal:
      • synchronized literal - begins with the transmission of the number of octets in curly brackets and the characters of the end of the line, after receiving a request from the server, data is sent to continue;
      • unsynchronized literal - the number of octets in curly brackets, with a plus sign between the number and the closing bracket, followed by data ending with the end of the line;
    • quoted string - a string from zero to 1024 octets in length, excluding the character with the code zero and the end of the string, enclosed in double quotes;
  • list - a sequence of elements separated by spaces, enclosed in parentheses, the list can be empty or have several levels of nesting;
  • the empty element is a special NIL atom.

Nodes and their attributes

To form a complete path to a node, the names of nodes of different levels are separated by a slash. Attributes have hierarchical names consisting of components separated by periods. Attribute names that do not contain a period are reserved for standard attributes that matter in any dataset. The attribute value can be NIL (the attribute has no values), a string (one value) or a set of strings (many values).

The protocol defines the following attributes:

  • entry - attribute name;
  • modtime - date and time of the last metadata modification in the node, 14 or more digits in ASCII format;
  • subdataset - set if the node has an underlying data set, the attribute value is a list of relative URLs indicating the location of the data set (the dot “.” means the data set that lies directly below this node).

Metadata describes an attribute, its values, and access control. The protocol defines the following metadata elements:

  • acl - list of access rights to the attribute;
  • attribute - attribute name;
  • myrights - a set of client rights;
  • size - length of the attribute value; if the attribute has several values, then a set of lengths for each value;
  • value - an attribute value or a set of values.

Commands

Protocol commands include:

  • authentication team;
  • search commands;
  • context commands (managing a set of nodes selected according to certain criteria and existing during the session);
  • data set modification commands;
  • permissions change commands;
  • quota management teams
  • other commands (no operation, choice of preferred language, end of session).

URL Schema

The ACAP URL is in the format: acap: // url-server / url-enc-entry [url-filter] [url-extension]

  • url-server - includes the server name and, optionally, the username, authentication mechanism and port number;
  • url-enc-entry - node name;
  • url-filter - list of attribute names; if absent, then the URL applies to all attributes;
  • url-extension - reserved for future extensions.

RFC Standards

  • RFC 2244
Source - https://ru.wikipedia.org/w/index.php?title=Application_Configuration_Access_Protocol&oldid=97499708


More articles:

  • Battle of the Slasters
  • Noginsk Coat of Arms
  • Avundy (sexton)
  • Krasnoyurchenko, Ivan Ivanovich
  • List of World Heritage Sites in Marshall Islands
  • US Open Tennis Championships 2011 Women's Doubles
  • Flocon, Ferdinan
  • Goffa Albert
  • III Parthian Legion
  • Spacecraft Power Supply System

All articles

Clever Geek | 2019