File: ssl-test.h

package info (click to toggle)
syslog-ng 3.8.1-10
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 47,320 kB
  • ctags: 43,937
  • sloc: ansic: 159,432; yacc: 25,059; sh: 13,574; makefile: 4,669; python: 3,468; java: 3,218; xml: 2,309; perl: 318; lex: 316; awk: 184
file content (45 lines) | stat: -rw-r--r-- 1,146 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <mongoc.h>

#include <mongoc-thread-private.h>

typedef enum ssl_test_behavior {
   SSL_TEST_BEHAVIOR_NORMAL,
   SSL_TEST_BEHAVIOR_HANGUP_AFTER_HANDSHAKE,
   SSL_TEST_BEHAVIOR_STALL_BEFORE_HANDSHAKE,
} ssl_test_behavior_t;

typedef enum ssl_test_state {
   SSL_TEST_CRASH,
   SSL_TEST_SUCCESS,
   SSL_TEST_SSL_INIT,
   SSL_TEST_SSL_HANDSHAKE,
   SSL_TEST_SSL_VERIFY,
   SSL_TEST_TIMEOUT,
} ssl_test_state_t;

typedef struct ssl_test_result {
   ssl_test_state_t result;
   int err;
   unsigned long ssl_err;
} ssl_test_result_t;

typedef struct ssl_test_data
{
   mongoc_ssl_opt_t    *client;
   mongoc_ssl_opt_t    *server;
   ssl_test_behavior_t  behavior;
   int64_t              handshake_stall_ms;
   const char          *host;
   unsigned short       server_port;
   mongoc_cond_t        cond;
   mongoc_mutex_t       cond_mutex;
   ssl_test_result_t   *client_result;
   ssl_test_result_t   *server_result;
} ssl_test_data_t;

void
ssl_test (mongoc_ssl_opt_t  *client,
          mongoc_ssl_opt_t  *server,
          const char        *host,
          ssl_test_result_t *client_result,
          ssl_test_result_t *server_result);