Messages in this thread | | | Subject | Re: PPP bug | From | (Andrew Snare) | Date | 08 Feb 1999 15:11:55 +1100 |
| |
>>>>> "Dick" == Richard B Johnson <root@chaos.analogic.com> writes:
Dick> The +++ sequence in a packet can't affect the modem because Dick> you need at least 500ms (lowest you can set it) of quiet after Dick> the sequence to change its mode. The data strings will never Dick> be the last thing sent, so you can't get 500ms between Dick> characters no matter how hard you try.
This is partially true. Unfortunately (I believe) Hayes patented the idea of there having to be a pause before and after the +++ sequence, and some manufacturers (namely Rockwell) simply look for any +++ sequence as a break sequence regardless of timing. Experience is that roughly 40% of people on IRC are susceptible to this problem, so these modems are fairly wide-spread. To test a host (with permission, of-course:) use:
% ping -p 2b2b2b415448300d <hostname>
If it replies, the host is fine. If it doesn't, it's got a faulty modem. This was all covered in depth a while back on the Bugtraq mailing lists (search the geek-girl archives... I think "Old school DoS" was the subject). The only solution if you've got one of these modems is to change break character from + to something else, or (preferably) disable it entirely with AT S2=255. An interesting side-effect of the bug is that you can "patch" people's modems for them if they're buggy with something like (untested):
% ping -p 2b2b2b415453323d323535204f300d
- Andrew -- #!/usr/bin/env python print(lambda s:s+"("+`s`+")")\ ('#!/usr/bin/env python\012print(lambda s:s+"("+`s`+")")\\\012') print(lambda x:x%`x`)('print(lambda x:x%%`x`)(%s)') [unhandled content-type:application/pgp-signature] | |