View | Details | Raw Unified | Return to bug 143504
Collapse All | Expand All

(-)base/stable/7/contrib/pf/authpf/authpf.c (-2 / +6 lines)
Lines 788-801 authpf_kill_states(void) Link Here
788
{
788
{
789
	struct pfioc_state_kill	psk;
789
	struct pfioc_state_kill	psk;
790
	struct pf_addr target;
790
	struct pf_addr target;
791
	sa_family_t saf;        /* safe AF_INET family */
791
792
792
	memset(&psk, 0, sizeof(psk));
793
	memset(&psk, 0, sizeof(psk));
793
	memset(&target, 0, sizeof(target));
794
	memset(&target, 0, sizeof(target));
794
795
795
	if (inet_pton(AF_INET, ipsrc, &target.v4) == 1)
796
	if (inet_pton(AF_INET, ipsrc, &target.v4) == 1)
796
		psk.psk_af = AF_INET;
797
		psk.psk_af = saf = AF_INET;
797
	else if (inet_pton(AF_INET6, ipsrc, &target.v6) == 1)
798
	else if (inet_pton(AF_INET6, ipsrc, &target.v6) == 1)
798
		psk.psk_af = AF_INET6;
799
		psk.psk_af = saf = AF_INET6;
799
	else {
800
	else {
800
		syslog(LOG_ERR, "inet_pton(%s) failed", ipsrc);
801
		syslog(LOG_ERR, "inet_pton(%s) failed", ipsrc);
801
		return;
802
		return;
Lines 809-814 authpf_kill_states(void) Link Here
809
	if (ioctl(dev, DIOCKILLSTATES, &psk))
810
	if (ioctl(dev, DIOCKILLSTATES, &psk))
810
		syslog(LOG_ERR, "DIOCKILLSTATES failed (%m)");
811
		syslog(LOG_ERR, "DIOCKILLSTATES failed (%m)");
811
812
813
	/* restore AF_INET, since it contains now the Nr. of killed states */
814
	psk.psk_af = saf;
815
812
	/* Kill all states to ipsrc */
816
	/* Kill all states to ipsrc */
813
	memset(&psk.psk_src, 0, sizeof(psk.psk_src));
817
	memset(&psk.psk_src, 0, sizeof(psk.psk_src));
814
	memcpy(&psk.psk_dst.addr.v.a.addr, &target,
818
	memcpy(&psk.psk_dst.addr.v.a.addr, &target,

Return to bug 143504