]> gitweb.fluxo.info Git - firma.git/commitdiff
Message replay protection still not working. Fixed, I hope.
authorluis <luis>
Wed, 8 Aug 2007 05:23:12 +0000 (05:23 +0000)
committerluis <luis>
Wed, 8 Aug 2007 05:23:12 +0000 (05:23 +0000)
CHANGELOG
firma

index 3eb664b24a772cdc803a13f8f3d87f55eea5db95..b271b2b8ac5698078345346e13d596d20640c176 100755 (executable)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,7 +1,7 @@
 Firma CHANGELOG
 ---------------
 
-08/08/2007 - 0.3-cvs (rev 1.175) - luis
+08/08/2007 - 0.3-cvs (rev 1.176) - luis
 
   - Message replay protection wasn't working at all. Fixed.
 
diff --git a/firma b/firma
index 092eabb9a62d1512fd8ff540c258a74572e64f87..15d72ee18648a88711d2af3fa8acf2c245c07ae5 100755 (executable)
--- a/firma
+++ b/firma
@@ -1019,16 +1019,24 @@ function ProcessMessage {
           fi
         fi
       else
-        # the anti-replay mechanism detected a repeated message
-        MESSAGE_BODY="\
+
+        # if bounce processing is enabled, continue
+        if [[ "$SILENTLY_DISCARD_INVALID_MESSAGES" != "1" ]]; then
+
+          GetSenderAddress
+          if [[ -n "$SENDER_ADDRESS" ]]; then
+
+            # the anti-replay mechanism detected a repeated message
+            MESSAGE_BODY="\
  It was not possible to process this message. This list
  is configured to discard replayed messages as an attack
  protection measure. It looks like your message has been
  sent to the list before and so it was discarded. Contact
  the list administrator if you have any questions."
-        ComposeAndSendBounceMessage
+            ComposeAndSendBounceMessage
+          fi
+        fi
       fi
-
     # else, message wasn't encrypted at all
     # send a bounce, if possible
     else
@@ -2430,9 +2438,9 @@ function ReplayProtectionCheck {
   local -i return_code=0
   local sha1
 
-  if [[ "$REPLAY_PROTECTION" == "1" ]]; then
+  if [[ "$REPLAY_PROTECTION" == "1" && -n "$ORIG_GPG_MESSAGE" ]]; then
     ReplayProtectionFlush
-    sha1="$(echo "$GPG_MESSAGE" | sha1sum | cut -d " " -f 1)"
+    sha1="$(echo "$ORIG_GPG_MESSAGE" | sha1sum | cut -d " " -f 1)"
     if grep -q "^$sha1$" $REPLAY_FILE; then
       sed -i -e "/^$sha1$/d" $REPLAY_FILE
       return_code=1