mirror of
https://github.com/the-tcpdump-group/tcpdump.git
synced 2024-11-24 02:23:27 +08:00
BOOTP/DHCP: fix some spaces/tabs and indentation
This commit is contained in:
parent
f207b7c6a6
commit
393b478927
166
print-bootp.c
166
print-bootp.c
@ -56,7 +56,6 @@ static const char tstr[] = " [|bootp]";
|
||||
* without express or implied warranty.
|
||||
*/
|
||||
|
||||
|
||||
struct bootp {
|
||||
uint8_t bp_op; /* packet opcode type */
|
||||
uint8_t bp_htype; /* hardware addr type */
|
||||
@ -76,8 +75,8 @@ struct bootp {
|
||||
uint8_t bp_vend[64]; /* vendor-specific area */
|
||||
} UNALIGNED;
|
||||
|
||||
#define BOOTPREPLY 2
|
||||
#define BOOTPREQUEST 1
|
||||
#define BOOTPREPLY 2
|
||||
#define BOOTPREQUEST 1
|
||||
|
||||
/*
|
||||
* Vendor magic cookie (v_magic) for CMU
|
||||
@ -222,17 +221,15 @@ struct bootp {
|
||||
#define TAG_EXTENDED_REQUEST ((uint8_t) 126)
|
||||
#define TAG_EXTENDED_OPTION ((uint8_t) 127)
|
||||
|
||||
|
||||
/* DHCP Message types (values for TAG_DHCP_MESSAGE option) */
|
||||
#define DHCPDISCOVER 1
|
||||
#define DHCPOFFER 2
|
||||
#define DHCPREQUEST 3
|
||||
#define DHCPDECLINE 4
|
||||
#define DHCPACK 5
|
||||
#define DHCPNAK 6
|
||||
#define DHCPRELEASE 7
|
||||
#define DHCPINFORM 8
|
||||
|
||||
#define DHCPDISCOVER 1
|
||||
#define DHCPOFFER 2
|
||||
#define DHCPREQUEST 3
|
||||
#define DHCPDECLINE 4
|
||||
#define DHCPACK 5
|
||||
#define DHCPNAK 6
|
||||
#define DHCPRELEASE 7
|
||||
#define DHCPINFORM 8
|
||||
|
||||
/*
|
||||
* "vendor" data permitted for CMU bootp clients.
|
||||
@ -266,14 +263,14 @@ static void cmu_print(netdissect_options *, const u_char *);
|
||||
static char *client_fqdn_flags(u_int flags);
|
||||
|
||||
static const struct tok bootp_flag_values[] = {
|
||||
{ 0x8000, "Broadcast" },
|
||||
{ 0, NULL}
|
||||
{ 0x8000, "Broadcast" },
|
||||
{ 0, NULL}
|
||||
};
|
||||
|
||||
static const struct tok bootp_op_values[] = {
|
||||
{ BOOTPREQUEST, "Request" },
|
||||
{ BOOTPREPLY, "Reply" },
|
||||
{ 0, NULL}
|
||||
{ BOOTPREQUEST, "Request" },
|
||||
{ BOOTPREPLY, "Reply" },
|
||||
{ 0, NULL}
|
||||
};
|
||||
|
||||
/*
|
||||
@ -281,7 +278,7 @@ static const struct tok bootp_op_values[] = {
|
||||
*/
|
||||
void
|
||||
bootp_print(netdissect_options *ndo,
|
||||
register const u_char *cp, u_int length)
|
||||
register const u_char *cp, u_int length)
|
||||
{
|
||||
register const struct bootp *bp;
|
||||
static const u_char vm_cmu[4] = VM_CMU;
|
||||
@ -291,7 +288,7 @@ bootp_print(netdissect_options *ndo,
|
||||
ND_TCHECK(bp->bp_op);
|
||||
|
||||
ND_PRINT((ndo, "BOOTP/DHCP, %s",
|
||||
tok2str(bootp_op_values, "unknown (0x%02x)", bp->bp_op)));
|
||||
tok2str(bootp_op_values, "unknown (0x%02x)", bp->bp_op)));
|
||||
|
||||
if (bp->bp_htype == 1 && bp->bp_hlen == 6 && bp->bp_op == BOOTPREQUEST) {
|
||||
ND_TCHECK2(bp->bp_chaddr[0], 6);
|
||||
@ -322,7 +319,7 @@ bootp_print(netdissect_options *ndo,
|
||||
ND_PRINT((ndo, ", secs %d", EXTRACT_16BITS(&bp->bp_secs)));
|
||||
|
||||
ND_PRINT((ndo, ", Flags [%s]",
|
||||
bittok2str(bootp_flag_values, "none", EXTRACT_16BITS(&bp->bp_flags))));
|
||||
bittok2str(bootp_flag_values, "none", EXTRACT_16BITS(&bp->bp_flags))));
|
||||
if (ndo->ndo_vflag > 1)
|
||||
ND_PRINT((ndo, " (0x%04x)", EXTRACT_16BITS(&bp->bp_flags)));
|
||||
|
||||
@ -376,10 +373,10 @@ bootp_print(netdissect_options *ndo,
|
||||
/* Decode the vendor buffer */
|
||||
ND_TCHECK(bp->bp_vend[0]);
|
||||
if (memcmp((const char *)bp->bp_vend, vm_rfc1048,
|
||||
sizeof(uint32_t)) == 0)
|
||||
sizeof(uint32_t)) == 0)
|
||||
rfc1048_print(ndo, bp->bp_vend);
|
||||
else if (memcmp((const char *)bp->bp_vend, vm_cmu,
|
||||
sizeof(uint32_t)) == 0)
|
||||
sizeof(uint32_t)) == 0)
|
||||
cmu_print(ndo, bp->bp_vend);
|
||||
else {
|
||||
uint32_t ul;
|
||||
@ -526,67 +523,67 @@ static const struct tok tag2str[] = {
|
||||
{ TAG_NETINFO_PARENT_TAG, "aNITAG" },
|
||||
{ TAG_URL, "aURL" },
|
||||
{ TAG_FAILOVER, "bFAIL" }, /* XXX 'b' */
|
||||
{ 0, NULL }
|
||||
{ 0, NULL }
|
||||
};
|
||||
/* 2-byte extended tags */
|
||||
static const struct tok xtag2str[] = {
|
||||
{ 0, NULL }
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
/* DHCP "options overload" types */
|
||||
static const struct tok oo2str[] = {
|
||||
{ 1, "file" },
|
||||
{ 2, "sname" },
|
||||
{ 3, "file+sname" },
|
||||
{ 0, NULL }
|
||||
{ 1, "file" },
|
||||
{ 2, "sname" },
|
||||
{ 3, "file+sname" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
/* NETBIOS over TCP/IP node type options */
|
||||
static const struct tok nbo2str[] = {
|
||||
{ 0x1, "b-node" },
|
||||
{ 0x2, "p-node" },
|
||||
{ 0x4, "m-node" },
|
||||
{ 0x8, "h-node" },
|
||||
{ 0, NULL }
|
||||
{ 0x1, "b-node" },
|
||||
{ 0x2, "p-node" },
|
||||
{ 0x4, "m-node" },
|
||||
{ 0x8, "h-node" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
/* ARP Hardware types, for Client-ID option */
|
||||
static const struct tok arp2str[] = {
|
||||
{ 0x1, "ether" },
|
||||
{ 0x6, "ieee802" },
|
||||
{ 0x7, "arcnet" },
|
||||
{ 0xf, "frelay" },
|
||||
{ 0x17, "strip" },
|
||||
{ 0x18, "ieee1394" },
|
||||
{ 0, NULL }
|
||||
{ 0x1, "ether" },
|
||||
{ 0x6, "ieee802" },
|
||||
{ 0x7, "arcnet" },
|
||||
{ 0xf, "frelay" },
|
||||
{ 0x17, "strip" },
|
||||
{ 0x18, "ieee1394" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
static const struct tok dhcp_msg_values[] = {
|
||||
{ DHCPDISCOVER, "Discover" },
|
||||
{ DHCPOFFER, "Offer" },
|
||||
{ DHCPREQUEST, "Request" },
|
||||
{ DHCPDECLINE, "Decline" },
|
||||
{ DHCPACK, "ACK" },
|
||||
{ DHCPNAK, "NACK" },
|
||||
{ DHCPRELEASE, "Release" },
|
||||
{ DHCPINFORM, "Inform" },
|
||||
{ 0, NULL }
|
||||
{ DHCPDISCOVER, "Discover" },
|
||||
{ DHCPOFFER, "Offer" },
|
||||
{ DHCPREQUEST, "Request" },
|
||||
{ DHCPDECLINE, "Decline" },
|
||||
{ DHCPACK, "ACK" },
|
||||
{ DHCPNAK, "NACK" },
|
||||
{ DHCPRELEASE, "Release" },
|
||||
{ DHCPINFORM, "Inform" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
#define AGENT_SUBOPTION_CIRCUIT_ID 1 /* RFC 3046 */
|
||||
#define AGENT_SUBOPTION_REMOTE_ID 2 /* RFC 3046 */
|
||||
#define AGENT_SUBOPTION_SUBSCRIBER_ID 6 /* RFC 3993 */
|
||||
#define AGENT_SUBOPTION_CIRCUIT_ID 1 /* RFC 3046 */
|
||||
#define AGENT_SUBOPTION_REMOTE_ID 2 /* RFC 3046 */
|
||||
#define AGENT_SUBOPTION_SUBSCRIBER_ID 6 /* RFC 3993 */
|
||||
static const struct tok agent_suboption_values[] = {
|
||||
{ AGENT_SUBOPTION_CIRCUIT_ID, "Circuit-ID" },
|
||||
{ AGENT_SUBOPTION_REMOTE_ID, "Remote-ID" },
|
||||
{ AGENT_SUBOPTION_SUBSCRIBER_ID, "Subscriber-ID" },
|
||||
{ 0, NULL }
|
||||
{ AGENT_SUBOPTION_CIRCUIT_ID, "Circuit-ID" },
|
||||
{ AGENT_SUBOPTION_REMOTE_ID, "Remote-ID" },
|
||||
{ AGENT_SUBOPTION_SUBSCRIBER_ID, "Subscriber-ID" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
|
||||
static void
|
||||
rfc1048_print(netdissect_options *ndo,
|
||||
register const u_char *bp)
|
||||
register const u_char *bp)
|
||||
{
|
||||
register uint16_t tag;
|
||||
register u_int len;
|
||||
@ -631,7 +628,7 @@ rfc1048_print(netdissect_options *ndo,
|
||||
}
|
||||
|
||||
ND_PRINT((ndo, "\n\t %s Option %u, length %u%s", cp, tag, len,
|
||||
len > 0 ? ": " : ""));
|
||||
len > 0 ? ": " : ""));
|
||||
|
||||
if (tag == TAG_PAD && ndo->ndo_vflag > 2) {
|
||||
u_int ntag = 1;
|
||||
@ -804,7 +801,7 @@ rfc1048_print(netdissect_options *ndo,
|
||||
|
||||
case TAG_NETBIOS_NODE:
|
||||
/* this option should be at least 1 byte long */
|
||||
if (len < 1) {
|
||||
if (len < 1) {
|
||||
ND_PRINT((ndo, "ERROR: length < 1 bytes"));
|
||||
break;
|
||||
}
|
||||
@ -815,7 +812,7 @@ rfc1048_print(netdissect_options *ndo,
|
||||
|
||||
case TAG_OPT_OVERLOAD:
|
||||
/* this option should be at least 1 byte long */
|
||||
if (len < 1) {
|
||||
if (len < 1) {
|
||||
ND_PRINT((ndo, "ERROR: length < 1 bytes"));
|
||||
break;
|
||||
}
|
||||
@ -826,7 +823,7 @@ rfc1048_print(netdissect_options *ndo,
|
||||
|
||||
case TAG_CLIENT_FQDN:
|
||||
/* this option should be at least 3 bytes long */
|
||||
if (len < 3) {
|
||||
if (len < 3) {
|
||||
ND_PRINT((ndo, "ERROR: length < 3 bytes"));
|
||||
bp += len;
|
||||
len = 0;
|
||||
@ -849,10 +846,11 @@ rfc1048_print(netdissect_options *ndo,
|
||||
break;
|
||||
|
||||
case TAG_CLIENT_ID:
|
||||
{ int type;
|
||||
{
|
||||
int type;
|
||||
|
||||
/* this option should be at least 1 byte long */
|
||||
if (len < 1) {
|
||||
if (len < 1) {
|
||||
ND_PRINT((ndo, "ERROR: length < 1 bytes"));
|
||||
break;
|
||||
}
|
||||
@ -889,17 +887,17 @@ rfc1048_print(netdissect_options *ndo,
|
||||
len -= 2;
|
||||
if (suboptlen > len) {
|
||||
ND_PRINT((ndo, "\n\t %s SubOption %u, length %u: length goes past end of option",
|
||||
tok2str(agent_suboption_values, "Unknown", subopt),
|
||||
subopt,
|
||||
suboptlen));
|
||||
tok2str(agent_suboption_values, "Unknown", subopt),
|
||||
subopt,
|
||||
suboptlen));
|
||||
bp += len;
|
||||
len = 0;
|
||||
break;
|
||||
}
|
||||
ND_PRINT((ndo, "\n\t %s SubOption %u, length %u: ",
|
||||
tok2str(agent_suboption_values, "Unknown", subopt),
|
||||
subopt,
|
||||
suboptlen));
|
||||
tok2str(agent_suboption_values, "Unknown", subopt),
|
||||
subopt,
|
||||
suboptlen));
|
||||
switch (subopt) {
|
||||
|
||||
case AGENT_SUBOPTION_CIRCUIT_ID: /* fall through */
|
||||
@ -914,16 +912,16 @@ rfc1048_print(netdissect_options *ndo,
|
||||
|
||||
len -= suboptlen;
|
||||
bp += suboptlen;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case TAG_CLASSLESS_STATIC_RT:
|
||||
case TAG_CLASSLESS_STA_RT_MS:
|
||||
{
|
||||
{
|
||||
u_int mask_width, significant_octets, i;
|
||||
|
||||
/* this option should be at least 5 bytes long */
|
||||
if (len < 5) {
|
||||
if (len < 5) {
|
||||
ND_PRINT((ndo, "ERROR: length < 5 bytes"));
|
||||
bp += len;
|
||||
len = 0;
|
||||
@ -936,7 +934,7 @@ rfc1048_print(netdissect_options *ndo,
|
||||
len--;
|
||||
/* mask_width <= 32 */
|
||||
if (mask_width > 32) {
|
||||
ND_PRINT((ndo, "[ERROR: Mask width (%d) > 32]", mask_width));
|
||||
ND_PRINT((ndo, "[ERROR: Mask width (%d) > 32]", mask_width));
|
||||
bp += len;
|
||||
len = 0;
|
||||
break;
|
||||
@ -944,7 +942,7 @@ rfc1048_print(netdissect_options *ndo,
|
||||
significant_octets = (mask_width + 7) / 8;
|
||||
/* significant octets + router(4) */
|
||||
if (len < significant_octets + 4) {
|
||||
ND_PRINT((ndo, "[ERROR: Remaining length (%u) < %u bytes]", len, significant_octets + 4));
|
||||
ND_PRINT((ndo, "[ERROR: Remaining length (%u) < %u bytes]", len, significant_octets + 4));
|
||||
bp += len;
|
||||
len = 0;
|
||||
break;
|
||||
@ -968,15 +966,15 @@ rfc1048_print(netdissect_options *ndo,
|
||||
len -= (significant_octets + 4);
|
||||
first = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
case TAG_USER_CLASS:
|
||||
{
|
||||
{
|
||||
u_int suboptnumber = 1;
|
||||
|
||||
first = 1;
|
||||
if (len < 2) {
|
||||
if (len < 2) {
|
||||
ND_PRINT((ndo, "ERROR: length < 2 bytes"));
|
||||
bp += len;
|
||||
len = 0;
|
||||
@ -1010,12 +1008,12 @@ rfc1048_print(netdissect_options *ndo,
|
||||
len -= suboptlen;
|
||||
bp += suboptlen;
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
ND_PRINT((ndo, "[unknown special tag %u, size %u]",
|
||||
tag, len));
|
||||
tag, len));
|
||||
bp += len;
|
||||
len = 0;
|
||||
break;
|
||||
@ -1035,7 +1033,7 @@ trunc:
|
||||
|
||||
static void
|
||||
cmu_print(netdissect_options *ndo,
|
||||
register const u_char *bp)
|
||||
register const u_char *bp)
|
||||
{
|
||||
register const struct cmu_vend *cmu;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user