00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef CONEXUSNSPRUTILITY_H
00020 #define CONEXUSNSPRUTILITY_H
00021
00022 #include <nspr.h>
00023 #include <pk11func.h>
00024 #include <ssl.h>
00025 #include <nss.h>
00026
00027 #include <conexus/ipv4_address.h>
00028
00029
00030 namespace Conexus {
00031
00032 namespace NSPR {
00033
00034 typedef enum NSS_POLICY {
00035 NSS_POLICY_NONE,
00036 NSS_POLICY_US_DOMESTIC,
00037 NSS_POLICY_US_EXPORTABLE,
00038 NSS_POLICY_FRANCE,
00039 } NSS_POLICY;
00040
00041 void init( bool use_dispatcher_default = false );
00042
00043 bool initialized();
00044
00045 void finalize();
00046
00047 bool nss_init( bool use_dispatcher_default = false,
00048 const char* nss_config_dir = NULL,
00049 NSS_POLICY policy = NSS_POLICY_NONE,
00050 bool read_write = false );
00051
00052 void set_nss_password_function( PK11PasswordFunc func );
00053
00054 char* default_nss_password_function( PK11SlotInfo* slot, PRBool retry, void* arg );
00055
00056 bool enable_cipher( uint32_t cipher, bool enable = true );
00057
00058 void clear_session_cache( );
00059
00060 bool configure_server_session_cache( int max_cache_entries = 0,
00061 uint32_t timeout = 0,
00062 uint32_t ssl3_timeout = 0,
00063 const char* cache_directory = NULL );
00064
00065 void addr_to_nspr( Address& conexusaddr, PRNetAddr& nspraddr );
00066
00067
00068 }
00069
00070 }
00071
00072 #endif