summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2019-01-01 11:22:34 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2019-01-01 11:22:34 +0000
commit1d54a5557126e106fb3f4cf5245b1ac1f00fb390 (patch)
tree6d6427cc3c558aa4e1de03fca788a855dfaeb1da
parentdd06453978fd6b398d50643077f092c50fb1b116 (diff)
parentca86194b50559abc99d1429dfa7c5f9f78997d9e (diff)
downloadgnutls-1d54a5557126e106fb3f4cf5245b1ac1f00fb390.tar.gz
Merge branch 'tmp-fix-examples' into 'master'
examples: use a valid DNS name Closes #663 See merge request gnutls/gnutls!848
-rw-r--r--doc/examples/ex-client-anon.c13
-rw-r--r--doc/examples/ex-client-dtls.c15
-rw-r--r--doc/examples/ex-client-psk.c9
-rw-r--r--doc/examples/ex-client-resume.c15
-rw-r--r--doc/examples/ex-client-x509-3.1.c15
-rw-r--r--doc/examples/ex-client-x509.c15
-rw-r--r--doc/examples/ex-serv-dtls.c23
-rw-r--r--doc/examples/ex-serv-psk.c11
-rw-r--r--doc/examples/ex-serv-srp.c15
-rw-r--r--doc/examples/ex-serv-x509.c14
10 files changed, 90 insertions, 55 deletions
diff --git a/doc/examples/ex-client-anon.c b/doc/examples/ex-client-anon.c
index e86e9302f5..39d5a7e3cd 100644
--- a/doc/examples/ex-client-anon.c
+++ b/doc/examples/ex-client-anon.c
@@ -11,11 +11,18 @@
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
+#include <assert.h>
#include <gnutls/gnutls.h>
/* A very basic TLS client, with anonymous authentication.
*/
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
+
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -74,9 +81,9 @@ int main(void)
gnutls_free(desc);
}
- gnutls_record_send(session, MSG, strlen(MSG));
+ LOOP_CHECK(ret, gnutls_record_send(session, MSG, strlen(MSG)));
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf("- Peer has closed the TLS connection\n");
goto end;
@@ -95,7 +102,7 @@ int main(void)
fputs("\n", stdout);
}
- gnutls_bye(session, GNUTLS_SHUT_RDWR);
+ LOOP_CHECK(ret, gnutls_bye(session, GNUTLS_SHUT_RDWR));
end:
diff --git a/doc/examples/ex-client-dtls.c b/doc/examples/ex-client-dtls.c
index 0a5aef3204..095246e26c 100644
--- a/doc/examples/ex-client-dtls.c
+++ b/doc/examples/ex-client-dtls.c
@@ -19,6 +19,11 @@
*/
#define CHECK(x) assert((x)>=0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -56,10 +61,10 @@ int main(void)
/* put the x509 credentials to the current session */
CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred));
- CHECK(gnutls_server_name_set(session, GNUTLS_NAME_DNS, "my_host_name",
- strlen("my_host_name")));
+ CHECK(gnutls_server_name_set(session, GNUTLS_NAME_DNS, "www.example.com",
+ strlen("www.example.com")));
- gnutls_session_set_verify_cert(session, "my_host_name", 0);
+ gnutls_session_set_verify_cert(session, "www.example.com", 0);
/* connect to the peer */
sd = udp_connect();
@@ -89,9 +94,9 @@ int main(void)
gnutls_free(desc);
}
- CHECK(gnutls_record_send(session, MSG, strlen(MSG)));
+ LOOP_CHECK(ret, gnutls_record_send(session, MSG, strlen(MSG)));
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf("- Peer has closed the TLS connection\n");
goto end;
diff --git a/doc/examples/ex-client-psk.c b/doc/examples/ex-client-psk.c
index 4b393d877f..63ef884c70 100644
--- a/doc/examples/ex-client-psk.c
+++ b/doc/examples/ex-client-psk.c
@@ -18,6 +18,11 @@
*/
#define CHECK(x) assert((x)>=0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -95,9 +100,9 @@ int main(void)
gnutls_free(desc);
}
- CHECK(gnutls_record_send(session, MSG, strlen(MSG)));
+ LOOP_CHECK(ret, gnutls_record_send(session, MSG, strlen(MSG)));
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf("- Peer has closed the TLS connection\n");
goto end;
diff --git a/doc/examples/ex-client-resume.c b/doc/examples/ex-client-resume.c
index cf67bfcf1b..3161ef3165 100644
--- a/doc/examples/ex-client-resume.c
+++ b/doc/examples/ex-client-resume.c
@@ -21,6 +21,11 @@ extern void tcp_close(int sd);
*/
#define CHECK(x) assert((x)>=0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -51,9 +56,9 @@ int main(void)
CHECK(gnutls_init(&session, GNUTLS_CLIENT));
CHECK(gnutls_server_name_set(session, GNUTLS_NAME_DNS,
- "my_host_name",
- strlen("my_host_name")));
- gnutls_session_set_verify_cert(session, "my_host_name", 0);
+ "www.example.com",
+ strlen("www.example.com")));
+ gnutls_session_set_verify_cert(session, "www.example.com", 0);
CHECK(gnutls_set_default_priority(session));
@@ -100,9 +105,9 @@ int main(void)
}
}
- gnutls_record_send(session, MSG, strlen(MSG));
+ LOOP_CHECK(ret, gnutls_record_send(session, MSG, strlen(MSG)));
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf("- Peer has closed the TLS connection\n");
goto end;
diff --git a/doc/examples/ex-client-x509-3.1.c b/doc/examples/ex-client-x509-3.1.c
index a6cc5241c0..bd7fd2fcb6 100644
--- a/doc/examples/ex-client-x509-3.1.c
+++ b/doc/examples/ex-client-x509-3.1.c
@@ -18,6 +18,11 @@
*/
#define CHECK(x) assert((x)>=0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define CAFILE "/etc/ssl/certs/ca-certificates.crt"
@@ -62,10 +67,10 @@ int main(void)
*/
CHECK(gnutls_init(&session, GNUTLS_CLIENT));
- gnutls_session_set_ptr(session, (void *) "my_host_name");
+ gnutls_session_set_ptr(session, (void *) "www.example.com");
- gnutls_server_name_set(session, GNUTLS_NAME_DNS, "my_host_name",
- strlen("my_host_name"));
+ gnutls_server_name_set(session, GNUTLS_NAME_DNS, "www.example.com",
+ strlen("www.example.com"));
/* use default priorities */
CHECK(gnutls_set_default_priority(session));
@@ -112,9 +117,9 @@ int main(void)
gnutls_free(desc);
}
- CHECK(gnutls_record_send(session, MSG, strlen(MSG)));
+ LOOP_CHECK(ret, gnutls_record_send(session, MSG, strlen(MSG)));
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf("- Peer has closed the TLS connection\n");
goto end;
diff --git a/doc/examples/ex-client-x509.c b/doc/examples/ex-client-x509.c
index 0dc23bff37..07abcf015c 100644
--- a/doc/examples/ex-client-x509.c
+++ b/doc/examples/ex-client-x509.c
@@ -17,6 +17,11 @@
*/
#define CHECK(x) assert((x)>=0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED); \
+ assert(rval >= 0)
#define MAX_BUF 1024
#define MSG "GET / HTTP/1.0\r\n\r\n"
@@ -57,8 +62,8 @@ int main(void)
/* Initialize TLS session */
CHECK(gnutls_init(&session, GNUTLS_CLIENT));
- CHECK(gnutls_server_name_set(session, GNUTLS_NAME_DNS, "my_host_name",
- strlen("my_host_name")));
+ CHECK(gnutls_server_name_set(session, GNUTLS_NAME_DNS, "www.example.com",
+ strlen("www.example.com")));
/* It is recommended to use the default priorities */
CHECK(gnutls_set_default_priority(session));
@@ -66,7 +71,7 @@ int main(void)
/* put the x509 credentials to the current session
*/
CHECK(gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred));
- gnutls_session_set_verify_cert(session, "my_host_name", 0);
+ gnutls_session_set_verify_cert(session, "www.example.com", 0);
/* connect to the peer
*/
@@ -101,9 +106,9 @@ int main(void)
}
/* send data */
- CHECK(gnutls_record_send(session, MSG, strlen(MSG)));
+ LOOP_CHECK(ret, gnutls_record_send(session, MSG, strlen(MSG)));
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf("- Peer has closed the TLS connection\n");
goto end;
diff --git a/doc/examples/ex-serv-dtls.c b/doc/examples/ex-serv-dtls.c
index 40b4f4728f..7374d96b45 100644
--- a/doc/examples/ex-serv-dtls.c
+++ b/doc/examples/ex-serv-dtls.c
@@ -27,6 +27,11 @@
* Note that error checking is minimal to simplify the example.
*/
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
+
#define MAX_BUFFER 1024
#define PORT 5557
@@ -197,11 +202,7 @@ int main(void)
gnutls_transport_set_pull_timeout_function(session,
pull_timeout_func);
- do {
- ret = gnutls_handshake(session);
- }
- while (ret == GNUTLS_E_INTERRUPTED
- || ret == GNUTLS_E_AGAIN);
+ LOOP_CHECK(ret, gnutls_handshake(session));
/* Note that DTLS may also receive GNUTLS_E_LARGE_PACKET.
* In that case the MTU should be adjusted.
*/
@@ -216,14 +217,10 @@ int main(void)
printf("- Handshake was completed\n");
for (;;) {
- do {
- ret =
+ LOOP_CHECK(ret,
gnutls_record_recv_seq(session, buffer,
MAX_BUFFER,
- sequence);
- }
- while (ret == GNUTLS_E_AGAIN
- || ret == GNUTLS_E_INTERRUPTED);
+ sequence));
if (ret < 0 && gnutls_error_is_fatal(ret) == 0) {
fprintf(stderr, "*** Warning: %s\n",
@@ -248,7 +245,7 @@ int main(void)
sequence[6], sequence[7], buffer);
/* reply back */
- ret = gnutls_record_send(session, buffer, ret);
+ LOOP_CHECK(ret, gnutls_record_send(session, buffer, ret));
if (ret < 0) {
fprintf(stderr, "Error in send(): %s\n",
gnutls_strerror(ret));
@@ -256,7 +253,7 @@ int main(void)
}
}
- gnutls_bye(session, GNUTLS_SHUT_WR);
+ LOOP_CHECK(ret, gnutls_bye(session, GNUTLS_SHUT_WR));
gnutls_deinit(session);
}
diff --git a/doc/examples/ex-serv-psk.c b/doc/examples/ex-serv-psk.c
index 4c469819be..b6d5d11c8d 100644
--- a/doc/examples/ex-serv-psk.c
+++ b/doc/examples/ex-serv-psk.c
@@ -20,6 +20,11 @@
#define CAFILE "/etc/ssl/certs/ca-certificates.crt"
#define CRLFILE "crl.pem"
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
+
/* This is a sample TLS echo server, supporting X.509 and PSK
authentication.
*/
@@ -132,7 +137,7 @@ int main(void)
sizeof(topbuf)), ntohs(sa_cli.sin_port));
gnutls_transport_set_int(session, sd);
- ret = gnutls_handshake(session);
+ LOOP_CHECK(ret, gnutls_handshake(session));
if (ret < 0) {
close(sd);
gnutls_deinit(session);
@@ -154,7 +159,7 @@ int main(void)
/* print_info(session); */
for (;;) {
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf
@@ -178,7 +183,7 @@ int main(void)
printf("\n");
/* do not wait for the peer to close the connection.
*/
- gnutls_bye(session, GNUTLS_SHUT_WR);
+ LOOP_CHECK(ret, gnutls_bye(session, GNUTLS_SHUT_WR));
close(sd);
gnutls_deinit(session);
diff --git a/doc/examples/ex-serv-srp.c b/doc/examples/ex-serv-srp.c
index c79ceb20c5..7686a8fc1c 100644
--- a/doc/examples/ex-serv-srp.c
+++ b/doc/examples/ex-serv-srp.c
@@ -22,6 +22,11 @@
#define CERTFILE "cert.pem"
#define CAFILE "/etc/ssl/certs/ca-certificates.crt"
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
+
/* This is a sample TLS-SRP echo server.
*/
@@ -117,11 +122,7 @@ int main(void)
gnutls_transport_set_int(session, sd);
- do {
- ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
-
+ LOOP_CHECK(ret, gnutls_handshake(session));
if (ret < 0) {
close(sd);
gnutls_deinit(session);
@@ -137,7 +138,7 @@ int main(void)
/* print_info(session); */
for (;;) {
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf
@@ -160,7 +161,7 @@ int main(void)
}
printf("\n");
/* do not wait for the peer to close the connection. */
- gnutls_bye(session, GNUTLS_SHUT_WR);
+ LOOP_CHECK(ret, gnutls_bye(session, GNUTLS_SHUT_WR));
close(sd);
gnutls_deinit(session);
diff --git a/doc/examples/ex-serv-x509.c b/doc/examples/ex-serv-x509.c
index c2545a6688..df57207140 100644
--- a/doc/examples/ex-serv-x509.c
+++ b/doc/examples/ex-serv-x509.c
@@ -22,6 +22,10 @@
#define CRLFILE "crl.pem"
#define CHECK(x) assert((x)>=0)
+#define LOOP_CHECK(rval, cmd) \
+ do { \
+ rval = cmd; \
+ } while(rval == GNUTLS_E_AGAIN || rval == GNUTLS_E_INTERRUPTED)
/* The OCSP status file contains up to date information about revocation
* of the server's certificate. That can be periodically be updated
@@ -137,11 +141,7 @@ int main(void)
gnutls_transport_set_int(session, sd);
- do {
- ret = gnutls_handshake(session);
- }
- while (ret < 0 && gnutls_error_is_fatal(ret) == 0);
-
+ LOOP_CHECK(ret, gnutls_handshake(session));
if (ret < 0) {
close(sd);
gnutls_deinit(session);
@@ -156,7 +156,7 @@ int main(void)
/* print_info(session); */
for (;;) {
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ LOOP_CHECK(ret, gnutls_record_recv(session, buffer, MAX_BUF));
if (ret == 0) {
printf
@@ -180,7 +180,7 @@ int main(void)
printf("\n");
/* do not wait for the peer to close the connection.
*/
- CHECK(gnutls_bye(session, GNUTLS_SHUT_WR));
+ LOOP_CHECK(ret, gnutls_bye(session, GNUTLS_SHUT_WR));
close(sd);
gnutls_deinit(session);