Lines Matching full:find
347 /* Find a fingerprint in the list */
349 pf_osfp_find(struct pf_osfp_list *list, struct pf_os_fingerprint *find, in pf_osfp_find() argument
357 if (f->_field != find->_field) \ in pf_osfp_find()
360 if (f->_field == 0 || find->_field % f->_field) \ in pf_osfp_find()
366 if (f->fp_tcpopts != find->fp_tcpopts || in pf_osfp_find()
367 f->fp_optcnt != find->fp_optcnt || in pf_osfp_find()
368 f->fp_ttl < find->fp_ttl || in pf_osfp_find()
369 f->fp_ttl - find->fp_ttl > ttldiff || in pf_osfp_find()
371 (find->fp_flags & (PF_OSFP_DF|PF_OSFP_TS0))) in pf_osfp_find()
379 if (find->fp_mss == 0) in pf_osfp_find()
387 if ((find->fp_wsize % find->fp_mss || in pf_osfp_find()
388 find->fp_wsize / find->fp_mss != in pf_osfp_find()
390 (find->fp_wsize % SMART_MSS || in pf_osfp_find()
391 find->fp_wsize / SMART_MSS != in pf_osfp_find()
395 if (find->fp_mss == 0) in pf_osfp_find()
400 if ((find->fp_wsize % (find->fp_mss + MTUOFF) || in pf_osfp_find()
401 find->fp_wsize / (find->fp_mss + MTUOFF) != in pf_osfp_find()
403 (find->fp_wsize % SMART_MTU || in pf_osfp_find()
404 find->fp_wsize / SMART_MTU != in pf_osfp_find()
408 if (f->fp_wsize == 0 || find->fp_wsize % in pf_osfp_find()
412 if (f->fp_wsize != find->fp_wsize) in pf_osfp_find()
422 /* Find an exact fingerprint in the list */
424 pf_osfp_find_exact(struct pf_osfp_list *list, struct pf_os_fingerprint *find) in pf_osfp_find_exact() argument
429 if (f->fp_tcpopts == find->fp_tcpopts && in pf_osfp_find_exact()
430 f->fp_wsize == find->fp_wsize && in pf_osfp_find_exact()
431 f->fp_psize == find->fp_psize && in pf_osfp_find_exact()
432 f->fp_mss == find->fp_mss && in pf_osfp_find_exact()
433 f->fp_flags == find->fp_flags && in pf_osfp_find_exact()
434 f->fp_optcnt == find->fp_optcnt && in pf_osfp_find_exact()
435 f->fp_wscale == find->fp_wscale && in pf_osfp_find_exact()
436 f->fp_ttl == find->fp_ttl) in pf_osfp_find_exact()
494 struct pf_os_fingerprint *f, *f2, find; in pf_osfp_validate() local
497 memcpy(&find, f, sizeof(find)); in pf_osfp_validate()
500 if (find.fp_mss == 0) in pf_osfp_validate()
501 find.fp_mss = 128; in pf_osfp_validate()
503 find.fp_wsize *= find.fp_mss; in pf_osfp_validate()
505 find.fp_wsize *= (find.fp_mss + 40); in pf_osfp_validate()
507 find.fp_wsize *= 2; in pf_osfp_validate()
508 if (f != (f2 = pf_osfp_find(&V_pf_osfp_list, &find, 0))) { in pf_osfp_validate()
519 printf("Couldn't find \"%s %s %s\"\n", in pf_osfp_validate()