| 989 | } |
| 990 | |
| 991 | static void |
| 992 | pf_hash_rule(MD5_CTX *ctx, struct pf_krule *rule) |
| 993 | { |
| 994 | u_int16_t x; |
| 995 | u_int32_t y; |
| 996 | |
| 997 | pf_hash_rule_addr(ctx, &rule->src); |
| 998 | pf_hash_rule_addr(ctx, &rule->dst); |
| 999 | PF_MD5_UPD_STR(rule, label); |
| 1000 | PF_MD5_UPD_STR(rule, ifname); |
| 1001 | PF_MD5_UPD_STR(rule, match_tagname); |
| 1002 | PF_MD5_UPD_HTONS(rule, match_tag, x); /* dup? */ |
| 1003 | PF_MD5_UPD_HTONL(rule, os_fingerprint, y); |
| 1004 | PF_MD5_UPD_HTONL(rule, prob, y); |
| 1005 | PF_MD5_UPD_HTONL(rule, uid.uid[0], y); |
| 1006 | PF_MD5_UPD_HTONL(rule, uid.uid[1], y); |
| 1007 | PF_MD5_UPD(rule, uid.op); |
| 1008 | PF_MD5_UPD_HTONL(rule, gid.gid[0], y); |
| 1009 | PF_MD5_UPD_HTONL(rule, gid.gid[1], y); |
| 1010 | PF_MD5_UPD(rule, gid.op); |
| 1011 | PF_MD5_UPD_HTONL(rule, rule_flag, y); |
| 1012 | PF_MD5_UPD(rule, action); |
| 1013 | PF_MD5_UPD(rule, direction); |
| 1014 | PF_MD5_UPD(rule, af); |
| 1015 | PF_MD5_UPD(rule, quick); |
| 1016 | PF_MD5_UPD(rule, ifnot); |
| 1017 | PF_MD5_UPD(rule, match_tag_not); |
| 1018 | PF_MD5_UPD(rule, natpass); |
| 1019 | PF_MD5_UPD(rule, keep_state); |
| 1020 | PF_MD5_UPD(rule, proto); |
| 1021 | PF_MD5_UPD(rule, type); |
| 1022 | PF_MD5_UPD(rule, code); |
| 1023 | PF_MD5_UPD(rule, flags); |
| 1024 | PF_MD5_UPD(rule, flagset); |
| 1025 | PF_MD5_UPD(rule, allow_opts); |
| 1026 | PF_MD5_UPD(rule, rt); |
| 1027 | PF_MD5_UPD(rule, tos); |
| 1028 | } |
| 1029 | |
| 1030 | static int |
| 1031 | pf_commit_rules(u_int32_t ticket, int rs_num, char *anchor) |
no test coverage detected