8 #include "ssl_cert_descr_p.h" 9 #include <gwenhywfar/misc.h> 10 #include <gwenhywfar/db.h> 11 #include <gwenhywfar/debug.h> 16 #include <gwenhywfar/gwentime.h> 17 #include <gwenhywfar/ssl_cert_flags.h> 41 if (--(st->_usage)==0) {
43 free(st->countryName);
46 if (st->organizationName)
47 free(st->organizationName);
48 if (st->organizationalUnitName)
49 free(st->organizationalUnitName);
51 free(st->localityName);
52 if (st->stateOrProvinceName)
53 free(st->stateOrProvinceName);
61 free(st->fingerPrint);
62 if (st->fingerPrintSha1)
63 free(st->fingerPrintSha1);
64 if (st->fingerPrintSha512)
65 free(st->fingerPrintSha512);
66 if (st->pubKeyModulus)
67 free(st->pubKeyModulus);
68 if (st->pubKeyExponent)
69 free(st->pubKeyExponent);
87 st->countryName=strdup(d->countryName);
89 st->commonName=strdup(d->commonName);
90 if (d->organizationName)
91 st->organizationName=strdup(d->organizationName);
92 if (d->organizationalUnitName)
93 st->organizationalUnitName=strdup(d->organizationalUnitName);
95 st->localityName=strdup(d->localityName);
96 if (d->stateOrProvinceName)
97 st->stateOrProvinceName=strdup(d->stateOrProvinceName);
103 st->ipAddress=strdup(d->ipAddress);
105 st->fingerPrint=strdup(d->fingerPrint);
106 if (d->fingerPrintSha1)
107 st->fingerPrintSha1=strdup(d->fingerPrintSha1);
108 if (d->fingerPrintSha512)
109 st->fingerPrintSha512=strdup(d->fingerPrintSha512);
110 if (d->pubKeyModulus)
111 st->pubKeyModulus=strdup(d->pubKeyModulus);
112 if (d->pubKeyExponent)
113 st->pubKeyExponent=strdup(d->pubKeyExponent);
115 st->statusText=strdup(d->statusText);
116 st->isError=d->isError;
117 st->statusFlags=d->statusFlags;
132 if (st->organizationName)
135 if (st->organizationalUnitName)
138 if (st->localityName)
141 if (st->stateOrProvinceName)
156 if (st->fingerPrintSha1)
159 if (st->fingerPrintSha512)
162 if (st->pubKeyModulus)
165 if (st->pubKeyExponent)
239 return st->countryName;
247 free(st->countryName);
249 st->countryName=strdup(d);
261 return st->commonName;
269 free(st->commonName);
271 st->commonName=strdup(d);
283 return st->organizationName;
290 if (st->organizationName)
291 free(st->organizationName);
293 st->organizationName=strdup(d);
295 st->organizationName=0;
305 return st->organizationalUnitName;
312 if (st->organizationalUnitName)
313 free(st->organizationalUnitName);
315 st->organizationalUnitName=strdup(d);
317 st->organizationalUnitName=0;
327 return st->localityName;
334 if (st->localityName)
335 free(st->localityName);
337 st->localityName=strdup(d);
349 return st->stateOrProvinceName;
356 if (st->stateOrProvinceName)
357 free(st->stateOrProvinceName);
359 st->stateOrProvinceName=strdup(d);
361 st->stateOrProvinceName=0;
371 return st->notBefore;
415 return st->ipAddress;
425 st->ipAddress=strdup(d);
437 return st->fingerPrint;
445 free(st->fingerPrint);
447 st->fingerPrint=strdup(d);
459 return st->fingerPrintSha1;
466 if (st->fingerPrintSha1)
467 free(st->fingerPrintSha1);
469 st->fingerPrintSha1=strdup(d);
471 st->fingerPrintSha1=0;
481 return st->fingerPrintSha512;
488 if (st->fingerPrintSha512)
489 free(st->fingerPrintSha512);
491 st->fingerPrintSha512=strdup(d);
493 st->fingerPrintSha512=0;
503 return st->pubKeyModulus;
510 if (st->pubKeyModulus)
511 free(st->pubKeyModulus);
513 st->pubKeyModulus=strdup(d);
525 return st->pubKeyExponent;
532 if (st->pubKeyExponent)
533 free(st->pubKeyExponent);
535 st->pubKeyExponent=strdup(d);
537 st->pubKeyExponent=0;
547 return st->statusText;
555 free(st->statusText);
557 st->statusText=strdup(d);
586 return st->statusFlags;
603 return st->_modified;
const char * GWEN_SslCertDescr_GetFingerPrintSha1(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_SetStateOrProvinceName(GWEN_SSLCERTDESCR *st, const char *d)
struct GWEN_TIME GWEN_TIME
struct GWEN_SSLCERTDESCR GWEN_SSLCERTDESCR
GWEN_SSLCERTDESCR_LIST * GWEN_SslCertDescr_List_dup(const GWEN_SSLCERTDESCR_LIST *stl)
#define GWEN_DB_FLAGS_OVERWRITE_VARS
struct GWEN_DB_NODE GWEN_DB_NODE
GWEN_SSLCERTDESCR * GWEN_SslCertDescr_fromDb(GWEN_DB_NODE *db)
const char * GWEN_SslCertDescr_GetOrganizationName(const GWEN_SSLCERTDESCR *st)
GWENHYWFAR_API GWEN_TIME * GWEN_Time_dup(const GWEN_TIME *t)
void GWEN_SslCertDescr_List2_free(GWEN_SSLCERTDESCR_LIST2 *l)
#define GWEN_FREE_OBJECT(varname)
void GWEN_SslCertDescr_SetOrganizationName(GWEN_SSLCERTDESCR *st, const char *d)
void GWEN_SslCertDescr_List2_freeAll(GWEN_SSLCERTDESCR_LIST2 *stl)
GWEN_SSLCERTDESCR * GWEN_SslCertDescr_dup(const GWEN_SSLCERTDESCR *d)
const char * GWEN_SslCertDescr_GetFingerPrint(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_SetPubKeyModulus(GWEN_SSLCERTDESCR *st, const char *d)
GWENHYWFAR_API GWEN_TIME * GWEN_Time_fromDb(GWEN_DB_NODE *db)
void GWEN_SslCertDescr_List_Add(GWEN_SSLCERTDESCR *element, GWEN_SSLCERTDESCR_LIST *list)
struct GWEN_SSLCERTDESCR_LIST2 GWEN_SSLCERTDESCR_LIST2
const GWEN_TIME * GWEN_SslCertDescr_GetNotBefore(const GWEN_SSLCERTDESCR *st)
const char * GWEN_SslCertDescr_GetStatusText(const GWEN_SSLCERTDESCR *st)
int GWEN_SslCertDescr_ReadDb(GWEN_SSLCERTDESCR *st, GWEN_DB_NODE *db)
GWENHYWFAR_API int GWEN_Time_toDb(const GWEN_TIME *t, GWEN_DB_NODE *db)
const char * GWEN_SslCertDescr_GetOrganizationalUnitName(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_SetLocalityName(GWEN_SSLCERTDESCR *st, const char *d)
GWEN_SSLCERTDESCR * GWEN_SslCertDescr_List_Next(const GWEN_SSLCERTDESCR *element)
#define GWEN_NEW_OBJECT(typ, varname)
void GWEN_SslCertDescr_SetFingerPrintSha512(GWEN_SSLCERTDESCR *st, const char *d)
void GWEN_SslCertDescr_SetIsError(GWEN_SSLCERTDESCR *st, int d)
void GWEN_SslCertDescr_Attach(GWEN_SSLCERTDESCR *st)
uint32_t GWEN_SslCertDescr_GetStatusFlags(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_SetPubKeyExponent(GWEN_SSLCERTDESCR *st, const char *d)
void GWEN_SslCertDescr_SetCountryName(GWEN_SSLCERTDESCR *st, const char *d)
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
const char * GWEN_SslCertDescr_GetPubKeyExponent(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_SetOrganizationalUnitName(GWEN_SSLCERTDESCR *st, const char *d)
GWEN_DB_NODE * GWEN_DB_GetGroup(GWEN_DB_NODE *n, uint32_t flags, const char *path)
GWEN_SSLCERTDESCR * GWEN_SslCertDescr_List_First(const GWEN_SSLCERTDESCR_LIST *l)
const char * GWEN_SslCertDescr_GetCountryName(const GWEN_SSLCERTDESCR *st)
GWENHYWFAR_API void GWEN_Time_free(GWEN_TIME *t)
GWEN_LIST2_FUNCTIONS(TYPEMAKER2_TYPE, Typemaker2_Type)
void GWEN_SslCertDescr_SetIpAddress(GWEN_SSLCERTDESCR *st, const char *d)
int GWEN_SslCertDescr_GetIsError(const GWEN_SSLCERTDESCR *st)
const char * GWEN_SslCertDescr_GetCommonName(const GWEN_SSLCERTDESCR *st)
int GWEN_SslCertDescr_toDb(const GWEN_SSLCERTDESCR *st, GWEN_DB_NODE *db)
void GWEN_SslCertDescr_SetNotAfter(GWEN_SSLCERTDESCR *st, const GWEN_TIME *d)
int GWEN_DB_SetCharValue(GWEN_DB_NODE *n, uint32_t flags, const char *path, const char *val)
GWEN_SSLCERTDESCR * GWEN_SslCertDescr_List2_ForEach(GWEN_SSLCERTDESCR_LIST2 *list, GWEN_SSLCERTDESCR_LIST2_FOREACH func, void *user_data)
void GWEN_SslCertDescr_SetStatusText(GWEN_SSLCERTDESCR *st, const char *d)
GWEN_SSLCERTDESCR * GWEN_SslCertDescr_List2__freeAll_cb(GWEN_SSLCERTDESCR *st, void *user_data)
#define GWEN_LIST_INIT(t, element)
const char * GWEN_SslCertDescr_GetIpAddress(const GWEN_SSLCERTDESCR *st)
int GWEN_DB_GetIntValue(GWEN_DB_NODE *n, const char *path, int idx, int defVal)
const char * GWEN_SslCertDescr_GetFingerPrintSha512(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_SetNotBefore(GWEN_SSLCERTDESCR *st, const GWEN_TIME *d)
void GWEN_SslCertDescr_SetModified(GWEN_SSLCERTDESCR *st, int i)
int GWEN_DB_SetIntValue(GWEN_DB_NODE *n, uint32_t flags, const char *path, int val)
#define GWEN_LIST_FUNCTIONS(t, pr)
const GWEN_TIME * GWEN_SslCertDescr_GetNotAfter(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_SetFingerPrint(GWEN_SSLCERTDESCR *st, const char *d)
#define GWEN_PATH_FLAGS_NAMEMUSTEXIST
int GWEN_SslCertDescr_IsModified(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_free(GWEN_SSLCERTDESCR *st)
#define GWEN_LIST_FINI(t, element)
GWEN_SSLCERTDESCR_LIST * GWEN_SslCertDescr_List_new()
const char * GWEN_SslCertDescr_GetLocalityName(const GWEN_SSLCERTDESCR *st)
const char * GWEN_SslCertDescr_GetPubKeyModulus(const GWEN_SSLCERTDESCR *st)
GWEN_SSLCERTDESCR * GWEN_SslCertDescr_new(void)
#define GWEN_DB_FLAGS_DEFAULT
void GWEN_SslCertDescr_SetCommonName(GWEN_SSLCERTDESCR *st, const char *d)
const char * GWEN_SslCertDescr_GetStateOrProvinceName(const GWEN_SSLCERTDESCR *st)
void GWEN_SslCertDescr_SetFingerPrintSha1(GWEN_SSLCERTDESCR *st, const char *d)
void GWEN_SslCertDescr_SetStatusFlags(GWEN_SSLCERTDESCR *st, uint32_t d)