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-- |
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 |