Hi David, On Mon, 2008-01-14 at 09:28 +0000, David Wood wrote:
FreeRADIUS 2.0.0-pre2 is some way behind the released FreeRADIUS 2.0.0. By the time 2.0.0-pre2 got committed to the FreeBSD ports tree, we were very close to the 2.0.0 release.
FreeBSD PR ports/119582 contains what should become the net/freeradius2 port for the 2.0.0 release version.
http://www.freebsd.org/cgi/query-pr.cgi?pr=119582
However, radsqlrelay is version 1.7 in the released 2.0.0 as well.
I'm no real coder myself, hence, the need to seek direction. Any necessary change on the script that I need to make?
struct flock has different parameters in FreeBSD's C library - or, more accurately, the same parameters in a different order - see man 2 fcntl
In /usr/local/bin/radsqlrelay read down a few lines further than you were looking into sub setlock. Back up the file, then change the my $packed line to:
my $packed = pack($FLOCK_STRUCT, $start, $len, 0, F_WRLCK, SEEK_SET);
That should be all on one line; it's the same parameters in a different order.
Then go up to the my $FLOCK_STRUCT line and make the corresponding change:
my $FLOCK_STRUCT = 'l2is2';
This is *completely* untested - but looks to be more in line with the FreeBSD man page. If it works, I'll add a rather tidier patch to the port in due course - one that updates the comments as well.
If this doesn't work, it needs further investigation.
Thanks for the quick reply. Made these changes: line 53 my $FLOCK_STRUCT = 'l2is2'; line 62 my $packed = pack($FLOCK_STRUCT, $start, $len, 0, F_WRLCK, SEEK_SET); Still returns: error: Couldn't lock /home/radius/sql-relay.work: Invalid argument BR, roy