annotate src/event/ngx_event_connect.h @ 4884:e406c997470a

SSL: the "ssl_verify_client" directive parameter "optional_no_ca". This parameter allows to don't require certificate to be signed by a trusted CA, e.g. if CA certificate isn't known in advance, like in WebID protocol. Note that it doesn't add any security unless the certificate is actually checked to be trusted by some external means (e.g. by a backend). Patch by Mike Kazantsev, Eric O'Connor.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 03 Oct 2012 15:24:08 +0000
parents d620f497c50f
children d09b689911ac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 419
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 419
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 3271
diff changeset
4 * Copyright (C) Nginx, Inc.
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 419
diff changeset
5 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 419
diff changeset
6
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 419
diff changeset
7
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #ifndef _NGX_EVENT_CONNECT_H_INCLUDED_
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 #define _NGX_EVENT_CONNECT_H_INCLUDED_
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 #include <ngx_config.h>
119
cd54bcbaf3b5 nginx-0.0.1-2003-07-21-01:15:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
13 #include <ngx_core.h>
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14 #include <ngx_event.h>
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
17 #define NGX_PEER_KEEPALIVE 1
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
18 #define NGX_PEER_NEXT 2
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
19 #define NGX_PEER_FAILED 4
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
20
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
21
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
22 typedef struct ngx_peer_connection_s ngx_peer_connection_t;
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
23
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
24 typedef ngx_int_t (*ngx_event_get_peer_pt)(ngx_peer_connection_t *pc,
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
25 void *data);
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
26 typedef void (*ngx_event_free_peer_pt)(ngx_peer_connection_t *pc, void *data,
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
27 ngx_uint_t state);
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
28 #if (NGX_SSL)
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
29
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
30 typedef ngx_int_t (*ngx_event_set_peer_session_pt)(ngx_peer_connection_t *pc,
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
31 void *data);
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
32 typedef void (*ngx_event_save_peer_session_pt)(ngx_peer_connection_t *pc,
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
33 void *data);
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
34 #endif
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
35
119
cd54bcbaf3b5 nginx-0.0.1-2003-07-21-01:15:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 86
diff changeset
36
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
37 struct ngx_peer_connection_s {
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
38 ngx_connection_t *connection;
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
39
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
40 struct sockaddr *sockaddr;
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
41 socklen_t socklen;
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
42 ngx_str_t *name;
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
43
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
44 ngx_uint_t tries;
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
45
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
46 ngx_event_get_peer_pt get;
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
47 ngx_event_free_peer_pt free;
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
48 void *data;
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
49
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
50 #if (NGX_SSL)
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
51 ngx_event_set_peer_session_pt set_session;
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
52 ngx_event_save_peer_session_pt save_session;
377
41437e4fd9b4 nginx-0.0.7-2004-07-05-19:08:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 288
diff changeset
53 #endif
120
b776ad95d96d nginx-0.0.1-2003-07-21-20:24:25 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
54
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
55 #if (NGX_THREADS)
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
56 ngx_atomic_t *lock;
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
57 #endif
121
b3655b21375a nginx-0.0.1-2003-07-22-23:53:10 import
Igor Sysoev <igor@sysoev.ru>
parents: 120
diff changeset
58
3271
fcd98af88df3 proxy_bind, fastcgi_bind, and memcached_bind
Igor Sysoev <igor@sysoev.ru>
parents: 3264
diff changeset
59 ngx_addr_t *local;
fcd98af88df3 proxy_bind, fastcgi_bind, and memcached_bind
Igor Sysoev <igor@sysoev.ru>
parents: 3264
diff changeset
60
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
61 int rcvbuf;
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
62
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
63 ngx_log_t *log;
124
842a78cebbb7 nginx-0.0.1-2003-08-01-18:56:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 121
diff changeset
64
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
65 unsigned cached:1;
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
66
1284
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
67 /* ngx_connection_log_error_e */
be2b895d31e0 fix segfault when session was freed twice
Igor Sysoev <igor@sysoev.ru>
parents: 884
diff changeset
68 unsigned log_error:2;
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
69 };
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
70
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
71
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
72 ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc);
884
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
73 ngx_int_t ngx_event_get_peer(ngx_peer_connection_t *pc, void *data);
4d68c486fcb0 upstream choice modules
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
74
136
da00cde00e8a nginx-0.0.1-2003-10-02-09:39:37 import
Igor Sysoev <igor@sysoev.ru>
parents: 124
diff changeset
75
86
3973260705cc nginx-0.0.1-2003-05-12-19:52:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
76 #endif /* _NGX_EVENT_CONNECT_H_INCLUDED_ */