[cifs-protocol] [EXTERNAL] RE: [REG:120060621000848] [MS-XCA] L77+Huffman negative huffman symbol update

Jeff McCashland jeffm at microsoft.com
Fri Jun 19 16:40:54 UTC 2020


Hi Aurélien,

We have some explanation of the pseudocode in question:
A negative HuffmanSymbol indicates that the size of the value exceeds the value of the table (is > 64k). The location for the actual value is based of the decoded value:

        Each 16-bit entry in the table/tree follows this protocol:
          If the high bit is zero, the table/tree value is
          (decoded symbol) * 16 + (symbol bit length)
          If the high bit is one, the table/tree value is:
          -(index of tree node to decode remaining bits)

The high bit being 1 is what makes the number negative. If the value found in the node is negative, we repeat the process. Note the lines marked with **:

    If HuffmanSymbol <= 0
        NextBits <<= HuffmanSymbolBitLength
        ExtraBits -= HuffmanSymbolBitLength
	
        Do
      **    HuffmanSymbol = - HuffmanSymbol
      **    HuffmanSymbol += (NextBits >> 31)
            NextBits *= 2
            ExtraBits = ExtraBits - 1
     **     HuffmanSymbol = DecodingTable[HuffmanSymbol]
        While HuffmanSymbol <= 0
    Else
        DecodedBitCount = HuffmanSymbol & 15
        NextBits <<= DecodedBitCount
        ExtraBits -= DedcodedBitCount

Please let me know if that helps explain the pseudocode.

Best regards,
Jeff McCashland | Senior Escalation Engineer | Microsoft Protocol Open Specifications Team 
Phone: +1 (425) 703-8300 x38300 | Hours: 9am-5pm | Time zone: (UTC-08:00) Pacific Time (US and Canada)
Local country phone number found here: http://support.microsoft.com/globalenglish | Extension 1138300
We value your feedback.  My manager is Jeremy Chapman (jeremyc), +1 (469) 775-2475

-----Original Message-----
From: Jeff McCashland 
Sent: Wednesday, June 17, 2020 11:16 AM
To: Aurélien Aptel <aaptel at suse.com>; cifs-protocol at lists.samba.org
Cc: support <support at mail.support.microsoft.com>
Subject: RE: [EXTERNAL] RE: [REG:120060621000848] [MS-XCA] L77+Huffman negative huffman symbol update

Hi Aurélien,

As you know, it's a complex routine. I'll see if we can provide some feedback on it soon. 

Best regards,
Jeff McCashland | Senior Escalation Engineer | Microsoft Protocol Open Specifications Team
Phone: +1 (425) 703-8300 x38300 | Hours: 9am-5pm | Time zone: (UTC-08:00) Pacific Time (US and Canada) Local country phone number found here: http://support.microsoft.com/globalenglish | Extension 1138300 We value your feedback.  My manager is Jeremy Chapman (jeremyc), +1 (469) 775-2475

-----Original Message-----
From: Aurélien Aptel <aaptel at suse.com>
Sent: Wednesday, June 17, 2020 4:53 AM
To: Jeff McCashland <jeffm at microsoft.com>; cifs-protocol at lists.samba.org
Cc: support <support at mail.support.microsoft.com>
Subject: RE: [EXTERNAL] RE: [REG:120060621000848] [MS-XCA] L77+Huffman negative huffman symbol update

Hi Jeff,

Any updates on this?

Cheers,
--
Aurélien Aptel / SUSE Labs Samba Team
GPG: 1839 CB5F 9F5B FB9B AA97  8C99 03C8 A49B 521B D5D3 SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg, DE
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 247165 (AG München)


More information about the cifs-protocol mailing list