#include <smi.h>
#endif
+#include "netdissect-ctype.h"
+
#include "netdissect.h"
#include "extract.h"
ND_PRINT("[nothing to parse]");
return -1;
}
- ND_TCHECK_1(p);
/*
* it would be nice to use a bit field, but you can't depend on them.
* that won't fit in 32 bits.
*/
id = 0;
- ND_TCHECK_1(p);
while (GET_U_1(p) & ASN_BIT8) {
if (len < 1) {
ND_PRINT("[Xtagfield?]");
len--;
hdr++;
p++;
- ND_TCHECK_1(p);
}
if (len < 1) {
ND_PRINT("[Xtagfield?]");
return -1;
}
- ND_TCHECK_1(p);
elem->id = id = (id << 7) | GET_U_1(p);
--len;
++hdr;
ND_PRINT("[no asnlen]");
return -1;
}
- ND_TCHECK_1(p);
elem->asnlen = GET_U_1(p);
p++; len--; hdr++;
if (elem->asnlen & ASN_BIT8) {
p = elem->data.str;
ND_TCHECK_LEN(p, asnlen);
for (i = asnlen; printable && i != 0; p++, i--)
- printable = ND_ISPRINT(GET_U_1(p));
+ printable = ND_ASCII_ISPRINT(GET_U_1(p));
p = elem->data.str;
if (printable) {
ND_PRINT("\"");
}
for (; i != 0; p++, i--) {
- ND_TCHECK_1(p);
o = (o << ASN_SHIFT7) + (GET_U_1(p) & ~ASN_BIT8);
if (GET_U_1(p) & ASN_LONGLEN)
continue;
unsigned int firstval;
for (*oidlen = 0; i != 0; p++, i--) {
- ND_TCHECK_1(p);
o = (o << ASN_SHIFT7) + (GET_U_1(p) & ~ASN_BIT8);
if (GET_U_1(p) & ASN_LONGLEN)
continue;
o = 0;
}
return 0;
-
-trunc:
- nd_print_trunc(ndo);
- return -1;
}
static int smi_check_type(SmiBasetype basetype, int be)