diff options
author | Olga <olyasib12@gmail.com> | 2012-08-28 00:12:56 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-08-30 20:04:18 +0200 |
commit | 3f2e9a0d1231f2555626305b752f73c87afbe6f2 (patch) | |
tree | b903ca9de4bf9dd613627382b6f429e50551ee71 /src/common.c | |
parent | 23934e9fe103c3026491b25255467637cc1df89f (diff) | |
download | gnutls-3f2e9a0d1231f2555626305b752f73c87afbe6f2.tar.gz |
Added Heartbeat extension support.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Diffstat (limited to 'src/common.c')
-rw-r--r-- | src/common.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/common.c b/src/common.c index 1b881a8bb4..4b21e22c7a 100644 --- a/src/common.c +++ b/src/common.c @@ -34,6 +34,7 @@ #include <gnutls/gnutls.h> #include <gnutls/x509.h> #include <gnutls/openpgp.h> +#include <gnutls/crypto.h> #include <time.h> #include <common.h> @@ -1040,18 +1041,20 @@ print_list (const char *priorities, int verbose) int check_command(gnutls_session_t session, const char* str) { -int len = strlen(str); - + size_t len = strnlen(str, 128); + fprintf (stderr, "*** Processing %zu bytes command: %s\n", len, str); if (len > 2 && str[0] == str[1] && str[0] == '*') - { - if (strncmp(str, "**REHANDSHAKE**", - sizeof ("**REHANDSHAKE**") - 1) == 0) - { + { + if (strncmp(str, "**REHANDSHAKE**", sizeof ("**REHANDSHAKE**") - 1) == 0) + { fprintf (stderr, "*** Sending rehandshake request\n"); - gnutls_rehandshake (session); + gnutls_rehandshake (session); return 1; - } - } + } else if (strncmp(str, "**HEARTBEAT**", sizeof ("**HEARTBEAT**") - 1) == 0) { + gnutls_heartbeat_ping_rnd (session); + return 2; + } + } return 0; } |