summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>2001-12-26 22:00:13 +0000
committerjoerg <joerg@FreeBSD.org>2001-12-26 22:00:13 +0000
commitdf14212885dee723bc4b97cd9667e230fa19a8f0 (patch)
treec928b9ead52e8c85c6cff939d28f4b9a66aa2f0e /sys/net
parent32d91b30d9111333596a67421839d385fac08eb7 (diff)
downloadFreeBSD-src-df14212885dee723bc4b97cd9667e230fa19a8f0.zip
FreeBSD-src-df14212885dee723bc4b97cd9667e230fa19a8f0.tar.gz
Ignore (and silently conf-ack) conf-reqs for an Async-Control-
Character-Map. RFC 1662 demands it for the sake of async to sync PPP protocol converters (like Win9* :). This merges rev 1.26/1.27 of the old i4b sppp changes.
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/if_spppsubr.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c
index 0fcb0e5..440b32d 100644
--- a/sys/net/if_spppsubr.c
+++ b/sys/net/if_spppsubr.c
@@ -2214,17 +2214,21 @@ sppp_lcp_RCR(struct sppp *sp, struct lcp_header *h, int len)
break;
case LCP_OPT_ASYNC_MAP:
- /* Async control character map -- check to be zero. */
- if (! p[2] && ! p[3] && ! p[4] && ! p[5]) {
- if (debug)
- log(-1, "[empty] ");
- continue;
- }
- if (debug)
- log(-1, "[non-empty] ");
- /* suggest a zero one */
- p[2] = p[3] = p[4] = p[5] = 0;
- break;
+ /*
+ * Async control character map -- just ignore it.
+ *
+ * Quote from RFC 1662, chapter 6:
+ * To enable this functionality, synchronous PPP
+ * implementations MUST always respond to the
+ * Async-Control-Character-Map Configuration
+ * Option with the LCP Configure-Ack. However,
+ * acceptance of the Configuration Option does
+ * not imply that the synchronous implementation
+ * will do any ACCM mapping. Instead, all such
+ * octet mapping will be performed by the
+ * asynchronous-to-synchronous converter.
+ */
+ continue;
case LCP_OPT_MRU:
/*
OpenPOWER on IntegriCloud