Lines Matching defs:ndo

90 int esp_print_decrypt_buffer_by_ikev2(netdissect_options *ndo,
104 for (sa = ndo->ndo_sa_list_head; sa != NULL; sa = sa->next) {
128 (*ndo->ndo_warning)(ndo, "espkey init failed");
133 ndo->ndo_packetp = buf;
134 ndo->ndo_snapend = end;
140 static void esp_print_addsa(netdissect_options *ndo,
149 (*ndo->ndo_error)(ndo, "ran out of memory to allocate sa structure");
154 ndo->ndo_sa_default = nsa;
156 nsa->next = ndo->ndo_sa_list_head;
157 ndo->ndo_sa_list_head = nsa;
161 static u_int hexdigit(netdissect_options *ndo, char hex)
170 (*ndo->ndo_error)(ndo, "invalid hex digit %c in espsecret\n", hex);
175 static u_int hex2byte(netdissect_options *ndo, char *hexstring)
179 byte = (hexdigit(ndo, hexstring[0]) << 4) + hexdigit(ndo, hexstring[1]);
187 int espprint_decode_hex(netdissect_options *ndo,
197 (*ndo->ndo_warning)(ndo, "secret is too big: %d\n", len);
203 binbuf[i] = hex2byte(ndo, hex);
216 espprint_decode_encalgo(netdissect_options *ndo,
227 (*ndo->ndo_warning)(ndo, "failed to decode espsecret: %s\n", decode);
248 (*ndo->ndo_warning)(ndo, "failed to find cipher algo %s\n", decode);
264 sa->secretlen = espprint_decode_hex(ndo, sa->secret, sizeof(sa->secret), colon);
286 espprint_decode_authalgo(netdissect_options *ndo,
293 (*ndo->ndo_warning)(ndo, "failed to decode espsecret: %s\n", decode);
305 static void esp_print_decode_ikeline(netdissect_options *ndo, char *line,
325 (*ndo->ndo_warning)(ndo, "print_esp: failed to find all fields for ikev2 at %s:%u",
339 (*ndo->ndo_warning)(ndo, "print_esp: line %s:%u improperly formatted.",
342 (*ndo->ndo_warning)(ndo, "init=%s icookie=%s(%u) rcookie=%s(%u)",
350 if(espprint_decode_hex(ndo, sa1.spii, sizeof(sa1.spii), icookie+2)!=8)
353 if(espprint_decode_hex(ndo, sa1.spir, sizeof(sa1.spir), rcookie+2)!=8)
356 if(!espprint_decode_encalgo(ndo, enckey, &sa1)) return;
358 if(!espprint_decode_authalgo(ndo, authkey, &sa1)) return;
360 esp_print_addsa(ndo, &sa1, FALSE);
369 static void esp_print_decode_onesecret(netdissect_options *ndo, char *line,
415 esp_print_decode_onesecret(ndo, fileline, filename, lineno);
423 esp_print_decode_ikeline(ndo, line, file, lineno);
440 (*ndo->ndo_warning)(ndo, "print_esp: failed to decode spi# %s\n", foo);
462 (*ndo->ndo_warning)(ndo, "print_esp: can not decode IP# %s\n", spikey);
472 if(!espprint_decode_encalgo(ndo, decode, &sa1)) {
477 esp_print_addsa(ndo, &sa1, sa_def);
480 static void esp_init(netdissect_options *ndo _U_)
487 void esp_print_decodesecret(netdissect_options *ndo)
494 esp_init(ndo);
498 p = ndo->ndo_espsecret;
507 esp_print_decode_onesecret(ndo, line, "cmdline", 0);
510 ndo->ndo_espsecret = NULL;
516 esp_print(netdissect_options *ndo,
565 ep = ndo->ndo_snapend;
571 (*ndo->ndo_printf)(ndo, "ESP(spi=0x%08x", EXTRACT_32BITS(&esp->esp_spi));
572 (*ndo->ndo_printf)(ndo, ",seq=0x%x)", EXTRACT_32BITS(&esp->esp_seq));
573 (*ndo->ndo_printf)(ndo, ", length %u", length);
579 if (ndo->ndo_sa_list_head == NULL) {
580 if (!ndo->ndo_espsecret)
583 esp_print_decodesecret(ndo);
586 if (ndo->ndo_sa_list_head == NULL)
601 for (sa = ndo->ndo_sa_list_head; sa != NULL; sa = sa->next) {
619 for (sa = ndo->ndo_sa_list_head; sa != NULL; sa = sa->next) {
636 sa = ndo->ndo_sa_default;
659 (*ndo->ndo_warning)(ndo, "espkey init failed");
681 (ndo->ndo_printf)(ndo, ": ");