On Mon, Jan 11, 2010 at 10:07:41PM +0100, Petter Reinholdtsen wrote:
> Package: libjavascript-perl
> For etch, I wrote a script to extract the proxy setting from a WPAD
> script to be able to update /etc/environment at boot. When trying to
> use it with Debian Edu based on Lenny, the script fail and perl
> segfaults. I hope this bug can be fixed in Lenny, because we are
> working on finalizing the Lenny based Debian Edu and it would be great
> if we could get this working using Lenny packages, as we are moving to
> using a WPAD file to specify the proxy setting.
>
> I had to disable the setting of the error handler, as this function
> seem to be missing in the Lenny package.
Using just 'die $@ if $@' for that shows the actual problem:
dnsResolve is not defined at main line 94 in 41
I suppose the old Etch javascript library exposed a dnsResolve() function
but the newer ones don't. I suspect this is not a bug.
It seems to work for me if I supply a dnsResolve() implementation before
the "$cx->eval(get_pac_functions())" line:
use Socket; # for inet_ntoa
$cx->bind_function(name => "dnsResolve", func => sub {
my $name = shift;
my $packed = gethostbyname($name);
return $packed ? inet_ntoa($packed) : undef;
});
This is obviously not IPv6 compatible etc. but it's a start.
I haven't really investigated the segfault: given that there's an error
indicator before it happens and that it's fixed in sid, I don't think
it's worth the effort trying to fix it in lenny. YMMV of course.
Hope this helps,
--
Niko Tyni [email protected]
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]