summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2011-02-22 00:01:57 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2011-02-22 00:02:36 +0100
commit9a24a046b1f5ec92d6fffc27c8da7cb8652f4142 (patch)
tree3d630c492287f2e94425bd3ff218e428c21e8e8f /src
parent1704ba8c7412eef4d3f4fac1b758896bf30943fe (diff)
downloadgnutls-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.c9
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);