cf98743fb3
In hijacking mode (CAPIFLAG_HIGHJACKING), a PTY master/slave pair is created to pass data back and forth between the application and mISDNcapid. However, there is a small time window between creating the PTY slave and the application opening the PTY slave. If a B3 data connection is established before the application has opened the PTY slave, and B3 data is received and written to the PTY master end, it is immediately read back by the B3 data receiver thread (BCthread), which then sends the data back to the original sender, causing a loopback. This e.g. happens when the application is the PPP daemon pppd which has been configured to not send any data until it receives a valid LCP packet ("silent" option). In order to fix this, an additional flag called tty_received remembers whether the B3 data receiver thread has already read data from the PTY at least once. Only if this is the case B3 data is written to the PTY master end, otherwise it is discarded as there is no potential receiver at the PTY slave end yet. This effectively avoids any loopback situations due to an unconnected PTY slave end. Signed-off-by: Christoph Schulz <develop@kristov.de> |
||
---|---|---|
bridge | ||
capi20 | ||
example | ||
guitools | ||
include | ||
l1oip | ||
lib | ||
tools | ||
.cvsignore | ||
.gitignore | ||
45-misdn.rules.in | ||
AUTHORS | ||
COPYING.LIB | ||
CodeStyle | ||
GNUmakefile | ||
INSTALL | ||
LICENSE | ||
Makefile.am | ||
NEWS | ||
README | ||
_config.yml | ||
acinclude.m4 | ||
checkout-branch.sh | ||
configure.ac | ||
mISDNuser.spec |
README
This package contain the libmisdn library and some utilities for the mISDN version 2 Linux ISDN stack. To build it you need the GNU autotools: automake autoconf libtools You can create the files automatically with running make. After this run ./configure with your options and make again.