|
|
|
@ -82,6 +82,7 @@ void *ParsePcapConfig(const char *iface)
|
|
|
|
|
ConfNode *pcap_node;
|
|
|
|
|
PcapIfaceConfig *aconf = SCMalloc(sizeof(*aconf));
|
|
|
|
|
char *tmpbpf;
|
|
|
|
|
char *tmpctype;
|
|
|
|
|
intmax_t value;
|
|
|
|
|
|
|
|
|
|
if (iface == NULL) {
|
|
|
|
@ -100,6 +101,7 @@ void *ParsePcapConfig(const char *iface)
|
|
|
|
|
aconf->buffer_size = value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
aconf->checksum_mode = CHECKSUM_VALIDATION_ENABLE;
|
|
|
|
|
aconf->bpf_filter = NULL;
|
|
|
|
|
if ((ConfGet("bpf-filter", &tmpbpf)) == 1) {
|
|
|
|
|
aconf->bpf_filter = tmpbpf;
|
|
|
|
@ -143,6 +145,23 @@ void *ParsePcapConfig(const char *iface)
|
|
|
|
|
SCLogInfo("BPF filter set from command line or via old 'bpf-filter' option.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (ConfGetChildValue(if_root, "checksum-checks", &tmpctype) != 1) {
|
|
|
|
|
SCLogError(SC_ERR_INVALID_ARGUMENT, "Could not get checksum-checks from config");
|
|
|
|
|
} else {
|
|
|
|
|
if (strcmp(tmpctype, "auto") == 0) {
|
|
|
|
|
SCLogError(SC_ERR_INVALID_ARGUMENT,"'auto' mode is currently not supported");
|
|
|
|
|
/*
|
|
|
|
|
aconf->checksum_mode = CHECKSUM_VALIDATION_AUTO;
|
|
|
|
|
*/
|
|
|
|
|
} else if (strcmp(tmpctype, "yes") == 0) {
|
|
|
|
|
aconf->checksum_mode = CHECKSUM_VALIDATION_ENABLE;
|
|
|
|
|
} else if (strcmp(tmpctype, "no") == 0) {
|
|
|
|
|
aconf->checksum_mode = CHECKSUM_VALIDATION_DISABLE;
|
|
|
|
|
} else {
|
|
|
|
|
SCLogError(SC_ERR_INVALID_ARGUMENT, "Invalid value for checksum-checks for %s", aconf->iface);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return aconf;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|