Subject: [ietf-dkim] Handling Invalid Signatures

From: "Hector Santos" <[email-masked]>
Date: Wed, 15 Feb 2006 18:45:25 -0500

Bug fix: See v1.2 HLS lines

      total_sigs = read_all_signatures();  // v1.1 HLS
      sort_signatures_into_preferred_order();
      good_sig = false;
      something_wrong[] = {nope};   // v1.1 HLS
      foreach sig in signatures {
        //-------------------------
        // v1.1 HLS
        something_wrong[sig] = malformed || missing key || expired key || ..
        if (something_wrong[sig])
            continue;
        //-------------------------
        if (good_sig = check_sig_ok(sig))
            break;   // from foreach
      }

      // v1.1 HLS
      not_quite_kosher = false;
      foreach wrong in something_wrong
         if (wrong != nope) {
           not_quite_kosher = true;
           break;
         }
      }
      //

      if (good_sig)
          if not_quite_kosher and LocalPolicy_RejectWrong then // v1.2 HLS
             reject(something_wrong[]);   // v1.1 HLS
          else
             process the message with signature(something_wrong[]);
      else
          if (total_sigs and LocalPolicy_RejectWrong) // v1.2 HLS
             reject(something_wrong[]);   // v1.1 HLS
          else
             process the message as though there were no signature

--
Hector Santos, Santronics Software, Inc.
http://www.santronics.com

_______________________________________________
NOTE WELL: This list operates according to 
http://dkim.org/ietf-list-rules.html