* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-#define NETDISSECT_REWORKED
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ip6.h"
#endif
-#include "interface.h"
+#include "netdissect.h"
#include "extract.h"
+#include "ascii_strcasecmp.h"
+
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
* All rights reserved.
int esp_print_decrypt_buffer_by_ikev2(netdissect_options *ndo,
int initiator,
u_char spii[8], u_char spir[8],
- u_char *buf, u_char *end)
+ const u_char *buf, const u_char *end)
{
struct sa_list *sa;
- u_char *iv;
+ const u_char *iv;
int len;
EVP_CIPHER_CTX ctx;
}
*colon = '\0';
- if(strcasecmp(colon,"sha1") == 0 ||
- strcasecmp(colon,"md5") == 0) {
+ if(ascii_strcasecmp(colon,"sha1") == 0 ||
+ ascii_strcasecmp(colon,"md5") == 0) {
sa->authlen = 12;
}
return 1;
} else
decode = line;
- if (spikey && strcasecmp(spikey, "file") == 0) {
+ if (spikey && ascii_strcasecmp(spikey, "file") == 0) {
/* open file and read it */
FILE *secretfile;
char fileline[1024];
- int lineno=0;
+ int subfile_lineno=0;
char *nl;
char *filename = line;
}
while (fgets(fileline, sizeof(fileline)-1, secretfile) != NULL) {
- lineno++;
+ subfile_lineno++;
/* remove newline from the line */
nl = strchr(fileline, '\n');
if (nl)
if (fileline[0] == '#') continue;
if (fileline[0] == '\0') continue;
- esp_print_decode_onesecret(ndo, fileline, filename, lineno);
+ esp_print_decode_onesecret(ndo, fileline, filename, subfile_lineno);
}
fclose(secretfile);
return;
}
- if (spikey && strcasecmp(spikey, "ikev2") == 0) {
+ if (spikey && ascii_strcasecmp(spikey, "ikev2") == 0) {
esp_print_decode_ikeline(ndo, line, file, lineno);
return;
}
register const struct newesp *esp;
register const u_char *ep;
#ifdef HAVE_LIBCRYPTO
- struct ip *ip;
+ const struct ip *ip;
struct sa_list *sa = NULL;
#ifdef INET6
- struct ip6_hdr *ip6 = NULL;
+ const struct ip6_hdr *ip6 = NULL;
#endif
int advance;
int len;
u_char *secret;
int ivlen = 0;
- u_char *ivoff;
- u_char *p;
+ const u_char *ivoff;
+ const u_char *p;
EVP_CIPHER_CTX ctx;
#endif
- esp = (struct newesp *)bp;
+ esp = (const struct newesp *)bp;
#ifdef HAVE_LIBCRYPTO
secret = NULL;
/* 'ep' points to the end of available data. */
ep = ndo->ndo_snapend;
- if ((u_char *)(esp + 1) >= ep) {
+ if ((const u_char *)(esp + 1) >= ep) {
ND_PRINT((ndo, "[|ESP]"));
goto fail;
}
if (ndo->ndo_sa_list_head == NULL)
goto fail;
- ip = (struct ip *)bp2;
+ ip = (const struct ip *)bp2;
switch (IP_V(ip)) {
#ifdef INET6
case 6:
- ip6 = (struct ip6_hdr *)bp2;
+ ip6 = (const struct ip6_hdr *)bp2;
/* we do not attempt to decrypt jumbograms */
if (!EXTRACT_16BITS(&ip6->ip6_plen))
goto fail;
ep = bp2 + len;
}
- ivoff = (u_char *)(esp + 1) + 0;
+ ivoff = (const u_char *)(esp + 1) + 0;
ivlen = sa->ivlen;
secret = sa->secret;
ep = ep - sa->authlen;
EVP_CipherInit(&ctx, NULL, NULL, p, 0);
EVP_Cipher(&ctx, p + ivlen, p + ivlen, ep - (p + ivlen));
EVP_CIPHER_CTX_cleanup(&ctx);
- advance = ivoff - (u_char *)esp + ivlen;
+ advance = ivoff - (const u_char *)esp + ivlen;
} else
advance = sizeof(struct newesp);