[Mimedefang] problems compiling and running on Irix

Martin J. Dellwo dellwo at 3dp.com
Mon Sep 16 20:51:01 EDT 2002


I am trying to use mimedefand/spamassassin combo on IRIX 6.5.17 with 
sendmail 8.12.6.  FYI, IRIX is not supported on IRIX but I've got it 
compiled and it seems to be ok on that side (so far!).

When I compile mimedefang (2.20 and 2.21), I got a bunch of warnings, 
but it seemed to finish fine.  I'll attach the output to the bottom. I 
have all the prerequisite Perl modules and make the right links in 
/usr/local to get the sendmail headers and libraries. When I run 
mimedefang and mimedefang-multiplexor (initially invoked by hand, 
because I can't get the init script example to work), I get lots of 
messages in the MIMEDefang queue directory, it seems to work on them 
fine, and then it cannot remove the temp files and replace the message 
in the sendmail queue.  Here are some syslog messages:

Sep 16 18:06:22 4C:europa mimedefang[6856]: 
lstat(/var/spool/MIMEDefang/mdefang-3D8655C9-0/Work/msg-92) failed: No 
such file or directory
Sep 16 18:06:22 3C:europa mimedefang[6856]: Failure in cleanup line 
1234: No such file or directory

There are actually many messages per queued mail message.  Notice it 
thinks the filename is msg-92, but in fact the working directory's 
message is msg-9220-1.txt.  All the other files, etc, in the working 
directory look just fine.  So the problem is the name is getting truncated.

I have mail-related logs going to a separate file, and have mimedefang 
logging stats to syslog, so the mail.log file shows much detail about 
what mimedefang is doing.  Basically it seems to do everything fine, 
until it gets that lstat problem, at which point the mail gets rejected 
with a please-try-again mesage:

Sep 16 18:13:40 6C:europa sm-mta[9249]: g8GMDIXH009249: 
milter=mimedefang, tempfail
Sep 16 18:13:40 6C:europa sm-mta[9249]: g8GMDIXH009249: Milter: data, 
reject=451 4.7.1 Please try again later
Sep 16 18:13:40 6C:europa sm-mta[9249]: g8GMDIXH009249: --- 451 4.7.1 
Please try again later (hold)

Luckily I am doing this on a non-production server, with mail that is 
always spam, coming into non-user accounts.

Any thoughts?  By the way, when I try to run the init script example 
from the examples directory, it chokes because it doesn't like the 
function definition 'stop () {' line--it says the '(' is unexpected.  I 
cannot see why.  Also, what does 'kill -0' do?  I don't see a 
'0'-numbered signal, at least not in IRIX.

Compile output attached below.
-- 
Martin J. Dellwo   (610) 458-5264 x6512   dellwo at 3dp.com
Systems Administrator, 3-Dimensional Pharmaceuticals, Inc.
http://www.3dp.com/
-----------compile warnings------------
I've majorly edited this to decrease the noise.  I've kept the cc-#### 
lines to show the source code line.  All were of the same type as the 
first, except where indicated, and except that sometime it is '"unsigned 
char *" is incompatible with "char *"' and sometimes the second argument 
is a "const ..." and sometimes not.  Lines with the same exact source 
code text are grouped together; blank lines were pulled out.  I hope 
this helps instead of making it uninterpretable!
----------------------------------------
cc-1164 cc: WARNING File = mimedefang.c, Line = 568
   Argument of type "char *" is incompatible with parameter of type
           "const unsigned char *".

       write_mx_command(data->cmdFP, 'H', data->hostname);
                                          ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 569
       write_mx_command(data->cmdFP, 'I', data->hostip);
                                          ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 573
         write_mx_command(data->cmdFP, 'E', data->heloArg);
                                            ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 579
         write_mx_command(data->cmdFP, 'Q', queueid);
                                            ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 602
       write_mx_command(data->cmdFP, 'S', from[0]);
                                          ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 681
       write_mx_command(data->cmdFP, 'R', to[0]);
                                          ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 727
         write_mx_command(data->cmdFP, 'U', headerv);
                                            ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 729
         write_mx_command(data->cmdFP, 'X', headerv);
                                            ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 751
             write_mx_command(data->cmdFP, 'J', ipaddr);
                                                ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 1011
cc-1164 cc: WARNING File = mimedefang.c, Line = 1029
cc-1164 cc: WARNING File = mimedefang.c, Line = 1057
cc-1164 cc: WARNING File = mimedefang.c, Line = 1107
cc-1164 cc: WARNING File = mimedefang.c, Line = 1113
             percent_decode(buffer+1);
                            ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 1073
cc-1164 cc: WARNING File = mimedefang.c, Line = 1084
                 percent_decode(val);
                                ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 1082
cc-1164 cc: WARNING File = mimedefang.c, Line = 1072
cc-1164 cc: WARNING File = mimedefang.c, Line = 1096
                 percent_decode(hdr);
                                ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 1083
cc-1164 cc: WARNING File = mimedefang.c, Line = 1097
                 percent_decode(count);
                                ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 1606
       write_percent_encoded(macro, data->cmdFP);
                             ^
cc-1164 cc: WARNING File = mimedefang.c, Line = 1608
       write_percent_encoded(val, data->cmdFP);
                             ^
---------------------------------------------------
cc-1164 cc: WARNING File = utils.c, Line = 409
             sscanf(in+1, "%2x", &val);
                    ^
cc-1164 cc: WARNING File = utils.c, Line = 456
             sprintf(tmp, "%%%02X", (unsigned int) c);
                     ^
cc-1164 cc: WARNING File = utils.c, Line = 510
         len = percent_encode(arg, (unsigned char *) out, spaceleft);
                              ^
---------------------------------------------------
cc-1069 cc: WARNING File = mimedefang-multiplexor.c, Line = 274
cc-1069 cc: WARNING File = mimedefang-multiplexor.c, Line = 275
   Integer conversion resulted in truncation.
       Settings.maxAS = RLIM_INFINITY;
                        ^
cc-1116 cc: WARNING File = mimedefang-multiplexor.c, Line = 1394
   Non-void function "activateSlave" (declared at line 1253) should 
return a value.
   }
   ^
---------------------------------------------------
cc-1164 cc: WARNING File = event_tcp.c, Line = 93
   Argument of type "socklen_t *" is incompatible with parameter of type 
"int *".
       if (getsockopt(fd, SOL_SOCKET, SO_ERROR, &error, &len) < 0) {
                                                        ^
---------------------------------------------------
cc-1174 cc: WARNING File = mimedefang.c, Line = 18
cc-1174 cc: WARNING File = drop_privs.c, Line = 17
cc-1174 cc: WARNING File = utils.c, Line = 15
cc-1174 cc: WARNING File = rm_r.c, Line = 15
cc-1174 cc: WARNING File = mimedefang-multiplexor.c, Line = 15
cc-1174 cc: WARNING File = event.c, Line = 17
cc-1174 cc: WARNING File = event_tcp.c, Line = 12
   The variable "RCSID" was declared but never referenced.
   static char const RCSID[] =
                     ^




More information about the MIMEDefang mailing list