#include "sptps.h"
#include "utils.h"
+char *logfilename;
ecdsa_t mykey, hiskey;
static bool send_data(void *handle, const char *data, size_t len) {
fprintf(stderr, "Keys loaded\n");
sptps_t s;
- if(!start_sptps(&s, &sock, initiator, mykey, hiskey, "sptps_test", 10, send_data, receive_record))
+ if(!sptps_start(&s, &sock, initiator, mykey, hiskey, "sptps_test", 10, send_data, receive_record))
return 1;
while(true) {
- char buf[4095];
+ char buf[65535] = "";
struct pollfd fds[2];
fds[0].fd = 0;
}
if(len == 0)
break;
- if(!send_record(&s, 0, buf, len))
+ if(buf[0] == '^')
+ sptps_send_record(&s, SPTPS_HANDSHAKE, NULL, 0);
+ else if(buf[0] == '$')
+ sptps_force_kex(&s);
+ else
+ if(!sptps_send_record(&s, buf[0] == '!' ? 1 : 0, buf, buf[0] == '\n' ? 0 : buf[0] == '*' ? sizeof buf : len))
return 1;
}
char hex[len * 2 + 1];
bin2hex(buf, hex, len);
fprintf(stderr, "Received %zd bytes of data:\n%s\n", len, hex);
- if(!receive_data(&s, buf, len))
+ if(!sptps_receive_data(&s, buf, len))
return 1;
}
}
+ if(!sptps_stop(&s))
+ return 1;
+
return 0;
}