* Helpers for ASN.1/BER dissection
* Ronnie Sahlberg (C) 2004
*
- * $Id: packet-ber.h,v 1.6 2004/05/14 23:38:39 sahlberg Exp $
+ * $Id: packet-ber.h,v 1.7 2004/05/17 20:03:35 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#ifndef __PACKET_BER_H__
#define __PACKET_BER_H__
-#define NOT_DECODED_YET(x) \
+#define BER_NOT_DECODED_YET(x) \
proto_tree_add_text(tree, tvb, offset, 0, "something unknown here [%s]",x); \
fprintf(stderr,"Not decoded yet in packet : %d [%s]\n", pinfo->fd->num,x); \
if (check_col(pinfo->cinfo, COL_INFO)){ \
*
* Maintained by Andreas Sikkema (h323@ramdyne.nl)
*
- * $Id: packet-h225.c,v 1.38 2004/04/09 03:51:30 sahlberg Exp $
+ * $Id: packet-h225.c,v 1.39 2004/05/17 20:03:35 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
static int
dissect_h235_DHSet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("DHSet");
+PER_NOT_DECODED_YET("DHSet");
return offset;
}
static int
dissect_h235_ChallengeString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("ChallengeString");
+PER_NOT_DECODED_YET("ChallengeString");
return offset;
}
static int
dissect_h235_RandomVal(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("RandomVal");
+PER_NOT_DECODED_YET("RandomVal");
return offset;
}
static int
dissect_h235_TypedCertificate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("TypedCertificate");
+PER_NOT_DECODED_YET("TypedCertificate");
return offset;
}
static int
dissect_h235_Identifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("Identifier");
+PER_NOT_DECODED_YET("Identifier");
return offset;
}
static int
static int
dissect_h235_ECKASDH(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("ECKASDH");
+PER_NOT_DECODED_YET("ECKASDH");
return offset;
}
static int
dissect_h235_H235Key(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("H235Key");
+PER_NOT_DECODED_YET("H235Key");
return offset;
}
static per_sequence_t H235ClearToken_sequence[] = {
static int
dissect_h235_AuthenticationBES(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("AuthenticationBES");
+PER_NOT_DECODED_YET("AuthenticationBES");
return offset;
}
static int
dissect_h235_cryptoSignedToken(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoSignedToken");
+PER_NOT_DECODED_YET("cryptoSignedToken");
return offset;
}
static int
dissect_h235_cryptoHashedToken(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoHashedToken");
+PER_NOT_DECODED_YET("cryptoHashedToken");
return offset;
}
static int
dissect_h235_cryptoPwdEncr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoPwdEncr");
+PER_NOT_DECODED_YET("cryptoPwdEncr");
return offset;
}
static const value_string CryptoToken_vals[] = {
static int
dissect_h235_iv8(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("iv8");
+PER_NOT_DECODED_YET("iv8");
return offset;
}
static int
dissect_h235_iv16(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("iv16");
+PER_NOT_DECODED_YET("iv16");
return offset;
}
static int
dissect_h235_iv(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("iv");
+PER_NOT_DECODED_YET("iv");
return offset;
}
static int
dissect_h235_clearSalt(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("clearSalt");
+PER_NOT_DECODED_YET("clearSalt");
return offset;
}
static int
dissect_h225_cryptoGKPwdHash(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoGKPwdHash");
+PER_NOT_DECODED_YET("cryptoGKPwdHash");
return offset;
}
static int
dissect_h225_cryptoEPPwdEncr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoEPPwdEncr");
+PER_NOT_DECODED_YET("cryptoEPPwdEncr");
return offset;
}
static int
dissect_h225_cryptoGKPwdEncr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoGKPwdEncr");
+PER_NOT_DECODED_YET("cryptoGKPwdEncr");
return offset;
}
static int
dissect_h225_cryptoEPCert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoEPCert");
+PER_NOT_DECODED_YET("cryptoEPCert");
return offset;
}
static int
dissect_h225_cryptoGKCert(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoGKCert");
+PER_NOT_DECODED_YET("cryptoGKCert");
return offset;
}
static int
dissect_h225_cryptoFastStart(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("cryptoFastStart");
+PER_NOT_DECODED_YET("cryptoFastStart");
return offset;
}
static const value_string CryptoH323Token_vals[] = {
static int
dissect_h225_EndpointType_set(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("EndpointType_set");
+PER_NOT_DECODED_YET("EndpointType_set");
return offset;
}
static int
dissect_h225_icv(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("icv");
+PER_NOT_DECODED_YET("icv");
return offset;
}
static int
dissect_h225_amountString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("amountString");
+PER_NOT_DECODED_YET("amountString");
return offset;
}
static int
dissect_h225_alertingTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("alertingTime");
+PER_NOT_DECODED_YET("alertingTime");
return offset;
}
static int
dissect_h225_connectTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("connectTime");
+PER_NOT_DECODED_YET("connectTime");
return offset;
}
static int
dissect_h225_endTime(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("endTime");
+PER_NOT_DECODED_YET("endTime");
return offset;
}
*
* Maintained by Andreas Sikkema (h323@ramdyne.nl)
*
- * $Id: packet-h245.c,v 1.46 2004/02/14 22:48:52 guy Exp $
+ * $Id: packet-h245.c,v 1.47 2004/05/17 20:03:36 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
static int
dissect_h245_iPSourceRouteAddress_route(tvbuff_t *tvb _U_, int offset, packet_info *pinfo _U_, proto_tree *tree _U_)
{
-NOT_DECODED_YET("iPSourceRouteAddress");
+PER_NOT_DECODED_YET("iPSourceRouteAddress");
/* XXX
offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h245_iPSourceRouteAddress_route, ett_h245_iPSourceRouteAddress_route, dissect_h245_ );
*/
static int
dissect_h245_escrowValue(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("escrowValue");
+PER_NOT_DECODED_YET("escrowValue");
return offset;
}
static int
dissect_h245_sessionDescription(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("sessionDescription");
+PER_NOT_DECODED_YET("sessionDescription");
return offset;
}
*
* Copied from packet-h225.c and packet-h245.c
*
- * $Id: packet-h450.c,v 1.8 2004/02/16 18:23:25 sahlberg Exp $
+ * $Id: packet-h450.c,v 1.9 2004/05/17 20:03:36 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
static int
dissect_h4501_ExtensionSeq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
-NOT_DECODED_YET("H.450.1 ExtensionSeq");
+PER_NOT_DECODED_YET("H.450.1 ExtensionSeq");
return offset;
}
/* TODO - decode other H.450.x invoke arguments here */
default:
-NOT_DECODED_YET("Unrecognized H.450.x operation");
+PER_NOT_DECODED_YET("Unrecognized H.450.x operation");
break;
}
}
break;
default:
-NOT_DECODED_YET("Unrecognized H.450.x return result");
+PER_NOT_DECODED_YET("Unrecognized H.450.x return result");
break;
}
}
*
* Some structures from RFC2630
*
- * $Id: packet-kerberos.c,v 1.61 2004/05/14 23:38:39 sahlberg Exp $
+ * $Id: packet-kerberos.c,v 1.62 2004/05/17 20:03:36 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
static int
dissect_krb5_PA_PK_AS_REQ_trustedCertifiers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset)
{
- NOT_DECODED_YET("trustedCertifiers");
+ BER_NOT_DECODED_YET("trustedCertifiers");
return offset;
}
static int
dissect_krb5_PA_PK_AS_REQ_kdcCert(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset)
{
- NOT_DECODED_YET("kdcCert");
+ BER_NOT_DECODED_YET("kdcCert");
return offset;
}
static int
dissect_krb5_PA_PK_AS_REQ_encryptionCert(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset)
{
- NOT_DECODED_YET("encryptionCert");
+ BER_NOT_DECODED_YET("encryptionCert");
return offset;
}
* Routines for dissection of ASN.1 Aligned PER
* 2003 Ronnie Sahlberg
*
- * $Id: packet-per.c,v 1.27 2004/04/26 07:34:12 sahlberg Exp $
+ * $Id: packet-per.c,v 1.28 2004/05/17 20:03:36 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
}
return offset;
}
- NOT_DECODED_YET("10.9.3.8.1");
+ PER_NOT_DECODED_YET("10.9.3.8.1");
return offset;
}
if(length>=1024){
- NOT_DECODED_YET("restricted char string too long");
+ PER_NOT_DECODED_YET("restricted char string too long");
length=1024;
}
}
if(length>=1024){
- NOT_DECODED_YET("BMPString too long");
+ PER_NOT_DECODED_YET("BMPString too long");
length=1024;
}
offset+=8;
if((strp-str)>200){
-NOT_DECODED_YET("too long octet_string");
+PER_NOT_DECODED_YET("too long octet_string");
/*XXX assert here */
return offset;
}
offset=dissect_per_length_determinant(tvb, offset, pinfo, tree, -1, &length);
/* gassert here? */
if(length>4){
-NOT_DECODED_YET("too long integer");
+PER_NOT_DECODED_YET("too long integer");
length=4;
}
return offset;
}
- NOT_DECODED_YET("10.5");
+ PER_NOT_DECODED_YET("10.5");
return offset;
}
offset=choice[i].func(tvb, offset, pinfo, choicetree);
break;
} else {
- NOT_DECODED_YET(choice[i].name);
+ PER_NOT_DECODED_YET(choice[i].name);
break;
}
}
if(index==-1){
/* if we dont know how to decode this one, just step offset to the next structure */
offset+=length*8;
- NOT_DECODED_YET("unknown choice extension");
+ PER_NOT_DECODED_YET("unknown choice extension");
} else {
guint32 new_offset;
if(sequence[i].func){
offset=sequence[i].func(tvb, offset, pinfo, tree);
} else {
- NOT_DECODED_YET(sequence[i].name);
+ PER_NOT_DECODED_YET(sequence[i].name);
}
}
}
if(i>=num_known_extensions){
/* we dont know how to decode this extension */
offset+=length*8;
- NOT_DECODED_YET("unknown sequence extension");
+ PER_NOT_DECODED_YET("unknown sequence extension");
continue;
}
if(sequence[extension_index].func){
new_offset=sequence[extension_index].func(tvb, offset, pinfo, tree);
} else {
- NOT_DECODED_YET(sequence[extension_index].name);
+ PER_NOT_DECODED_YET(sequence[extension_index].name);
}
offset+=length*8;
* Routines for dissection of ASN.1 Aligned PER
* 2003 Ronnie Sahlberg
*
- * $Id: packet-per.h,v 1.14 2004/04/09 00:31:41 sahlberg Exp $
+ * $Id: packet-per.h,v 1.15 2004/05/17 20:03:36 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#ifndef __PACKET_PER_H__
#define __PACKET_PER_H__
-#define NOT_DECODED_YET(x) \
+#define PER_NOT_DECODED_YET(x) \
proto_tree_add_text(tree, tvb, offset, 0, "something unknown here [%s]",x); \
fprintf(stderr,"Not decoded yet in packet : %d [%s]\n", pinfo->fd->num,x); \
if (check_col(pinfo->cinfo, COL_INFO)){ \