fix ipproto keyword negation case - bug #340

remotes/origin/master-1.1.x
Anoop Saldanha 14 years ago committed by Victor Julien
parent 79c329f81b
commit caf450d325

@ -202,7 +202,7 @@ static int DetectIPProtoSetup(DetectEngineCtx *de_ctx, Signature *s, char *optst
s->proto.proto[data->proto/8] |= 1 << (data->proto%8);
break;
case DETECT_IPPROTO_OP_GT:
s->proto.proto[data->proto/8] |= 0xff << (data->proto%8);
s->proto.proto[data->proto/8] |= 0xfe << (data->proto%8);
for (i = (data->proto/8) + 1; i < (256/8); i++) {
s->proto.proto[i] = 0xff;
}
@ -214,7 +214,13 @@ static int DetectIPProtoSetup(DetectEngineCtx *de_ctx, Signature *s, char *optst
s->proto.proto[data->proto/8] |= ~(0xff << (data->proto%8));
break;
case DETECT_IPPROTO_OP_NOT:
s->proto.proto[data->proto/8] &= ~(1 << (data->proto%8));
for (i = 0; i < (data->proto / 8); i++) {
s->proto.proto[i] = 0xff;
}
s->proto.proto[data->proto / 8] |= ~(1 << (data->proto % 8));
for (i = (data->proto / 8) + 1; i < (256 / 8); i++) {
s->proto.proto[i] = 0xff;
}
break;
}
#if DEBUG

Loading…
Cancel
Save