Commit Graph

1577 Commits

Author SHA1 Message Date
Brian Somers
2c4f649f50 Document that ppp handles pipe(2) descriptors specially in -direct mode.
MFC after:	3 days
2009-08-25 07:52:09 +00:00
Brian Somers
887ff31f06 When ``ppp -direct'' is invoked by a program that uses pipe(2) to
create stdin and stdout, don't blindly try to use stdin as a bi-directional
channel.  Instead, detect the pipe and set up a special exec handler
that indirects write() calls through stdout.

This fixes the problem where ``set device "!ssh -e none host ppp
-direct label"'' no longer works with an openssh-5.2 server side as
that version of openssh ignores the USE_PIPES config setting and
*always* uses pipes (rather than socketpair) for stdin/stdout channels.

MFC after:	3 days
2009-08-24 17:19:45 +00:00
Brian Somers
c5e246d446 When realloc()ing device memory for transfer to another ppp process,
don't continue to use the realloc()d pointer - it might have changed!

Remove some stray diagnostics while I'm here.

MFC after:	3 days
2009-08-24 17:18:17 +00:00
Brian Somers
8e41399c8f Don't get stuck in an infinite loop comparing (short++ <= maxshort)
PR:		136893
Submitted by:	Aragon Gouveia - aragon at phat dot za dot net (mostly)
Approved by:	re (kib)
MFC after:	3 weeks
2009-07-19 19:01:30 +00:00
Brian Somers
559bfa18dc Add a missing phrase.
Submitted by:	Jason McIntyre jmc at kerhand dot co dot uk
Approved by:	re (kib)
Obtained from:	OpenBSD
MFC after:	3 weeks
2009-07-05 16:55:57 +00:00
Brian Somers
096d622d17 Fix a race that can stall the timer when we remove a timer that has another
timer with a <0.05 second delta next to it.

This is done by avoiding the possibility of updating the first residual
time delta in the timer list to zero.

PR:		102747
Submitted by:	Sergey Zaharchenko - doublef-ctm at yandex dot ru
MFC after:	3 weeks
2009-05-26 07:32:08 +00:00
Bjoern A. Zeeb
0e81959d3a Conditionally add the interface name and address if available
so that a ppp running in `receiver' (server) mode can properly
update routes, for example to update the MTU.

Submitted by:	loos.br gmail.com (Luiz Otavio O Souza)
PR:		bin/130159
PR:		kern/125079, kern/122068, bin/126892
MFC after:	3 days
2009-04-20 14:38:48 +00:00
Bjoern A. Zeeb
0fb550caba While we currently still seem to have a gateway address, for future
stability, check for gw to be set before adding the flag and the address
to the routing message.

r186308, backed out in r191305, already tried to do that, and in addition
ignore AF_LINK types of gateway addresses to work around a problem that
r167797 had introduced on the kernel side always setting RTF_GATEWAY if a
gateway address was passed into the kernel.
The proper solution for this is still under discussion so I am hesitant to
re-add the special AF_LINK treatment for now.

MFC after:	3 days
2009-04-20 11:51:35 +00:00
Bjoern A. Zeeb
16f37cbd72 Back out r186308:
in case of AF_LINK, which the kernel still returns for an RTAX_GATEWAY
as an empty sockaddr_dl in the classic tun<n> case.
Copying the address into the message payload, but not the RTA_GATEWAY
flag results in rt_xaddrs() in the kernel tripping over that and parsing
the next attribute set with a flag, i.e. RTA_NETMASK, with the gateway
address, resulting in bogus route entry.

MFC after:	3 days
2009-04-20 11:22:51 +00:00
Bjoern A. Zeeb
1de22c3b3e In case the peer address was already configured on the interface
we were not properly handling proxy arp. Make sure we (try to) add
the proxy arp entry/entries in this case as well.

PR:		bin/131250
Submitted by:	loos.br gmail.com (Luiz Otavio O Souza)
MFC after:	3 days
2009-04-13 17:57:12 +00:00
Qing Li
e657c679e1 The ppp application relies on the if_tun interface to properly
install a p2p host route between the end points. The ppp module
upates this router based on user configuration later on. The
rt_Update() seems to always set the RTF_GATEWAY flag, which is
broken.
2008-12-19 01:37:20 +00:00
Qing Li
6e6b3f7cbc This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
   possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
  the last piece of the puzzle, Kip has also been conducting
  active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
  provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
  me maintaining that branch before the svn conversion
2008-12-15 06:10:57 +00:00
Ed Schouten
0fbccea207 Make ppp use <termios.h>, not <sys/tty.h>.
ppp's physical.c is filled with calls to termios. For some reason, it
includes <sys/tty.h>, not <termios.h>. Even though this works with the
current version of FreeBSD, we'd better follow the standards.

Approved by:	philip (mentor)
2008-06-05 17:46:32 +00:00
Bjoern A. Zeeb
2e598474fa Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and
parts relied on the now removed NET_NEEDS_GIANT.
Most of I4B has been disconnected from the build
since July 2007 in HEAD/RELENG_7.

This is what was removed:
- configuration in /etc/isdn
- examples
- man pages
- kernel configuration
- sys/i4b (drivers, layers, include files)
- user space tools
- i4b support from ppp
- further documentation

Discussed with: rwatson, re
2008-05-26 10:40:09 +00:00
Paolo Pisati
a5625ae749 Update to the "new" libalias API (and thus fix world breakage). 2008-03-12 14:34:34 +00:00
Dag-Erling Smørgrav
2947657928 Revert previous commit and fix OpenPAM issue properly. 2007-12-22 19:29:32 +00:00
Kip Macy
1ed67f13e4 Fix/workaround build breakage caused by PAM import
struct pam_conv takes a void * for the appdata_ptr  but is being passed
a const char * - explicitly cast away the const
2007-12-21 21:47:19 +00:00
John Birrell
16e790da5a Use uintptr_t to cast a pointer to an integer to avoid compiler warnings
on processors where sizeof(void *) > sizeof(int).
2007-11-17 23:14:06 +00:00
Bjoern A. Zeeb
ec8fa4cfd9 I4B header files are now installed in include/i4b/ and no longer
in include/machine/.

Adapt #include paths.

Approved by:	re (kensmith)
2007-07-06 07:21:56 +00:00
Christian Brueffer
2d0225ec1a Cleanup after previous commit. 2007-05-25 16:05:17 +00:00
Roman Bogorodskiy
d4d4a70a35 Add a new option for ppp.conf: rad_port_id. It allows to
change the way of what ppp submits to the RADIUS server
as NAS-Port-Id. Possible options are: the PID of the process
owning the corresponding interface, tun(4) interface number,
interface index (as it would get returned by if_nametoindex(3)),
or it's possible to keep the default behavior. Check the ppp(8)
manual page for details.

PR:		bin/112764
Submitted by:	novel (myself)
Reviewed by:	flz
Approved by:	flz
MFC after:	1 month
2007-05-25 13:45:49 +00:00
Hajimu UMEMOTO
a404ab168e Check the return value from rad_cvt_ipv6prefix().
PR:		bin/89808
MFC after:	1 week
2007-03-01 16:13:56 +00:00
Bernd Walter
f219cbb721 MFp4: struct fsm_opt_hdr needs to be __packed as it is used as an array for
handling wire data
	This is required to get ppp working on arm.
2007-01-05 00:33:00 +00:00
Hajimu UMEMOTO
bba6dc1d5b Listen to a control socket on an IPv4 as well through
an IPv4-mapped IPv6 address.

Reported by:	Julian H. Stacey <jhs__at__flat.berklix.net>
Test by:	Julian H. Stacey <jhs__at__flat.berklix.net>
MFC after:	1 week
2006-09-18 03:50:30 +00:00
Brian Somers
e5bec77751 Remove leading zeros
Suggested by:	mdoc police (ru)
2006-09-06 15:58:59 +00:00
Brian Somers
d398d50285 Remove __DATE__ so that compiling the same source produces the same binary
(for non-static binaries at least).
2006-09-06 06:33:39 +00:00
Brian Somers
3026fd06ca If the peer REJects our MRU request and that request is for a value
less than the current MTU, set our mtu to the value requested.
2006-09-06 06:23:55 +00:00
Ruslan Ermilov
e1fe3dba5c Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
Brian Somers
add176cd53 Fix a typo
Obtained from:	OpenBSD
2005-09-22 11:18:30 +00:00
Brian Somers
343427d174 Remove this file as it's mostly out of date. Up-to-date info such as
the program's origin is already in the man page.

Update requested by:	Xavier Venient & Jason McIntyre
2005-09-12 11:20:07 +00:00
Hajimu UMEMOTO
4f10131848 NI_WITHSCOPEID cleanup. Neither RFC 2553 nor RFC 3493 defines
NI_WITHSCOPEID, and our getaddrinfo(3) does nothing special
for it, now.
2005-05-13 16:31:11 +00:00
Brian Somers
fc1e80d469 The kernel doesn't need to include a tun device - the module will be loaded
on demand if required.
2005-05-06 16:13:32 +00:00
Jesus R. Camou
cebee7e48e Update the manual page for ppp(8).
PR:		docs/78605
Submitted by:	John E. Hein <jhein@timing.com>
Approved by:	trhodes (mentor)
MFC after:	1 day
2005-04-28 22:31:37 +00:00
Brian Somers
8ff1207b33 Be concerned about huge callback numbers by truncating them rather than
scribbling past the end of our buffer.

Problem spotted by:	Damien COUDERC couderc at openbsd dot org
2005-02-15 10:59:54 +00:00
Ruslan Ermilov
36a142c455 Expand contractions. 2005-02-13 23:45:54 +00:00
Ruslan Ermilov
0227791b40 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
Brian Somers
23417e56ea Use the correct length when copying trailing data!!
PR:		77104
Submitted by:	Martin Birgmeier martin at email dot aon dot at
MFC after:	3 days
2005-02-08 10:38:24 +00:00
Brian Somers
880447787d Add a radius_Flush() function that waits for the response (or timeout) to
any pending RADIUS transaction.  Use this before sending RAD_STOP RADIUS
messages so that we definitely ``stop'' the session.

It was discovered that sometimes when the link timed out, we got lucky
enough to have an un-ACK'd RADIUS accounting transaction in progress,
resulting in the RAD_STOP message failing to send.

Original report found on:	A russion news group
Text translated by:		glebius
Tested by:			Alexey Popov llp at iteranet dot com
MFC after:			7 days
2005-01-27 14:09:33 +00:00
Ruslan Ermilov
3ac17feb8a Fixed xref. 2005-01-21 10:48:35 +00:00
Ruslan Ermilov
1a74e6a157 Scheduled mdoc(7) sweep. 2005-01-11 11:47:22 +00:00
Brian Somers
ec91ed9155 Use the standard BSD copyright as per OpenBSD and /sys/net/slcompress* 2005-01-10 11:47:17 +00:00
Brian Somers
00d9db0314 Cast unsigned variables to int 2005-01-10 11:12:36 +00:00
Brian Somers
50be714be3 ifr_flagshigh is FreeBSD specific 2005-01-10 11:12:10 +00:00
Brian Somers
eb1ecbb230 Integrate some OpenBSD alignment fixes. This hopefully also fixes PR 38058...
Obtained from:	Brad <brad@comstyle.com>
2005-01-10 09:48:51 +00:00
Ruslan Ermilov
b5b0bba4df NOPAM -> NO_PAM 2004-12-21 12:49:24 +00:00
Ruslan Ermilov
dd991de030 Overhaul ppp(8) build options so they are safe to use in
/etc/make.conf:

NOALIAS -> retired (support provided by PPP_NO_NAT)
NOATM -> PPP_NO_ATM (also subject to NO_ATM global)
NODES -> PPP_NO_DES (support was broken, now recovered)
NOI4B -> PPP_NO_I4B (also subject to NO_I4B global)
NOKLDLOAD -> PPP_NO_KLDLOAD
NONAT -> PPP_NO_NAT
NONETGRAPH -> PPP_NO_NETGRAPH
NOPAM -> PPP_NO_PAM (will be subject to NO_PAM global)
NORADIUS -> PPP_NO_RADIUS
NOSUID -> retired (support provided by PPP_NO_SUID)
PPP_NOSUID -> PPP_NO_SUID
2004-12-21 12:01:15 +00:00
Ruslan Ermilov
564299ef5f The C define is NONAT. 2004-12-21 11:12:05 +00:00
Ruslan Ermilov
731db6a428 NOINET6 -> NO_INET6 2004-12-21 10:49:29 +00:00
Ruslan Ermilov
a216173556 NOCRYPT -> NO_CRYPT 2004-12-21 10:16:04 +00:00
Ruslan Ermilov
07736e20e9 NOATM -> NO_ATM 2004-12-21 09:08:06 +00:00