changeset 16402:37f80fc83e39

Clean up old RC4 implementation.
author Jeffrey Connelly <jaconnel@calpoly.edu>
date Wed, 25 Apr 2007 03:54:22 +0000
parents 9c9c627dbbfe
children 10d2958bd632
files libpurple/protocols/myspace/crypt-rc4.c libpurple/protocols/myspace/crypt-rc4.h
diffstat 2 files changed, 0 insertions(+), 139 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/myspace/crypt-rc4.c	Wed Apr 25 03:46:17 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   a partial implementation of RC4 designed for use in the 
-   SMB authentication protocol
-
-   Copyright (C) Andrew Tridgell 1998
-
-   $Id: crypt-rc4.c 12116 2004-09-27 23:29:22Z guy $
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-   
-   Modified by Jeff Connelly for MySpaceIM Gaim plugin.
-*/
-
-#include <glib.h>
-#include <string.h>
-
-#include "crypt-rc4.h"
-
-/* Perform RC4 on a block of data using specified key.  "data" is a pointer
-   to the block to be processed.  Output is written to same memory as input,
-   so caller may need to make a copy before calling this function, since
-   the input will be overwritten.  
-   
-   Taken from Samba source code.  Modified to allow us to maintain state
-   between calls to crypt_rc4.
-*/
-
-void crypt_rc4_init(rc4_state_struct *rc4_state, 
-		    const unsigned char *key, int key_len)
-{
-  int ind;
-  unsigned char j = 0;
-  unsigned char *s_box;
-
-  memset(rc4_state, 0, sizeof(rc4_state_struct));
-  s_box = rc4_state->s_box;
-  
-  for (ind = 0; ind < 256; ind++)
-  {
-    s_box[ind] = (unsigned char)ind;
-  }
-
-  for( ind = 0; ind < 256; ind++)
-  {
-     unsigned char tc;
-
-     j += (s_box[ind] + key[ind%key_len]);
-
-     tc = s_box[ind];
-     s_box[ind] = s_box[j];
-     s_box[j] = tc;
-  }
-
-}
-
-void crypt_rc4(rc4_state_struct *rc4_state, unsigned char *data, int data_len)
-{
-  unsigned char *s_box;
-  unsigned char index_i;
-  unsigned char index_j;
-  int ind;
-
-  /* retrieve current state from the state struct (so we can resume where
-     we left off) */
-  index_i = rc4_state->index_i;
-  index_j = rc4_state->index_j;
-  s_box = rc4_state->s_box;
-
-  for( ind = 0; ind < data_len; ind++)
-  {
-    unsigned char tc;
-    unsigned char t;
-
-    index_i++;
-    index_j += s_box[index_i];
-
-    tc = s_box[index_i];
-    s_box[index_i] = s_box[index_j];
-    s_box[index_j] = tc;
-
-    t = s_box[index_i] + s_box[index_j];
-    data[ind] = data[ind] ^ s_box[t];
-  }
-
-  /* Store the updated state */
-  rc4_state->index_i = index_i;
-  rc4_state->index_j = index_j;
-}
--- a/libpurple/protocols/myspace/crypt-rc4.h	Wed Apr 25 03:46:17 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   a partial implementation of RC4 designed for use in the 
-   SMB authentication protocol
-
-   Copyright (C) Andrew Tridgell 1998
-
-   $Id: crypt-rc4.h 12116 2004-09-27 23:29:22Z guy $
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-typedef struct _rc4_state_struct {
-  unsigned char s_box[256];
-  unsigned char index_i;
-  unsigned char index_j;
-} rc4_state_struct;
-
-void crypt_rc4_init(rc4_state_struct *rc4_state, 
-		    const unsigned char *key, int key_len);
-
-void crypt_rc4(rc4_state_struct *rc4_state, unsigned char *data, int data_len);
-