Update build for OpenSSL-1.0.0a.
[dragonfly.git] / secure / lib / libssl / man / ssl.3
index 760ffc7..0a2e5d3 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
 ..
 .\" Set up some character translations and predefined strings.  \*(-- will
 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  | will give a
-.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
-.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
-.\" expand to `' in nroff, nothing in troff, for use with C<>.
-.tr \(*W-|\(bv\*(Tr
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
 .ie n \{\
 .    ds -- \(*W-
 .    ds R" ''
 'br\}
 .\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
-.if \nF \{\
+.ie \nF \{\
 .    de IX
 .    tm Index:\\$1\t\\n%\t"\\$2"
 ..
 .    nr % 0
 .    rr F
 .\}
-.\"
-.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.hy 0
-.if n .na
+.el \{\
+.    de IX
+..
+.\}
 .\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
 .\" ========================================================================
 .\"
 .IX Title "ssl 3"
-.TH ssl 3 "2008-09-27" "0.9.8i" "OpenSSL"
+.TH ssl 3 "2010-06-01" "1.0.0a" "OpenSSL"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
 .SH "NAME"
 SSL \- OpenSSL SSL/TLS library
 .SH "SYNOPSIS"
@@ -227,38 +226,38 @@ it's already included by ssl.h\fR.
 .IX Header "API FUNCTIONS"
 Currently the OpenSSL \fBssl\fR library exports 214 \s-1API\s0 functions.
 They are documented in the following:
-.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1METHODS\s0"
+.SS "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1METHODS\s0"
 .IX Subsection "DEALING WITH PROTOCOL METHODS"
 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
 protocol methods defined in \fB\s-1SSL_METHOD\s0\fR structures.
-.IP "\s-1SSL_METHOD\s0 *\fBSSLv2_client_method\fR(void);" 4
-.IX Item "SSL_METHOD *SSLv2_client_method(void);"
+.IP "const \s-1SSL_METHOD\s0 *\fBSSLv2_client_method\fR(void);" 4
+.IX Item "const SSL_METHOD *SSLv2_client_method(void);"
 Constructor for the SSLv2 \s-1SSL_METHOD\s0 structure for a dedicated client.
-.IP "\s-1SSL_METHOD\s0 *\fBSSLv2_server_method\fR(void);" 4
-.IX Item "SSL_METHOD *SSLv2_server_method(void);"
+.IP "const \s-1SSL_METHOD\s0 *\fBSSLv2_server_method\fR(void);" 4
+.IX Item "const SSL_METHOD *SSLv2_server_method(void);"
 Constructor for the SSLv2 \s-1SSL_METHOD\s0 structure for a dedicated server.
-.IP "\s-1SSL_METHOD\s0 *\fBSSLv2_method\fR(void);" 4
-.IX Item "SSL_METHOD *SSLv2_method(void);"
+.IP "const \s-1SSL_METHOD\s0 *\fBSSLv2_method\fR(void);" 4
+.IX Item "const SSL_METHOD *SSLv2_method(void);"
 Constructor for the SSLv2 \s-1SSL_METHOD\s0 structure for combined client and server.
-.IP "\s-1SSL_METHOD\s0 *\fBSSLv3_client_method\fR(void);" 4
-.IX Item "SSL_METHOD *SSLv3_client_method(void);"
+.IP "const \s-1SSL_METHOD\s0 *\fBSSLv3_client_method\fR(void);" 4
+.IX Item "const SSL_METHOD *SSLv3_client_method(void);"
 Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for a dedicated client.
-.IP "\s-1SSL_METHOD\s0 *\fBSSLv3_server_method\fR(void);" 4
-.IX Item "SSL_METHOD *SSLv3_server_method(void);"
+.IP "const \s-1SSL_METHOD\s0 *\fBSSLv3_server_method\fR(void);" 4
+.IX Item "const SSL_METHOD *SSLv3_server_method(void);"
 Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for a dedicated server.
-.IP "\s-1SSL_METHOD\s0 *\fBSSLv3_method\fR(void);" 4
-.IX Item "SSL_METHOD *SSLv3_method(void);"
+.IP "const \s-1SSL_METHOD\s0 *\fBSSLv3_method\fR(void);" 4
+.IX Item "const SSL_METHOD *SSLv3_method(void);"
 Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for combined client and server.
-.IP "\s-1SSL_METHOD\s0 *\fBTLSv1_client_method\fR(void);" 4
-.IX Item "SSL_METHOD *TLSv1_client_method(void);"
+.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_client_method\fR(void);" 4
+.IX Item "const SSL_METHOD *TLSv1_client_method(void);"
 Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for a dedicated client.
-.IP "\s-1SSL_METHOD\s0 *\fBTLSv1_server_method\fR(void);" 4
-.IX Item "SSL_METHOD *TLSv1_server_method(void);"
+.IP "cosnt \s-1SSL_METHOD\s0 *\fBTLSv1_server_method\fR(void);" 4
+.IX Item "cosnt SSL_METHOD *TLSv1_server_method(void);"
 Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for a dedicated server.
-.IP "\s-1SSL_METHOD\s0 *\fBTLSv1_method\fR(void);" 4
-.IX Item "SSL_METHOD *TLSv1_method(void);"
+.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_method\fR(void);" 4
+.IX Item "const SSL_METHOD *TLSv1_method(void);"
 Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for combined client and server.
-.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1CIPHERS\s0"
+.SS "\s-1DEALING\s0 \s-1WITH\s0 \s-1CIPHERS\s0"
 .IX Subsection "DEALING WITH CIPHERS"
 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
 ciphers defined in \fB\s-1SSL_CIPHER\s0\fR structures.
@@ -281,7 +280,7 @@ definitions in the header files.
 Returns a string like "\f(CW\*(C`TLSv1/SSLv3\*(C'\fR\*(L" or \*(R"\f(CW\*(C`SSLv2\*(C'\fR" which indicates the
 \&\s-1SSL/TLS\s0 protocol version to which \fIcipher\fR belongs (i.e. where it was defined
 in the specification the first time).
-.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1CONTEXTS\s0"
+.SS "\s-1DEALING\s0 \s-1WITH\s0 \s-1PROTOCOL\s0 \s-1CONTEXTS\s0"
 .IX Subsection "DEALING WITH PROTOCOL CONTEXTS"
 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
 protocol context defined in the \fB\s-1SSL_CTX\s0\fR structure.
@@ -328,8 +327,8 @@ protocol context defined in the \fB\s-1SSL_CTX\s0\fR structure.
 .IX Item "int SSL_CTX_load_verify_locations(SSL_CTX *ctx, char *CAfile, char *CApath);"
 .IP "long \fBSSL_CTX_need_tmp_RSA\fR(\s-1SSL_CTX\s0 *ctx);" 4
 .IX Item "long SSL_CTX_need_tmp_RSA(SSL_CTX *ctx);"
-.IP "\s-1SSL_CTX\s0 *\fBSSL_CTX_new\fR(\s-1SSL_METHOD\s0 *meth);" 4
-.IX Item "SSL_CTX *SSL_CTX_new(SSL_METHOD *meth);"
+.IP "\s-1SSL_CTX\s0 *\fBSSL_CTX_new\fR(const \s-1SSL_METHOD\s0 *meth);" 4
+.IX Item "SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);"
 .IP "int \fBSSL_CTX_remove_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);" 4
 .IX Item "int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c);"
 .IP "int \fBSSL_CTX_sess_accept\fR(\s-1SSL_CTX\s0 *ctx);" 4
@@ -406,8 +405,8 @@ protocol context defined in the \fB\s-1SSL_CTX\s0\fR structure.
 .IX Item "void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode);"
 .IP "void \fBSSL_CTX_set_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx, int mode);" 4
 .IX Item "void SSL_CTX_set_session_cache_mode(SSL_CTX *ctx, int mode);"
-.IP "int \fBSSL_CTX_set_ssl_version\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_METHOD\s0 *meth);" 4
-.IX Item "int SSL_CTX_set_ssl_version(SSL_CTX *ctx, SSL_METHOD *meth);"
+.IP "int \fBSSL_CTX_set_ssl_version\fR(\s-1SSL_CTX\s0 *ctx, const \s-1SSL_METHOD\s0 *meth);" 4
+.IX Item "int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth);"
 .IP "void \fBSSL_CTX_set_timeout\fR(\s-1SSL_CTX\s0 *ctx, long t);" 4
 .IX Item "void SSL_CTX_set_timeout(SSL_CTX *ctx, long t);"
 .IP "long \fBSSL_CTX_set_tmp_dh\fR(SSL_CTX* ctx, \s-1DH\s0 *dh);" 4
@@ -453,8 +452,14 @@ session instead of a context.
 .IX Item "int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, unsigned char *d);"
 .IP "int \fBSSL_CTX_use_certificate_file\fR(\s-1SSL_CTX\s0 *ctx, char *file, int type);" 4
 .IX Item "int SSL_CTX_use_certificate_file(SSL_CTX *ctx, char *file, int type);"
+.IP "void \fBSSL_CTX_set_psk_client_callback\fR(\s-1SSL_CTX\s0 *ctx, unsigned int (*callback)(\s-1SSL\s0 *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));" 4
+.IX Item "void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));"
+.IP "int \fBSSL_CTX_use_psk_identity_hint\fR(\s-1SSL_CTX\s0 *ctx, const char *hint);" 4
+.IX Item "int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint);"
+.IP "void \fBSSL_CTX_set_psk_server_callback\fR(\s-1SSL_CTX\s0 *ctx, unsigned int (*callback)(\s-1SSL\s0 *ssl, const char *identity, unsigned char *psk, int max_psk_len));" 4
+.IX Item "void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));"
 .PD
-.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1SESSIONS\s0"
+.SS "\s-1DEALING\s0 \s-1WITH\s0 \s-1SESSIONS\s0"
 .IX Subsection "DEALING WITH SESSIONS"
 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
 sessions defined in the \fB\s-1SSL_SESSION\s0\fR structures.
@@ -490,7 +495,7 @@ sessions defined in the \fB\s-1SSL_SESSION\s0\fR structures.
 .IP "long \fBSSL_SESSION_set_timeout\fR(\s-1SSL_SESSION\s0 *s, long t);" 4
 .IX Item "long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);"
 .PD
-.Sh "\s-1DEALING\s0 \s-1WITH\s0 \s-1CONNECTIONS\s0"
+.SS "\s-1DEALING\s0 \s-1WITH\s0 \s-1CONNECTIONS\s0"
 .IX Subsection "DEALING WITH CONNECTIONS"
 Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0
 connection defined in the \fB\s-1SSL\s0\fR structure.
@@ -585,8 +590,8 @@ connection defined in the \fB\s-1SSL\s0\fR structure.
 .IX Item "char *SSL_get_shared_ciphers(const SSL *ssl, char *buf, int len);"
 .IP "int \fBSSL_get_shutdown\fR(const \s-1SSL\s0 *ssl);" 4
 .IX Item "int SSL_get_shutdown(const SSL *ssl);"
-.IP "\s-1SSL_METHOD\s0 *\fBSSL_get_ssl_method\fR(\s-1SSL\s0 *ssl);" 4
-.IX Item "SSL_METHOD *SSL_get_ssl_method(SSL *ssl);"
+.IP "const \s-1SSL_METHOD\s0 *\fBSSL_get_ssl_method\fR(\s-1SSL\s0 *ssl);" 4
+.IX Item "const SSL_METHOD *SSL_get_ssl_method(SSL *ssl);"
 .IP "int \fBSSL_get_state\fR(const \s-1SSL\s0 *ssl);" 4
 .IX Item "int SSL_get_state(const SSL *ssl);"
 .IP "long \fBSSL_get_time\fR(const \s-1SSL\s0 *ssl);" 4
@@ -669,8 +674,8 @@ connection defined in the \fB\s-1SSL\s0\fR structure.
 .IX Item "int SSL_set_session(SSL *ssl, SSL_SESSION *session);"
 .IP "void \fBSSL_set_shutdown\fR(\s-1SSL\s0 *ssl, int mode);" 4
 .IX Item "void SSL_set_shutdown(SSL *ssl, int mode);"
-.IP "int \fBSSL_set_ssl_method\fR(\s-1SSL\s0 *ssl, \s-1SSL_METHOD\s0 *meth);" 4
-.IX Item "int SSL_set_ssl_method(SSL *ssl, SSL_METHOD *meth);"
+.IP "int \fBSSL_set_ssl_method\fR(\s-1SSL\s0 *ssl, const \s-1SSL_METHOD\s0 *meth);" 4
+.IX Item "int SSL_set_ssl_method(SSL *ssl, const SSL_METHOD *meth);"
 .IP "void \fBSSL_set_time\fR(\s-1SSL\s0 *ssl, long t);" 4
 .IX Item "void SSL_set_time(SSL *ssl, long t);"
 .IP "void \fBSSL_set_timeout\fR(\s-1SSL\s0 *ssl, long t);" 4
@@ -723,6 +728,16 @@ connection defined in the \fB\s-1SSL\s0\fR structure.
 .IX Item "int SSL_want_x509_lookup(const SSL *ssl);"
 .IP "int \fBSSL_write\fR(\s-1SSL\s0 *ssl, const void *buf, int num);" 4
 .IX Item "int SSL_write(SSL *ssl, const void *buf, int num);"
+.IP "void \fBSSL_set_psk_client_callback\fR(\s-1SSL\s0 *ssl, unsigned int (*callback)(\s-1SSL\s0 *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));" 4
+.IX Item "void SSL_set_psk_client_callback(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));"
+.IP "int \fBSSL_use_psk_identity_hint\fR(\s-1SSL\s0 *ssl, const char *hint);" 4
+.IX Item "int SSL_use_psk_identity_hint(SSL *ssl, const char *hint);"
+.IP "void \fBSSL_set_psk_server_callback\fR(\s-1SSL\s0 *ssl, unsigned int (*callback)(\s-1SSL\s0 *ssl, const char *identity, unsigned char *psk, int max_psk_len));" 4
+.IX Item "void SSL_set_psk_server_callback(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));"
+.IP "const char *\fBSSL_get_psk_identity_hint\fR(\s-1SSL\s0 *ssl);" 4
+.IX Item "const char *SSL_get_psk_identity_hint(SSL *ssl);"
+.IP "const char *\fBSSL_get_psk_identity\fR(\s-1SSL\s0 *ssl);" 4
+.IX Item "const char *SSL_get_psk_identity(SSL *ssl);"
 .PD
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
@@ -798,7 +813,10 @@ connection defined in the \fB\s-1SSL\s0\fR structure.
 \&\fISSL_SESSION_free\fR\|(3),
 \&\fISSL_SESSION_get_ex_new_index\fR\|(3),
 \&\fISSL_SESSION_get_time\fR\|(3),
-\&\fId2i_SSL_SESSION\fR\|(3)
+\&\fId2i_SSL_SESSION\fR\|(3),
+\&\fISSL_CTX_set_psk_client_callback\fR\|(3),
+\&\fISSL_CTX_use_psk_identity_hint\fR\|(3),
+\&\fISSL_get_psk_identity\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
 The \fIssl\fR\|(3) document appeared in OpenSSL 0.9.2