summaryrefslogtreecommitdiff
path: root/plugins/CryptoPP/src/PGPw/sdk6/include/pgpKeyServer.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/CryptoPP/src/PGPw/sdk6/include/pgpKeyServer.h')
-rw-r--r--plugins/CryptoPP/src/PGPw/sdk6/include/pgpKeyServer.h360
1 files changed, 360 insertions, 0 deletions
diff --git a/plugins/CryptoPP/src/PGPw/sdk6/include/pgpKeyServer.h b/plugins/CryptoPP/src/PGPw/sdk6/include/pgpKeyServer.h
new file mode 100644
index 0000000000..25579aacd0
--- /dev/null
+++ b/plugins/CryptoPP/src/PGPw/sdk6/include/pgpKeyServer.h
@@ -0,0 +1,360 @@
+/*____________________________________________________________________________
+ Copyright (C) 1997 Network Associates Inc. and affiliated companies.
+ All rights reserved.
+
+
+
+ $Id: pgpKeyServer.h,v 1.43 1999/04/12 18:59:57 jason Exp $
+____________________________________________________________________________*/
+
+#ifndef Included_pgpKeyServer_h
+#define Included_pgpKeyServer_h
+
+#include "pgpOptionList.h"
+#include "pgpErrors.h"
+#include "pgpGroups.h"
+#include "pgpTLS.h"
+
+
+enum PGPKeyServerState_
+{
+ kPGPKeyServerState_Invalid = 0,
+ kPGPKeyServerState_Opening = 1,
+ kPGPKeyServerState_Querying = 2,
+ kPGPKeyServerState_ReceivingResults = 3,
+ kPGPKeyServerState_ProcessingResults = 4,
+ kPGPKeyServerState_Uploading = 5,
+ kPGPKeyServerState_Deleting = 6,
+ kPGPKeyServerState_Disabling = 7,
+ kPGPKeyServerState_Closing = 8,
+
+ kPGPKeyServerState_TLSUnableToSecureConnection = 9,
+ kPGPKeyServerState_TLSConnectionSecured = 10,
+
+ PGP_ENUM_FORCE(PGPKeyServerState_)
+};
+
+PGPENUM_TYPEDEF(PGPKeyServerState_, PGPKeyServerState);
+
+enum PGPKeyServerProtocol_
+{
+ kPGPKeyServerProtocol_Invalid = 0,
+ kPGPKeyServerProtocol_LDAP = 1,
+ kPGPKeyServerProtocol_HTTP = 2,
+ kPGPKeyServerProtocol_LDAPS = 3,
+ kPGPKeyServerProtocol_HTTPS = 4,
+
+ PGP_ENUM_FORCE( PGPKeyServerProtocol_ )
+};
+
+PGPENUM_TYPEDEF( PGPKeyServerProtocol_, PGPKeyServerProtocol );
+
+enum PGPKeyServerClass_
+{
+ kPGPKeyServerClass_Invalid = 0,
+ kPGPKeyServerClass_PGP = 1,
+ kPGPKeyServerClass_NetToolsCA = 2,
+ kPGPKeyServerClass_Verisign = 3,
+ kPGPKeyServerClass_Entrust = 4,
+
+ PGP_ENUM_FORCE( PGPKeyServerClass_ )
+};
+
+PGPENUM_TYPEDEF( PGPKeyServerClass_, PGPKeyServerClass );
+
+enum PGPKeyServerKeySpace_ /* These are only valid for LDAP keyservers */
+{
+ kPGPKeyServerKeySpace_Invalid = 0,
+ kPGPKeyServerKeySpace_Default = 1,
+ kPGPKeyServerKeySpace_Normal = 2,
+ kPGPKeyServerKeySpace_Pending = 3,
+
+ PGP_ENUM_FORCE( PGPKeyServerKeySpace_ )
+};
+
+PGPENUM_TYPEDEF( PGPKeyServerKeySpace_, PGPKeyServerKeySpace );
+
+enum PGPKeyServerAccessType_ /* These are only valid for LDAP keyservers */
+{
+ kPGPKeyServerAccessType_Invalid = 0,
+ kPGPKeyServerAccessType_Default = 1,
+ kPGPKeyServerAccessType_Normal = 2,
+ kPGPKeyServerAccessType_Administrator = 3,
+
+ PGP_ENUM_FORCE( PGPKeyServerAccessType_ )
+};
+
+PGPENUM_TYPEDEF( PGPKeyServerAccessType_, PGPKeyServerAccessType );
+
+/* PGPKeyServerMonitorValues are null terminated linked lists.
+ The values member is a null terminated array of char*s.
+*/
+
+typedef struct PGPKeyServerMonitorValues
+{
+ char * name;
+ char ** values;
+ struct PGPKeyServerMonitorValues * next;
+} PGPKeyServerMonitorValues;
+
+typedef struct PGPKeyServerMonitor
+{
+ PGPKeyServerRef keyServerRef;
+ PGPKeyServerMonitorValues * valuesHead;
+} PGPKeyServerMonitor;
+
+
+typedef struct PGPKeyServerThreadStorage * PGPKeyServerThreadStorageRef;
+# define kInvalidPGPKeyServerThreadStorageRef \
+ ((PGPKeyServerThreadStorageRef) NULL)
+#define PGPKeyServerThreadStorageRefIsValid(ref) \
+ ((ref) != kInvalidPGPKeyServerThreadStorageRef)
+
+#if PGP_DEPRECATED /* [ */
+
+#define kPGPKeyServerType_Invalid kPGPKeyServerProtocol_Invalid
+#define kPGPKeyServerType_LDAP kPGPKeyServerProtocol_LDAP
+#define kPGPKeyServerType_HTTP kPGPKeyServerProtocol_HTTP
+#define kPGPKeyServerType_LDAPS kPGPKeyServerProtocol_LDAPS
+#define kPGPKeyServerType_HTTPS kPGPKeyServerProtocol_HTTPS
+
+typedef PGPKeyServerProtocol PGPKeyServerType;
+
+#endif /* ] PGP_DEPRECATED */
+
+PGP_BEGIN_C_DECLARATIONS
+#if PRAGMA_IMPORT_SUPPORTED
+#pragma import on
+#endif
+
+
+/* Use the idle event handler to receive periodic idle events during
+ network calls. Usually this is used only in non-preemptive multi-tasking
+ OSes to allow yielding in threads. Pre-emptive multi-tasking systems
+ should probably not use the call as it interrupts the efficient wait state
+ of threads waiting on network calls.
+
+ Idle event handlers need to be added on a per thread basis.
+
+ Returning an error from the idle event handler will cause the keyserver
+ to quit processing and to return a kPGPError_UserAbort. */
+PGPError PGPSetKeyServerIdleEventHandler(
+ PGPEventHandlerProcPtr inCallback,
+ PGPUserValue inUserData);
+
+PGPError PGPGetKeyServerIdleEventHandler(
+ PGPEventHandlerProcPtr * outCallback,
+ PGPUserValue * outUserData);
+
+/* Network library options */
+
+PGPOptionListRef PGPONetURL(PGPContextRef context, const char *url);
+
+PGPOptionListRef PGPONetHostName(PGPContextRef context,
+ const char *hostName, PGPUInt16 port);
+
+PGPOptionListRef PGPONetHostAddress(PGPContextRef context,
+ PGPUInt32 hostAddress, PGPUInt16 port);
+
+PGPOptionListRef PGPOKeyServerProtocol(PGPContextRef context,
+ PGPKeyServerProtocol serverProtocol);
+
+PGPOptionListRef PGPOKeyServerKeySpace(PGPContextRef context,
+ PGPKeyServerKeySpace serverSpace);
+
+PGPOptionListRef PGPOKeyServerAccessType(PGPContextRef context,
+ PGPKeyServerAccessType accessType);
+
+PGPOptionListRef PGPOKeyServerCAKey(PGPContextRef context,
+ PGPKeyRef caKey);
+
+PGPOptionListRef PGPOKeyServerRequestKey(PGPContextRef context,
+ PGPKeyRef requestKey);
+
+PGPOptionListRef PGPOKeyServerSearchKey(PGPContextRef context,
+ PGPKeyRef searchKey);
+
+PGPOptionListRef PGPOKeyServerSearchFilter(PGPContextRef context,
+ PGPFilterRef searchFilter);
+
+/* Static storage creation */
+PGPError PGPKeyServerCreateThreadStorage(
+ PGPKeyServerThreadStorageRef * outPreviousStorage);
+PGPError PGPKeyServerDisposeThreadStorage(
+ PGPKeyServerThreadStorageRef inPreviousStorage);
+
+/* Initialize and close the keyserver library */
+PGPError PGPKeyServerInit(void);
+
+PGPError PGPKeyServerCleanup(void);
+
+
+/* Creating and freeing a keyserver ref. */
+PGPError PGPNewKeyServer(
+ PGPContextRef inContext,
+ PGPKeyServerClass inClass,
+ PGPKeyServerRef *outKeyServerRef,
+ PGPOptionListRef firstOption,
+ ... );
+
+PGPError PGPFreeKeyServer(PGPKeyServerRef inKeyServerRef);
+PGPError PGPIncKeyServerRefCount(PGPKeyServerRef inKeyServerRef);
+
+
+/* Set and get the keyserver's event handler. Note that returning an error
+ for a keyserver event will abort the current call. */
+PGPError PGPSetKeyServerEventHandler(
+ PGPKeyServerRef inKeyServerRef,
+ PGPEventHandlerProcPtr inCallback,
+ PGPUserValue inUserData);
+
+PGPError PGPGetKeyServerEventHandler(
+ PGPKeyServerRef inKeyServerRef,
+ PGPEventHandlerProcPtr * outCallback,
+ PGPUserValue * outUserData);
+
+
+/* Canceling a call to a keyserver. This is the only call that can be made
+ to a keyserver that is currently in another call. Also, once you have
+ returned from a canceled call, you may only close the keyserver. */
+PGPError PGPCancelKeyServerCall(PGPKeyServerRef inKeyServerRef);
+
+
+/* Opening and closing the keyserver. A keyserver ref can be opened and
+ closed multiple times as necessary. */
+PGPError PGPKeyServerOpen(PGPKeyServerRef inKeyServerRef,
+ PGPtlsSessionRef inTLSSessionRef);
+
+PGPError PGPKeyServerClose(PGPKeyServerRef inKeyServerRef);
+
+
+/* Get keyserver info. */
+PGPError PGPGetKeyServerTLSSession(PGPKeyServerRef inKeyServerRef,
+ PGPtlsSessionRef * outTLSSessionRef);
+
+PGPError PGPGetKeyServerProtocol(PGPKeyServerRef inKeyServerRef,
+ PGPKeyServerProtocol * outType);
+
+PGPError PGPGetKeyServerAccessType(PGPKeyServerRef inKeyServerRef,
+ PGPKeyServerAccessType * outAccessType);
+
+PGPError PGPGetKeyServerKeySpace(PGPKeyServerRef inKeyServerRef,
+ PGPKeyServerKeySpace * outKeySpace);
+
+PGPError PGPGetKeyServerPort(PGPKeyServerRef inKeyServerRef,
+ PGPUInt16 * outPort);
+
+PGPError PGPGetKeyServerHostName(PGPKeyServerRef inKeyServerRef,
+ char ** outHostName); /* Use PGPFreeData to free */
+
+PGPError PGPGetKeyServerAddress(PGPKeyServerRef inKeyServerRef,
+ PGPUInt32 * outAddress);
+
+PGPError PGPGetKeyServerPath(PGPKeyServerRef inKeyServerRef,
+ char ** outPath); /* Use PGPFreeData to free */
+
+PGPContextRef PGPGetKeyServerContext(PGPKeyServerRef inKeyServerRef);
+
+/* If there was an error string returned from the server, you can get it with
+ this function. Note that if there is no string, the function will return
+ kPGPError_NoErr and *outErrorString will be NULL */
+PGPError PGPGetLastKeyServerErrorString(
+ PGPKeyServerRef inKeyServerRef,
+ char ** outErrorString); /* Use PGPFreeData to free */
+
+
+/* These functions may be used with both HTTP and LDAP keyservers */
+PGPError PGPQueryKeyServer(PGPKeyServerRef inKeyServerRef,
+ PGPFilterRef inFilterRef,
+ PGPKeySetRef * outFoundKeys);
+
+PGPError PGPUploadToKeyServer(PGPKeyServerRef inKeyServerRef,
+ PGPKeySetRef inKeysToUpload,
+ PGPKeySetRef * outKeysThatFailed);
+
+
+/* These functions may only be used with LDAP keyservers */
+PGPError PGPDeleteFromKeyServer(PGPKeyServerRef inKeyServerRef,
+ PGPKeySetRef inKeysToDelete,
+ PGPKeySetRef * outKeysThatFailed);
+
+PGPError PGPDisableFromKeyServer(PGPKeyServerRef inKeyServerRef,
+ PGPKeySetRef inKeysToDisable,
+ PGPKeySetRef * outKeysThatFailed);
+
+PGPError PGPSendGroupsToServer(PGPKeyServerRef inKeyServerRef,
+ PGPGroupSetRef inGroupSetRef);
+
+PGPError PGPRetrieveGroupsFromServer(
+ PGPKeyServerRef inKeyServerRef,
+ PGPGroupSetRef * outGroupSetRef);
+
+PGPError PGPNewServerMonitor(PGPKeyServerRef inKeyServerRef,
+ PGPKeyServerMonitor ** outMonitor);
+
+PGPError PGPFreeServerMonitor(PGPKeyServerMonitor * inMonitor);
+
+/* X.509 Certificate Request functions */
+
+PGPError PGPSendCertificateRequest(
+ PGPKeyServerRef inKeyServerRef,
+ PGPOptionListRef firstOption,
+ ... );
+
+PGPError PGPRetrieveCertificate(
+ PGPKeyServerRef inKeyServerRef,
+ PGPOptionListRef firstOption,
+ ... );
+
+PGPError PGPRetrieveCertificateRevocationList(
+ PGPKeyServerRef inKeyServerRef,
+ PGPOptionListRef firstOption,
+ ... );
+
+/***************************************************************************
+****************************************************************************
+ NOTE: These functions are deprecated and should not be used
+
+ PGPGetKeyServerType -> PGPGetKeyServerProtocol
+ PGPNewKeyServerFromURL -> PGPNewKeyServer
+ PGPNewKeyServerFromHostName -> PGPNewKeyServer
+ PGPNewKeyServerFromHostAddress -> PGPNewKeyServer
+
+****************************************************************************
+***************************************************************************/
+
+#if PGP_DEPRECATED /* [ */
+
+PGPError PGPNewKeyServerFromURL(PGPContextRef inContext,
+ const char * inURL,
+ PGPKeyServerAccessType inAccessType,
+ PGPKeyServerKeySpace inKeySpace,
+ PGPKeyServerRef * outKeyServerRef);
+
+PGPError PGPNewKeyServerFromHostName(PGPContextRef inContext,
+ const char * inHostName,
+ PGPUInt16 inPort, /* default for protocol if 0 */
+ PGPKeyServerProtocol inType,
+ PGPKeyServerAccessType inAccessType,
+ PGPKeyServerKeySpace inKeySpace,
+ PGPKeyServerRef * outKeyServerRef);
+
+PGPError PGPNewKeyServerFromHostAddress(PGPContextRef inContext,
+ PGPUInt32 inAddress,
+ PGPUInt16 inPort, /* default for protocol if 0 */
+ PGPKeyServerProtocol inType,
+ PGPKeyServerAccessType inAccessType,
+ PGPKeyServerKeySpace inKeySpace,
+ PGPKeyServerRef * outKeyServerRef);
+
+PGPError PGPGetKeyServerType(PGPKeyServerRef inKeyServerRef,
+ PGPKeyServerType * outType);
+
+#endif /* ] PGP_DEPRECATED */
+
+#if PRAGMA_IMPORT_SUPPORTED
+#pragma import reset
+#endif
+PGP_END_C_DECLARATIONS
+
+#endif