Various doc fixes.
[openssl.git] / doc / crypto / crypto.pod
index 101058f55bd8b43901324ea2babce7cd710d2187..aad75af0df6debe7dbe6ed6357194d06707d256f 100644 (file)
@@ -27,36 +27,59 @@ hash functions and a cryptographic pseudo-random number generator.
 
 =item SYMMETRIC CIPHERS
 
-blowfish(3), cast(3), des(3), idea(3), rc2(3), rc4(3), rc5(3)
+L<blowfish(3)>, L<cast(3)>, L<des(3)>,
+L<idea(3)>, L<rc2(3)>, L<rc4(3)>, L<rc5(3)> 
 
 =item PUBLIC KEY CRYPTOGRAPHY AND KEY AGREEMENT
 
-dsa(3), dh(3), rsa(3)
+L<dsa(3)>, L<dh(3)>, L<ec(3)>, L<rsa(3)>
 
 =item CERTIFICATES
 
-x509(3), x509v3(3)
+L<x509(3)>, L<x509v3(3)>
 
 =item AUTHENTICATION CODES, HASH FUNCTIONS
 
-hmac(3), md2(3), md5(3), mdc2(3), ripemd(3), sha(3)
+L<hmac(3)>, L<md2(3)>, L<md4(3)>,
+L<md5(3)>, L<mdc2(3)>, L<ripemd(3)>,
+L<sha(3)>
 
 =item AUXILIARY FUNCTIONS
 
-err(3), rand(3)
+L<err(3)>, L<threads(3)>, L<rand(3)>,
+L<OPENSSL_VERSION_NUMBER(3)>
 
 =item INPUT/OUTPUT, DATA ENCODING
 
-asn1(3), bio(3), evp(3), pem(3), pkcs7(3), pkcs12(3)
+L<asn1(3)>, L<bio(3)>, L<evp(3)>, L<pem(3)>,
+L<pkcs7(3)>, L<pkcs12(3)> 
 
-=item INTERNAL FUNCTIONS
+=item UTILITY FUNCTIONS
 
-bn(3), buffer(3), lhash(3), objects(3), stack(3), threads(3), txt_db(3)
+L<bn(3)>, L<buffer(3)>, L<lhash(3)>,
+L<stack(3)>,
+L<txt_db(3)> 
 
 =back
 
+=head1 NOTES
+
+Some of the newer functions follow a naming convention using the numbers
+B<0> and B<1>. For example the functions:
+
+ int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
+ int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj);
+
+The B<0> version uses the supplied structure pointer directly
+in the parent and it will be freed up when the parent is freed.
+In the above example B<crl> would be freed but B<rev> would not.
+
+The B<1> function uses a copy of the supplied structure pointer
+(or in some cases increases its link count) in the parent and
+so both (B<x> and B<obj> above) should be freed up.
+
 =head1 SEE ALSO
 
-openssl(1), ssl(3)
+L<openssl(1)>, L<ssl(3)>
 
 =cut