summaryrefslogtreecommitdiff
path: root/navit/maptool/zip.c
diff options
context:
space:
mode:
Diffstat (limited to 'navit/maptool/zip.c')
-rw-r--r--navit/maptool/zip.c123
1 files changed, 2 insertions, 121 deletions
diff --git a/navit/maptool/zip.c b/navit/maptool/zip.c
index f352e6353..a4e040974 100644
--- a/navit/maptool/zip.c
+++ b/navit/maptool/zip.c
@@ -25,15 +25,6 @@
#include "config.h"
#include "zipfile.h"
-#ifdef HAVE_LIBCRYPTO
-#include <openssl/sha.h>
-#include <openssl/hmac.h>
-#include <openssl/aes.h>
-#include <openssl/evp.h>
-#include <openssl/rand.h>
-#include <openssl/md5.h>
-#endif
-
struct zip_info {
int zipnum;
int dir_size;
@@ -43,14 +34,9 @@ struct zip_info {
int zip64;
short date;
short time;
- char *passwd;
FILE *res2;
FILE *index;
FILE *dir;
-#ifdef HAVE_LIBCRYPTO
- MD5_CTX md5_ctx;
-#endif
- int md5;
};
static int
@@ -58,10 +44,6 @@ zip_write(struct zip_info *info, void *data, int len)
{
if (fwrite(data, len, 1, info->res2) != 1)
return 0;
-#ifdef HAVE_LIBCRYPTO
- if (info->md5)
- MD5_Update(&info->md5_ctx, data, len);
-#endif
return 1;
}
@@ -139,17 +121,6 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
0x8,
zip_info->offset,
};
-#ifdef HAVE_LIBCRYPTO
- struct zip_enc enc = {
- 0x9901,
- 0x7,
- 0x2,
- 'A','E',
- 0x1,
- 0x0,
- };
- unsigned char salt[8], key[34], verify[2], mac[10];
-#endif
char *filename;
int crc=0,len,comp_size=data_size;
uLongf destlen=data_size+data_size/500+12;
@@ -160,19 +131,8 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
fprintf(stderr, "No more memory.\n");
exit (1);
}
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- RAND_bytes(salt, sizeof(salt));
- PKCS5_PBKDF2_HMAC_SHA1(zip_info->passwd, strlen(zip_info->passwd), salt, sizeof(salt), 1000, sizeof(key), key);
- verify[0]=key[32];
- verify[1]=key[33];
- } else {
-#endif
- crc=crc32(0, NULL, 0);
- crc=crc32(crc, (unsigned char *)data, data_size);
-#ifdef HAVE_LIBCRYPTO
- }
-#endif
+ crc=crc32(0, NULL, 0);
+ crc=crc32(crc, (unsigned char *)data, data_size);
lfh.zipmthd=zip_info->compression_level ? 8:0;
#ifdef HAVE_ZLIB
if (zip_info->compression_level) {
@@ -191,15 +151,6 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
lfh.zipcrc=crc;
lfh.zipsize=comp_size;
lfh.zipuncmp=data_size;
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- enc.compress_method=lfh.zipmthd;
- lfh.zipmthd=99;
- lfh.zipxtraln+=sizeof(enc);
- lfh.zipgenfld|=1;
- lfh.zipsize+=sizeof(salt)+sizeof(verify)+sizeof(mac);
- }
-#endif
cd.zipccrc=crc;
cd.zipcsiz=lfh.zipsize;
cd.zipcunc=data_size;
@@ -208,13 +159,6 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
cd.zipofst=0xffffffff;
cd.zipcxtl+=sizeof(cd_ext);
}
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- cd.zipcmthd=99;
- cd.zipcxtl+=sizeof(enc);
- cd.zipcflg|=1;
- }
-#endif
filename=g_alloca(filelen+1);
strcpy(filename, name);
len=strlen(filename);
@@ -225,43 +169,8 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
zip_write(zip_info, &lfh, sizeof(lfh));
zip_write(zip_info, filename, filelen);
zip_info->offset+=sizeof(lfh)+filelen;
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- unsigned char counter[16], xor[16], *datap=(unsigned char *)data;
- int size=comp_size;
- AES_KEY aeskey;
- zip_write(zip_info, &enc, sizeof(enc));
- zip_write(zip_info, salt, sizeof(salt));
- zip_write(zip_info, verify, sizeof(verify));
- zip_info->offset+=sizeof(enc)+sizeof(salt)+sizeof(verify);
- AES_set_encrypt_key(key, 128, &aeskey);
- memset(counter, 0, sizeof(counter));
- while (size > 0) {
- int i,curr_size,idx=0;
- do {
- counter[idx]++;
- } while (!counter[idx++]);
- AES_encrypt(counter, xor, &aeskey);
- curr_size=size;
- if (curr_size > sizeof(xor))
- curr_size=sizeof(xor);
- for (i = 0 ; i < curr_size ; i++)
- *datap++^=xor[i];
- size-=curr_size;
- }
- }
-#endif
zip_write(zip_info, data, comp_size);
zip_info->offset+=comp_size;
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- unsigned int maclen=sizeof(mac);
- unsigned char mactmp[maclen*2];
- HMAC(EVP_sha1(), key+16, 16, (unsigned char *)data, comp_size, mactmp, &maclen);
- zip_write(zip_info, mactmp, sizeof(mac));
- zip_info->offset+=sizeof(mac);
- }
-#endif
dbg_assert(fwrite(&cd, sizeof(cd), 1, zip_info->dir)==1);
dbg_assert(fwrite(filename, filelen, 1, zip_info->dir)==1);
zip_info->dir_size+=sizeof(cd)+filelen;
@@ -269,12 +178,6 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
dbg_assert(fwrite(&cd_ext, sizeof(cd_ext), 1, zip_info->dir)==1);
zip_info->dir_size+=sizeof(cd_ext);
}
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- dbg_assert(fwrite(&enc, sizeof(enc), 1, zip_info->dir)==1);
- zip_info->dir_size+=sizeof(enc);
- }
-#endif
free(compbuffer);
}
@@ -364,28 +267,6 @@ zip_new(void)
}
void
-zip_set_md5(struct zip_info *info, int on)
-{
-#ifdef HAVE_LIBCRYPTO
- info->md5=on;
- if (on)
- MD5_Init(&info->md5_ctx);
-#endif
-}
-
-int
-zip_get_md5(struct zip_info *info, unsigned char *out)
-{
- if (!info->md5)
- return 0;
-#ifdef HAVE_LIBCRYPTO
- MD5_Final(out, &info->md5_ctx);
- return 1;
-#endif
- return 0;
-}
-
-void
zip_set_zip64(struct zip_info *info, int on)
{
info->zip64=on;