diff --git a/crc32.c b/crc32.c index fb781009eb..0b46682933 100644 --- a/crc32.c +++ b/crc32.c @@ -1,7 +1,7 @@ /* crc32.c * CRC-32 routine * - * $Id: crc32.c,v 1.3 2003/08/26 06:18:16 guy Exp $ + * $Id: crc32.c,v 1.4 2004/06/26 09:48:11 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -41,7 +41,7 @@ * x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^8 + x^7 + * x^5 + x^4 + x^2 + x + 1 */ -const guint32 crc32_table[256] = { +const guint32 crc32_ccitt_table[256] = { 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, @@ -97,14 +97,14 @@ const guint32 crc32_table[256] = { }; guint32 -crc32_tvb(tvbuff_t *tvb, unsigned int len) +crc32_ccitt_tvb(tvbuff_t *tvb, unsigned int len) { unsigned int i; const unsigned char* buf = tvb_get_ptr(tvb, 0, len); guint32 crc32 = 0xFFFFFFFF; for (i = 0; i < len; i++) - crc32 = crc32_table[(crc32 ^ buf[i]) & 0xff] ^ (crc32 >> 8); + crc32 = crc32_ccitt_table[(crc32 ^ buf[i]) & 0xff] ^ (crc32 >> 8); return ( ~crc32 ); } @@ -119,11 +119,11 @@ crc32_tvb(tvbuff_t *tvb, unsigned int len) * to cope with 802.x sending stuff out in reverse bit order? */ guint32 -crc32_tvb_802(tvbuff_t *tvb, unsigned int len) +crc32_802_tvb(tvbuff_t *tvb, unsigned int len) { guint32 c_crc; - c_crc = crc32_tvb(tvb, len); + c_crc = crc32_ccitt_tvb(tvb, len); /* Byte reverse. */ c_crc = ((unsigned char)(c_crc>>0)<<24) | diff --git a/crc32.h b/crc32.h index a28d6ef7f7..17d5ca99a1 100644 --- a/crc32.h +++ b/crc32.h @@ -1,7 +1,7 @@ /* crc32.h * Declaration of CRC-32 routine and table * - * $Id: crc32.h,v 1.3 2003/08/26 06:18:17 guy Exp $ + * $Id: crc32.h,v 1.4 2004/06/26 09:48:11 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -24,8 +24,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -extern const guint32 crc32_table[256]; - -extern guint32 crc32_tvb(tvbuff_t *tvb, unsigned int len); -extern guint32 crc32_tvb_802(tvbuff_t *tvb, unsigned int len); +extern const guint32 crc32_ccitt_table[256]; +extern guint32 crc32_ccitt_tvb(tvbuff_t *tvb, unsigned int len); +extern guint32 crc32_802_tvb(tvbuff_t *tvb, unsigned int len); diff --git a/packet-eth.c b/packet-eth.c index ecfc644f3c..a5d07880ae 100644 --- a/packet-eth.c +++ b/packet-eth.c @@ -1,7 +1,7 @@ /* packet-eth.c * Routines for ethernet packet disassembly * - * $Id: packet-eth.c,v 1.89 2004/02/03 23:19:54 guy Exp $ + * $Id: packet-eth.c,v 1.90 2004/06/26 09:48:11 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -365,7 +365,7 @@ add_ethernet_trailer(proto_tree *fh_tree, int trailer_id, tvbuff_t *tvb, } if (has_fcs) { guint32 sent_fcs = tvb_get_ntohl(trailer_tvb, trailer_length); - guint32 fcs = crc32_tvb_802(tvb, tvb_length(tvb) - 4); + guint32 fcs = crc32_802_tvb(tvb, tvb_length(tvb) - 4); if (fcs == sent_fcs) { proto_tree_add_text(fh_tree, trailer_tvb, trailer_length, 4, "Frame check sequence: 0x%08x (correct)", diff --git a/packet-ieee80211.c b/packet-ieee80211.c index 98ea595d63..8438b38258 100644 --- a/packet-ieee80211.c +++ b/packet-ieee80211.c @@ -3,7 +3,7 @@ * Copyright 2000, Axis Communications AB * Inquiries/bugreports should be sent to Johan.Jorgensen@axis.com * - * $Id: packet-ieee80211.c,v 1.109 2004/06/06 14:29:06 gerald Exp $ + * $Id: packet-ieee80211.c,v 1.110 2004/06/26 09:48:11 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -1839,7 +1839,7 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo, reported_len -= 4; if (tree) { - guint32 fcs = crc32_tvb_802(tvb, hdr_len + len); + guint32 fcs = crc32_802_tvb(tvb, hdr_len + len); guint32 sent_fcs = tvb_get_ntohl(tvb, hdr_len + len); if (fcs == sent_fcs) proto_tree_add_uint_format(hdr_tree, hf_fcs, tvb, @@ -2931,7 +2931,7 @@ static int wep_decrypt(guint8 *buf, guint32 len, int key_override) { #if 0 printf("%02x\n", *dpos); #endif - crc = crc32_table[(crc ^ *dpos++) & 0xff] ^ (crc >> 8); + crc = crc32_ccitt_table[(crc ^ *dpos++) & 0xff] ^ (crc >> 8); } crc = ~crc; diff --git a/packet-ppp.c b/packet-ppp.c index 9aea556c85..a103539c87 100644 --- a/packet-ppp.c +++ b/packet-ppp.c @@ -2,7 +2,7 @@ * Routines for ppp packet disassembly * RFC 1661, RFC 1662 * - * $Id: packet-ppp.c,v 1.119 2004/05/24 02:25:19 guy Exp $ + * $Id: packet-ppp.c,v 1.120 2004/06/26 09:48:12 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -43,6 +43,7 @@ #include "packet-ipx.h" #include "packet-vines.h" #include "nlpid.h" +#include "crc16.h" #include "crc32.h" #define ppp_min(a, b) ((a> 8) & 0x00ff) ^ - fcstab_16[((guint16)(fcs ^ (guint16)((val) & 0x00ff)) & 0x00ff)]; - } - - return (fcs ^ 0xffff); + return crc16_ccitt_tvb(tvbuff, len); } /* @@ -1432,7 +1390,7 @@ fcs32(tvbuff_t * tvbuff) /* Check for invalid Length */ if (len == 0) return (0x00000000); - return crc32_tvb(tvbuff, len); + return crc32_ccitt_tvb(tvbuff, len); } tvbuff_t * @@ -1492,7 +1450,7 @@ decode_fcs(tvbuff_t *tvb, proto_tree *fh_tree, int fcs_decode, int proto_offset) * Compute the FCS and put it into the tree. */ rx_fcs_offset = proto_offset + len; - rx_fcs_exp = fcs16(0xFFFF, tvb); + rx_fcs_exp = fcs16(tvb); rx_fcs_got = tvb_get_letohs(tvb, rx_fcs_offset); if (rx_fcs_got != rx_fcs_exp) { proto_tree_add_text(fh_tree, tvb, rx_fcs_offset, 2,