git-svn: trunk@2881
Tomasz Kojm authored on 2007/03/01 12:35:21... | ... |
@@ -1,3 +1,9 @@ |
1 |
+Thu Mar 1 02:36:40 CET 2007 (tk) |
|
2 |
+--------------------------------- |
|
3 |
+ * libclamav/unrar/unrar.c: improve handling of multi-volume archives: do not |
|
4 |
+ report CL_ESUPPORT, instead scan all complete |
|
5 |
+ files and do full metadata scan |
|
6 |
+ |
|
1 | 7 |
Wed Feb 28 23:40:04 CET 2007 (tk) |
2 | 8 |
--------------------------------- |
3 | 9 |
* libclamav/others.h: update NAME_MAX block and add workaround for HP-UX |
... | ... |
@@ -1459,18 +1459,6 @@ int cli_unrar_open(int fd, const char *dirname, rar_state_t* state) |
1459 | 1459 |
return CL_EMEM; |
1460 | 1460 |
} |
1461 | 1461 |
|
1462 |
- if ((main_hdr->flags & MHD_VOLUME) != 0) { |
|
1463 |
- /* Part of a RAR VOLUME - Skip it */ |
|
1464 |
- cli_dbgmsg("RAR MUTIPART VOLUME - Skippng.\n"); |
|
1465 |
- free(main_hdr); |
|
1466 |
- ppm_destructor(&unpack_data->ppm_data); |
|
1467 |
- init_filters(unpack_data); |
|
1468 |
- unpack_free_data(unpack_data); |
|
1469 |
- free(unpack_data); |
|
1470 |
- free(state->comment_dir); |
|
1471 |
- return CL_ESUPPORT; |
|
1472 |
- } |
|
1473 |
- |
|
1474 | 1462 |
if (main_hdr->head_size < SIZEOF_NEWMHD) { |
1475 | 1463 |
free(main_hdr); |
1476 | 1464 |
ppm_destructor(&unpack_data->ppm_data); |
... | ... |
@@ -1618,6 +1606,10 @@ int cli_unrar_extract_next(rar_state_t* state,const char* dirname) |
1618 | 1618 |
if (state->file_header->flags & LHD_PASSWORD) { |
1619 | 1619 |
cli_dbgmsg("PASSWORDed file: %s\n", state->file_header->filename); |
1620 | 1620 |
state->metadata_tail->encrypted = TRUE; |
1621 |
+ |
|
1622 |
+ } else if(state->file_header->flags & (LHD_SPLIT_BEFORE | LHD_SPLIT_AFTER)) { |
|
1623 |
+ cli_dbgmsg("Skipping split file\n"); |
|
1624 |
+ |
|
1621 | 1625 |
} else /*if (file_header->unpack_size)*/ { |
1622 | 1626 |
snprintf(state->filename, 1024, "%s/%lu.ura", dirname, state->file_count); |
1623 | 1627 |
ofd = open(state->filename, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0600); |