10 int SkipCertificateCheck
= 0;
11 const char *certificate_filename
= NULL
;
12 int exists(const char *filename
__attribute__ ((unused
)))
16 void ProcessPendingEvents(void)
26 int print_info(void *state
__attribute__((unused
)))
35 const char *sequence
[][4] = {
36 {NULL
, NULL
, NULL
, NULL
},
37 {"prefix", " hello", NULL
},
38 {"pre", "fix", " hello", NULL
},
39 {"\r\n", ")\r\n", "prefix", NULL
},
40 {NULL
, NULL
, NULL
, NULL
},
43 /* trick tlscomm into believing it can read. */
44 ssize_t
read(int s
, void *buf
, size_t buflen
)
46 int val
= indices
[s
]++;
48 if (sequence
[s
][val
] == NULL
) {
49 indices
[s
]--; /* make it stay */
52 strncpy(buf
, sequence
[s
][val
], buflen
);
53 printf("read: %s\n", sequence
[s
][val
]);
54 return (strlen(sequence
[s
][val
]));
59 select(int nfds
, fd_set
* r
,
60 fd_set
* w
__attribute__ ((unused
)),
61 fd_set
* x
__attribute__ ((unused
)),
62 struct timeval
*tv
__attribute__ ((unused
)))
66 for (i
= 0; i
< nfds
; i
++) {
67 if (FD_ISSET(i
, r
) && sequence
[i
][indices
[i
]] != NULL
) {
81 struct connection_state
{
84 /*@null@ */ void *tls_state
;
85 /*@null@ */ void *xcred
;
86 char unprocessed
[BUF_SIZE
];
87 void *pc
; /* mailbox handle for debugging messages */
91 main(int argc
__attribute__ ((unused
)), char **argv
92 __attribute__ ((unused
)))
95 struct connection_state scs
;
96 scs
.name
= strdup("test");
97 scs
.unprocessed
[0] = '\0';
103 for (scs
.sd
= 1; sequence
[scs
.sd
][0] != NULL
; scs
.sd
++) {
104 memset(scs
.unprocessed
, 0, BUF_SIZE
);
105 printf("%d\n", tlscomm_expect(&scs
, "prefix", buf
, 255));