## CVM

# CVM Credential Definitions

## Types

Credentials may have one of two types:

- `string`: An arbitrary length series of ASCII characters not containing `NUL`.
- `integer`: A series of ASCII digits interpreted as an unsigned decimal value.

## Numbering

All predefined credential numbers will have values betweehn 1 and 127 inclusive. All other credential numbers (from 128 to 255) are reserved for local or experimental use. Credentials may be given to the module in any order that is convenient to the client, and that order carries no significance. Unless otherwise specified, each fact must be present at most once in the input.

# | Name | Type | Description
--- | --- | --- | ---
`1` | `CVM_CRED_ACCOUNT` | string | The account name. This fact is required by all modules.
`2` | `CVM_CRED_DOMAIN` | string | The (DNS) domain name that may be associated with the account.
`3` | `CVM_CRED_PASSWORD` | string | Plain text password.
`4` | `CVM_CRED_SECRET` | string | This fact contains a secret that is shared between the client and the module, required for authentication to succeed.
`5` | `CVM_CRED_CHALLENGE` | string | For challenge-response mechanisms (such as APOP or CRAM-MD5), the one-time challenge that was issued to the client.
`6` | `CVM_CRED_RESPONSE` | string | For challenge-response mechanisms, the response from the client.
`7` | `CVM_CRED_RESPONSE_TYPE` | string | For challenge-response mechanisms, the name of the type of mechanism that was used to generate the response. Examples: "`APOP`" or "`CRAM-MD5`"