$OpenBSD: patch-lib_Mail_Milter_Authentication_Client_pm,v 1.2 2016/06/22 22:49:42 sthen Exp $

From d0373f1ea66a0de8b7ef7a6c0c7cbf912eef9619 Mon Sep 17 00:00:00 2001
From: Giovanni Bechis <giovanni@paclan.it>
Date: Thu, 12 May 2016 22:41:44 +0200
Subject: [PATCH] Check for empty variables

--- lib/Mail/Milter/Authentication/Client.pm.orig	Thu Sep 10 05:37:11 2015
+++ lib/Mail/Milter/Authentication/Client.pm	Wed Apr 27 16:05:37 2016
@@ -212,7 +212,7 @@ sub load_mail {
         else {
             if ( $value ) {
                 my ( $hkey, $hvalue ) = split ( ':', $value, 2 );
-                $hvalue =~ s/^ //;
+                $hvalue =~ s/^ // if defined $hvalue;
                 push @header_pairs , $hkey;
                 push @header_pairs , $hvalue;
             }
@@ -221,7 +221,7 @@ sub load_mail {
     }
     if ( $value ) {
         my ( $hkey, $hvalue ) = split ( ':', $value, 2 );
-        $hvalue =~ s/^ //;
+        $hvalue =~ s/^ // if defined $hvalue;
         push @header_pairs , $hkey;
         push @header_pairs , $hvalue;
     }
@@ -310,6 +310,7 @@ sub process {
         while ( @process_header ) {
             my $key = shift @process_header;
             my $value = shift @process_header;
+            $value //= '';
             $header_string .= "$key: $value\015\012";
         }
         my $header_obj = Email::Simple::Header->new( $header_string );
