| Summary: | ppp(8) no more detects carrier lost | ||
|---|---|---|---|
| Product: | Base System | Reporter: | ru <ru> |
| Component: | bin | Assignee: | Brian Somers <brian> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 3.3-STABLE | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
ru
1999-10-06 22:40:01 UTC
On Thu, Oct 07, 1999 at 12:35:50AM +0300, ru@FreeBSD.ORG wrote: > > When either remote or local end drops a connection ungracefully, > e.g. by simply turning off the modem, ppp(8) does not detect the > carrier lost and continues occupy the link. Consequences are > obvious. No further logins could be made on this link, since > getty will not get control over this line. > Just to help Brian find the problem: The following version still detects carrier: # cd /usr/src/usr.sbin/ppp; cvs upd -D"08/06/1999 13:00:00 PDT" -P -d But the following (and further) do not: # cd /usr/src/usr.sbin/ppp; cvs upd -D"08/06/1999 13:05:00 PDT" -P -d So, the problem raised somewhere in the following commit: :brian 1999/08/06 13:04:09 PDT : : Modified files: : usr.sbin/ppp Makefile README.changes bundle.c ccp.c : datalink.c datalink.h deflate.c exec.c : hdlc.c ip.c link.c pap.c physical.c : physical.h ppp.8 tcp.c tty.c tun.c udp.c : vjcomp.c : Added files: : usr.sbin/ppp i4b.c i4b.h : Log: : Add ISDN support via isdnd & i4b. This requires version : 0.81.1 of the i4b code - namely support of the I4B_VR_REQ : ioctl via the i4brbchX device. : : Ppp controls the phone number, but idle timers and : SYNC/RAW decisions are still made by isdnd (in isdnd.rc). : : This involves a new datalink state machine phase. The : ``wait for carrier'' phase happens after dialing but : before logging in. The whole dial state should really : be abstracted so that each device type can deal with it : in its own way (thinking about PPPoE) - but that'll have : to wait. : : The ``set cd'' symantics remain the same for tty devices, : but we now delay until we either get CD or timeout waiting : (at which time we drop the link if we require CD). : : For i4b devices we always insist on carrier. : : Thanks to hm@ for his help, and especially for pointing out : that I *don't* need to re-implement isdnd (that was a huge : waste of time !) :-] : : Revision Changes Path : 1.56 +8 -2 src/usr.sbin/ppp/Makefile : 1.12 +2 -0 src/usr.sbin/ppp/README.changes : 1.60 +2 -3 src/usr.sbin/ppp/bundle.c : 1.51 +2 -2 src/usr.sbin/ppp/ccp.c : 1.43 +27 -6 src/usr.sbin/ppp/datalink.c : 1.8 +9 -7 src/usr.sbin/ppp/datalink.h : 1.15 +1 -3 src/usr.sbin/ppp/deflate.c : 1.7 +2 -16 src/usr.sbin/ppp/exec.c : 1.44 +1 -16 src/usr.sbin/ppp/hdlc.c : 1.68 +1 -3 src/usr.sbin/ppp/ip.c : 1.13 +1 -2 src/usr.sbin/ppp/link.c : 1.37 +2 -2 src/usr.sbin/ppp/pap.c : 1.20 +16 -5 src/usr.sbin/ppp/physical.c : 1.14 +14 -5 src/usr.sbin/ppp/physical.h : 1.188 +41 -10 src/usr.sbin/ppp/ppp.8 : 1.5 +2 -2 src/usr.sbin/ppp/tcp.c : 1.10 +63 -76 src/usr.sbin/ppp/tty.c : 1.16 +3 -1 src/usr.sbin/ppp/tun.c : 1.4 +2 -2 src/usr.sbin/ppp/udp.c : 1.32 +2 -2 src/usr.sbin/ppp/vjcomp.c -- Ruslan Ermilov Sysadmin and DBA of the ru@ucb.crimea.ua United Commercial Bank, ru@FreeBSD.org FreeBSD committer, +380.652.247.647 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age > >How-To-Repeat: > > 1. Make sure you have `set timeout 0'. > 2. Run ppp(8) in -direct mode with modem device. > 3. Turn off the modem (either on local or remote side). > 4. See ppp(8) will live forever. What does the debug log say about the links carrier status ? -- Brian <brian@Awfulhak.org> <brian@FreeBSD.org> <http://www.Awfulhak.org> <brian@OpenBSD.org> Don't _EVER_ lose your sense of humour ! <brian@FreeBSD.org.uk> As for the -STABLE, the following version still detects carrier:
# cd /usr/src/usr.sbin/ppp; cvs upd -rRELENG_3 -D"08/23/1999 14:59:00 PDT" -P -d
But the following (and further) do not:
# cd /usr/src/usr.sbin/ppp; cvs upd -rRELENG_3 -D"08/23/1999 15:00:00 PDT" -P -d
:brian 1999/08/23 14:59:56 PDT
:
: Modified files: (Branch: RELENG_3)
: usr.sbin/ppp Makefile README.changes alias_cmd.c
: alias_cmd.h arp.c async.c async.h auth.c
: bundle.c bundle.h cbcp.c cbcp.h ccp.c
: ccp.h chap.c chap.h chat.c chat.h
: command.c command.h datalink.c datalink.h
: deflate.c defs.c defs.h filter.c filter.h
: fsm.c fsm.h hdlc.c hdlc.h iface.c iface.h
: ip.c ip.h ipcp.c ipcp.h iplist.c lcp.c
: lcp.h link.c link.h log.c log.h lqr.c
: lqr.h main.c mbuf.c mbuf.h mp.c mp.h
: pap.c pap.h physical.c physical.h ppp.8
: pred.c prompt.c radius.c route.c
: slcompress.c systems.c throughput.c
: throughput.h timer.c tun.c vjcomp.c
: vjcomp.h
: Added files: (Branch: RELENG_3)
: usr.sbin/ppp acf.c acf.h exec.c exec.h i4b.c i4b.h
: layer.h proto.c proto.h sync.c sync.h
: tcp.c tcp.h tty.c tty.h udp.c udp.h
: Removed files: (Branch: RELENG_3)
: usr.sbin/ppp lcpproto.h modem.c modem.h
: Log:
: MFC: Abstract the physical device layer (``show modem'' is now ``show
: physical'').
: Support ``physical'' and ``sync'' logging.
: ``set weight'' -> ``set bandwidth'' and a ``set autoload'' rewrite.
: ``set cd'' and better carrier detection.
^^^^^^^^^^^^^^^^^^^^^^^^ :-)
: PPPoISDN support (.defined out in the Makefile as it's only
: functional with i4b-00.83.00 or better installed)
: PPPoUDP support
: -alias -> -nat
: Add -foreground and -quiet command lines switches
: Minimum idle timer support
: ``alias port'' range support
: Some alignment wrinkles ironed out
: Support for TUNSIFMODE and TUNSLMODE (if defined)
: Assorted throughput measurement improvements
: ``enable/disable keep-session'' support
: Adjust filter sets built with MYADDR and HISADDR when the IPs change
: Allow forward jumps in filter rules
: Support ospf filtering
: Better handing of ``no number'' CBCP REQs
: Handle file descriptor close-on-exec flags properly before exec()s
: Drop packets received when the current state is wrong
: Expand PROCESSID correctly when executing commands
: Add a new CARRIER phase (this is temporary - 'till ``set dial'' is
: abstracted and made device specific)
: Handle IPCP code rejects
: Support ``deny enddisc''
: Don't moan about group write permissions to ppp.conf
: More verbiage (now I'm making words up) in ``show mp''
: Show the correct `next' values in ``show timer''
: Plus an assortment of other minor changes
:
: Revision Changes Path
: 1.50.2.4 +20 -10 src/usr.sbin/ppp/Makefile
: 1.4.2.3 +13 -3 src/usr.sbin/ppp/README.changes
: 1.18.2.4 +173 -46 src/usr.sbin/ppp/alias_cmd.c
: 1.8.2.4 +7 -5 src/usr.sbin/ppp/alias_cmd.h
: 1.31.2.4 +3 -1 src/usr.sbin/ppp/arp.c
: 1.17.2.4 +48 -32 src/usr.sbin/ppp/async.c
: 1.4.2.1 +3 -3 src/usr.sbin/ppp/async.h
: 1.34.2.6 +7 -4 src/usr.sbin/ppp/auth.c
: 1.43.2.6 +241 -289 src/usr.sbin/ppp/bundle.c
: 1.20.2.4 +27 -26 src/usr.sbin/ppp/bundle.h
: 1.8.2.4 +39 -12 src/usr.sbin/ppp/cbcp.c
: 1.1.4.1 +2 -2 src/usr.sbin/ppp/cbcp.h
: 1.40.2.5 +69 -41 src/usr.sbin/ppp/ccp.c
: 1.19.2.4 +6 -6 src/usr.sbin/ppp/ccp.h
: 1.37.2.5 +49 -38 src/usr.sbin/ppp/chap.c
: 1.10.2.5 +2 -2 src/usr.sbin/ppp/chap.h
: 1.52.2.5 +38 -85 src/usr.sbin/ppp/chat.c
: 1.10.2.1 +1 -2 src/usr.sbin/ppp/chat.h
: 1.177.2.5 +173 -117 src/usr.sbin/ppp/command.c
: 1.15.2.4 +2 -2 src/usr.sbin/ppp/command.h
: 1.25.2.8 +52 -26 src/usr.sbin/ppp/datalink.c
: 1.5.4.4 +9 -7 src/usr.sbin/ppp/datalink.h
: 1.11.2.4 +22 -23 src/usr.sbin/ppp/deflate.c
: 1.17.2.5 +167 -1 src/usr.sbin/ppp/defs.c
: 1.36.2.5 +7 -4 src/usr.sbin/ppp/defs.h
: 1.26.2.4 +222 -101 src/usr.sbin/ppp/filter.c
: 1.13.2.4 +50 -36 src/usr.sbin/ppp/filter.h
: 1.37.2.4 +66 -72 src/usr.sbin/ppp/fsm.c
: 1.19.2.4 +2 -2 src/usr.sbin/ppp/fsm.h
: 1.36.2.4 +62 -284 src/usr.sbin/ppp/hdlc.c
: 1.15.2.3 +5 -4 src/usr.sbin/ppp/hdlc.h
: 1.2.4.4 +56 -2 src/usr.sbin/ppp/iface.c
: 1.1.4.1 +3 -1 src/usr.sbin/ppp/iface.h
: 1.54.2.4 +261 -259 src/usr.sbin/ppp/ip.c
: 1.11.2.1 +3 -3 src/usr.sbin/ppp/ip.h
: 1.68.2.6 +27 -30 src/usr.sbin/ppp/ipcp.c
: 1.22.2.4 +2 -2 src/usr.sbin/ppp/ipcp.h
: 1.7.2.1 +2 -1 src/usr.sbin/ppp/iplist.c
: 1.66.2.5 +23 -18 src/usr.sbin/ppp/lcp.c
: 1.19.2.4 +2 -2 src/usr.sbin/ppp/lcp.h
: 1.6.4.4 +181 -35 src/usr.sbin/ppp/link.c
: 1.4.4.1 +14 -6 src/usr.sbin/ppp/link.h
: 1.35.2.5 +29 -16 src/usr.sbin/ppp/log.c
: 1.23.2.1 +11 -9 src/usr.sbin/ppp/log.h
: 1.30.2.4 +161 -43 src/usr.sbin/ppp/lqr.c
: 1.13.2.1 +7 -3 src/usr.sbin/ppp/lqr.h
: 1.146.2.6 +81 -64 src/usr.sbin/ppp/main.c
: 1.22.2.4 +147 -55 src/usr.sbin/ppp/mbuf.c
: 1.14.2.3 +52 -18 src/usr.sbin/ppp/mbuf.h
: 1.17.4.5 +148 -47 src/usr.sbin/ppp/mp.c
: 1.4.4.1 +13 -4 src/usr.sbin/ppp/mp.h
: 1.27.2.6 +30 -20 src/usr.sbin/ppp/pap.c
: 1.6.2.6 +2 -2 src/usr.sbin/ppp/pap.h
: 1.7.2.2 +847 -67 src/usr.sbin/ppp/physical.c
: 1.5.2.4 +71 -31 src/usr.sbin/ppp/physical.h
: 1.142.2.9 +467 -265 src/usr.sbin/ppp/ppp.8
: 1.22.2.4 +14 -12 src/usr.sbin/ppp/pred.c
: 1.12.4.4 +2 -1 src/usr.sbin/ppp/prompt.c
: 1.4.2.5 +2 -1 src/usr.sbin/ppp/radius.c
: 1.54.2.4 +2 -1 src/usr.sbin/ppp/route.c
: 1.20.2.4 +5 -7 src/usr.sbin/ppp/slcompress.c
: 1.40.2.6 +3 -2 src/usr.sbin/ppp/systems.c
: 1.8.2.1 +123 -47 src/usr.sbin/ppp/throughput.c
: 1.5.2.1 +22 -13 src/usr.sbin/ppp/throughput.h
: 1.32.2.1 +15 -8 src/usr.sbin/ppp/timer.c
: 1.10.2.4 +10 -11 src/usr.sbin/ppp/tun.c
: 1.23.2.4 +45 -37 src/usr.sbin/ppp/vjcomp.c
: 1.6.2.1 +3 -3 src/usr.sbin/ppp/vjcomp.h
--
Ruslan Ermilov Sysadmin and DBA of the
ru@ucb.crimea.ua United Commercial Bank,
ru@FreeBSD.org FreeBSD committer,
+380.652.247.647 Simferopol, Ukraine
http://www.FreeBSD.org The Power To Serve
http://www.oracle.com Enabling The Information Age
Responsible Changed From-To: freebsd-bugs->brian Over to the maintainer. State Changed From-To: open->closed Fixed in -current. I'll mfc when **Ruslan** confirms it works on his end. |