--- p0f-query.c.orig 2006-09-06 14:24:41.000000000 +0200 +++ p0f-query.c 2008-04-08 01:24:45.000000000 +0200 @@ -148,9 +148,8 @@ struct cache_data* cur = *c + SUBMOD(cur_c-i,QUERY_CACHE); if (cur->sad == q->src_ad && - cur->dad == q->dst_ad && - ( wild ? ((cur->ports & 0xffff) == q->dst_port) : - (cur->ports == (q->src_port << 16) + q->dst_port))) { + ( wild || (cur->dad == q->dst_ad && + cur->ports == (q->src_port << 16) + q->dst_port))) { struct p0f_response* n = &cur->s; n->magic = QUERY_MAGIC; n->type = RESP_OK;