shisa_key_update3
Api function
Usage
#include <shisa.h>
int shisa_key_update(Shisa * dbh, const char * realm, const char * principal, const Shisa_key * oldkey, const Shisa_key * newkey);
Arguments
- Shisa * dbh
-
Shisa library handle created by
shisa().
- const char * realm
-
Name of the realm the principal belongs to.
- const char * principal
-
Name of the principal needing an updated key.
- const Shisa_key * oldkey
-
Pointer to a Shisa key structure giving matching criteria for locating the key to be updated.
- const Shisa_key * newkey
-
Pointer to a complete Shisa key structure, in which all fields are used for the new key. Note that oldkey normally has far fewer fields filled-in.
Overview
Modifies data about a key stored in the database, a key belonging to the principal selected by principal and realm. First oldkey is used to locate the key to update, as does shisa_keys_find(). Then the found key is modified to carry whatever information is stored in newkey.
Not all elements of oldkey need to be filled out, only sufficiently many so as to uniquely identify the desired key. For example, if you want to modify the information stored about a unique key of etype 3, i.e., DES-CBC-MD5, then set the field key->etype to 3, leaving all other fields as zero.
Return value
Returns SHISA_OK on success, SHISA_NO_KEY if no key could be located, SHISA_MULTIPLE_KEY_MATCH if more than a single key matched the given criteria, or an error code otherwise.
Releases
10 releases since Debian 4.0 (Etch); the text changed 5 times.