]> git.ipfire.org Git - thirdparty/HylaFAX.git/commitdiff
Another fix from Lee:
authorAidan Van Dyk <aidan@ifax.com>
Fri, 21 Jul 2006 09:29:30 +0000 (09:29 +0000)
committerAidan Van Dyk <aidan@ifax.com>
Fri, 21 Jul 2006 09:29:30 +0000 (09:29 +0000)
  If a sender sent a DCS signal that was too-short we were not stopping and
  requiring it to be resent.  This fixes that.

CHANGES
faxd/Class1Recv.c++

diff --git a/CHANGES b/CHANGES
index ac658dcb42b369623a06a3c01ee6199289c87b7a..71828c87ccefcd9389340e689ebc03b005cf10ec 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,7 @@
 
 Changelog since HylaFAX 4.3.0
 
+* fix error of accepting too-short of DCS signal (20 Jul 2006)
 * fix faxgetty hang in ECM due to missing timeouts (20 Jul 2006)
 * fix indicator when 100% non-zero TCF data is received (20 Jul 2006)
 * do Class1SwitchingCmd before sending MCF after PPS-NULL (20 Jul 2006)
index c3ace21c710522c4ddb760d40cecea3087a8635a..81c635ac5501cb9d4255890cecc1a6af9f745c6c 100644 (file)
@@ -298,6 +298,7 @@ Class1Modem::recvDCSFrames(HDLCFrame& frame)
            recvTSI(decodeTSI(s, frame));
            break;
        case FCF_DCS:
+           if (frame.getFrameDataLength() < 4) return (false); // minimum acceptable DCS frame size
            processDCSFrame(frame);
            break;
        }
@@ -442,7 +443,6 @@ Class1Modem::recvTraining()
 void
 Class1Modem::processDCSFrame(const HDLCFrame& frame)
 {
-    if (frame.getFrameDataLength() < 4) return;        // minimum acceptable DCS frame size
     FaxParams dcs_caps = frame.getDIS();                       // NB: really DCS
 
     if (dcs_caps.isBitEnabled(FaxParams::BITNUM_FRAMESIZE_DCS)) frameSize = 64;