summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2010-01-27 15:56:51 +0100
committerSimon Josefsson <simon@josefsson.org>2010-01-27 15:56:51 +0100
commita0e69d2a86fc8e670cb9e7fa4afe21fd809bd2d2 (patch)
tree9aba3ded8b000ca341c1340f64257bd5c82ca168
parent4b699948260c21eb97fe4a0f5a57c20e038d3d59 (diff)
downloadgnutls-a0e69d2a86fc8e670cb9e7fa4afe21fd809bd2d2.tar.gz
gnutls-cli: Handle reading binary data from server.
Reported by and tiny patch from Vitaly Mayatskikh <v.mayatskih@gmail.com> in <http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/4096>.
-rw-r--r--NEWS5
-rw-r--r--THANKS3
-rw-r--r--src/cli.c12
3 files changed, 15 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index ecbed1c4ba..3b24437788 100644
--- a/NEWS
+++ b/NEWS
@@ -35,6 +35,11 @@ now different than previous gnutls releases.
** certtool: New option --no-crq-extensions to avoid extensions in CSRs.
+** gnutls-cli: Handle reading binary data from server.
+Reported by and tiny patch from Vitaly Mayatskikh
+<v.mayatskih@gmail.com> in
+<http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/4096>.
+
** API and ABI modifications:
gnutls_cipher_decrypt: Added
gnutls_cipher_deinit: Added
diff --git a/THANKS b/THANKS
index a4a72f8273..383a91cd76 100644
--- a/THANKS
+++ b/THANKS
@@ -1,5 +1,5 @@
GNU TLS THANKS -- Acknowledgements.
-Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation
+Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation
Copyright (C) 2000, 2001, 2002, 2003, 2004 Nikos Mavrogiannopoulos
See the end for copying conditions.
@@ -104,6 +104,7 @@ Fabian Keil <fk@fabiankeil.de>
Jason Pettiss <jpettiss@yahoo.com>
Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Steve Dispensa <dispensa@phonefactor.com>
+Vitaly Mayatskikh <v.mayatskih@gmail.com>
----------------------------------------------------------------------
Copying and distribution of this file, with or without modification,
diff --git a/src/cli.c b/src/cli.c
index ff34ecec75..d167f5771f 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
* Copyright (C) 2000,2001,2002,2003 Nikos Mavrogiannopoulos
*
* This file is part of GNUTLS.
@@ -606,6 +606,7 @@ main (int argc, char **argv)
struct timeval tv;
int user_term = 0, retval = 0;
socket_st hd;
+ ssize_t bytes;
set_program_name (argv[0]);
@@ -817,7 +818,7 @@ after_handshake:
if (FD_ISSET (fileno (stdin), &rset))
{
- if (fgets (buffer, MAX_BUF, stdin) == NULL)
+ if ((bytes = read (fileno(stdin), buffer, MAX_BUF - 1)) < 0)
{
if (hd.secure == 0)
{
@@ -847,10 +848,13 @@ after_handshake:
{
char *b = strchr (buffer, '\n');
if (b != NULL)
- strcpy (b, "\r\n");
+ {
+ strcpy (b, "\r\n");
+ bytes++;
+ }
}
- ret = socket_send (&hd, buffer, strlen (buffer));
+ ret = socket_send (&hd, buffer, bytes);
if (ret > 0)
{