Esempio n. 1
0
/*
 * Drop a tcp connection.
 */
int
main(int argc, char *argv[])
{
	char *lport, *fport;
	bool dropall;
	int ch;

	dropall = false;

	while ((ch = getopt(argc, argv, "al")) != -1) {
		switch (ch) {
		case 'a':
			dropall = true;
			break;
		case 'l':
			tcpdrop_list_commands = true;
			break;
		default:
			usage();
		}
	}
	argc -= optind;
	argv += optind;

	if (dropall) {
		if (argc != 0)
			usage();
		if (!tcpdropall())
			exit(1);
		exit(0);
	}

	if ((argc != 2 && argc != 4) || tcpdrop_list_commands)
		usage();

	if (argc == 2) {
		lport = findport(argv[0]);
		fport = findport(argv[1]);
		if (lport == NULL || lport[1] == '\0' || fport == NULL ||
		    fport[1] == '\0')
			usage();
		*lport++ = '\0';
		*fport++ = '\0';
		if (!tcpdropbyname(argv[0], lport, argv[1], fport))
			exit(1);
	} else if (!tcpdropbyname(argv[0], argv[1], argv[2], argv[3]))
		exit(1);

	exit(0);
}
Esempio n. 2
0
/*
 * Drop a tcp connection.
 */
int
main(int argc, char *argv[])
{
	bool dropall;
	int ch;

	dropall = false;

	while ((ch = getopt(argc, argv, "al")) != -1) {
		switch (ch) {
		case 'a':
			dropall = true;
			break;
		case 'l':
			tcpdrop_list_commands = true;
			break;
		default:
			usage();
		}
	}
	argc -= optind;
	argv += optind;

	if (dropall) {
		if (argc != 0)
			usage();
		if (!tcpdropall())
			exit(1);
		exit(0);
	}

	if (argc != 4 || tcpdrop_list_commands)
		usage();

	if (!tcpdropbyname(argv[0], argv[1], argv[2], argv[3]))
		exit(1);

	exit(0);
}