Lines Matching refs:ndo
82 static void esp_print_addsa(netdissect_options *ndo, in esp_print_addsa() argument
91 (*ndo->ndo_error)(ndo, "ran out of memory to allocate sa structure"); in esp_print_addsa()
96 ndo->ndo_sa_default = nsa; in esp_print_addsa()
98 nsa->next = ndo->ndo_sa_list_head; in esp_print_addsa()
99 ndo->ndo_sa_list_head = nsa; in esp_print_addsa()
103 static u_int hexdigit(netdissect_options *ndo, char hex) in hexdigit() argument
112 (*ndo->ndo_error)(ndo, "invalid hex digit %c in espsecret\n", hex); in hexdigit()
117 static u_int hex2byte(netdissect_options *ndo, char *hexstring) in hex2byte() argument
121 byte = (hexdigit(ndo, hexstring[0]) << 4) + hexdigit(ndo, hexstring[1]); in hex2byte()
132 static void esp_print_decode_onesecret(netdissect_options *ndo, char *line) in esp_print_decode_onesecret() argument
174 esp_print_decode_onesecret(ndo, fileline); in esp_print_decode_onesecret()
193 (*ndo->ndo_warning)(ndo, "print_esp: failed to decode spi# %s\n", foo); in esp_print_decode_onesecret()
215 (*ndo->ndo_warning)(ndo, "print_esp: can not decode IP# %s\n", spikey); in esp_print_decode_onesecret()
234 (*ndo->ndo_warning)(ndo, "failed to decode espsecret: %s\n", decode); in esp_print_decode_onesecret()
254 (*ndo->ndo_warning)(ndo, "failed to find cipher algo %s\n", decode); in esp_print_decode_onesecret()
272 (*ndo->ndo_warning)(ndo, "secret is too big: %d\n", len); in esp_print_decode_onesecret()
278 espsecret_key[i] = hex2byte(ndo, colon); in esp_print_decode_onesecret()
298 esp_print_addsa(ndo, &sa1, sa_def); in esp_print_decode_onesecret()
301 static void esp_print_decodesecret(netdissect_options *ndo) in esp_print_decodesecret() argument
306 p = ndo->ndo_espsecret; in esp_print_decodesecret()
308 while (ndo->ndo_espsecret && ndo->ndo_espsecret[0] != '\0') { in esp_print_decodesecret()
310 if ((line = strsep(&ndo->ndo_espsecret, "\n,")) == NULL) { in esp_print_decodesecret()
311 line = ndo->ndo_espsecret; in esp_print_decodesecret()
312 ndo->ndo_espsecret = NULL; in esp_print_decodesecret()
315 esp_print_decode_onesecret(ndo, line); in esp_print_decodesecret()
319 static void esp_init(netdissect_options *ndo _U_) in esp_init()
328 esp_print(netdissect_options *ndo, in esp_print() argument
372 esp_init(ndo); in esp_print()
383 ep = ndo->ndo_snapend; in esp_print()
389 (*ndo->ndo_printf)(ndo, "ESP(spi=0x%08x", EXTRACT_32BITS(&esp->esp_spi)); in esp_print()
390 (*ndo->ndo_printf)(ndo, ",seq=0x%x)", EXTRACT_32BITS(&esp->esp_seq)); in esp_print()
391 (*ndo->ndo_printf)(ndo, ", length %u", length); in esp_print()
397 if (ndo->ndo_sa_list_head == NULL) { in esp_print()
398 if (!ndo->ndo_espsecret) in esp_print()
401 esp_print_decodesecret(ndo); in esp_print()
404 if (ndo->ndo_sa_list_head == NULL) in esp_print()
419 for (sa = ndo->ndo_sa_list_head; sa != NULL; sa = sa->next) { in esp_print()
437 for (sa = ndo->ndo_sa_list_head; sa != NULL; sa = sa->next) { in esp_print()
454 sa = ndo->ndo_sa_default; in esp_print()
477 (*ndo->ndo_warning)(ndo, "espkey init failed"); in esp_print()
498 (ndo->ndo_printf)(ndo, ": "); in esp_print()