git-svn: trunk@3432
Nigel Horne authored on 2007/12/18 23:32:47... | ... |
@@ -1,3 +1,7 @@ |
1 |
+Tue Dec 18 13:52:40 GMT 2007 (njh) |
|
2 |
+---------------------------------- |
|
3 |
+ * libclamav, sigtool: Add consistency to function names in the VBA module |
|
4 |
+ |
|
1 | 5 |
Tue Dec 18 10:23:34 GMT 2007 (njh) |
2 | 6 |
---------------------------------- |
3 | 7 |
* libclamav/mbox.c: Clean up print statement when redirection limit is |
... | ... |
@@ -819,7 +819,7 @@ static int cli_vba_scandir(const char *dirname, cli_ctx *ctx) |
819 | 819 |
|
820 | 820 |
|
821 | 821 |
cli_dbgmsg("VBADir: %s\n", dirname); |
822 |
- if((vba_project = (vba_project_t *) vba56_dir_read(dirname))) { |
|
822 |
+ if((vba_project = (vba_project_t *)cli_vba_readdir(dirname))) { |
|
823 | 823 |
|
824 | 824 |
for(i = 0; i < vba_project->count; i++) { |
825 | 825 |
fullname = (char *) cli_malloc(strlen(vba_project->dir) + strlen(vba_project->name[i]) + 2); |
... | ... |
@@ -837,7 +837,7 @@ static int cli_vba_scandir(const char *dirname, cli_ctx *ctx) |
837 | 837 |
} |
838 | 838 |
free(fullname); |
839 | 839 |
cli_dbgmsg("VBADir: Decompress VBA project '%s'\n", vba_project->name[i]); |
840 |
- data = (unsigned char *) vba_decompress(fd, vba_project->offset[i], &data_len); |
|
840 |
+ data = (unsigned char *)cli_vba_inflate(fd, vba_project->offset[i], &data_len); |
|
841 | 841 |
close(fd); |
842 | 842 |
|
843 | 843 |
if(!data) { |
... | ... |
@@ -862,14 +862,14 @@ static int cli_vba_scandir(const char *dirname, cli_ctx *ctx) |
862 | 862 |
free(vba_project->dir); |
863 | 863 |
free(vba_project->offset); |
864 | 864 |
free(vba_project); |
865 |
- } else if ((fullname = ppt_vba_read(dirname))) { |
|
865 |
+ } else if ((fullname = cli_ppt_vba_read(dirname))) { |
|
866 | 866 |
if(cli_scandir(fullname, ctx) == CL_VIRUS) { |
867 | 867 |
ret = CL_VIRUS; |
868 | 868 |
} |
869 | 869 |
if(!cli_leavetemps_flag) |
870 | 870 |
cli_rmdirs(fullname); |
871 | 871 |
free(fullname); |
872 |
- } else if ((vba_project = (vba_project_t *) wm_dir_read(dirname))) { |
|
872 |
+ } else if ((vba_project = (vba_project_t *)cli_wm_readdir(dirname))) { |
|
873 | 873 |
for (i = 0; i < vba_project->count; i++) { |
874 | 874 |
fullname = (char *) cli_malloc(strlen(vba_project->dir) + strlen(vba_project->name[i]) + 2); |
875 | 875 |
if(!fullname) { |
... | ... |
@@ -886,7 +886,7 @@ static int cli_vba_scandir(const char *dirname, cli_ctx *ctx) |
886 | 886 |
} |
887 | 887 |
free(fullname); |
888 | 888 |
cli_dbgmsg("VBADir: Decompress WM project '%s' macro:%d key:%d length:%d\n", vba_project->name[i], i, vba_project->key[i], vba_project->length[i]); |
889 |
- data = (unsigned char *) wm_decrypt_macro(fd, vba_project->offset[i], vba_project->length[i], vba_project->key[i]); |
|
889 |
+ data = (unsigned char *)cli_wm_decrypt_macro(fd, vba_project->offset[i], vba_project->length[i], vba_project->key[i]); |
|
890 | 890 |
close(fd); |
891 | 891 |
|
892 | 892 |
if(!data) { |
... | ... |
@@ -262,8 +262,8 @@ vba_read_project_strings(int fd, int is_mac) |
262 | 262 |
return TRUE; |
263 | 263 |
} |
264 | 264 |
|
265 |
-/* Based on libgsf code */ |
|
266 |
-vba_project_t *vba56_dir_read(const char *dir) |
|
265 |
+vba_project_t * |
|
266 |
+cli_vba_readdir(const char *dir) |
|
267 | 267 |
{ |
268 | 268 |
unsigned char *buf; |
269 | 269 |
const unsigned char vba56_signature[] = { 0xcc, 0x61 }; |
... | ... |
@@ -275,7 +275,7 @@ vba_project_t *vba56_dir_read(const char *dir) |
275 | 275 |
struct vba56_header v56h; |
276 | 276 |
char fullname[NAME_MAX + 1]; |
277 | 277 |
|
278 |
- cli_dbgmsg("in vba56_dir_read()\n"); |
|
278 |
+ cli_dbgmsg("in cli_vba_readdir()\n"); |
|
279 | 279 |
|
280 | 280 |
if(dir == NULL) |
281 | 281 |
return NULL; |
... | ... |
@@ -479,7 +479,7 @@ vba_project_t *vba56_dir_read(const char *dir) |
479 | 479 |
} |
480 | 480 |
|
481 | 481 |
unsigned char * |
482 |
-vba_decompress(int fd, off_t offset, int *size) |
|
482 |
+cli_vba_inflate(int fd, off_t offset, int *size) |
|
483 | 483 |
{ |
484 | 484 |
unsigned int pos, shift, mask, distance, clean; |
485 | 485 |
uint8_t flag; |
... | ... |
@@ -797,7 +797,7 @@ ppt_stream_iter(int fd, const char *dir) |
797 | 797 |
} |
798 | 798 |
|
799 | 799 |
char * |
800 |
-ppt_vba_read(const char *filename) |
|
800 |
+cli_ppt_vba_read(const char *filename) |
|
801 | 801 |
{ |
802 | 802 |
char *dir; |
803 | 803 |
const char *ret; |
... | ... |
@@ -817,8 +817,10 @@ ppt_vba_read(const char *filename) |
817 | 817 |
|
818 | 818 |
/* Create a directory to store the extracted OLE2 objects */ |
819 | 819 |
dir = cli_gentemp(NULL); |
820 |
+ if(dir == NULL) |
|
821 |
+ return NULL; |
|
820 | 822 |
if(mkdir(dir, 0700)) { |
821 |
- cli_errmsg("ppt_vba_read: Can't create temporary directory %s\n", dir); |
|
823 |
+ cli_errmsg("cli_ppt_vba_read: Can't create temporary directory %s\n", dir); |
|
822 | 824 |
free(dir); |
823 | 825 |
return NULL; |
824 | 826 |
} |
... | ... |
@@ -1081,7 +1083,7 @@ word_skip_macro_intnames(int fd) |
1081 | 1081 |
} |
1082 | 1082 |
|
1083 | 1083 |
vba_project_t * |
1084 |
-wm_dir_read(const char *dir) |
|
1084 |
+cli_wm_readdir(const char *dir) |
|
1085 | 1085 |
{ |
1086 | 1086 |
int fd, done; |
1087 | 1087 |
off_t end_offset; |
... | ... |
@@ -1211,7 +1213,7 @@ wm_dir_read(const char *dir) |
1211 | 1211 |
} |
1212 | 1212 |
|
1213 | 1213 |
unsigned char * |
1214 |
-wm_decrypt_macro(int fd, off_t offset, uint32_t len, unsigned char key) |
|
1214 |
+cli_wm_decrypt_macro(int fd, off_t offset, uint32_t len, unsigned char key) |
|
1215 | 1215 |
{ |
1216 | 1216 |
unsigned char *buff; |
1217 | 1217 |
|
... | ... |
@@ -35,14 +35,12 @@ typedef struct vba_project_tag { |
35 | 35 |
char *dir; |
36 | 36 |
} vba_project_t; |
37 | 37 |
|
38 |
-vba_project_t *vba56_dir_read(const char *dir); |
|
39 |
-unsigned char *vba_decompress(int fd, off_t offset, int *size); |
|
38 |
+vba_project_t *cli_vba_readdir(const char *dir); |
|
39 |
+unsigned char *cli_vba_inflate(int fd, off_t offset, int *size); |
|
40 | 40 |
int cli_decode_ole_object(int fd, const char *dir); |
41 |
- |
|
42 |
-char *ppt_vba_read(const char *filename); |
|
43 |
- |
|
44 |
-vba_project_t *wm_dir_read(const char *dir); |
|
45 |
-unsigned char *wm_decrypt_macro(int fd, off_t offset, uint32_t len, |
|
41 |
+char *cli_ppt_vba_read(const char *filename); |
|
42 |
+vba_project_t *cli_wm_readdir(const char *dir); |
|
43 |
+unsigned char *cli_wm_decrypt_macro(int fd, off_t offset, uint32_t len, |
|
46 | 44 |
unsigned char key); |
47 | 45 |
|
48 | 46 |
#endif |
... | ... |
@@ -1039,7 +1039,7 @@ int sigtool_vba_scandir (const char *dirname, int hex_output) |
1039 | 1039 |
unsigned char *data; |
1040 | 1040 |
|
1041 | 1041 |
cli_dbgmsg ("VBA scan dir: %s\n", dirname); |
1042 |
- if ((vba_project = (vba_project_t *) vba56_dir_read (dirname))) { |
|
1042 |
+ if ((vba_project = (vba_project_t *)cli_vba_readdir(dirname))) { |
|
1043 | 1043 |
|
1044 | 1044 |
for (i = 0; i < vba_project->count; i++) { |
1045 | 1045 |
fullname = (char *) malloc (strlen (vba_project->dir) + strlen (vba_project->name[i]) + 2); |
... | ... |
@@ -1054,7 +1054,7 @@ int sigtool_vba_scandir (const char *dirname, int hex_output) |
1054 | 1054 |
free (fullname); |
1055 | 1055 |
cli_dbgmsg ("decompress VBA project '%s'\n", vba_project->name[i]); |
1056 | 1056 |
printf ("-------------- start of %s ------------------\n", vba_project->name[i]); |
1057 |
- data = (unsigned char *) vba_decompress (fd, vba_project->offset[i], &data_len); |
|
1057 |
+ data = (unsigned char *)cli_vba_inflate(fd, vba_project->offset[i], &data_len); |
|
1058 | 1058 |
close (fd); |
1059 | 1059 |
|
1060 | 1060 |
if (!data) { |
... | ... |
@@ -1075,13 +1075,13 @@ int sigtool_vba_scandir (const char *dirname, int hex_output) |
1075 | 1075 |
free (vba_project->dir); |
1076 | 1076 |
free (vba_project->offset); |
1077 | 1077 |
free (vba_project); |
1078 |
- } else if ((fullname = ppt_vba_read (dirname))) { |
|
1078 |
+ } else if ((fullname = cli_ppt_vba_read(dirname))) { |
|
1079 | 1079 |
if (sigtool_scandir (fullname, hex_output) == CL_VIRUS) { |
1080 | 1080 |
ret = CL_VIRUS; |
1081 | 1081 |
} |
1082 | 1082 |
cli_rmdirs (fullname); |
1083 | 1083 |
free (fullname); |
1084 |
- } else if ((vba_project = (vba_project_t *) wm_dir_read (dirname))) { |
|
1084 |
+ } else if ((vba_project = (vba_project_t *)cli_wm_readdir(dirname))) { |
|
1085 | 1085 |
for (i = 0; i < vba_project->count; i++) { |
1086 | 1086 |
fullname = (char *) malloc (strlen (vba_project->dir) + strlen (vba_project->name[i]) + 2); |
1087 | 1087 |
sprintf (fullname, "%s/%s", vba_project->dir, vba_project->name[i]); |
... | ... |
@@ -1096,7 +1096,7 @@ int sigtool_vba_scandir (const char *dirname, int hex_output) |
1096 | 1096 |
cli_dbgmsg ("decompress WM project '%s' macro %d\n", vba_project->name[i], i); |
1097 | 1097 |
printf ("\n\n-------------- start of macro:%d key:%d length:%d ------------------\n", i, |
1098 | 1098 |
vba_project->key[i], vba_project->length[i]); |
1099 |
- data = (unsigned char *) wm_decrypt_macro (fd, vba_project->offset[i], vba_project->length[i], |
|
1099 |
+ data = (unsigned char *)cli_wm_decrypt_macro(fd, vba_project->offset[i], vba_project->length[i], |
|
1100 | 1100 |
vba_project->key[i]); |
1101 | 1101 |
close (fd); |
1102 | 1102 |
|