'routed' uses a function called traceon() to log data to a log file. The plausible place for the log file is /var/log/routed/some-log-file. It appears that the base name of the file is defined in pathnames.h:#define _PATH_LOGDIR "/var/log/routed/" and the actual file name is created from an unflagged command line argument. However, the code in trace.c function traceon() is doing a string compare (strncmp) and failing to generate a useful file name so no log data is emitted. I commented out the compare and scabbed in a (very ugly) temporary fix as I am a bit short of time these days (who's not?): /* * Trace file requests could come from anywhere... */ /* if (strncmp(file, logdir, strlen(logdir)) || strstr(file, "/../")) */ /* { */ /* syslog(LOG_ERR, "Cannot log to %s: not under %s\n", */ /* file, logdir); */ /* return; */ /* } */ /* fd = open(file, O_WRONLY|O_APPEND|O_CREAT|O_EXCL|O_NDELAY, 0600); */ fd = open("/var/log/routed/stuff.log", O_WRONLY|O_APPEND|O_CREAT|O_EXCL|O_NDELAY, 0600); and I get the routed messages in /var/log/routed/stuff.log. I worked from the SRPM that came w/ the RH 6.2 distribution and applied the fork and jdbf patches first.... -Dale
This appears to have been addressed in the 0.17 sources which are in the current RPMs.