Deleted Added
full compact
pfctl.c (126354) pfctl.c (126355)
1/* $FreeBSD: head/contrib/pf/pfctl/pfctl.c 126355 2004-02-28 17:32:53Z mlaier $ */
1/* $OpenBSD: pfctl.c,v 1.188 2003/08/29 21:47:36 cedric Exp $ */
2
3/*
4 * Copyright (c) 2001 Daniel Hartmeier
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 22 unchanged lines hidden (view full) ---

31 */
32
33#include <sys/types.h>
34#include <sys/ioctl.h>
35#include <sys/socket.h>
36
37#include <net/if.h>
38#include <netinet/in.h>
2/* $OpenBSD: pfctl.c,v 1.188 2003/08/29 21:47:36 cedric Exp $ */
3
4/*
5 * Copyright (c) 2001 Daniel Hartmeier
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

--- 22 unchanged lines hidden (view full) ---

32 */
33
34#include <sys/types.h>
35#include <sys/ioctl.h>
36#include <sys/socket.h>
37
38#include <net/if.h>
39#include <netinet/in.h>
40#if defined(__FreeBSD__)
41#include <inttypes.h>
42#include <net/route.h>
43#else
44#define PRIu64 "llu"
45#endif
39#include <net/pfvar.h>
40#include <arpa/inet.h>
41#include <altq/altq.h>
42
43#include <err.h>
44#include <errno.h>
45#include <fcntl.h>
46#include <limits.h>

--- 142 unchanged lines hidden (view full) ---

189}
190
191int
192pfctl_enable(int dev, int opts)
193{
194 if (ioctl(dev, DIOCSTART)) {
195 if (errno == EEXIST)
196 errx(1, "pf already enabled");
46#include <net/pfvar.h>
47#include <arpa/inet.h>
48#include <altq/altq.h>
49
50#include <err.h>
51#include <errno.h>
52#include <fcntl.h>
53#include <limits.h>

--- 142 unchanged lines hidden (view full) ---

196}
197
198int
199pfctl_enable(int dev, int opts)
200{
201 if (ioctl(dev, DIOCSTART)) {
202 if (errno == EEXIST)
203 errx(1, "pf already enabled");
204#if defined(__FreeBSD__)
205 else if (errno == ESRCH)
206 errx(1, "pfil registeration failed");
207#endif
197 else
198 err(1, "DIOCSTART");
199 }
200 if ((opts & PF_OPT_QUIET) == 0)
201 fprintf(stderr, "pf enabled\n");
202
203 if (altqsupport && ioctl(dev, DIOCSTARTALTQ))
204 if (errno != EEXIST)

--- 333 unchanged lines hidden (view full) ---

538 printf("%u ", rule->skip[i].nr);
539 }
540 printf("]\n");
541
542 printf(" [ queue: qname=%s qid=%u pqname=%s pqid=%u ]\n",
543 rule->qname, rule->qid, rule->pqname, rule->pqid);
544 }
545 if (opts & PF_OPT_VERBOSE)
208 else
209 err(1, "DIOCSTART");
210 }
211 if ((opts & PF_OPT_QUIET) == 0)
212 fprintf(stderr, "pf enabled\n");
213
214 if (altqsupport && ioctl(dev, DIOCSTARTALTQ))
215 if (errno != EEXIST)

--- 333 unchanged lines hidden (view full) ---

549 printf("%u ", rule->skip[i].nr);
550 }
551 printf("]\n");
552
553 printf(" [ queue: qname=%s qid=%u pqname=%s pqid=%u ]\n",
554 rule->qname, rule->qid, rule->pqname, rule->pqid);
555 }
556 if (opts & PF_OPT_VERBOSE)
546 printf(" [ Evaluations: %-8llu Packets: %-8llu "
547 "Bytes: %-10llu States: %-6u]\n",
557 printf(" [ Evaluations: %-8"PRIu64" Packets: %-8"PRIu64" "
558 "Bytes: %-10"PRIu64" States: %-6u]\n",
548 rule->evaluations, rule->packets,
549 rule->bytes, rule->states);
550}
551
552int
553pfctl_show_rules(int dev, int opts, int format, char *anchorname,
554 char *rulesetname)
555{

--- 47 unchanged lines hidden (view full) ---

603 if (pfctl_get_pool(dev, &pr.rule.rpool,
604 nr, pr.ticket, PF_SCRUB, anchorname, rulesetname) != 0)
605 return (-1);
606
607 switch (format) {
608 case 1:
609 if (pr.rule.label[0]) {
610 printf("%s ", pr.rule.label);
559 rule->evaluations, rule->packets,
560 rule->bytes, rule->states);
561}
562
563int
564pfctl_show_rules(int dev, int opts, int format, char *anchorname,
565 char *rulesetname)
566{

--- 47 unchanged lines hidden (view full) ---

614 if (pfctl_get_pool(dev, &pr.rule.rpool,
615 nr, pr.ticket, PF_SCRUB, anchorname, rulesetname) != 0)
616 return (-1);
617
618 switch (format) {
619 case 1:
620 if (pr.rule.label[0]) {
621 printf("%s ", pr.rule.label);
611 printf("%llu %llu %llu\n",
622 printf("%"PRIu64" %"PRIu64" %"PRIu64"\n",
612 pr.rule.evaluations, pr.rule.packets,
613 pr.rule.bytes);
614 }
615 break;
616 default:
617 print_rule(&pr.rule, rule_numbers);
618 pfctl_print_rule_counters(&pr.rule, opts);
619 }

--- 15 unchanged lines hidden (view full) ---

635 if (pfctl_get_pool(dev, &pr.rule.rpool,
636 nr, pr.ticket, PF_PASS, anchorname, rulesetname) != 0)
637 return (-1);
638
639 switch (format) {
640 case 1:
641 if (pr.rule.label[0]) {
642 printf("%s ", pr.rule.label);
623 pr.rule.evaluations, pr.rule.packets,
624 pr.rule.bytes);
625 }
626 break;
627 default:
628 print_rule(&pr.rule, rule_numbers);
629 pfctl_print_rule_counters(&pr.rule, opts);
630 }

--- 15 unchanged lines hidden (view full) ---

646 if (pfctl_get_pool(dev, &pr.rule.rpool,
647 nr, pr.ticket, PF_PASS, anchorname, rulesetname) != 0)
648 return (-1);
649
650 switch (format) {
651 case 1:
652 if (pr.rule.label[0]) {
653 printf("%s ", pr.rule.label);
643 printf("%llu %llu %llu\n",
654 printf("%"PRIu64" %"PRIu64" %"PRIu64"\n",
644 pr.rule.evaluations, pr.rule.packets,
645 pr.rule.bytes);
646 }
647 break;
648 default:
649 print_rule(&pr.rule, rule_numbers);
650 pfctl_print_rule_counters(&pr.rule, opts);
651 }

--- 565 unchanged lines hidden (view full) ---

1217 if ((opts & PF_OPT_QUIET) == 0)
1218 fprintf(stderr, "pf: rule counters cleared\n");
1219 return (0);
1220}
1221
1222int
1223pfctl_test_altqsupport(int dev, int opts)
1224{
655 pr.rule.evaluations, pr.rule.packets,
656 pr.rule.bytes);
657 }
658 break;
659 default:
660 print_rule(&pr.rule, rule_numbers);
661 pfctl_print_rule_counters(&pr.rule, opts);
662 }

--- 565 unchanged lines hidden (view full) ---

1228 if ((opts & PF_OPT_QUIET) == 0)
1229 fprintf(stderr, "pf: rule counters cleared\n");
1230 return (0);
1231}
1232
1233int
1234pfctl_test_altqsupport(int dev, int opts)
1235{
1236#if defined(__FreeBSD__) && !defined(ENABLE_ALTQ)
1237 return (0);
1238#else
1225 struct pfioc_altq pa;
1226
1227 if (ioctl(dev, DIOCGETALTQS, &pa)) {
1228 if (errno == ENODEV) {
1229 if (!(opts & PF_OPT_QUIET))
1230 fprintf(stderr, "No ALTQ support in kernel\n"
1231 "ALTQ related functions disabled\n");
1232 return (0);
1233 } else
1234 err(1, "DIOCGETALTQS");
1235 }
1236 return (1);
1239 struct pfioc_altq pa;
1240
1241 if (ioctl(dev, DIOCGETALTQS, &pa)) {
1242 if (errno == ENODEV) {
1243 if (!(opts & PF_OPT_QUIET))
1244 fprintf(stderr, "No ALTQ support in kernel\n"
1245 "ALTQ related functions disabled\n");
1246 return (0);
1247 } else
1248 err(1, "DIOCGETALTQS");
1249 }
1250 return (1);
1251#endif
1237}
1238
1239int
1240pfctl_show_anchors(int dev, int opts, char *anchorname)
1241{
1242 u_int32_t nr, mnr;
1243
1244 if (!*anchorname) {

--- 226 unchanged lines hidden (view full) ---

1471 dev = open("/dev/pf", mode);
1472 if (dev == -1)
1473 err(1, "/dev/pf");
1474 altqsupport = pfctl_test_altqsupport(dev, opts);
1475 } else {
1476 /* turn off options */
1477 opts &= ~ (PF_OPT_DISABLE | PF_OPT_ENABLE);
1478 clearopt = showopt = debugopt = NULL;
1252}
1253
1254int
1255pfctl_show_anchors(int dev, int opts, char *anchorname)
1256{
1257 u_int32_t nr, mnr;
1258
1259 if (!*anchorname) {

--- 226 unchanged lines hidden (view full) ---

1486 dev = open("/dev/pf", mode);
1487 if (dev == -1)
1488 err(1, "/dev/pf");
1489 altqsupport = pfctl_test_altqsupport(dev, opts);
1490 } else {
1491 /* turn off options */
1492 opts &= ~ (PF_OPT_DISABLE | PF_OPT_ENABLE);
1493 clearopt = showopt = debugopt = NULL;
1494#if defined(__FreeBSD__) && !defined(ENABLE_ALTQ)
1495 altqsupport = 0;
1496#else
1479 altqsupport = 1;
1497 altqsupport = 1;
1498#endif
1480 }
1481
1482 if (opts & PF_OPT_DISABLE)
1483 if (pfctl_disable(dev, opts))
1484 error = 1;
1485
1486 if (showopt != NULL) {
1487 switch (*showopt) {

--- 139 unchanged lines hidden ---
1499 }
1500
1501 if (opts & PF_OPT_DISABLE)
1502 if (pfctl_disable(dev, opts))
1503 error = 1;
1504
1505 if (showopt != NULL) {
1506 switch (*showopt) {

--- 139 unchanged lines hidden ---