shisa_key_update(3) API function


#include <shisa.h>

int shisa_key_update(Shisa * dbh, const char * realm, const char * principal, const Shisa_key * oldkey, const Shisa_key * newkey);


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).


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.


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.


Report bugs to <[email protected]>.


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.