diff options
author | PKI Team <PKI Team@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2008-03-18 22:36:57 +0000 |
---|---|---|
committer | PKI Team <PKI Team@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2008-03-18 22:36:57 +0000 |
commit | d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb (patch) | |
tree | 7e7473fae8af5ad7e6cda7eabbef787093fc59a7 /pki/base/tps/src/include/tus/tus_db.h | |
parent | 273f8d85df5c31293a908185622b378c8f3cf7e8 (diff) | |
download | pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.tar.gz pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.tar.xz pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.zip |
Initial open source version based upon proprietary Red Hat Certificate System (RHCS) 7.3.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@2 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/base/tps/src/include/tus/tus_db.h')
-rw-r--r-- | pki/base/tps/src/include/tus/tus_db.h | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/pki/base/tps/src/include/tus/tus_db.h b/pki/base/tps/src/include/tus/tus_db.h new file mode 100644 index 000000000..092b16a51 --- /dev/null +++ b/pki/base/tps/src/include/tus/tus_db.h @@ -0,0 +1,229 @@ +/* --- BEGIN COPYRIGHT BLOCK --- + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + * + * Copyright (C) 2007 Red Hat, Inc. + * All rights reserved. + * --- END COPYRIGHT BLOCK --- + */ + +#ifndef TUS_DB_H +#define TUS_DB_H + +#ifdef HAVE_CONFIG_H +#ifndef AUTOTOOLS_CONFIG_H +#define AUTOTOOLS_CONFIG_H + +/* Eliminate warnings when using Autotools */ +#undef PACKAGE_BUGREPORT +#undef PACKAGE_NAME +#undef PACKAGE_STRING +#undef PACKAGE_TARNAME +#undef PACKAGE_VERSION + +#include <config.h> +#endif /* AUTOTOOLS_CONFIG_H */ +#endif /* HAVE_CONFIG_H */ + +#ifdef XP_WIN32 +#define TPS_PUBLIC __declspec(dllexport) +#else /* !XP_WIN32 */ +#define TPS_PUBLIC +#endif /* !XP_WIN32 */ + +#include "ldap.h" +#include "ldap_ssl.h" +#include "pk11func.h" +#include "cryptohi.h" +#include "keyhi.h" +#include "base64.h" +#include "nssb64.h" +#include "prlock.h" + +#define I_TOKEN_ID 0 +#define TOKEN_ID "cn" +#define I_TOKEN_USER 1 +#define TOKEN_USER "tokenUserID" +#define I_TOKEN_STATUS 2 +#define TOKEN_STATUS "tokenStatus" +#define I_TOKEN_APPLET 3 +#define TOKEN_APPLET "tokenAppletID" +#define I_TOKEN_KEY_INFO 4 +#define TOKEN_KEY_INFO "keyInfo" +#define I_TOKEN_MODS 5 +#define TOKEN_MODS "modified" +#define I_TOKEN_C_DATE 6 +#define TOKEN_C_DATE "dateOfCreate" +#define I_TOKEN_M_DATE 7 +#define TOKEN_M_DATE "dateOfModify" +#define I_TOKEN_RESETS 8 +#define TOKEN_RESETS "numberOfResets" +#define I_TOKEN_ENROLLMENTS 9 +#define TOKEN_ENROLLMENTS "numberOfEnrollments" +#define I_TOKEN_RENEWALS 10 +#define TOKEN_RENEWALS "numberOfRenewals" +#define I_TOKEN_RECOVERIES 11 +#define TOKEN_RECOVERIES "numberOfRecoveries" +#define I_TOKEN_POLICY 12 +#define TOKEN_POLICY "tokenPolicy" + +#define I_TOKEN_CUID 13 +#define TOKEN_CUID "tokenID" +#define I_TOKEN_OP 14 +#define TOKEN_OP "tokenOp" +#define I_TOKEN_MSG 15 +#define TOKEN_MSG "tokenMsg" +#define I_TOKEN_RESULT 16 +#define TOKEN_RESULT "tokenResult" +#define I_TOKEN_IP 17 +#define TOKEN_IP "tokenIP" +#define I_TOKEN_CERT 18 +#define TOKEN_CERT "userCertificate" +#define I_TOKEN_SUBJECT 19 +#define TOKEN_SUBJECT "tokenSubject" +#define I_TOKEN_ISSUER 20 +#define TOKEN_ISSUER "tokenIssuer" +#define I_TOKEN_ORIGIN 21 +#define TOKEN_ORIGIN "tokenOrigin" +#define I_TOKEN_SERIAL 22 +#define TOKEN_SERIAL "tokenSerial" +#define I_TOKEN_TYPE 23 +#define TOKEN_TYPE "tokenType" +#define I_TOKEN_KEY_TYPE 24 +#define TOKEN_KEY_TYPE "tokenKeyType" +#define I_TOKEN_REASON 13 +#define TOKEN_REASON "tokenReason" +#define I_TOKEN_NOT_BEFORE 26 +#define TOKEN_NOT_BEFORE "tokenNotBefore" +#define I_TOKEN_NOT_AFTER 27 +#define TOKEN_NOT_AFTER "tokenNotAfter" + +#define I_STATE_UNINITIALIZED 0 +#define STATE_UNINITIALIZED "uninitialized" +#define I_STATE_ACTIVE 1 +#define STATE_ACTIVE "active" +#define I_STATE_DISABLED 2 +#define STATE_DISABLED "disabled" + +#define MAX_RETRIES 2 + +TPS_PUBLIC void set_tus_db_port(int number); +TPS_PUBLIC void set_tus_db_host(char *name); +TPS_PUBLIC void set_tus_db_baseDN(char *dn); +TPS_PUBLIC void set_tus_db_bindDN(char *dn); +TPS_PUBLIC void set_tus_db_bindPass(char *p); + +TPS_PUBLIC int is_tus_db_initialized(); +TPS_PUBLIC int get_tus_db_config(char *name); +TPS_PUBLIC int tus_db_init(char **errorMsg); +TPS_PUBLIC int allow_token_reenroll(char *cn); +TPS_PUBLIC int is_token_pin_resetable(char *cn); +TPS_PUBLIC int is_update_pin_resetable_policy(char *cn); +TPS_PUBLIC int is_token_present(char *cn); +TPS_PUBLIC int update_token_policy (char *cn, char *policy); +TPS_PUBLIC char *get_token_policy (char *cn); +TPS_PUBLIC char *get_token_userid(char *cn); +TPS_PUBLIC void tus_db_end(); +TPS_PUBLIC int is_tus_db_entry_disabled(char *cn); +TPS_PUBLIC int add_default_tus_db_entry (const char *uid, const char *agentid, char *cn, const char *status, char *applet_version, char *key_info ); +TPS_PUBLIC int delete_tus_db_entry (char *userid, char *cn); +TPS_PUBLIC int find_tus_db_entry (char *cn, int max, LDAPMessage **result); +TPS_PUBLIC int find_tus_db_entries (const char *filter, int max, LDAPMessage **result); +TPS_PUBLIC int find_tus_token_entries (char *filter, int max, LDAPMessage **result, int order); +TPS_PUBLIC int find_tus_token_entries_no_vlv (char *filter, LDAPMessage **result, int order); +TPS_PUBLIC int tus_has_active_tokens(char *userid); +TPS_PUBLIC char *get_token_reason(LDAPMessage *e); + +TPS_PUBLIC int update_tus_db_entry (const char *agentid, + char *cn, const char *uid, char *keyInfo, + const char *status, + char *applet_version, const char *reason); +TPS_PUBLIC int update_tus_db_entry_with_mods (const char *agentid, const char *cn, LDAPMod **mods); +TPS_PUBLIC int check_and_modify_tus_db_entry (char *userid, char *cn, char *check, LDAPMod **mods); +TPS_PUBLIC int modify_tus_db_entry (char *userid, char *cn, LDAPMod **mods); +TPS_PUBLIC int add_activity (char *ip, char *id, const char *op, const char *result, const char *msg, const char *userid); +TPS_PUBLIC int find_tus_certificate_entries_by_order_no_vlv (char *filter, + LDAPMessage **result, int order); +TPS_PUBLIC int find_tus_certificate_entries_by_order (char *filter, int max, + LDAPMessage **result, int order); +TPS_PUBLIC int add_certificate (char *tokenid, char *origin, char *tokenType, char *userid, CERTCertificate *certificate, char *ktype, const char *status); +TPS_PUBLIC int add_tus_db_entry (char *cn, LDAPMod **mods); +TPS_PUBLIC int add_new_tus_db_entry (const char *userid, char *cn, const char *uid, int flag, const char *status, char *applet_version, char *key_info); +TPS_PUBLIC int find_tus_activity_entries (char *filter, int max, LDAPMessage **result); +TPS_PUBLIC int find_tus_activity_entries_no_vlv (char *filter, LDAPMessage **result, int order); +TPS_PUBLIC int get_number_of_entries (LDAPMessage *result); +TPS_PUBLIC int free_results (LDAPMessage *results); + +TPS_PUBLIC LDAPMessage *get_first_entry (LDAPMessage *result); +TPS_PUBLIC LDAPMessage *get_next_entry (LDAPMessage *entry); +TPS_PUBLIC CERTCertificate **get_certificates(LDAPMessage *entry); + +TPS_PUBLIC char **get_token_states(); +TPS_PUBLIC char **get_token_attributes(); +TPS_PUBLIC char **get_activity_attributes(); +TPS_PUBLIC char **get_attribute_values(LDAPMessage *entry, const char *attribute); +TPS_PUBLIC void free_values(char **values, int ldapValues); +TPS_PUBLIC char **get_token_users(LDAPMessage *entry); +TPS_PUBLIC char *get_token_id(LDAPMessage *entry); +TPS_PUBLIC char *get_cert_tokenType(LDAPMessage *entry); +TPS_PUBLIC char *get_token_status(LDAPMessage *entry); +TPS_PUBLIC char *get_cert_cn(LDAPMessage *entry); +TPS_PUBLIC char *get_cert_status(LDAPMessage *entry); +TPS_PUBLIC char *get_cert_type(LDAPMessage *entry); +TPS_PUBLIC char *get_cert_serial(LDAPMessage *entry); +TPS_PUBLIC char *get_cert_issuer(LDAPMessage *entry); +TPS_PUBLIC char *get_cert_attr_byname(LDAPMessage *entry, char *name); +TPS_PUBLIC char *get_applet_id(LDAPMessage *entry); +TPS_PUBLIC char *get_key_info(LDAPMessage *entry); +TPS_PUBLIC char *get_creation_date(LDAPMessage *entry); +TPS_PUBLIC char *get_modification_date(LDAPMessage *entry); +TPS_PUBLIC char *get_policy_name(); +TPS_PUBLIC char *get_reason_name(); +int find_tus_certificate_entries (char *filter, int max, LDAPMessage **result); +TPS_PUBLIC char **get_certificate_attributes(); + +TPS_PUBLIC int get_number_of_modifications(LDAPMessage *entry); +TPS_PUBLIC int get_number_of_resets(LDAPMessage *entry); +TPS_PUBLIC int get_number_of_enrollments(LDAPMessage *entry); +TPS_PUBLIC int get_number_of_renewals(LDAPMessage *entry); +TPS_PUBLIC int get_number_of_recoveries(LDAPMessage *entry); + +TPS_PUBLIC char *get_token_users_name(); +TPS_PUBLIC char *get_token_id_name(); +TPS_PUBLIC char *get_token_status_name(); +TPS_PUBLIC char *get_applet_id_name(); +TPS_PUBLIC char *get_key_info_name(); +TPS_PUBLIC char *get_creation_date_name(); +TPS_PUBLIC char *get_modification_date_name(); +TPS_PUBLIC char *get_number_of_modifications_name(); +TPS_PUBLIC char *get_number_of_resets_name(); +TPS_PUBLIC char *get_number_of_enrollments_name(); +TPS_PUBLIC char *get_number_of_renewals_name(); +TPS_PUBLIC char *get_number_of_recoveries_name(); + +TPS_PUBLIC LDAPMod **allocate_modifications(int size); +TPS_PUBLIC void free_modifications(LDAPMod **mods, int ldapValues); +TPS_PUBLIC char **allocate_values(int size, int extra); +TPS_PUBLIC char **create_modification_date_change(); +TPS_PUBLIC int base64_decode(char *src, unsigned char *dst); +TPS_PUBLIC char *tus_authenticate(char *cert); +TPS_PUBLIC int tus_authorize(const char *group, const char *userid); +TPS_PUBLIC int update_cert_status(char *cn, const char *status); +TPS_PUBLIC int update_token_status_reason(char *userid, char *cuid, + const char *tokenStatus, const char *reason); +TPS_PUBLIC int update_token_status_reason_userid(const char *userid, char *cuid, + const char *tokenStatus, const char *reason, int modifyDateOfCreate); + +#endif /* TUS_DB_H */ |