Hi everyone, and thank you Cami for this great piece of software!

First of all, let me report that I managed to run policyd v1.78 just  
fine on our company's mail server, which is running OSX 10.4.8
I had to google to download it (no cvs or old version on SF?), but  
then the only thing to fix on OSX was the "inc = and lib +=" at the  
beginning of the Makefile (as previously reported on the list), then  
all went fine.

However I had first tried to install version 1.80, and I couldn't get  
it to work.
In addition to the same change in the Makefile as for 1.78, it was  
needed to modify policyd.h to make sure that the #define MSG_NOSIGNAL  
SO_NOSIGPIPE was active. I changed line 54 as follows, which seems to  
work:
   #if defined (__FreeBSD__) || defined (__OpenBSD__) || defined 
(__NetBSD__) || defined(NeXTBSD)

Now after a successful build (without a single warning, as opposed to  
the warnings during 1.78 build) and install, I proceeded to test it.
The service seems to start ok, but whenever postfix connects to it  
nothing happens during a few seconds and then it segfaults.

Here is the gdb and backtrace of it happening:

------ 8< --- 8< ---- 8< --- 8< ---- 8< --- 8< ----

# gdb /usr/local/policyd/policyd
(gdb) run -c /usr/local/policyd/policyd.conf
Starting program: /usr/local/policyd/policyd -c /usr/local/policyd/ 
policyd.conf
Reading symbols for shared libraries . done
  ---- DAEMON CONFIG ----
config: version> v1.80
config: debug> 3
config: daemon mode> 0
config: bindhost> 127.0.0.1
...
the rest of the config
...
config: quota_exceeded_temp_reject> 1

starting policyd v1.80
DEBUG: fd: 0: rlimit: max: 0 cur: 12288
connecting to mysql database: 127.0.0.1
connected..
DEBUG: saved fd: numi = 0, connfd = 11
connection from: 127.0.0.1 port: 64972 slots: 0 of 4096 used
DEBUG: fd: 11 select(): fd 11 is ready for read

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x7251a79b
0x900048e0 in strncmp ()
(gdb) bt
#0  0x900048e0 in strncmp ()
#1  0x00009858 in w_read (fd=11, ptr=0x11e365 'r' <repeats 200  
times>...) at sockets.c:166
#2  0x00003294 in main (argc=11, argv=0xbfffb798) at policyd.c:219

------ 8< --- 8< ---- 8< --- 8< ---- 8< --- 8< ----


It seems that w_read() has changed quite a bit between 1.78 and 1.80,  
but I suck too much at C to start looking further ;-)
Any idea as to what is wrong and how to fix it, to be able to run the  
latest & greatest?

Thanks a lot!


Olivier

PS: I haven't tested v.1.79 as the Changelog seems to imply that it  
contains no change in the source code itself.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
policyd-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/policyd-users

Reply via email to