--- check_spamhelo.orig	2004-08-05 17:59:33.000000000 +0200
+++ check_spamhelo	2004-08-05 18:07:08.000000000 +0200
@@ -72,7 +72,7 @@
   $self->{_spamhelo_rfc} = 0;
   $self->{_spamhelo_delayfailure} = 0;
   $self->{_spamhelo_checkrc} = 0;
-  $self->{_spamhelo_badhelo} = 0;
+  $qp->connection->notes('spamhelo_badhelo', 0);
 
   while (@args) {
     my $arg = shift @args;
@@ -116,8 +116,8 @@
 
     if (!$rfc2821) {
       if ($self->{_spamhelo_delayfailure}) {
-        $self->{_spamhelo_badhelo} = SPAMHELO_RFCFAIL;
-        $self->{_spamhelo_hello} = $hello;
+        $self->qp->connection->notes('spamhelo_badhelo', SPAMHELO_RFCFAIL);
+        $self->qp->connection->notes('spamhelo_hello', $hello);
         return DECLINED;
       } else {
         $self->log(LOGDEBUG, rfc_fail_log_mes($hello, $remote_ip));
@@ -131,9 +131,9 @@
   for my $re ($self->qp->config('badhelo')) {
     if ($hello =~ /^$re$/i) {
       if ($self->{_spamhelo_delayfailure}) {
-        $self->{_spamhelo_badhelo} = SPAMHELO_MATCHFAIL;
-        $self->{_spamhelo_hello} = $hello;
-        $self->{_spamhelo_pattern} = $re;
+        $self->qp->connection->notes('spamhelo_badhelo', SPAMHELO_MATCHFAIL);
+        $self->qp->connection->notes('spamhelo_hello', $hello);
+        $self->qp->connection->notes('spamhelo_pattern', $re);
         return DECLINED;
       } else {
         $self->log(LOGDEBUG, match_fail_log_mes($hello, $re));
@@ -147,14 +147,14 @@
 
 sub rcpt_handler {
   my ($self, $transaction, $rcpt) = @_;
-  my $hello = $self->{_spamhelo_hello};
-  my $pattern = $self->{_spamhelo_pattern};
+  my $hello = $self->qp->connection->notes('spamhelo_hello');
+  my $pattern = $self->qp->connection->notes('spamhelo_pattern');
   my $remote_ip = $self->qp->connection->remote_ip;
 
-  if ($self->{_spamhelo_badhelo} == SPAMHELO_RFCFAIL) {
+  if (($self->qp->connection->notes('spamhelo_badhelo') || 0) == SPAMHELO_RFCFAIL) {
     $self->log(LOGDEBUG, rfc_fail_log_mes($hello, $remote_ip));
     return (DENY, rfc_fail_con_mes($hello));
-  } elsif ($self->{_spamhelo_badhelo} == SPAMHELO_MATCHFAIL) {
+  } elsif (($self->qp->connection->notes('spamhelo_badhelo') || 0) == SPAMHELO_MATCHFAIL) {
     $self->log(LOGDEBUG, match_fail_log_mes($hello, $pattern));
     return (DENY, match_fail_con_mes($hello, $pattern));
   }
