gnutls-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU gnutls branch, master, updated. gnutls_2_9_10-360-g7bb63d3


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, master, updated. gnutls_2_9_10-360-g7bb63d3
Date: Fri, 10 Sep 2010 13:26:30 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU gnutls".

http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=7bb63d397b09df84e324b65117dc27e254512462

The branch, master has been updated
       via  7bb63d397b09df84e324b65117dc27e254512462 (commit)
      from  3774e819df961ce146526d9c9e688ff0f62e0987 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7bb63d397b09df84e324b65117dc27e254512462
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Fri Sep 10 15:25:47 2010 +0200

    Be liberal in the PEM decoding. That is spaces and tabs are being skipped.

-----------------------------------------------------------------------

Summary of changes:
 lib/x509_b64.c |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/lib/x509_b64.c b/lib/x509_b64.c
index 767dbd8..c9bea30 100644
--- a/lib/x509_b64.c
+++ b/lib/x509_b64.c
@@ -414,7 +414,7 @@ cpydata (const uint8_t * data, int data_size, uint8_t ** 
result)
 
   for (j = i = 0; i < data_size; i++)
     {
-      if (data[i] == '\n' || data[i] == '\r')
+      if (data[i] == '\n' || data[i] == '\r' || data[i] == ' ' || data[i] == 
'\t')
        continue;
       (*result)[j] = data[i];
       j++;
@@ -427,15 +427,14 @@ cpydata (const uint8_t * data, int data_size, uint8_t ** 
result)
  *
  * The result_size is the return value
  */
-#define ENDSTR "-----\n"
-#define ENDSTR2 "-----\r"
+#define ENDSTR "-----"
 int
 _gnutls_fbase64_decode (const char *header, const opaque * data,
                        size_t data_size, uint8_t ** result)
 {
   int ret;
   static const char top[] = "-----BEGIN ";
-  static const char bottom[] = "\n-----END ";
+  static const char bottom[] = "-----END ";
   uint8_t *rdata;
   int rdata_size;
   uint8_t *kdata;
@@ -463,13 +462,10 @@ _gnutls_fbase64_decode (const char *header, const opaque 
* data,
       return GNUTLS_E_BASE64_DECODING_ERROR;
     }
 
-  kdata = memmem (rdata, data_size, ENDSTR, sizeof (ENDSTR) - 1);
+  kdata = memmem (rdata+1, data_size-1, ENDSTR, sizeof (ENDSTR) - 1);
   /* allow CR as well.
    */
   if (kdata == NULL)
-    kdata = memmem (rdata, data_size, ENDSTR2, sizeof (ENDSTR2) - 1);
-
-  if (kdata == NULL)
     {
       gnutls_assert ();
       _gnutls_x509_log ("Could not find '%s'\n", ENDSTR);


hooks/post-receive
-- 
GNU gnutls



reply via email to

[Prev in Thread] Current Thread [Next in Thread]