52 GRESreHdr *gsre = NULL;
53 GREPPtPHd *gre_pptp_h = NULL;
61 if (!PacketIncreaseCheckLayers(p)) {
65 p->
greh = (GREHdr *)pkt;
67 SCLogDebug(
"p %p pkt %p GRE protocol %04x Len: %d GRE version %x",
104 if (header_len >
len) {
119 gsre = (GRESreHdr *)(pkt + header_len);
123 if ((
SCNtohs(gsre->af) == 0) && (gsre->sre_length == 0))
126 header_len += gsre->sre_length;
127 if (header_len >
len) {
184 gre_pptp_h = (GREPPtPHd *)pkt;
194 if (header_len >
len) {
220 if (gre_pptp_h && !gre_pptp_h->payload_length)
295 static int DecodeGREtest01 (
void)
297 uint8_t raw_gre[] = { 0x00 ,0x6e ,0x62 };
317 static int DecodeGREtest02 (
void)
319 uint8_t raw_gre[] = {
320 0x00, 0x6e, 0x62, 0xac, 0x40, 0x00, 0x40, 0x2f,
321 0xc2, 0xc7, 0x0a, 0x00, 0x00, 0x64, 0x0a, 0x00,
322 0x00, 0x8a, 0x30, 0x01, 0x0b, 0x00, 0x4e, 0x00,
323 0x00, 0x00, 0x18, 0x4a, 0x50, 0xff, 0x03, 0x00,
324 0x21, 0x45, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x40,
325 0x00, 0x40, 0x11, 0x94, 0x22, 0x50, 0x7e, 0x2b,
326 0x2d, 0xc2, 0x6d, 0x68, 0x68, 0x80, 0x0e, 0x00,
327 0x35, 0x00, 0x36, 0x9f, 0x18, 0xdb, 0xc4, 0x01,
328 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
329 0x01, 0x03, 0x73, 0x31, 0x36, 0x09, 0x73, 0x69,
330 0x74, 0x65, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x03,
331 0x63, 0x6f, 0x6d, 0x00, 0x00, 0x01, 0x00, 0x01,
332 0x00, 0x00, 0x29, 0x10, 0x00, 0x00, 0x00, 0x00,
354 static int DecodeGREtest03 (
void)
356 uint8_t raw_gre[] = {
357 0x00, 0x6e, 0x62, 0xac, 0x40, 0x00, 0x40, 0x2f,
358 0xc2, 0xc7, 0x0a, 0x00, 0x00, 0x64, 0x0a, 0x00,
359 0x00, 0x8a, 0x30, 0x01, 0x88, 0x0b, 0x00, 0x4e,
360 0x00, 0x00, 0x00, 0x18, 0x4a, 0x50, 0xff, 0x03,
361 0x00, 0x21, 0x45, 0x00, 0x00, 0x4a, 0x00, 0x00,
362 0x40, 0x00, 0x40, 0x11, 0x94, 0x22, 0x50, 0x7e,
363 0x2b, 0x2d, 0xc2, 0x6d, 0x68, 0x68, 0x80, 0x0e,
364 0x00, 0x35, 0x00, 0x36, 0x9f, 0x18, 0xdb, 0xc4,
365 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
366 0x00, 0x01, 0x03, 0x73, 0x31, 0x36, 0x09, 0x73,
367 0x69, 0x74, 0x65, 0x6d, 0x65, 0x74, 0x65, 0x72,
368 0x03, 0x63, 0x6f, 0x6d, 0x00, 0x00, 0x01, 0x00,
369 0x01, 0x00, 0x00, 0x29, 0x10, 0x00, 0x00, 0x00,
370 0x00, 0x00, 0x00, 0x00 };