]> sjero.net Git - wget/commitdiff
[svn] Fixes by Christian Biere:
authorhniksic <devnull@localhost>
Wed, 28 Jan 2004 01:02:26 +0000 (17:02 -0800)
committerhniksic <devnull@localhost>
Wed, 28 Jan 2004 01:02:26 +0000 (17:02 -0800)
* progress.c (bar_set_params): Fixed syntax error when HAVE_ISATTY
was undefined.
* ftp.c (ftp_loop_internal): Allocate a larger buffer in case
"try" gets translated to something large.  Ditto in http_loop in
http.c.
* http.c (response_header_copy): Don't write to buf[BUFSIZE].
* ftp-opie.c (skey_response): Eliminate unnecessary string
concatenation; just call gen_md5_update twice.

src/ChangeLog
src/ftp-opie.c
src/ftp.c
src/http.c
src/progress.c

index 0582437647f9c0d2c37a163a91ac94bf60e144e4..b44e5c416ce6f3b0441fa03a7d80a282ad2dd99c 100644 (file)
@@ -1,3 +1,17 @@
+2004-01-28  Christian Biere  <christianbiere@gmx.de>
+
+       * progress.c (bar_set_params): Fixed syntax error when HAVE_ISATTY
+       was undefined.
+
+       * ftp.c (ftp_loop_internal): Allocate a larger buffer in case
+       "try" gets translated to something large.  Ditto in http_loop in
+       http.c.
+
+       * http.c (response_header_copy): Don't write to buf[BUFSIZE].
+
+       * ftp-opie.c (skey_response): Eliminate unnecessary string
+       concatenation; just call gen_md5_update twice.
+
 2004-01-25  Hrvoje Niksic  <hniksic@xemacs.org>
 
        * utils.c (xsleep): Don't call usleep with values larger than
index 9c4a1ea51e080320dcc51d4e0536427ba7a9ac16..c32bcf05bab3dbeac9f1ed6d943d0fe462ab6823 100644 (file)
@@ -2165,14 +2165,6 @@ btoe (char *store, const unsigned char *c)
   return store_beg;
 }
 
-/* Calculate the MD5 checksum of SRC in one step.  The MD5 context
-   must be declared as md5_ctx.  */
-#define DO_MD5(src, len, dest) do {                            \
-  gen_md5_init (md5_ctx);                                      \
-  gen_md5_update ((unsigned char *) (src), (len), md5_ctx);    \
-  gen_md5_finish (md5_ctx, (unsigned char *) (dest));          \
-} while (0)
-
 /* Calculate the SKEY response, based on the sequence, seed
    (challenge), and the secret password.  The calculated response is
    used instead of the real password when logging in to SKEY-enabled
@@ -2211,18 +2203,19 @@ skey_response (int sequence, const char *seed, const char *pass)
   ALLOCA_MD5_CONTEXT (md5_ctx);
   uint32_t checksum[4];
 
-  char *feed = (char *) alloca (strlen (seed) + strlen (pass) + 1);
-  strcpy (feed, seed);
-  strcat (feed, pass);
-
-  DO_MD5 (feed, strlen (feed), checksum);
+  gen_md5_init (md5_ctx);
+  gen_md5_update ((const unsigned char *)seed, strlen(seed), md5_ctx);
+  gen_md5_update ((const unsigned char *)pass, strlen(pass), md5_ctx);
+  gen_md5_finish (md5_ctx, (unsigned char *)checksum);
   checksum[0] ^= checksum[2];
   checksum[1] ^= checksum[3];
   memcpy (key, checksum, 8);
 
   while (sequence-- > 0)
     {
-      DO_MD5 (key, 8, checksum);
+      gen_md5_init (md5_ctx);
+      gen_md5_update ((unsigned char *) key, 8, md5_ctx);
+      gen_md5_finish (md5_ctx, (unsigned char *) checksum);
       checksum[0] ^= checksum[2];
       checksum[1] ^= checksum[3];
       memcpy (key, checksum, 8);
index da5be896168708991ba4ac8753c4c13c6377410e..e4c3b621be6c7fae1dbe22281554edccaaca946a 100644 (file)
--- a/src/ftp.c
+++ b/src/ftp.c
@@ -1196,7 +1196,7 @@ ftp_loop_internal (struct url *u, struct fileinfo *f, ccon *con)
       if (opt.verbose)
        {
          char *hurl = url_string (u, 1);
-         char tmp[15];
+         char tmp[256];
          strcpy (tmp, "        ");
          if (count > 1)
            sprintf (tmp, _("(try:%2d)"), count);
index 5159d90260c2e4ec2db583eb7cf483d14ea7e750..b779e36ee6f71d82318c8e5ba7e9780bcbbbf5c5 100644 (file)
@@ -581,8 +581,8 @@ response_header_copy (const struct response *resp, const char *name,
     return 0;
   if (bufsize)
     {
-      int len = MIN (e - b, bufsize);
-      strncpy (buf, b, len);
+      int len = MIN (e - b, bufsize - 1);
+      memcpy (buf, b, len);
       buf[len] = '\0';
     }
   return 1;
@@ -1904,7 +1904,7 @@ File `%s' already there, will not retrieve.\n"), *hstat.local_file);
       if (opt.verbose)
        {
          char *hurl = url_string (u, 1);
-         char tmp[15];
+         char tmp[256];
          strcpy (tmp, "        ");
          if (count > 1)
            sprintf (tmp, _("(try:%2d)"), count);
index 9ff2f9836be49ba1c2c7f26cbf81455056a35436..3fae615dcae86f0d8ba2d2af28941c97cf3bbc5b 100644 (file)
@@ -939,8 +939,6 @@ bar_set_params (const char *params)
          TTY -- when logging to file, it is better to review the
          dots.  */
        || !isatty (fileno (stderr))
-#else
-       1
 #endif
        /* Normally we don't depend on terminal type because the
          progress bar only uses ^M to move the cursor to the