X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fftp-opie.c;h=9b3761016868e00618bf4ed4e89d34ed23ecd9c6;hp=ad315f6824f76c8fdff89ebb7047a43a251ab967;hb=HEAD;hpb=4d7c5e087b2bc82c9f503dff003916d1047903ce diff --git a/src/ftp-opie.c b/src/ftp-opie.c index ad315f68..9b376101 100644 --- a/src/ftp-opie.c +++ b/src/ftp-opie.c @@ -1,5 +1,6 @@ /* Opie (s/key) support for FTP. - Copyright (C) 1998-2004 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GNU Wget. @@ -16,24 +17,24 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Wget. If not, see . -In addition, as a special exception, the Free Software Foundation -gives permission to link the code of its release of Wget with the -OpenSSL project's "OpenSSL" library (or with modified versions of it -that use the same license as the "OpenSSL" library), and distribute -the linked executables. You must obey the GNU General Public License -in all respects for all of the code used other than "OpenSSL". If you -modify this file, you may extend this exception to your version of the -file, but you are not obligated to do so. If you do not wish to do -so, delete this exception statement from your version. */ +Additional permission under GNU GPL version 3 section 7 -#include +If you modify this program, or any covered work, by linking or +combining it with the OpenSSL project's OpenSSL library (or a +modified version of that library), containing parts covered by the +terms of the OpenSSL or SSLeay licenses, the Free Software Foundation +grants you additional permission to convey the resulting work. +Corresponding Source for a non-source form of such a combination +shall include the source code for the parts of OpenSSL used as well +as that of the covered work. */ + +#include "wget.h" #include #include #include -#include "wget.h" -#include "gen-md5.h" +#include "md5.h" #include "ftp.h" /* Dictionary for integer-word translations. Available in appendix D @@ -2117,8 +2118,8 @@ extract (const unsigned char *s, int start, int length) static char * btoe (char *store, const unsigned char *c) { - unsigned char cp[10]; /* add in room for the parity 2 bits + - extract() slop. */ + unsigned char cp[10]; /* add in room for the parity 2 bits + + extract() slop. */ int p, i; char *store_beg = store; @@ -2154,9 +2155,9 @@ btoe (char *store, const unsigned char *c) store += STRLEN_1_4 (store); *store++ = ' '; memcpy (store, &Wp[extract (cp, 55, 11)][0], 4); - store[4] = '\0'; /* make sure the string is terminated */ + store[4] = '\0'; /* make sure the string is terminated */ - DEBUGP (("wrote `%s' to STORE\n", store_beg)); + DEBUGP (("wrote %s to STORE\n", quote (store_beg))); return store_beg; } @@ -2195,22 +2196,22 @@ skey_response (int sequence, const char *seed, const char *pass) the terminating \0. 24+5+1 == 30 */ static char english[30]; - ALLOCA_MD5_CONTEXT (md5_ctx); + struct md5_ctx ctx; uint32_t checksum[4]; - 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); + md5_init_ctx (&ctx); + md5_process_bytes ((const unsigned char *) seed, strlen (seed), &ctx); + md5_process_bytes ((const unsigned char *) pass, strlen (pass), &ctx); + md5_finish_ctx (&ctx, (unsigned char *) checksum); checksum[0] ^= checksum[2]; checksum[1] ^= checksum[3]; memcpy (key, checksum, 8); while (sequence-- > 0) { - gen_md5_init (md5_ctx); - gen_md5_update ((unsigned char *) key, 8, md5_ctx); - gen_md5_finish (md5_ctx, (unsigned char *) checksum); + md5_init_ctx (&ctx); + md5_process_bytes ((unsigned char *) key, 8, &ctx); + md5_finish_ctx (&ctx, (unsigned char *) checksum); checksum[0] ^= checksum[2]; checksum[1] ^= checksum[3]; memcpy (key, checksum, 8);