mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-18 15:42:15 +08:00
tcpdump: Update to FreeBSD head 2017-04-04
Update tcpdump from Git mirror commit 99a648a912e81e29d9c4c159cbbe263462f2d719 to 642b174daddbd0efd9bb5f242c43f4ab4db6869f.
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
#include <machine/rtems-bsd-user-space.h>
|
||||
|
||||
#ifdef __rtems__
|
||||
#include <machine/rtems-bsd-program.h>
|
||||
#include "rtems-bsd-tcpdump-namespace.h"
|
||||
#endif /* __rtems__ */
|
||||
/*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that: (1) source code
|
||||
@@ -13,54 +16,47 @@
|
||||
* FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
* Original code by Hannes Gredler (hannes@juniper.net)
|
||||
* Turned into common "text protocol" code, which this uses, by
|
||||
* Guy Harris.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static const char rcsid[] _U_ =
|
||||
"@(#) $Header: /tcpdump/master/tcpdump/print-sip.c,v 1.1 2004-07-27 17:04:20 hannes Exp $";
|
||||
#endif
|
||||
/* \summary: Session Initiation Protocol (SIP) printer */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <tcpdump-stdinc.h>
|
||||
#include <netdissect-stdinc.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "interface.h"
|
||||
#include "netdissect.h"
|
||||
#include "extract.h"
|
||||
|
||||
#include "udp.h"
|
||||
static const char *sipcmds[] = {
|
||||
"ACK",
|
||||
"BYE",
|
||||
"CANCEL",
|
||||
"DO",
|
||||
"INFO",
|
||||
"INVITE",
|
||||
"MESSAGE",
|
||||
"NOTIFY",
|
||||
"OPTIONS",
|
||||
"PRACK",
|
||||
"QAUTH",
|
||||
"REFER",
|
||||
"REGISTER",
|
||||
"SPRACK",
|
||||
"SUBSCRIBE",
|
||||
"UPDATE",
|
||||
"PUBLISH",
|
||||
NULL
|
||||
};
|
||||
|
||||
void
|
||||
sip_print(register const u_char *pptr, register u_int len)
|
||||
sip_print(netdissect_options *ndo, const u_char *pptr, u_int len)
|
||||
{
|
||||
u_int idx;
|
||||
|
||||
printf("SIP, length: %u%s", len, vflag ? "\n\t" : "");
|
||||
|
||||
/* in non-verbose mode just lets print the protocol and length */
|
||||
if (vflag < 1)
|
||||
return;
|
||||
|
||||
for (idx = 0; idx < len; idx++) {
|
||||
TCHECK2(*(pptr+idx), 2);
|
||||
if (EXTRACT_16BITS(pptr+idx) != 0x0d0a) { /* linefeed ? */
|
||||
safeputchar(*(pptr+idx));
|
||||
} else {
|
||||
printf("\n\t");
|
||||
idx+=1;
|
||||
}
|
||||
}
|
||||
|
||||
/* do we want to see an additionally hexdump ? */
|
||||
if (vflag> 1)
|
||||
print_unknown_data(pptr,"\n\t",len);
|
||||
|
||||
return;
|
||||
|
||||
trunc:
|
||||
printf("[|sip]");
|
||||
txtproto_print(ndo, pptr, len, "sip", sipcmds, RESP_CODE_SECOND_TOKEN);
|
||||
}
|
||||
#ifdef __rtems__
|
||||
#include "rtems-bsd-tcpdump-print-sip-data.h"
|
||||
#endif /* __rtems__ */
|
||||
|
Reference in New Issue
Block a user