Mailing List Archive

embedded Perl + empty arpcache bug patch fixes
Hi,

I've attached a patch that fixes a couple of problems with a
recent CVS checkout. Basically one-line fixes.

The first was with the new embedded Perl. The userloader.c has
an #ifdef PERL instead of the #ifdef USE_EMBEDDED_PERL that is
used elsewhere. This typo prevents any Perl subroutines from
being called and shows up in syslog with:
"Unknown user function genre: 2"

The second patch is for Mattias Weidle's patch:
http://lists.backhand.org/pipermail/wackamole-users/2003-October/000254.html
that fixes the empty local arpcache bug. He uses a function
named Alarm() which was undefined in the CVS version I pulled
so I converted that line to call the wack_alarm() function that
I saw elsewhere in the source tree.

As for some unresolved bugs that I'm hoping someone can help
track down, after shutting down wackamole (i.e. by killing off
the wackamole processes), wackamole cannot be restarted properly.
It just keeps on trying to connect to spread unsuccessfully.
Rebooting fixes the problem. wackatrl -f segfaults. The machines
I am running are running the Linux 2.4.23 kernel. They have
iptables blocking everything except udp port 4803. If someone
can give me leads on how to narrow down the problem, I'd
appreciate it.

Andy
Re: embedded Perl + empty arpcache bug patch fixes [ In reply to ]
This is a multi-part message in MIME format.
--------------050902090100020508010507
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Oops. Forgot to include the patch.

--------------050902090100020508010507
Content-Type: text/plain;
name="embperl_arpcache.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="embperl_arpcache.patch"

--- userloader.c Thu Jun 26 12:03:54 2003
+++ userloader.c Sat Dec 13 15:21:56 2003
@@ -83,7 +83,7 @@
case DLFUNCS_GENRE_DL:
handlers[i].handler(safe_pseudo, safe_extras, safe_real);
break;
-#ifdef PERL
+#ifdef USE_EMBEDDED_PERL
case DLFUNCS_GENRE_PERL:
perl_handler(handlers[i].func,
&safe_pseudo, safe_extras, &safe_real);
--- arpcache.c Sat Oct 11 01:56:41 2003
+++ arpcache.c Sun Nov 30 15:36:52 2003
@@ -93,7 +93,7 @@
}

if( count == 0 ){
- Alarm(DEBUG, "Local arp-cache seems to be empty");
+ wack_alarm(WACK_DEBUG, "Local arp-cache seems to be empty");
if(arpcache_private) free(arpcache_private);
arpcache_psize = 0;
arpcache_private = malloc(sizeof(address));

--------------050902090100020508010507--
embedded Perl + empty arpcache bug patch fixes [ In reply to ]
On Dec 13, 2003, at 11:59 PM, Andy Lee wrote:
> I've attached a patch that fixes a couple of problems with a
> recent CVS checkout. Basically one-line fixes.
>
> The first was with the new embedded Perl. The userloader.c has
> an #ifdef PERL instead of the #ifdef USE_EMBEDDED_PERL that is
> used elsewhere. This typo prevents any Perl subroutines from
> being called and shows up in syslog with:
> "Unknown user function genre: 2"
>
> The second patch is for Mattias Weidle's patch:
> http://lists.backhand.org/pipermail/wackamole-users/2003-October/
> 000254.html
> that fixes the empty local arpcache bug. He uses a function
> named Alarm() which was undefined in the CVS version I pulled
> so I converted that line to call the wack_alarm() function that
> I saw elsewhere in the source tree.

Applied

> As for some unresolved bugs that I'm hoping someone can help
> track down, after shutting down wackamole (i.e. by killing off
> the wackamole processes), wackamole cannot be restarted properly.
> It just keeps on trying to connect to spread unsuccessfully.
> Rebooting fixes the problem. wackatrl -f segfaults. The machines
> I am running are running the Linux 2.4.23 kernel. They have
> iptables blocking everything except udp port 4803. If someone
> can give me leads on how to narrow down the problem, I'd
> appreciate it.

Anything to syslog? It should be printing the Spread connection error
there. If not, run it with -d (to run it with debugging and in the
foreground). That should give some insight.

// Theo Schlossnagle
// Principal Engineer -- http://www.omniti.com/~jesus/
// Postal Engine -- http://www.postalengine.com/
// Ecelerity: fastest MTA on earth