aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorNick Hibma <n_hibma@FreeBSD.org>2012-10-12 22:48:33 +0000
committerNick Hibma <n_hibma@FreeBSD.org>2012-10-12 22:48:33 +0000
commitb79d36786c03f20a5f891f8961324183b02671f8 (patch)
treed6cc977a4cc199a74c42906353ea56075eec5aed /usr.sbin
parent64d8b0b4727284ec402a354dc26fe4fa05a207ff (diff)
downloadsrc-b79d36786c03f20a5f891f8961324183b02671f8.tar.gz
src-b79d36786c03f20a5f891f8961324183b02671f8.zip
Some 3G modems return the wrong signature in echo packets and make it
impossible to use LQR/ECHO. They return want_magic instead. With this change it is now possible to use enable lqr set lqrperiod 5 enable echo set echoperiod 5 in your ppp.conf file. MFC after: 3 days
Notes
Notes: svn path=/head/; revision=241496
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ppp/lqr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/ppp/lqr.c b/usr.sbin/ppp/lqr.c
index 7aca17a13064..7ce1513d1fcc 100644
--- a/usr.sbin/ppp/lqr.c
+++ b/usr.sbin/ppp/lqr.c
@@ -108,7 +108,8 @@ lqr_RecvEcho(struct fsm *fp, struct mbuf *bp)
* die as a result.
*/
}
- if (lqr.signature == SIGNATURE) {
+ if (lqr.signature == SIGNATURE
+ || lqr.signature == lcp->want_magic) { /* some implementations return the wrong magic */
/* careful not to update lqm.echo.seq_recv with older values */
if ((hdlc->lqm.echo.seq_recv > (u_int32_t)0 - 5 && lqr.sequence < 5) ||
(hdlc->lqm.echo.seq_recv <= (u_int32_t)0 - 5 &&