X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fustream-ssl.git;a=blobdiff_plain;f=ustream-example-client.c;h=65273622a4f4b85b13ebd317cfcac86460b22057;hp=c3d00182d78dc7f3fac9f4510be9182142b9b5be;hb=add9c19ae46263e9c2ca85c0baad22cd758f6c63;hpb=ba34903f4163d0650118bee76f012de961951409 diff --git a/ustream-example-client.c b/ustream-example-client.c index c3d0018..6527362 100644 --- a/ustream-example-client.c +++ b/ustream-example-client.c @@ -46,6 +46,11 @@ static void client_ssl_notify_read(struct ustream *s, int bytes) ustream_consume(s, len); } +static void client_ssl_notify_write(struct ustream *s, int bytes) +{ + fprintf(stderr, "Wrote %d bytes, pending %d\n", bytes, s->w.data_bytes); +} + static void client_notify_connected(struct ustream_ssl *ssl) { fprintf(stderr, "SSL connection established (CN verified: %d)\n", ssl->valid_cn); @@ -81,6 +86,7 @@ static void example_connect_ssl(int fd) ssl.notify_verify_error = client_notify_verify_error; ssl.notify_connected = client_notify_connected; ssl.stream.notify_read = client_ssl_notify_read; + ssl.stream.notify_write = client_ssl_notify_write; ssl.stream.notify_state = client_notify_state; ustream_fd_init(&stream, fd); @@ -110,12 +116,17 @@ static void connect_client(void) static int usage(const char *progname) { - fprintf(stderr, "Usage: %s [options] \n", progname); + fprintf(stderr, + "Usage: %s [options] \n" + "Options:\n" + " -c : Load CA certificates from file \n" + "\n", progname); return 1; } int main(int argc, char **argv) { + const char *progname = argv[0]; int ch; ctx = ustream_ssl_context_new(false); @@ -125,6 +136,8 @@ int main(int argc, char **argv) case 'c': ustream_ssl_context_add_ca_crt_file(ctx, optarg); break; + default: + return usage(progname); } } @@ -132,7 +145,7 @@ int main(int argc, char **argv) argc -= optind; if (argc != 2) - return usage(argv[0]); + return usage(progname); uloop_init(); host = argv[0];