diff options
author | joerg <joerg@FreeBSD.org> | 2001-12-26 22:00:13 +0000 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 2001-12-26 22:00:13 +0000 |
commit | df14212885dee723bc4b97cd9667e230fa19a8f0 (patch) | |
tree | c928b9ead52e8c85c6cff939d28f4b9a66aa2f0e /sys/net | |
parent | 32d91b30d9111333596a67421839d385fac08eb7 (diff) | |
download | FreeBSD-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.c | 26 |
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: /* |