diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/src/doc/crypto/CONF_modules_free.pod | 47 | ||||
| -rw-r--r-- | src/lib/libssl/src/doc/crypto/CONF_modules_load_file.pod | 60 | ||||
| -rw-r--r-- | src/lib/libssl/src/doc/crypto/CRYPTO_set_ex_data.pod | 56 | ||||
| -rw-r--r-- | src/lib/libssl/src/doc/crypto/CRYPTO_set_locking_callback.pod | 210 | ||||
| -rw-r--r-- | src/lib/libssl/src/doc/crypto/crypto.pod | 85 | 
5 files changed, 0 insertions, 458 deletions
| diff --git a/src/lib/libssl/src/doc/crypto/CONF_modules_free.pod b/src/lib/libssl/src/doc/crypto/CONF_modules_free.pod deleted file mode 100644 index 803b2faab1..0000000000 --- a/src/lib/libssl/src/doc/crypto/CONF_modules_free.pod +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | CONF_modules_free, CONF_modules_finish, CONF_modules_unload - OpenSSL | ||
| 6 | configuration cleanup functions | ||
| 7 | |||
| 8 | =head1 SYNOPSIS | ||
| 9 | |||
| 10 | #include <openssl/conf.h> | ||
| 11 | |||
| 12 | void CONF_modules_free(void); | ||
| 13 | void CONF_modules_finish(void); | ||
| 14 | void CONF_modules_unload(int all); | ||
| 15 | |||
| 16 | =head1 DESCRIPTION | ||
| 17 | |||
| 18 | CONF_modules_free() closes down and frees up all memory allocated by all | ||
| 19 | configuration modules. | ||
| 20 | |||
| 21 | CONF_modules_finish() calls each configuration modules B<finish> handler | ||
| 22 | to free up any configuration that module may have performed. | ||
| 23 | |||
| 24 | CONF_modules_unload() finishes and unloads configuration modules. If | ||
| 25 | B<all> is set to B<0> only modules loaded from DSOs will be unloads. If | ||
| 26 | B<all> is B<1> all modules, including builtin modules will be unloaded. | ||
| 27 | |||
| 28 | =head1 NOTES | ||
| 29 | |||
| 30 | Normally applications will only call CONF_modules_free() at application to | ||
| 31 | tidy up any configuration performed. | ||
| 32 | |||
| 33 | =head1 RETURN VALUE | ||
| 34 | |||
| 35 | None of the functions return a value. | ||
| 36 | |||
| 37 | =head1 SEE ALSO | ||
| 38 | |||
| 39 | L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>, | ||
| 40 | L<CONF_modules_load_file(3)|CONF_modules_load_file(3)> | ||
| 41 | |||
| 42 | =head1 HISTORY | ||
| 43 | |||
| 44 | CONF_modules_free(), CONF_modules_unload(), and CONF_modules_finish() | ||
| 45 | first appeared in OpenSSL 0.9.7. | ||
| 46 | |||
| 47 | =cut | ||
| diff --git a/src/lib/libssl/src/doc/crypto/CONF_modules_load_file.pod b/src/lib/libssl/src/doc/crypto/CONF_modules_load_file.pod deleted file mode 100644 index e663ac5bc9..0000000000 --- a/src/lib/libssl/src/doc/crypto/CONF_modules_load_file.pod +++ /dev/null | |||
| @@ -1,60 +0,0 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | CONF_modules_load_file, CONF_modules_load - OpenSSL configuration functions | ||
| 6 | |||
| 7 | =head1 SYNOPSIS | ||
| 8 | |||
| 9 | #include <openssl/conf.h> | ||
| 10 | |||
| 11 | int CONF_modules_load_file(const char *filename, const char *appname, | ||
| 12 | unsigned long flags); | ||
| 13 | int CONF_modules_load(const CONF *cnf, const char *appname, | ||
| 14 | unsigned long flags); | ||
| 15 | |||
| 16 | =head1 DESCRIPTION | ||
| 17 | |||
| 18 | The function CONF_modules_load_file() configures OpenSSL using file | ||
| 19 | B<filename> and application name B<appname>. If B<filename> is NULL | ||
| 20 | the standard OpenSSL configuration file is used. If B<appname> is | ||
| 21 | NULL the standard OpenSSL application name B<openssl_conf> is used. | ||
| 22 | The behaviour can be customized using B<flags>. | ||
| 23 | |||
| 24 | CONF_modules_load() is identical to CONF_modules_load_file() except it | ||
| 25 | read configuration information from B<cnf>. | ||
| 26 | |||
| 27 | =head1 NOTES | ||
| 28 | |||
| 29 | The following B<flags> are currently recognized: | ||
| 30 | |||
| 31 | B<CONF_MFLAGS_IGNORE_ERRORS> if set errors returned by individual | ||
| 32 | configuration modules are ignored. If not set the first module error is | ||
| 33 | considered fatal and no further modules are loads. | ||
| 34 | |||
| 35 | Normally any modules errors will add error information to the error queue. If | ||
| 36 | B<CONF_MFLAGS_SILENT> is set no error information is added. | ||
| 37 | |||
| 38 | If B<CONF_MFLAGS_NO_DSO> is set configuration module loading from DSOs is | ||
| 39 | disabled. | ||
| 40 | |||
| 41 | B<CONF_MFLAGS_IGNORE_MISSING_FILE> if set will make CONF_load_modules_file() | ||
| 42 | ignore missing configuration files. Normally a missing configuration file | ||
| 43 | return an error. | ||
| 44 | |||
| 45 | =head1 RETURN VALUE | ||
| 46 | |||
| 47 | These functions return 1 for success and a zero or negative value for | ||
| 48 | failure. If module errors are not ignored the return code will reflect the | ||
| 49 | return value of the failing module (this will always be zero or negative). | ||
| 50 | |||
| 51 | =head1 SEE ALSO | ||
| 52 | |||
| 53 | L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>, | ||
| 54 | L<CONF_free(3)|CONF_free(3)>, L<err(3)|err(3)> | ||
| 55 | |||
| 56 | =head1 HISTORY | ||
| 57 | |||
| 58 | CONF_modules_load_file and CONF_modules_load first appeared in OpenSSL 0.9.7. | ||
| 59 | |||
| 60 | =cut | ||
| diff --git a/src/lib/libssl/src/doc/crypto/CRYPTO_set_ex_data.pod b/src/lib/libssl/src/doc/crypto/CRYPTO_set_ex_data.pod deleted file mode 100644 index 0c8b378854..0000000000 --- a/src/lib/libssl/src/doc/crypto/CRYPTO_set_ex_data.pod +++ /dev/null | |||
| @@ -1,56 +0,0 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | CRYPTO_set_ex_data, CRYPTO_get_ex_data - internal application specific data | ||
| 6 | functions | ||
| 7 | |||
| 8 | =head1 SYNOPSIS | ||
| 9 | |||
| 10 | #include <openssl/crypto.h> | ||
| 11 | |||
| 12 | int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg); | ||
| 13 | |||
| 14 | void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *r, int idx); | ||
| 15 | |||
| 16 | =head1 DESCRIPTION | ||
| 17 | |||
| 18 | Several OpenSSL structures can have application specific data attached to them. | ||
| 19 | These functions are used internally by OpenSSL to manipulate application | ||
| 20 | specific data attached to a specific structure. | ||
| 21 | |||
| 22 | These functions should only be used by applications to manipulate | ||
| 23 | B<CRYPTO_EX_DATA> structures passed to the B<new_func()>, B<free_func()> and | ||
| 24 | B<dup_func()> callbacks: as passed to B<RSA_get_ex_new_index()> for example. | ||
| 25 | |||
| 26 | B<CRYPTO_set_ex_data()> is used to set application specific data, the data is | ||
| 27 | supplied in the B<arg> parameter and its precise meaning is up to the | ||
| 28 | application. | ||
| 29 | |||
| 30 | B<CRYPTO_get_ex_data()> is used to retrieve application specific data. The data | ||
| 31 | is returned to the application, this will be the same value as supplied to | ||
| 32 | a previous B<CRYPTO_set_ex_data()> call. | ||
| 33 | |||
| 34 | =head1 RETURN VALUES | ||
| 35 | |||
| 36 | B<CRYPTO_set_ex_data()> returns 1 on success or 0 on failure. | ||
| 37 | |||
| 38 | B<CRYPTO_get_ex_data()> returns the application data or 0 on failure. 0 may | ||
| 39 | also be valid application data but currently it can only fail if given an | ||
| 40 | invalid B<idx> parameter. | ||
| 41 | |||
| 42 | On failure an error code can be obtained from | ||
| 43 | L<ERR_get_error(3)|ERR_get_error(3)>. | ||
| 44 | |||
| 45 | =head1 SEE ALSO | ||
| 46 | |||
| 47 | L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>, | ||
| 48 | L<DSA_get_ex_new_index(3)|DSA_get_ex_new_index(3)>, | ||
| 49 | L<DH_get_ex_new_index(3)|DH_get_ex_new_index(3)> | ||
| 50 | |||
| 51 | =head1 HISTORY | ||
| 52 | |||
| 53 | CRYPTO_set_ex_data() and CRYPTO_get_ex_data() have been available since SSLeay | ||
| 54 | 0.9.0. | ||
| 55 | |||
| 56 | =cut | ||
| diff --git a/src/lib/libssl/src/doc/crypto/CRYPTO_set_locking_callback.pod b/src/lib/libssl/src/doc/crypto/CRYPTO_set_locking_callback.pod deleted file mode 100644 index 8f4cf4cb2d..0000000000 --- a/src/lib/libssl/src/doc/crypto/CRYPTO_set_locking_callback.pod +++ /dev/null | |||
| @@ -1,210 +0,0 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | CRYPTO_THREADID_set_callback, CRYPTO_THREADID_get_callback, | ||
| 6 | CRYPTO_THREADID_current, CRYPTO_THREADID_cmp, CRYPTO_THREADID_cpy, | ||
| 7 | CRYPTO_THREADID_hash, CRYPTO_set_locking_callback, CRYPTO_num_locks, | ||
| 8 | CRYPTO_set_dynlock_create_callback, CRYPTO_set_dynlock_lock_callback, | ||
| 9 | CRYPTO_set_dynlock_destroy_callback, CRYPTO_get_new_dynlockid, | ||
| 10 | CRYPTO_destroy_dynlockid, CRYPTO_lock - OpenSSL thread support | ||
| 11 | |||
| 12 | =head1 SYNOPSIS | ||
| 13 | |||
| 14 | #include <openssl/crypto.h> | ||
| 15 | |||
| 16 | /* Don't use this structure directly. */ | ||
| 17 | typedef struct crypto_threadid_st | ||
| 18 | { | ||
| 19 | void *ptr; | ||
| 20 | unsigned long val; | ||
| 21 | } CRYPTO_THREADID; | ||
| 22 | /* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ | ||
| 23 | void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); | ||
| 24 | void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); | ||
| 25 | int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *)); | ||
| 26 | void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *); | ||
| 27 | void CRYPTO_THREADID_current(CRYPTO_THREADID *id); | ||
| 28 | int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, | ||
| 29 | const CRYPTO_THREADID *b); | ||
| 30 | void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, | ||
| 31 | const CRYPTO_THREADID *src); | ||
| 32 | unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); | ||
| 33 | |||
| 34 | int CRYPTO_num_locks(void); | ||
| 35 | |||
| 36 | /* struct CRYPTO_dynlock_value needs to be defined by the user */ | ||
| 37 | struct CRYPTO_dynlock_value; | ||
| 38 | |||
| 39 | void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value * | ||
| 40 | (*dyn_create_function)(char *file, int line)); | ||
| 41 | void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function) | ||
| 42 | (int mode, struct CRYPTO_dynlock_value *l, | ||
| 43 | const char *file, int line)); | ||
| 44 | void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function) | ||
| 45 | (struct CRYPTO_dynlock_value *l, const char *file, int line)); | ||
| 46 | |||
| 47 | int CRYPTO_get_new_dynlockid(void); | ||
| 48 | |||
| 49 | void CRYPTO_destroy_dynlockid(int i); | ||
| 50 | |||
| 51 | void CRYPTO_lock(int mode, int n, const char *file, int line); | ||
| 52 | |||
| 53 | #define CRYPTO_w_lock(type) \ | ||
| 54 | CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) | ||
| 55 | #define CRYPTO_w_unlock(type) \ | ||
| 56 | CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) | ||
| 57 | #define CRYPTO_r_lock(type) \ | ||
| 58 | CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__) | ||
| 59 | #define CRYPTO_r_unlock(type) \ | ||
| 60 | CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) | ||
| 61 | #define CRYPTO_add(addr,amount,type) \ | ||
| 62 | CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) | ||
| 63 | |||
| 64 | =head1 DESCRIPTION | ||
| 65 | |||
| 66 | OpenSSL can safely be used in multi-threaded applications provided | ||
| 67 | that at least two callback functions are set, locking_function and | ||
| 68 | threadid_func. | ||
| 69 | |||
| 70 | locking_function(int mode, int n, const char *file, int line) is | ||
| 71 | needed to perform locking on shared data structures. | ||
| 72 | (Note that OpenSSL uses a number of global data structures that | ||
| 73 | will be implicitly shared whenever multiple threads use OpenSSL.) | ||
| 74 | Multi-threaded applications will crash at random if it is not set. | ||
| 75 | |||
| 76 | locking_function() must be able to handle up to CRYPTO_num_locks() | ||
| 77 | different mutex locks. It sets the B<n>-th lock if B<mode> & | ||
| 78 | B<CRYPTO_LOCK>, and releases it otherwise. | ||
| 79 | |||
| 80 | B<file> and B<line> are the file number of the function setting the | ||
| 81 | lock. They can be useful for debugging. | ||
| 82 | |||
| 83 | threadid_func(CRYPTO_THREADID *id) is needed to record the currently-executing | ||
| 84 | thread's identifier into B<id>. The implementation of this callback should not | ||
| 85 | fill in B<id> directly, but should use CRYPTO_THREADID_set_numeric() if thread | ||
| 86 | IDs are numeric, or CRYPTO_THREADID_set_pointer() if they are pointer-based. | ||
| 87 | If the application does not register such a callback using | ||
| 88 | CRYPTO_THREADID_set_callback(), then a default implementation is used - on | ||
| 89 | Windows and BeOS this uses the system's default thread identifying APIs, and on | ||
| 90 | all other platforms it uses the address of B<errno>. The latter is satisfactory | ||
| 91 | for thread-safety if and only if the platform has a thread-local error number | ||
| 92 | facility. | ||
| 93 | |||
| 94 | Once threadid_func() is registered, or if the built-in default implementation is | ||
| 95 | to be used; | ||
| 96 | |||
| 97 | =over 4 | ||
| 98 | |||
| 99 | =item * | ||
| 100 | CRYPTO_THREADID_current() records the currently-executing thread ID into the | ||
| 101 | given B<id> object. | ||
| 102 | |||
| 103 | =item * | ||
| 104 | CRYPTO_THREADID_cmp() compares two thread IDs (returning zero for equality, ie. | ||
| 105 | the same semantics as memcmp()). | ||
| 106 | |||
| 107 | =item * | ||
| 108 | CRYPTO_THREADID_cpy() duplicates a thread ID value, | ||
| 109 | |||
| 110 | =item * | ||
| 111 | CRYPTO_THREADID_hash() returns a numeric value usable as a hash-table key. This | ||
| 112 | is usually the exact numeric or pointer-based thread ID used internally, however | ||
| 113 | this also handles the unusual case where pointers are larger than 'long' | ||
| 114 | variables and the platform's thread IDs are pointer-based - in this case, mixing | ||
| 115 | is done to attempt to produce a unique numeric value even though it is not as | ||
| 116 | wide as the platform's true thread IDs. | ||
| 117 | |||
| 118 | =back | ||
| 119 | |||
| 120 | Additionally, OpenSSL supports dynamic locks, and sometimes, some parts | ||
| 121 | of OpenSSL need it for better performance. To enable this, the following | ||
| 122 | is required: | ||
| 123 | |||
| 124 | =over 4 | ||
| 125 | |||
| 126 | =item * | ||
| 127 | Three additional callback function, dyn_create_function, dyn_lock_function | ||
| 128 | and dyn_destroy_function. | ||
| 129 | |||
| 130 | =item * | ||
| 131 | A structure defined with the data that each lock needs to handle. | ||
| 132 | |||
| 133 | =back | ||
| 134 | |||
| 135 | struct CRYPTO_dynlock_value has to be defined to contain whatever structure | ||
| 136 | is needed to handle locks. | ||
| 137 | |||
| 138 | dyn_create_function(const char *file, int line) is needed to create a | ||
| 139 | lock. Multi-threaded applications might crash at random if it is not set. | ||
| 140 | |||
| 141 | dyn_lock_function(int mode, CRYPTO_dynlock *l, const char *file, int line) | ||
| 142 | is needed to perform locking off dynamic lock numbered n. Multi-threaded | ||
| 143 | applications might crash at random if it is not set. | ||
| 144 | |||
| 145 | dyn_destroy_function(CRYPTO_dynlock *l, const char *file, int line) is | ||
| 146 | needed to destroy the lock l. Multi-threaded applications might crash at | ||
| 147 | random if it is not set. | ||
| 148 | |||
| 149 | CRYPTO_get_new_dynlockid() is used to create locks. It will call | ||
| 150 | dyn_create_function for the actual creation. | ||
| 151 | |||
| 152 | CRYPTO_destroy_dynlockid() is used to destroy locks. It will call | ||
| 153 | dyn_destroy_function for the actual destruction. | ||
| 154 | |||
| 155 | CRYPTO_lock() is used to lock and unlock the locks. mode is a bitfield | ||
| 156 | describing what should be done with the lock. n is the number of the | ||
| 157 | lock as returned from CRYPTO_get_new_dynlockid(). mode can be combined | ||
| 158 | from the following values. These values are pairwise exclusive, with | ||
| 159 | undefined behaviour if misused (for example, CRYPTO_READ and CRYPTO_WRITE | ||
| 160 | should not be used together): | ||
| 161 | |||
| 162 | CRYPTO_LOCK 0x01 | ||
| 163 | CRYPTO_UNLOCK 0x02 | ||
| 164 | CRYPTO_READ 0x04 | ||
| 165 | CRYPTO_WRITE 0x08 | ||
| 166 | |||
| 167 | =head1 RETURN VALUES | ||
| 168 | |||
| 169 | CRYPTO_num_locks() returns the required number of locks. | ||
| 170 | |||
| 171 | CRYPTO_get_new_dynlockid() returns the index to the newly created lock. | ||
| 172 | |||
| 173 | The other functions return no values. | ||
| 174 | |||
| 175 | =head1 NOTES | ||
| 176 | |||
| 177 | You can find out if OpenSSL was configured with thread support: | ||
| 178 | |||
| 179 | #define OPENSSL_THREAD_DEFINES | ||
| 180 | #include <openssl/opensslconf.h> | ||
| 181 | #if defined(OPENSSL_THREADS) | ||
| 182 | // thread support enabled | ||
| 183 | #else | ||
| 184 | // no thread support | ||
| 185 | #endif | ||
| 186 | |||
| 187 | Also, dynamic locks are currently not used internally by OpenSSL, but | ||
| 188 | may do so in the future. | ||
| 189 | |||
| 190 | =head1 EXAMPLES | ||
| 191 | |||
| 192 | B<crypto/threads/mttest.c> shows examples of the callback functions on | ||
| 193 | Solaris, Irix and Win32. | ||
| 194 | |||
| 195 | =head1 HISTORY | ||
| 196 | |||
| 197 | CRYPTO_set_locking_callback() is | ||
| 198 | available in all versions of SSLeay and OpenSSL. | ||
| 199 | CRYPTO_num_locks() was added in OpenSSL 0.9.4. | ||
| 200 | All functions dealing with dynamic locks were added in OpenSSL 0.9.5b-dev. | ||
| 201 | B<CRYPTO_THREADID> and associated functions were introduced in OpenSSL 1.0.0 | ||
| 202 | to replace (actually, deprecate) the previous CRYPTO_set_id_callback(), | ||
| 203 | CRYPTO_get_id_callback(), and CRYPTO_thread_id() functions which assumed | ||
| 204 | thread IDs to always be represented by 'unsigned long'. | ||
| 205 | |||
| 206 | =head1 SEE ALSO | ||
| 207 | |||
| 208 | L<crypto(3)|crypto(3)> | ||
| 209 | |||
| 210 | =cut | ||
| diff --git a/src/lib/libssl/src/doc/crypto/crypto.pod b/src/lib/libssl/src/doc/crypto/crypto.pod deleted file mode 100644 index bbd6ce9ea9..0000000000 --- a/src/lib/libssl/src/doc/crypto/crypto.pod +++ /dev/null | |||
| @@ -1,85 +0,0 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | crypto - OpenSSL cryptographic library | ||
| 6 | |||
| 7 | =head1 SYNOPSIS | ||
| 8 | |||
| 9 | =head1 DESCRIPTION | ||
| 10 | |||
| 11 | The OpenSSL B<crypto> library implements a wide range of cryptographic | ||
| 12 | algorithms used in various Internet standards. The services provided | ||
| 13 | by this library are used by the OpenSSL implementations of SSL, TLS | ||
| 14 | and S/MIME, and they have also been used to implement SSH, OpenPGP, and | ||
| 15 | other cryptographic standards. | ||
| 16 | |||
| 17 | =head1 OVERVIEW | ||
| 18 | |||
| 19 | B<libcrypto> consists of a number of sub-libraries that implement the | ||
| 20 | individual algorithms. | ||
| 21 | |||
| 22 | The functionality includes symmetric encryption, public key | ||
| 23 | cryptography and key agreement, certificate handling, cryptographic | ||
| 24 | hash functions and a cryptographic pseudo-random number generator. | ||
| 25 | |||
| 26 | =over 4 | ||
| 27 | |||
| 28 | =item SYMMETRIC CIPHERS | ||
| 29 | |||
| 30 | L<blowfish(3)|blowfish(3)>, L<cast(3)|cast(3)>, L<des(3)|des(3)>, | ||
| 31 | L<idea(3)|idea(3)>, L<rc2(3)|rc2(3)>, L<rc4(3)|rc4(3)>, L<rc5(3)|rc5(3)> | ||
| 32 | |||
| 33 | =item PUBLIC KEY CRYPTOGRAPHY AND KEY AGREEMENT | ||
| 34 | |||
| 35 | L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>, L<rsa(3)|rsa(3)> | ||
| 36 | |||
| 37 | =item CERTIFICATES | ||
| 38 | |||
| 39 | L<x509(3)|x509(3)>, L<x509v3(3)|x509v3(3)> | ||
| 40 | |||
| 41 | =item AUTHENTICATION CODES, HASH FUNCTIONS | ||
| 42 | |||
| 43 | L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, L<md4(3)|md4(3)>, | ||
| 44 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, | ||
| 45 | L<sha(3)|sha(3)> | ||
| 46 | |||
| 47 | =item AUXILIARY FUNCTIONS | ||
| 48 | |||
| 49 | L<err(3)|err(3)>, L<threads(3)|threads(3)>, L<rand(3)|rand(3)>, | ||
| 50 | L<OPENSSL_VERSION_NUMBER(3)|OPENSSL_VERSION_NUMBER(3)> | ||
| 51 | |||
| 52 | =item INPUT/OUTPUT, DATA ENCODING | ||
| 53 | |||
| 54 | L<asn1(3)|asn1(3)>, L<bio(3)|bio(3)>, L<evp(3)|evp(3)>, L<pem(3)|pem(3)>, | ||
| 55 | L<pkcs7(3)|pkcs7(3)>, L<pkcs12(3)|pkcs12(3)> | ||
| 56 | |||
| 57 | =item INTERNAL FUNCTIONS | ||
| 58 | |||
| 59 | L<bn(3)|bn(3)>, L<buffer(3)|buffer(3)>, L<ec(3)|ec(3)>, L<lhash(3)|lhash(3)>, | ||
| 60 | L<objects(3)|objects(3)>, L<stack(3)|stack(3)>, | ||
| 61 | L<txt_db(3)|txt_db(3)> | ||
| 62 | |||
| 63 | =back | ||
| 64 | |||
| 65 | =head1 NOTES | ||
| 66 | |||
| 67 | Some of the newer functions follow a naming convention using the numbers | ||
| 68 | B<0> and B<1>. For example the functions: | ||
| 69 | |||
| 70 | int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); | ||
| 71 | int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); | ||
| 72 | |||
| 73 | The B<0> version uses the supplied structure pointer directly | ||
| 74 | in the parent and it will be freed up when the parent is freed. | ||
| 75 | In the above example B<crl> would be freed but B<rev> would not. | ||
| 76 | |||
| 77 | The B<1> function uses a copy of the supplied structure pointer | ||
| 78 | (or in some cases increases its link count) in the parent and | ||
| 79 | so both (B<x> and B<obj> above) should be freed up. | ||
| 80 | |||
| 81 | =head1 SEE ALSO | ||
| 82 | |||
| 83 | L<openssl(1)|openssl(1)>, L<ssl(3)|ssl(3)> | ||
| 84 | |||
| 85 | =cut | ||
