version 1.44, 2019/06/28 13:35:04 |
version 1.45, 2019/10/17 21:54:29 |
|
|
} |
} |
|
|
void |
void |
tb_print_ugid(u_int8_t op, unsigned u1, unsigned u2, |
tb_print_ugid(u_int8_t op, id_t i1, id_t i2, const char *t) |
const char *t, unsigned umax) |
|
{ |
{ |
char a1[11], a2[11]; |
char a1[11], a2[11]; |
|
|
snprintf(a1, sizeof(a1), "%u", u1); |
snprintf(a1, sizeof(a1), "%u", i1); |
snprintf(a2, sizeof(a2), "%u", u2); |
snprintf(a2, sizeof(a2), "%u", i2); |
|
|
tbprintf("%s ", t); |
tbprintf("%s ", t); |
if (u1 == umax && (op == PF_OP_EQ || op == PF_OP_NE)) |
if (i1 == -1 && (op == PF_OP_EQ || op == PF_OP_NE)) |
tb_print_op(op, "unknown", a2); |
tb_print_op(op, "unknown", a2); |
else |
else |
tb_print_op(op, a1, a2); |
tb_print_op(op, a1, a2); |
|
|
|
|
if (pr->uid.op) |
if (pr->uid.op) |
tb_print_ugid(pr->uid.op, pr->uid.uid[0], pr->uid.uid[1], |
tb_print_ugid(pr->uid.op, pr->uid.uid[0], pr->uid.uid[1], |
"user", UID_MAX); |
"user"); |
if (pr->gid.op) |
if (pr->gid.op) |
tb_print_ugid(pr->gid.op, pr->gid.gid[0], pr->gid.gid[1], |
tb_print_ugid(pr->gid.op, pr->gid.gid[0], pr->gid.gid[1], |
"group", GID_MAX); |
"group"); |
|
|
if (pr->action == PF_PASS && |
if (pr->action == PF_PASS && |
(pr->proto == 0 || pr->proto == IPPROTO_TCP) && |
(pr->proto == 0 || pr->proto == IPPROTO_TCP) && |