diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-22 00:01:57 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-22 00:02:36 +0100 |
commit | 9a24a046b1f5ec92d6fffc27c8da7cb8652f4142 (patch) | |
tree | 3d630c492287f2e94425bd3ff218e428c21e8e8f /src | |
parent | 1704ba8c7412eef4d3f4fac1b758896bf30943fe (diff) | |
download | gnutls-9a24a046b1f5ec92d6fffc27c8da7cb8652f4142.tar.gz |
Added gnutls_record_recv_seq() that can return the sequence number
of the record packet, in addition to data.
Diffstat (limited to 'src')
-rw-r--r-- | src/udp-serv.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/udp-serv.c b/src/udp-serv.c index 284348325b..a5ba6e4d88 100644 --- a/src/udp-serv.c +++ b/src/udp-serv.c @@ -29,6 +29,7 @@ int udp_server(const char* name, int port) char buffer[MAX_BUFFER]; priv_data_st priv; gnutls_session_t session; + unsigned char sequence[8]; ret = listen_socket (name, port, SOCK_DGRAM); if (ret < 0) @@ -77,7 +78,10 @@ int udp_server(const char* name, int port) for(;;) { - ret = gnutls_record_recv(session, buffer, MAX_BUFFER); + do { + ret = gnutls_record_recv_seq(session, buffer, MAX_BUFFER, sequence); + } while(ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED); + if (ret < 0) { fprintf(stderr, "Error in recv(): %s\n", gnutls_strerror(ret)); @@ -89,7 +93,8 @@ int udp_server(const char* name, int port) break; } buffer[ret] = 0; - printf("received[%d]: %s\n", ret, buffer); + printf("received[%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x]: %s\n", sequence[0], sequence[1], sequence[2], + sequence[3], sequence[4], sequence[5], sequence[6], sequence[7], buffer); /* reply back */ ret = gnutls_record_send(session, buffer, ret); |