63 lines
1.3 KiB
C
63 lines
1.3 KiB
C
/*
|
|
* discard
|
|
* Written in 2020-2021 by Lucas
|
|
* CC0 1.0 Universal/Public domain - No rights reserved
|
|
*
|
|
* To the extent possible under law, the author(s) have dedicated all
|
|
* copyright and related and neighboring rights to this software to the
|
|
* public domain worldwide. This software is distributed without any
|
|
* warranty. You should have received a copy of the CC0 Public Domain
|
|
* Dedication along with this software. If not, see
|
|
* <http://creativecommons.org/publicdomain/zero/1.0/>.
|
|
*/
|
|
|
|
#include <err.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
|
|
static void
|
|
usage(void)
|
|
{
|
|
fprintf(stderr, "Usage: %s -t | -u\n", getprogname());
|
|
exit(1);
|
|
}
|
|
|
|
int
|
|
main(int argc, char *argv[])
|
|
{
|
|
const char *port = NULL;
|
|
int ch, do_tcp, do_udp;
|
|
|
|
do_tcp = do_udp = 0;
|
|
while ((ch = getopt(argc, argv, "tu")) != -1) {
|
|
switch (ch) {
|
|
case 't':
|
|
do_tcp = 1;
|
|
break;
|
|
case 'u':
|
|
do_udp = 1;
|
|
break;
|
|
default:
|
|
usage();
|
|
}
|
|
}
|
|
argc -= optind;
|
|
argv += optind;
|
|
|
|
port = geteuid() == 0 ? "discard" : "9999";
|
|
|
|
if (argc > 0)
|
|
usage();
|
|
if (!do_tcp && !do_udp)
|
|
errx(1, "one of -t or -u is needed");
|
|
if (do_tcp && do_udp)
|
|
errx(1, "-t and -u are mutually exclusive");
|
|
if (do_udp)
|
|
errx(1, "UDP unimplemented");
|
|
if (do_tcp)
|
|
errx(1, "TCP unimplemented");
|
|
|
|
return 0;
|
|
}
|