ppp

Chris Pitchford ofono at intrepid.cx
Thu Nov 12 11:39:40 PST 2009


On Thu, 12 Nov 2009, Denis Kenzior wrote:

>
> Unfortunately it is not that simple.  pppd requires a proper kernel file
> descriptor to hand off to the kernel ppp line discipline.  In our userspace
> implementation that is not the case.  1 kernel file descriptor is shared by
> potentially many GAtChat channels using a multiplexing protocol.  Hence why we
> can't reuse the kernel implementation.
>

Not sure how relevant this is, but many many years ago (1997) I used a 
"telnet modem" to circumvent a firewall. It was a user land process that 
presented a fake /dev/modem which I used using pppd and chat..

My machine was behind a firewall with a telnet proxy.. Using the software 
+ pppd + chat, it was set up along the lines:

start telnet modem which presented a /dev/modem.. start pppd using 
/dev/modem:

ATDT 1.2.3.4
CONNECT 1.2.3.4
the-telnet-proxy>
telnet my.host 23
connected to my.host:23
login:
mypppuser
password:
mypassword
end of chat script... start pppd

In this situation, pppd and the kernel device would have been 
communicating with a local userland process. The TCP connection to 1.2.3.4 
created by the telnet modem could not have been used by the ppp interface 
as the telnet modem was passing the streams in either direction 
essentially joining the fd of the telnet connection and fd used by pppd..

I'm not sure if the requirements of ppp in the kernel have chagned, but 
couldn't something like this be repeated in this situation.. allowing pppd 
to speak to a local socket/fifo/pair of pipes that is terminated in user 
space?

I'll see if I can drag the code out to see what it actually did.. and 
even better see if I can get it to work on a 2.6 kernel!!





More information about the ofono mailing list