[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-commits] mldonkey distrib/ChangeLog src/utils/lib/md5_c....
From: |
mldonkey-commits |
Subject: |
[Mldonkey-commits] mldonkey distrib/ChangeLog src/utils/lib/md5_c.... |
Date: |
Tue, 05 Sep 2006 14:19:10 +0000 |
CVSROOT: /sources/mldonkey
Module name: mldonkey
Changes by: spiralvoice <spiralvoice> 06/09/05 14:19:10
Modified files:
distrib : ChangeLog
src/utils/lib : md5_c.c os_stubs.h
Log message:
patch #5368
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.994&r2=1.995
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/utils/lib/md5_c.c?cvsroot=mldonkey&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/utils/lib/os_stubs.h?cvsroot=mldonkey&r1=1.15&r2=1.16
Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.994
retrieving revision 1.995
diff -u -b -r1.994 -r1.995
--- distrib/ChangeLog 5 Sep 2006 14:18:24 -0000 1.994
+++ distrib/ChangeLog 5 Sep 2006 14:19:10 -0000 1.995
@@ -15,6 +15,7 @@
=========
2006/09/05
+5368: Remove unused code from md5_c.c & os_stubs.h
5371: EDK: Support for eMule comments (read-only)
- new option html_mods_vd_comments to enable column in HTML, vd
- comments are shown in javascript popups and vd #num
Index: src/utils/lib/md5_c.c
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/utils/lib/md5_c.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- src/utils/lib/md5_c.c 30 Nov 2005 23:46:25 -0000 1.5
+++ src/utils/lib/md5_c.c 5 Sep 2006 14:19:10 -0000 1.6
@@ -389,197 +389,3 @@
for (i = 0; i < 16; ++i)
digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3));
}
-
-/**************************************************************************
-
-
- Ocaml stubs (copied from md4_c.c)
-
-
-***************************************************************************/
-
-#include "md5.h"
-#include "md4.h"
-
-#include "caml/mlvalues.h"
-#include "caml/fail.h"
-#include "caml/alloc.h"
-
-/**************************************************************************
-
- Crypt function
-
-***************************************************************************/
-
-
-#include <string.h>
-#include <stdlib.h>
-
-#define MIN(x,y) ((y) > (x)) ? (x) : (y)
-#define MAX(x,y) ((y) > (x)) ? (y) : (x)
-
-/* Define our magic string to mark salt for MD5 "encryption"
- replacement. This is meant to be the same as for other MD5 based
- encryption implementations. */
-static const char md5_salt_prefix[] = "$1$";
-
-/* Table with characters for base64 transformation. */
-static const char b64t[64] =
-"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
-
-void yahoo_crypt(char *key, char *salt, char *buffer)
-{
- int needed = 3 + strlen (salt) + 1 + 26 + 1;
- int buflen;
- md5_byte_t alt_result[16];
- md5_state_t ctx;
- md5_state_t alt_ctx;
- size_t salt_len;
- size_t key_len;
- size_t cnt;
- char *cp;
-
- buflen = needed;
-
- /* Find beginning of salt string. The prefix should normally always
- be present. Just in case it is not. */
- if (strncmp (md5_salt_prefix, salt, sizeof (md5_salt_prefix) - 1) == 0)
- /* Skip salt prefix. */
- salt += sizeof (md5_salt_prefix) - 1;
-
- salt_len = MIN (strcspn (salt, "$"), 8);
- key_len = strlen (key);
-
- /* Prepare for the real work. */
- md5_init(&ctx);
-
- /* Add the key string. */
- md5_append(&ctx, key, key_len);
-
- /* Because the SALT argument need not always have the salt prefix we
- add it separately. */
- md5_append(&ctx, md5_salt_prefix, sizeof (md5_salt_prefix) - 1);
-
- /* The last part is the salt string. This must be at most 8
- characters and it ends at the first `$' character (for
- compatibility which existing solutions). */
- md5_append(&ctx, salt, salt_len);
-
- /* Compute alternate MD5 sum with input KEY, SALT, and KEY. The
- final result will be added to the first context. */
- md5_init(&alt_ctx);
-
- /* Add key. */
- md5_append(&alt_ctx, key, key_len);
-
- /* Add salt. */
- md5_append(&alt_ctx, salt, salt_len);
-
- /* Add key again. */
- md5_append(&alt_ctx, key, key_len);
-
- /* Now get result of this (16 bytes) and add it to the other
- context. */
- md5_finish(&alt_ctx, alt_result);
-
- /* Add for any character in the key one byte of the alternate sum. */
- for (cnt = key_len; cnt > 16; cnt -= 16)
- md5_append(&ctx, alt_result, 16);
- md5_append(&ctx, alt_result, cnt);
-
- /* For the following code we need a NUL byte. */
- alt_result[0] = '\0';
-
- /* The original implementation now does something weird: for every 1
- bit in the key the first 0 is added to the buffer, for every 0
- bit the first character of the key. This does not seem to be
- what was intended but we have to follow this to be compatible. */
- for (cnt = key_len; cnt > 0; cnt >>= 1)
- md5_append(&ctx, (cnt & 1) != 0 ? alt_result : (md5_byte_t *)key, 1);
-
- /* Create intermediate result. */
- md5_finish(&ctx, alt_result);
-
- /* Now comes another weirdness. In fear of password crackers here
- comes a quite long loop which just processes the output of the
- previous round again. We cannot ignore this here. */
- for (cnt = 0; cnt < 1000; ++cnt) {
- /* New context. */
- md5_init(&ctx);
-
- /* Add key or last result. */
- if ((cnt & 1) != 0)
- md5_append(&ctx, key, key_len);
- else
- md5_append(&ctx, alt_result, 16);
-
- /* Add salt for numbers not divisible by 3. */
- if (cnt % 3 != 0)
- md5_append(&ctx, salt, salt_len);
-
- /* Add key for numbers not divisible by 7. */
- if (cnt % 7 != 0)
- md5_append(&ctx, key, key_len);
-
- /* Add key or last result. */
- if ((cnt & 1) != 0)
- md5_append(&ctx, alt_result, 16);
- else
- md5_append(&ctx, key, key_len);
-
- /* Create intermediate result. */
- md5_finish(&ctx, alt_result);
- }
-
- /* Now we can construct the result string. It consists of three
- parts. */
-
- strncpy(buffer, md5_salt_prefix, MAX (0, buflen));
- cp = buffer + strlen(buffer);
- buflen -= sizeof (md5_salt_prefix);
-
- strncpy(cp, salt, MIN ((size_t) buflen, salt_len));
- cp = cp + strlen(cp);
- buflen -= MIN ((size_t) buflen, salt_len);
-
- if (buflen > 0) {
- *cp++ = '$';
- --buflen;
- }
-
- #define b64_from_24bit(B2, B1, B0, N) \
- do { \
- unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0); \
- int n = (N); \
- while (n-- > 0 && buflen > 0) { \
- *cp++ = b64t[w & 0x3f]; \
- --buflen; \
- w >>= 6; \
- }\
- } while (0)
-
- b64_from_24bit (alt_result[0], alt_result[6], alt_result[12], 4);
- b64_from_24bit (alt_result[1], alt_result[7], alt_result[13], 4);
- b64_from_24bit (alt_result[2], alt_result[8], alt_result[14], 4);
- b64_from_24bit (alt_result[3], alt_result[9], alt_result[15], 4);
- b64_from_24bit (alt_result[4], alt_result[10], alt_result[5], 4);
- b64_from_24bit (0, 0, alt_result[11], 2);
- *cp = '\0'; /* Terminate the string. */
-
- /* Clear the buffer for the intermediate result so that people
- attaching to processes or reading core dumps cannot get any
- information. We do it in this way to clear correct_words[]
- inside the MD5 implementation as well. */
- md5_init(&ctx);
- md5_finish(&ctx, alt_result);
- memset (&ctx, '\0', sizeof (ctx));
- memset (&alt_ctx, '\0', sizeof (alt_ctx));
-
-}
-
-value ml_yahoo_crypt(value key_v, value salt_v, value buffer_v)
-{
- yahoo_crypt(String_val(key_v), String_val(salt_v), String_val(buffer_v));
-
- return Val_unit;
-}
Index: src/utils/lib/os_stubs.h
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/utils/lib/os_stubs.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- src/utils/lib/os_stubs.h 20 Feb 2006 02:03:28 -0000 1.15
+++ src/utils/lib/os_stubs.h 5 Sep 2006 14:19:10 -0000 1.16
@@ -127,10 +127,6 @@
extern void unix_error (int errcode, char * cmdname, value arg) Noreturn;
extern void uerror (char * cmdname, value arg) Noreturn;
-static int seek_command_table[] = {
- SEEK_SET, SEEK_CUR, SEEK_END
-};
-
extern OFF_T os_lseek(OS_FD fd, OFF_T pos, int dir);
extern void os_ftruncate(OS_FD fd, OFF_T len, int sparse);
extern ssize_t os_read(OS_FD fd, char *buf, size_t len);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/utils/lib/md5_c....,
mldonkey-commits <=