36 #define RES_SCAN_ERROR 1 40 static bool scan_mbox(
char *fname,
int msgNb,
void *arg);
48 {
"Content-Disposition",
CT_DISP},
54 main(
int argc,
char **argv)
56 char *fname =
"VIRUS_SIRCAM";
59 const char *args =
"hvc:";
64 openlog(
"ze-scanfile", LOG_PID | LOG_NOWAIT | LOG_NDELAY, LOG_LOCAL5);
74 while ((c = getopt(argc, argv, args)) != -1) {
87 if (optarg == NULL || *optarg ==
'\0') {
88 (void) fprintf(stderr,
"Erreur %s\n", optarg);
106 while (io < argc && *argv[io] ==
'-')
116 printf(
" HANDLING %s\n", fname);
129 scan_mbox(fname, msgNb, arg)
146 char *ip =
"0.0.0.0";
147 char *
id =
"00000000.000";
154 if ((fin = fopen(fname,
"r")) == NULL)
159 snprintf(bid,
sizeof (bid),
"%08X.000", msgNb);
162 memset(&content, 0,
sizeof (content));
165 memset(chunk, 0,
sizeof (chunk));
166 memset(old, 0,
sizeof (old));
167 while ((nb = fread(chunk, 1,
sizeof (chunk) - 1, fin)) > 0) {
170 res =
scan_block(NULL, old,
sizeof (old) - 1, chunk, nb, &state, &content,
174 printf(
" scan_block res = %d\n", res);
192 "Content-Disposition",
196 printf(
"%s *** FIELD : %s\n",
id, label[p->
field_type]);
197 printf(
"%s VALEUR : %s\n",
id, p->
value ? p->
value :
"");
198 for (i = 0; i <
NB_ATTR; i++) {
200 printf(
"%s ATTR[%2d] : %s\n",
id, i, p->
attr[i].
name);
202 printf(
"%s DATA[%2d] : %s\n",
id, i, p->
attr[i].
value);
223 svirus =
STRBOOL(p->xfile,
"XFILE",
".....");
228 printf(
"%s ATTACHED FILE (%7ld) (%-5s) : %-10s %-30s %-15s\n",
229 id, (
long int) fsize, svirus,
231 STREMPTY(p->mimetype,
"..."), p->name);
238 printf(
"%s %4d FILES - %4d XFILES\n\n",
id, nb, i++);
256 printf(
"Usage : ze-scanfile [-h] [-c] [-v] file file file...\n" 258 " Compiled on %s %s\n" 260 " -c : configuration file\n" #define SHOW_CURSOR(zero)
int scan_block(char *, char *, long, char *, long, int *, content_field_T *, content_field_T **)
void zeLog_SetOutput(bool, bool)
void init_default_file_extensions()
#define ZE_MessageInfo(level,...)
int main(int argc, char **argv)
content_text_T attr[NB_ATTR]
#define ZE_LogSysError(...)
int configure(char *, char *, bool)
bool check_xfiles(char *, char *, size_t, char *, size_t)