SYNOPSIS
#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 realm the principal belongs in.
- const char * principal
- Name of principal to remove key for.
- const Shisa_key * oldkey
- Pointer to Shisa key structure with hints on matching the key to modify.
- const Shisa_key * newkey
- Pointer to Shisa key structure with new values for the key, note that all fields are used (and not just the ones specified by oldkey).
DESCRIPTION
Modify data about a key in the database, for the given PRINCIPALREALM. First the oldkey is used to locate the key to update (similar to shisa_keys_find()), then that key is modified to contain whatever information is stored in newkey. Not all elements of oldkey need to be filled out, only enough as to identify the key uniquely. For example, if you want to modify the information stored for the only key with an etype of 3 (DES-CBC-MD5), set the key->etype field to 3, and set all other fields to 0.RETURN VALUE
Returns SHISA_OK on success, SHISA_NO_KEY if no key could be identified, and SHISA_MULTIPLE_KEY_MATCH if more than one key matched the given criteria, or an error code.REPORTING BUGS
Report bugs to <[email protected]>.COPYRIGHT
Copyright © 2002-2010 Simon Josefsson.Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.