Skip to contentSkip to conversation

Make use of counter_type instead of int when counting bytes and network packets

PATCH In review David Sommerseth 2 participants 3 messages Apr 8, 2010

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Make use of counter_type instead of int when counting bytes and network packets

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is in response to a reported Debian bug, where the connection counter overflows.
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576827>

- ---

 ssl.c |    3 ++-
 ssl.h |    4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAku+LQ4ACgkQDC186MBRfrpafwCfTukA6Sck9ya7N9+miRq8vD7e +1cAoJEnTjfdrEJAy+KDDq4pgWqTKkeW
=a8Yb
-----END PGP SIGNATURE-----

From 5c383c4445598cddaaf9b0568065e07dc1275c4e Mon Sep 17 00:00:00 2001
From: David Sommerseth <[email protected]...>
Date: Thu, 8 Apr 2010 21:18:42 +0200
Subject: [PATCH] Make use of counter_type instead of int when counting bytes and network packets

This is in response to a reported Debian bug, where the connection counter overflows.
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576827>

---
 ssl.c |    3 ++-
 ssl.h |    4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)
ssl.c +2 -1
index 1b275af..ddd5ee7 100644
@@ -3747,7 +3747,8 @@ tls_process (struct tls_multi *multi,
 	   && ks->n_packets >= session->opt->renegotiate_packets)
        || (packet_id_close_to_wrapping (&ks->packet_id.send))))
     {
-      msg (D_TLS_DEBUG_LOW, "TLS: soft reset sec=%d bytes=%d/%d pkts=%d/%d",
+      msg (D_TLS_DEBUG_LOW,
+           "TLS: soft reset sec=%d bytes=" counter_format "/%d pkts=" counter_format "/%d",
 	   (int)(ks->established + session->opt->renegotiate_seconds - now),
 	   ks->n_bytes, session->opt->renegotiate_bytes,
 	   ks->n_packets, session->opt->renegotiate_packets);
ssl.h +2 -2
index 9737f26..f3f76c4 100644
@@ -376,8 +376,8 @@ struct key_state
   struct reliable *rec_reliable;  /* order incoming ciphertext packets before we pass to TLS */
   struct reliable_ack *rec_ack;	  /* buffers all packet IDs we want to ACK back to sender */
 
-  int n_bytes;			 /* how many bytes sent/recvd since last key exchange */
-  int n_packets;		 /* how many packets sent/recvd since last key exchange */
+  counter_type n_bytes;		 /* how many bytes sent/recvd since last key exchange */
+  counter_type n_packets;	 /* how many packets sent/recvd since last key exchange */
 
   /*
    * If bad username/password, TLS connection will come up but 'authenticated' will be false.
Signature · 1 line
1.6.6.1
#1 lore raw

Hi,

Quoted 3 lines · David Sommerseth

This is in response to a reported Debian bug, where the connection counter overflows.
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576827>

[..]

Quoted 5 lines
     {
ssl.c +2 -1
-      msg (D_TLS_DEBUG_LOW, "TLS: soft reset sec=%d bytes=%d/%d pkts=%d/%d",
+      msg (D_TLS_DEBUG_LOW,
+           "TLS: soft reset sec=%d bytes=" counter_format "/%d pkts=" counter_format "/%d",
 	   (int)(ks->established + session->opt->renegotiate_seconds - now),

[..]

ssl.h struct key_state · line 380

Quoted 4 lines
ssl.h +2 -2
-  int n_bytes;			 /* how many bytes sent/recvd since last key exchange */
-  int n_packets;		 /* how many packets sent/recvd since last key exchange */
+  counter_type n_bytes;		 /* how many bytes sent/recvd since last key exchange */
+  counter_type n_packets;	 /* how many packets sent/recvd since last key exchange */

ACK, this looks good. The "counter_type" and "counter_format" infrastructure will give 64-bit counters with portability to whatever systems supports 64 bit - and fallback to 32 bit where it is not possible.

gert

Signature · 4 lines
USENET is *not* the non-clickable part of WWW!
                                                           //www.muc.de/~gert/
Gert Doering - Munich, Germany                             [email protected]...
fax: +49-89-35655025                        [email protected]...
#2 lore raw
In reply to David Sommerseth

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 9 lines · David Sommerseth

This is in response to a reported Debian bug, where the connection counter overflows.
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576827>

---
 ssl.c |    3 ++-
 ssl.h |    4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

Applied to the openvpn-testing.git bugfix2.1 branch. To be merged into allmerged soon.
Commit 5acb71a0aab49e10233bcfbc84c6c4685cb93f9d

Kind regards,

David Sommerseth
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAku+MXoACgkQDC186MBRfroLBwCghCrrheZ0Mm5oDTqLDAOGOUOw 6u8AoIJJYLn0nn+tejE6QQLRDx3oAgdX
=jVBz
-----END PGP SIGNATURE-----