wmbiff: Add missing include.
[dockapps.git] / wmbiff / wmbiff / test_tlscomm.c
blob2c1565278f6dde53e1e0d11f725d9f539ebcb9bf
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <sys/types.h>
5 #include <sys/time.h>
6 #include <unistd.h>
7 #include <tlsComm.h>
9 int debug_default = 2;
10 int SkipCertificateCheck = 0;
11 const char *certificate_filename = NULL;
12 int exists(const char *filename __attribute__ ((unused)))
14 return (0);
16 void ProcessPendingEvents(void)
18 return;
21 int x_socket(void)
23 return (0);
26 int print_info(void *state __attribute__((unused)))
28 return (0);
31 int Relax = 1;
34 int indices[12];
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 */
50 return 0;
51 } else {
52 strncpy(buf, sequence[s][val], buflen);
53 printf("read: %s\n", sequence[s][val]);
54 return (strlen(sequence[s][val]));
58 int
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)))
64 int i;
65 int ready = 0;
66 for (i = 0; i < nfds; i++) {
67 if (FD_ISSET(i, r) && sequence[i][indices[i]] != NULL) {
68 ready++;
69 } else {
70 FD_CLR(i, r);
73 if (ready == 0) {
74 printf("botched.\n");
76 return ready;
79 #define BUF_SIZE 1024
81 struct connection_state {
82 int sd;
83 char *name;
84 /*@null@ */ void *tls_state;
85 /*@null@ */ void *xcred;
86 char unprocessed[BUF_SIZE];
87 void *pc; /* mailbox handle for debugging messages */
90 int
91 main(int argc __attribute__ ((unused)), char **argv
92 __attribute__ ((unused)))
94 char buf[255];
95 struct connection_state scs;
96 scs.name = strdup("test");
97 scs.unprocessed[0] = '\0';
98 scs.pc = NULL;
99 scs.tls_state = NULL;
100 scs.xcred = NULL;
101 alarm(10);
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));
107 return 0;