aboutsummaryrefslogtreecommitdiffstats
path: root/epan/sigcomp-udvm.c
AgeCommit message (Collapse)AuthorFilesLines
2010-01-28Fix various gcc -Wshadow warnings.Bill Meier1-34/+34
svn path=/trunk/; revision=31720
2009-10-05Allocate 64K buffer from heapKovarththanan Rajaratnam1-7/+2
svn path=/trunk/; revision=30339
2009-09-29Print correct destination for SIGCOMP_INSTR_COPY_LITERAL.Stig Bjørlykke1-1/+1
svn path=/trunk/; revision=30206
2009-05-14Apply some of the patches from:Anders Broman1-4/+2
http://wiki.wireshark.org/Development/Optimization svn path=/trunk/; revision=28365
2008-12-20Fix some typos and spelling (mostly in text strings)Bill Meier1-3/+3
svn path=/trunk/; revision=27068
2007-03-28Remove almost all of the casts I committed recently and in place ofStephen Fisher1-2/+2
them, add -Wno-pointer-sign to CFLAGS when gcc will accept it. svn path=/trunk/; revision=21253
2007-03-26Fix a bunch more warnings. Add -Werror when using --with-warnings-as-errorsStephen Fisher1-2/+2
under gcc to tools/lemon, plugins/mate and epan/ svn path=/trunk/; revision=21204
2007-01-12Move sha1.[ch] to epan/crypt/crypt-sha1.[ch]. Remove duplicate code.Gerald Combs1-156/+156
svn path=/trunk/; revision=20399
2006-12-05From Cristian Constantin:Anders Broman1-0/+5
As a workarond for the problem that accsessing a state with a state id > the stored minimum access length fail, only store and compare the state with the minimum access lengt specified in the standard of 6 bytes. svn path=/trunk/; revision=20041
2006-05-28Ethereal->WiresharkAnders Broman1-1/+1
svn path=/trunk/; revision=18234
2006-05-21name changeRonnie Sahlberg1-2/+2
svn path=/trunk/; revision=18197
2006-03-07Fix a bug reported by coverity.Anders Broman1-1/+2
svn path=/trunk/; revision=17490
2006-01-05Bill Meier:Jörg Mayer1-2/+2
Spelling fixes. svn path=/trunk/; revision=16956
2005-09-21I think this is the check that was intended....Guy Harris1-1/+1
svn path=/trunk/; revision=15919
2005-09-20Be more paranoid about buffer overruns.Gerald Combs1-7/+37
svn path=/trunk/; revision=15901
2005-09-19Throw an exception instead of trying to read past the end of a buffer.Gerald Combs1-0/+5
Fixes bug 455. svn path=/trunk/; revision=15876
2005-09-07Add bounds checking in several places to the SigComp UDVM. Use memset()Gerald Combs1-12/+7
instead of while loops to initialize variables. Use a define instead of magic numbers. Don't use guint8s for counters. Add a corresponding entry to the release notes. svn path=/trunk/; revision=15715
2005-08-31udvm: initialise a variableAnders Broman1-2/+2
sigcomp: implement RFC 4077 svn path=/trunk/; revision=15640
2005-08-25From Timo MetsalaAnders Broman1-9/+112
Changes: o Implemented CRC and SHA-1 (sort operations are still missing) o After state acccess, the execution start is not necessarily the beginning of the bytecode; start IP is now a new parameter to decompress_sigcomp_message() o Removed some hard-coded assumptions about bytecode starting at offset 128 svn path=/trunk/; revision=15531
2005-08-08various code cleanup:Ulf Lamping1-4/+0
-use g_snprintf instead of sprintf and snprintf -use g_strdup_printf where appropriate -remove #include "snprintf.h" (as only g_snprintf should be used) -replace some more alloc/realloc/calloc/free with their glib pendants svn path=/trunk/; revision=15264
2005-06-16From Paul Ollis:Anders Broman1-506/+649
epan/sigcomp_state_hdlr.c epan/sigcomp_state_hdlr.h --------------------------------------------------- Function udvm_state_access: 1. Removed the state_vars_valid parameter. It is no longer used. 2. The function now correctly updates each of state_length, state_address and state_instruction with saved state value. [Previously this was only done for state referenced in the SigComp message header.] 3. Removed code that (incorrectly) read byte_copy_left from UDVM memory within the loop that writes the state to UDVM memory. 4. Removed the code that set the useful values in UDVM memory. This should only be done for state referenced in the SigComp message header. (The decompress_sigcomp_message function, sets the useful values.) epan/sigcomp-udvm.c epan/sigcomp-udvm.h --------------------------------------- Function decompress_sigcomp_message: 1. Added three new parameters; header_len, byte_code_state_len, byte_code_id_len. The byte_code_state_len and byte_code_id_len are used to set the useful values in UDVM memory. The header_len is required to calculate the cycles available for decompression. 2. Various minor corrections to spellings, etc in generated messages. 3. Reduced the number of lines of output for print_level_1. Now the execution trace shows the instruction name and parameter values on one line. [This was done because, we found that even at the lowest level of detail ethereal became unusably slow; running on a 500 MHz SPARC. This seems to be related to the number of lines produced by the SigComp trace, which can easily be over 1000 with the modified code.] 4. Removed the used of some floating point functions. In all cases they were unnecessary and could potentially cause the code to produce the wrong results on some platforms (although this is unlikely). 5. The useful values are now set correctly, using the new byte_code_state_len and byte_code_id_len parameters. 6. The message header length is now included in the calculation of maximum_UDVM_cycles. Previously, the calculation could underestimate the value, resulting in the (small) chance that some legitimate messages might fail to decompress. Note: The calculation might now slightly over-estimate the cycles but this is a reasonable thing to do. 7. Implemented the PUSH, POP, CALL and RETURN instructions. Note: The two SORT instructions and the CRC and SHA-1 instructions are still not implemented. 8. The COPY and COPY-LITERAL instructions now apply the byte-copying-rules to the source address as well as the destination address. 9. The COPY-LITERAL and COPY-OFFSET now correctly handle the destination operand. Previously, it was possible for the destination to be left at byte_copy_right when it should be left at byte_copy_left. 10. All three COPY instructions will now behave correctly if the source or destination start at byte_copy_right; i.e. they read/write to byte_copy_right, byte_copy_right+1, etc. Previously the parameters would wrap to byte_copy_left. 11. The COPY-OFFSET instruction now correctly calculates the source address for all values of offset. Previously a very large offset (greater than the circular buffer size) could cause the starting position to be mis-calculated. 12. Modulo 65536 arithmetic has been added in some places where it was missing. [Only when noticed, we have not been able to check all the code.] 13. Some redundant code was removed for the INPUT-BITS instruction. Also, INPUT-BITS (0, x, x) now correctly discards spare bits when the P-bit, has changed. 14. Corrected the cycles used calculation for the INPUT-BITS instruction. 15. Corrected some minor cases where the used_udvm_cycles was not incremented. [Not really a problem, but it allowed us to verify correctness with some of the SigComp torture tests.] 16. Removed some redundant code in INPUT-HUFFMAN (and reorganised some comments to keep them making sense). Function decomp_dispatch_get_bits: 1. This has been rewritten. The original version could not correctly handle requests for more than 8 bits. The new version is cleaner and correctly handles all cases. svn path=/trunk/; revision=14666
2004-11-28BugfixesAnders Broman1-67/+56
svn path=/trunk/; revision=12613
2004-11-24Somethimes its difficult to get it right *sighAnders Broman1-1/+1
svn path=/trunk/; revision=12600
2004-11-24The code didn't even compile: removed a superfluous (Jörg Mayer1-1/+1
svn path=/trunk/; revision=12598
2004-11-24Set svn properties - without them, compilation with gcc would fail on UnixJörg Mayer1-2977/+2978
svn path=/trunk/; revision=12597
2004-11-24Fix a faulty IF statement, deflate should work now.Anders Broman1-3/+3
svn path=/trunk/; revision=12596
2004-11-23Don't free string that don't need it. Added filter possibillity on Partial stateAnders Broman1-6/+7
svn path=/trunk/; revision=12582
2004-11-22Fix some memmory leaksAnders Broman1-2942/+2956
svn path=/trunk/; revision=12579
2004-11-16Implemented state-create, handling of g_hash_table at redesection needs more ↵Anders Broman1-31/+45
work. svn path=/trunk/; revision=12531
2004-10-11Fix (hopefully) a compiler varningAnders Broman1-0/+2
svn path=/trunk/; revision=12268
2004-10-08Use "%%" in format strings if you want to print a %.Guy Harris1-4/+4
Get rid of an extra argument to a format string. svn path=/trunk/; revision=12240
2004-10-08Add sigcomp Universal Decompressor Virtual Machine (UDVM) and state handler, ↵Anders Broman1-0/+2946
for decompression of sigcomp messages. Currently states are or not saved so only messages with bytecode can be decompressed. svn path=/trunk/; revision=12236