diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2006-12-11 16:31:36 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2006-12-11 16:31:36 +0000 |
commit | 7ccdcd3c5ea86264604d56b0d8b94ac6cc5d3e68 (patch) | |
tree | 41d6ecb2d6f1df3addc39470ea93e84da099ab78 | |
parent | 6a7bb2c07326f91cbb8a1c0874495dccf321b47c (diff) |
If the peer rejects my MRU request and our request is smaller then what
the peer accepts, set the MRU anyway. Smaller packets are always accepted.
From brian@FreeBSD via brad@ ok canacar@
-rw-r--r-- | usr.sbin/ppp/ppp/lcp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/ppp/ppp/lcp.c b/usr.sbin/ppp/ppp/lcp.c index d06b60500e9..ceb578c79e1 100644 --- a/usr.sbin/ppp/ppp/lcp.c +++ b/usr.sbin/ppp/ppp/lcp.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $OpenBSD: lcp.c,v 1.41 2005/07/17 19:13:24 brad Exp $ + * $OpenBSD: lcp.c,v 1.42 2006/12/11 16:31:35 claudio Exp $ */ #include <sys/param.h> @@ -790,6 +790,9 @@ LcpDecodeConfig(struct fsm *fp, u_char *cp, u_char *end, int mode_type, break; case MODE_REJ: lcp->his_reject |= (1 << opt->hdr.id); + /* Set the MRU to what we want anyway - the peer won't care! */ + if (lcp->his_mru > lcp->want_mru) + lcp->his_mru = lcp->want_mru; break; } break; |