3e86158156
The PPP Daemon is the userland part of the Point-to-Point Protocol. It works in combination with a dedicated kernel network interface usually named ppp. PPP is a very extensible protocol and pppd supports a large number of options, including compression (through various algorithms), cryptography (Microsoft's MPPE) and authentication (PAP, CHAP, Microsoft CHAP), provided the kernel has the relevant back-ends in some cases.
30 lines
995 B
Text
30 lines
995 B
Text
$NetBSD: patch-an,v 1.1.1.1 2005/01/02 02:51:42 cube Exp $
|
|
|
|
--- pppd/demand.c.orig 2004-11-04 11:02:26.000000000 +0100
|
|
+++ pppd/demand.c
|
|
@@ -100,7 +100,8 @@ demand_conf()
|
|
fatal("Couldn't set up demand-dialled PPP interface: %m");
|
|
|
|
#ifdef PPP_FILTER
|
|
- set_filters(&pass_filter, &active_filter);
|
|
+ set_filters(&pass_filter_in, &pass_filter_out,
|
|
+ &active_filter_in, &active_filter_out);
|
|
#endif
|
|
|
|
/*
|
|
@@ -341,11 +342,11 @@ active_packet(p, len)
|
|
return 0;
|
|
proto = PPP_PROTOCOL(p);
|
|
#ifdef PPP_FILTER
|
|
- if (pass_filter.bf_len != 0
|
|
- && bpf_filter(pass_filter.bf_insns, p, len, len) == 0)
|
|
+ if (pass_filter_out.bf_len != 0
|
|
+ && bpf_filter(pass_filter_out.bf_insns, p, len, len) == 0)
|
|
return 0;
|
|
- if (active_filter.bf_len != 0
|
|
- && bpf_filter(active_filter.bf_insns, p, len, len) == 0)
|
|
+ if (active_filter_out.bf_len != 0
|
|
+ && bpf_filter(active_filter_out.bf_insns, p, len, len) == 0)
|
|
return 0;
|
|
#endif
|
|
for (i = 0; (protp = protocols[i]) != NULL; ++i) {
|