Osmocom fork of mISDNuser, contains some local fixes which we are also submitting upstream. Also contains a CVS import with better author name/mail annotation than upstream ('cvsimport' branch)
Go to file
Christoph Schulz cf98743fb3 mISDNcapid: ignore incoming B3 data packets until PTY slave sent data
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>
2017-02-27 17:47:59 +01:00
bridge Fix: misdn_bridge now activates correct interface when L1 is down 2012-12-21 22:16:32 +01:00
capi20 mISDNcapid: ignore incoming B3 data packets until PTY slave sent data 2017-02-27 17:47:59 +01:00
example testlayer1: polling sockets faster, sleep after bind, etc 2016-06-30 14:29:43 +02:00
guitools Remove autogenerated files 2012-08-02 12:46:39 +02:00
include decode and encode functions for notification indicator information element 2012-11-14 14:19:01 +01:00
l1oip More warning fixes 2012-09-13 14:45:47 +02:00
lib Always close socket in error cases 2014-09-22 01:41:30 +02:00
tools Convert tools sources to codestyle 2015-08-02 16:35:49 +02:00
.cvsignore Initial revision 2003-08-27 07:33:02 +00:00
.gitignore ignore ar-lib 2014-10-03 16:58:34 +02:00
45-misdn.rules.in Install a udev rules file for mISDN 2011-12-06 17:27:41 +01:00
AUTHORS Use GNU autotools 2010-02-11 17:01:00 +01:00
COPYING.LIB license 2005-06-10 07:45:02 +00:00
CodeStyle Some code style helper 2011-10-29 13:53:00 +02:00
GNUmakefile Silence the Makefile tests 2012-08-03 09:11:10 +02:00
INSTALL Remove autogenerated files 2012-08-02 12:46:39 +02:00
LICENSE license 2005-06-10 07:45:02 +00:00
Makefile.am Fix references to source tree in VPATH builds 2012-05-30 18:48:58 +02:00
NEWS Version 2.0.2 2010-02-17 18:48:02 +01:00
README Remove autogenerated files 2012-08-02 12:46:39 +02:00
_config.yml Set theme jekyll-theme-merlot 2017-02-26 19:58:40 +01:00
acinclude.m4 Install a udev rules file for mISDN 2011-12-06 17:27:41 +01:00
checkout-branch.sh fixed checkout-branch script 2007-06-15 15:15:35 +02:00
configure.ac Create the socket directory on runtime 2016-03-29 12:31:22 +02:00
mISDNuser.spec Restructure directories 2011-09-21 15:30:40 +02:00

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.