For any of you who may have been struggling to get the 0.83 version (actually, any version beyond 0.73 that I tried had trouble) of clamav-milter to run on AIX 5.2 while using a quarantine dir, the appended patch may be useful. You have to define BROKEN_MKDIR after applying this patch when you compile the milter. Any better fix information would be appreciated - this seems like quite a kludge to me...
*** clamav-milter.c Thu Feb 17 15:19:43 2005 --- clamav-milter.c.orig Sun Feb 13 15:44:28 2005 *************** *** 3955,3969 **** int ntries = 5; const char *dir = (tmpdir) ? tmpdir : quarantine_dir; - /* Patch (really hack) by A. Feldt - AIX 5.2 sets errno to ENOENT often and - * sometimes sets errno to 0 !! (after a database reload) for the mkdir call - */ - #ifdef BROKEN_MKDIR - if((mkdir(dir, 0700) < 0) && (errno != EEXIST) && - (errno > 0) && (errno != ENOENT)) { - #else if((mkdir(dir, 0700) < 0) && (errno != EEXIST)) { - #endif perror(dir); if(use_syslog) syslog(LOG_ERR, _("mkdir %s failed"), dir); --- 3955,3961 ---- *************** *** 4434,4448 **** DD = tm->tm_mday; sprintf(newname, "%s/%02d%02d%02d", quarantine_dir, YY, MM, DD); - /* Patch (really hack) by A. Feldt - AIX 5.2 sets errno to ENOENT often and - * sometimes sets errno to 0 !! (after a database reload) for the mkdir call - */ - #ifdef BROKEN_MKDIR - if((mkdir(newname, 0700) < 0) && (errno != EEXIST) && - (errno > 0) && (errno != ENOENT)) { - #else if((mkdir(newname, 0700) < 0) && (errno != EEXIST)) { - #endif perror(newname); if(use_syslog) syslog(LOG_ERR, _("mkdir %s failed"), newname); --- 4426,4432 ---- --- Andy Feldt Senior System Support Programmer Affiliate Assistant Professor Department of Physics and Astronomy The University of Oklahoma _______________________________________________ http://lists.clamav.net/cgi-bin/mailman/listinfo/clamav-users