57#define KeyringFilename "keyring.xdm"
58#define KeyringFiletype "keyring"
59#define KeyringProtocolMajorVersion 1
60#define KeyringProtocolMinorVersion 1
116 (void) memset(keyring_info,0,
sizeof(*keyring_info));
117 keyring_info->
path=(
char *) NULL;
118 if (path != (
char *) NULL)
125 keyring_info->
timestamp=time((time_t *) NULL);
127 return(keyring_info);
163 if (keyring_info->
path != (
char *) NULL)
165 keyring_info->
signature=(~WizardSignature);
167 return(keyring_info);
235 "corrupt key ring file `%s'",
GetFilePath(file_info));
249 "corrupt key ring file `%s'",
GetFilePath(file_info));
262 "corrupt key ring file `%s'",
GetFilePath(file_info));
271 timestamp=(time_t) length;
274 keyring_info->
timestamp=(time_t) timestamp;
280 "corrupt key ring file `%s'",
GetFilePath(file_info));
291 "corrupt key ring file `%s'",
GetFilePath(file_info));
302 "corrupt key ring file `%s'",
GetFilePath(file_info));
325 "corrupt key ring file `%s'",
GetFilePath(file_info));
360 return(keyring_info->
key);
390 return(keyring_info->
nonce);
456 "unable to import key `%s' (its already in the keyring): %s",id,
481 "unable to seek keyring `%s': %s",
GetFilePath(file_info),
503 "unable to write keyring `%s': %s",
GetFilePath(file_info),
598 length=strlen(keyring_rdf);
599 count=
WriteBlob(keyring_blob,length,(
unsigned char *) keyring_rdf);
601 if (count != (ssize_t) length)
611 "corrupt key ring file `%s'",
GetFilePath(file_info));
625 "corrupt key ring file `%s'",
GetFilePath(file_info));
631 (void) memset(&keyring_info,0,
sizeof(keyring_info));
638 "corrupt key ring file `%s'",
GetFilePath(file_info));
646 timestamp=(time_t) length;
649 keyring_info.
timestamp=(time_t) timestamp;
655 "corrupt key ring file `%s'",
GetFilePath(file_info));
666 "corrupt key ring file `%s'",
GetFilePath(file_info));
677 "corrupt key ring file `%s'",
GetFilePath(file_info));
707 length=strlen(keyring_rdf);
708 count=
WriteBlob(keyring_blob,length,(
unsigned char *) keyring_rdf);
710 if (count != (ssize_t) length)
719 "corrupt key ring file `%s'",
GetFilePath(file_info));
WizardExport ssize_t WriteBlob(BlobInfo *, const size_t, const void *)
#define WizardAssert(domain, predicate)
#define ThrowFileException(exception, severity, context)
#define ThrowWizardFatalError(domain, error)
WizardExport WizardBooleanType ThrowWizardException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *format,...)
WizardExport WizardBooleanType ReadFile64Bits(FileInfo *file_info, WizardSizeType *value)
WizardExport const char * GetFilePath(const FileInfo *file_info)
WizardExport FileInfo * AcquireFileInfo(const char *path, const char *relative_path, const FileMode mode, ExceptionInfo *exception)
WizardExport WizardBooleanType WriteFile32Bits(FileInfo *file_info, const size_t value)
WizardExport WizardBooleanType WriteFile64Bits(FileInfo *file_info, const WizardSizeType value)
WizardExport WizardBooleanType WriteFile16Bits(FileInfo *file_info, const unsigned short value)
WizardExport const struct stat * GetFileProperties(const FileInfo *file_info)
WizardExport WizardBooleanType ReadFileChunk(FileInfo *file_info, void *data, const size_t length)
WizardExport int GetFileDescriptor(const FileInfo *file_info)
WizardExport WizardBooleanType WriteFileChunk(FileInfo *file_info, const void *data, const size_t length)
WizardExport WizardBooleanType ReadFile32Bits(FileInfo *file_info, size_t *value)
WizardExport FileInfo * DestroyFileInfo(FileInfo *file_info, ExceptionInfo *exception)
WizardExport WizardBooleanType ReadFile16Bits(FileInfo *file_info, unsigned short *value)
WizardExport WizardBooleanType ImportKeyringKey(KeyringInfo *keyring_info, ExceptionInfo *exception)
WizardExport const StringInfo * GetKeyringKey(const KeyringInfo *keyring_info)
WizardExport WizardBooleanType PrintKeyringProperties(const char *path, BlobInfo *keyring_blob, ExceptionInfo *exception)
WizardExport void SetKeyringId(KeyringInfo *keyring_info, const StringInfo *id)
WizardExport const StringInfo * GetKeyringNonce(const KeyringInfo *keyring_info)
#define KeyringProtocolMinorVersion
#define KeyringProtocolMajorVersion
WizardExport WizardBooleanType ExportKeyringKey(KeyringInfo *keyring_info, ExceptionInfo *exception)
WizardExport void SetKeyringKey(KeyringInfo *keyring_info, const StringInfo *key)
WizardExport void SetKeyringNonce(KeyringInfo *keyring_info, const StringInfo *nonce)
WizardExport KeyringInfo * DestroyKeyringInfo(KeyringInfo *keyring_info)
WizardExport KeyringInfo * AcquireKeyringInfo(const char *path)
WizardExport void SetKeyringPath(KeyringInfo *keyring_info, const char *path)
WizardExport ssize_t FormatLocaleString(char *string, const size_t length, const char *format,...)
WizardBooleanType LogWizardEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
#define GetWizardModule()
WizardExport StringInfo * GetWizardMagick(const unsigned char *signature, const size_t length)
unsigned char WizardMagick[4]
WizardExport void * AcquireWizardMemory(const size_t size)
WizardExport void * RelinquishWizardMemory(void *memory)
WizardExport char * CloneString(char **destination, const char *source)
WizardExport char * DestroyString(char *string)
WizardExport char * StringInfoToHexString(const StringInfo *string_info)
WizardExport char * ConstantString(const char *source)
WizardExport size_t GetStringInfoLength(const StringInfo *string_info)
WizardExport StringInfo * AcquireStringInfo(const size_t length)
WizardExport int CompareStringInfo(const StringInfo *target, const StringInfo *source)
WizardExport StringInfo * CloneStringInfo(const StringInfo *string_info)
WizardExport char * AcquireString(const char *source)
WizardExport WizardBooleanType ConcatenateString(char **destination, const char *source)
WizardExport ssize_t FormatWizardTime(const time_t time, const size_t length, char *timestamp)
WizardExport unsigned char * GetStringInfoDatum(const StringInfo *string_info)
WizardExport StringInfo * DestroyStringInfo(StringInfo *string_info)
unsigned short protocol_major
unsigned short protocol_minor
unsigned int WizardStatusType
WizardExport char * CanonicalXMLContent(const char *content, const WizardBooleanType pedantic)