docs/reference/tmpl/lm-ssl.sgml
author Mikael Hallendal <micke@imendio.com>
Sun, 08 Jun 2008 11:06:24 +0200
changeset 401 92fa0cbc2199
parent 140 103227122f45
child 555 695c909d0c45
permissions -rw-r--r--
Fixed up the lm-utils documentation. Fixes LM-52. Include the lm-utils documentation and write a description for the outputted API documents.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
     1
<!-- ##### SECTION Title ##### -->
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
     2
LmSSL
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
     3
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
     4
<!-- ##### SECTION Short_Description ##### -->
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
     5
SSL struct for SSL support in Loudmouth
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
     6
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
     7
<!-- ##### SECTION Long_Description ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
     8
<para>
82
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
     9
Use this together with an #LmConnection to get the connection to use SSL. Example of how to use the #LmSSL API.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    10
</para>
82
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    11
<informalexample><programlisting><![CDATA[
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    12
LmConnection *connection;
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    13
LmSSL        *ssl;
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    14
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    15
connection = lm_connection_new ("myserver");
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    16
ssl = lm_ssl_new (NULL, my_ssl_func, NULL, NULL);
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    17
lm_connection_set_ssl (connection, ssl);
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    18
...
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    19
]]></programlisting></informalexample>
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    20
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    21
<!-- ##### SECTION See_Also ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    22
<para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    23
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    24
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    25
140
103227122f45 2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 82
diff changeset
    26
<!-- ##### SECTION Stability_Level ##### -->
103227122f45 2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 82
diff changeset
    27
103227122f45 2006-04-19 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 82
diff changeset
    28
82
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    29
<!-- ##### STRUCT LmSSL ##### -->
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    30
<para>
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    31
This should not be accessed directly. Use the accessor functions as described below.
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    32
</para>
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    33
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    34
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    35
<!-- ##### ENUM LmCertificateStatus ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    36
<para>
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    37
Provides information of the status of a certain certificate.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    38
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    39
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    40
@LM_CERT_INVALID: The certificate is invalid.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    41
@LM_CERT_ISSUER_NOT_FOUND: The issuer of the certificate is not found.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    42
@LM_CERT_REVOKED: The certificate has been revoked.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    43
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    44
<!-- ##### ENUM LmSSLStatus ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    45
<para>
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    46
Provides information about something gone wrong when trying to setup the SSL connection.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    47
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    48
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    49
@LM_SSL_STATUS_NO_CERT_FOUND: The server doesn't provide a certificate.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    50
@LM_SSL_STATUS_UNTRUSTED_CERT: The certification can not be trusted.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    51
@LM_SSL_STATUS_CERT_EXPIRED: The certificate has expired.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    52
@LM_SSL_STATUS_CERT_NOT_ACTIVATED: The certificate has not been activated.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    53
@LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH: The server hostname doesn't match the one in the certificate.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    54
@LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH: The fingerprint doesn't match your expected.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    55
@LM_SSL_STATUS_GENERIC_ERROR: Some other error.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    56
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    57
<!-- ##### ENUM LmSSLResponse ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    58
<para>
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    59
Used to inform #LmConnection if you want to stop due to an error reported or if you want to continue to connect.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    60
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    61
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    62
@LM_SSL_RESPONSE_CONTINUE: Continue to connect.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    63
@LM_SSL_RESPONSE_STOP: Stop the connection.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    64
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    65
<!-- ##### USER_FUNCTION LmSSLFunction ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    66
<para>
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    67
This function is called if something goes wrong during the connecting phase.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    68
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    69
82
a32b54e654e2 2004-03-17 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 72
diff changeset
    70
@ssl: An #LmSSL.
72
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    71
@status: The status informing what went wrong.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    72
@user_data: User data provided in the callback.
95d0e86982c5 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents: 71
diff changeset
    73
@Returns: User should return #LM_SSL_RESPONSE_CONTINUE if connection should proceed and otherwise #LM_SSL_RESPONSE_STOP.
71
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    74
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    75
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    76
<!-- ##### FUNCTION lm_ssl_new ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    77
<para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    78
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    79
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    80
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    81
@expected_fingerprint: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    82
@ssl_function: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    83
@user_data: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    84
@notify: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    85
@Returns: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    86
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    87
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    88
<!-- ##### FUNCTION lm_ssl_is_supported ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    89
<para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    90
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    91
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    92
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    93
@Returns: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    94
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    95
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    96
<!-- ##### FUNCTION lm_ssl_get_fingerprint ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    97
<para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    98
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
    99
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   100
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   101
@ssl: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   102
@Returns: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   103
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   104
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   105
<!-- ##### FUNCTION lm_ssl_ref ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   106
<para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   107
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   108
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   109
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   110
@ssl: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   111
@Returns: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   112
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   113
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   114
<!-- ##### FUNCTION lm_ssl_unref ##### -->
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   115
<para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   116
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   117
</para>
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   118
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   119
@ssl: 
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   120
0c87c8ed4d99 2004-01-21 Mikael Hallendal <micke@imendio.com>
hallski <hallski>
parents:
diff changeset
   121