diff options
author | Simon Josefsson <simon@josefsson.org> | 2010-01-27 15:56:51 +0100 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2010-01-27 15:56:51 +0100 |
commit | a0e69d2a86fc8e670cb9e7fa4afe21fd809bd2d2 (patch) | |
tree | 9aba3ded8b000ca341c1340f64257bd5c82ca168 | |
parent | 4b699948260c21eb97fe4a0f5a57c20e038d3d59 (diff) | |
download | gnutls-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-- | NEWS | 5 | ||||
-rw-r--r-- | THANKS | 3 | ||||
-rw-r--r-- | src/cli.c | 12 |
3 files changed, 15 insertions, 5 deletions
@@ -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 @@ -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, @@ -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) { |