1 |
zip.c:3455 |
2 |
IZ_PWLEN is not defined whith NO_CRYPT |
3 |
|
4 |
When I try to fix it like this: |
5 |
|
6 |
+#if CRYPT |
7 |
if (key_needed) { |
8 |
if ((key = malloc(IZ_PWLEN+1)) == NULL) { |
9 |
ZIPERR(ZE_MEM, "was getting encryption password"); |
10 |
} |
11 |
r = encr_passwd(ZP_PW_ENTER, key, IZ_PWLEN+1, zipfile); |
12 |
if (r != IZ_PW_ENTERED) { |
13 |
if (r < IZ_PW_ENTERED) |
14 |
r = ZE_PARMS; |
15 |
ZIPERR(r, "was getting encryption password"); |
16 |
} |
17 |
if (*key == '\0') { |
18 |
ZIPERR(ZE_PARMS, "zero length password not allowed"); |
19 |
} |
20 |
if ((e = malloc(IZ_PWLEN+1)) == NULL) { |
21 |
ZIPERR(ZE_MEM, "was verifying encryption password"); |
22 |
} |
23 |
r = encr_passwd(ZP_PW_VERIFY, e, IZ_PWLEN+1, zipfile); |
24 |
if (r != IZ_PW_ENTERED && r != IZ_PW_SKIPVERIFY) { |
25 |
free((zvoid *)e); |
26 |
if (r < ZE_OK) r = ZE_PARMS; |
27 |
ZIPERR(r, "was verifying encryption password"); |
28 |
} |
29 |
r = ((r == IZ_PW_SKIPVERIFY) ? 0 : strcmp(key, e)); |
30 |
free((zvoid *)e); |
31 |
if (r) { |
32 |
ZIPERR(ZE_PARMS, "password verification failed"); |
33 |
} |
34 |
} |
35 |
+#endif |
36 |
|
37 |
it fails anyway |
38 |
i686-pc-linux-gnu-gcc -o zipcloak zipcloak.o zipfile_.o fileio_.o |
39 |
util_.o globals.o unix_.o crc32_.o crc_i386.o crypt_.o ttyio.o -lbz2 |
40 |
zipfile_.o: In function `zipcopy': |
41 |
zipfile.c:(.text+0x288c): undefined reference to `zipmessage_nl' |
42 |
zipfile.c:(.text+0x298b): undefined reference to `zipmessage_nl' |
43 |
zipfile_.o: In function `readzipfile': |
44 |
zipfile.c:(.text+0x378e): undefined reference to `zipmessage' |
45 |
fileio_.o: In function `close_split': |
46 |
fileio.c:(.text+0x1b20): undefined reference to `zipmessage' |
47 |
fileio.c:(.text+0x1b3c): undefined reference to `rename_split' |
48 |
fileio.c:(.text+0x1b44): undefined reference to `set_filetype' |
49 |
fileio_.o: In function `bfcopy': |
50 |
fileio.c:(.text+0x3eee): undefined reference to `zipmessage_nl' |
51 |
|
52 |
But I can not find how it is related to CRYPT/NO_CRYPT |