Signaling Compression (SigComp) Torture Tests
RFC 4465

Document Type RFC - Informational (June 2006; No errata)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 4465 (Informational)
Telechat date
Responsible AD Magnus Westerlund
Send notices to cabo@tzi.org, lars-erik.jonsson@ericsson.com
Network Working Group                                         A. Surtees
Request for Comments: 4465                                       M. West
Category: Informational                      Siemens/Roke Manor Research
                                                               June 2006

             Signaling Compression (SigComp) Torture Tests

Status of This Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document provides a set of "torture tests" for implementers of
   the Signaling Compression (SigComp) protocol.  The torture tests
   check each of the SigComp Universal Decompressor Virtual Machine
   instructions in turn, focusing in particular on the boundary and
   error cases that are not generally encountered when running
   well-behaved compression algorithms.  Tests are also provided for
   other SigComp entities such as the dispatcher and the state handler.

Surtees & West               Informational                      [Page 1]
RFC 4465                 SigComp Torture Tests                 June 2006

Table of Contents

   1. Introduction ....................................................3
   2. Torture Tests for UDVM ..........................................4
      2.1. Bit Manipulation ...........................................4
      2.2. Arithmetic .................................................5
      2.3. Sorting ....................................................7
      2.4. SHA-1 ......................................................8
      2.5. LOAD and MULTILOAD .........................................9
      2.6. COPY ......................................................11
      2.7. COPY-LITERAL and COPY-OFFSET ..............................12
      2.8. MEMSET ....................................................14
      2.9. CRC .......................................................15
      2.10. INPUT-BITS ...............................................16
      2.11. INPUT-HUFFMAN ............................................17
      2.12. INPUT-BYTES ..............................................19
      2.13. Stack Manipulation .......................................20
      2.14. Program Flow .............................................22
      2.15. State Creation ...........................................23
      2.16. STATE-ACCESS .............................................26
   3. Torture Tests for Dispatcher ...................................28
      3.1. Useful Values .............................................28
      3.2. Cycles Checking ...........................................31
      3.3. Message-based Transport ...................................32
      3.4. Stream-based Transport ....................................34
      3.5. Input Past the End of a Message ...........................36
   4. Torture Tests for State Handler ................................38
      4.1. SigComp Feedback Mechanism ................................38
      4.2. State Memory Management ...................................41
      4.3. Multiple Compartments .....................................44
      4.4. Accessing RFC 3485 State ..................................49
      4.5. Bytecode State Creation ...................................50
   5. Security Considerations ........................................53
   6. Acknowledgements ...............................................53
   7. Normative References ...........................................53
   Appendix A.  UDVM Bytecode for the Torture Tests ..................54
      A.1. Instructions ..............................................54
           A.1.1. Bit Manipulation ...................................54
           A.1.2. Arithmetic .........................................55
           A.1.3. Sorting ............................................55
           A.1.4. SHA-1 ..............................................56
           A.1.5. LOAD and MULTILOAD .................................56
           A.1.6. COPY ...............................................56
           A.1.7. COPY-LITERAL and COPY-OFFSET .......................57
           A.1.8. MEMSET .............................................57
           A.1.9. CRC ................................................57
           A.1.10. INPUT-BITS ........................................57
           A.1.11. INPUT-HUFFMAN .....................................58

Surtees & West               Informational                      [Page 2]
RFC 4465                 SigComp Torture Tests                 June 2006

           A.1.12. INPUT-BYTES .......................................58
Show full document text