You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by pi...@apache.org on 2006/06/06 12:05:10 UTC

svn commit: r412066 - in /webservices/axis2/trunk/c/util/src/minizip: archive_extract.c axis2_crypt.h

Author: pini
Date: Tue Jun  6 03:05:08 2006
New Revision: 412066

URL: http://svn.apache.org/viewvc?rev=412066&view=rev
Log:
fixing build break

Modified:
    webservices/axis2/trunk/c/util/src/minizip/archive_extract.c
    webservices/axis2/trunk/c/util/src/minizip/axis2_crypt.h

Modified: webservices/axis2/trunk/c/util/src/minizip/archive_extract.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/minizip/archive_extract.c?rev=412066&r1=412065&r2=412066&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/minizip/archive_extract.c (original)
+++ webservices/axis2/trunk/c/util/src/minizip/archive_extract.c Tue Jun  6 03:05:08 2006
@@ -259,7 +259,7 @@
       strncpy(filename_try, zipfilename,MAXFILENAME-1);
       filename_try[ MAXFILENAME ] = '\0';
       
-      fill_win32_filefunc(&ffunc);
+      axis2_fill_win32_filefunc(&ffunc);
       uf = AXIS2_UNZOPEN2(zipfilename,ffunc);
       if (uf==NULL)
       {

Modified: webservices/axis2/trunk/c/util/src/minizip/axis2_crypt.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/minizip/axis2_crypt.h?rev=412066&r1=412065&r2=412066&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/minizip/axis2_crypt.h (original)
+++ webservices/axis2/trunk/c/util/src/minizip/axis2_crypt.h Tue Jun  6 03:05:08 2006
@@ -1,17 +1,17 @@
 /*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+  * Copyright 2004,2005 The Apache Software Foundation.
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License");
+  * you may not use this file except in compliance with the License.
+  * You may obtain a copy of the License at
+  *
+  *      http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
 */
 
 /* crypt.h -- base code for crypt/uncrypt ZIPfile
@@ -44,6 +44,50 @@
 */
 
 #define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8))
+
+/***********************************************************************
+ * Return the next byte in the pseudo-random sequence
+ */
+static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab)
+{
+    unsigned temp;  /* POTENTIAL BUG:  temp*(temp^1) may overflow in an
+                     * unpredictable manner on 16-bit systems; not a problem
+                     * with any known compiler so far, though */
+
+    temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2;
+    return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
+}
+
+/***********************************************************************
+ * Update the encryption keys with the next byte of plain text
+ */
+static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int c)
+{
+    (*(pkeys+0)) = CRC32((*(pkeys+0)), c);
+    (*(pkeys+1)) += (*(pkeys+0)) & 0xff;
+    (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1;
+    {
+      register int keyshift = (int)((*(pkeys+1)) >> 24);
+      (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift);
+    }
+    return c;
+}
+
+
+/***********************************************************************
+ * Initialize the encryption keys and the random header according to
+ * the given password.
+ */
+static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned long* pcrc_32_tab)
+{
+    *(pkeys+0) = 305419896L;
+    *(pkeys+1) = 591751049L;
+    *(pkeys+2) = 878082192L;
+    while (*passwd != '\0') {
+        update_keys(pkeys,pcrc_32_tab,(int)*passwd);
+        passwd++;
+    }
+}
 
 #define zdecode(pkeys,pcrc_32_tab,c) \
     (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab)))



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org