Commit Graph

1425 Commits

Author SHA1 Message Date
kevlo
80dd636e8f Remove duplicated header files 2011-06-24 07:05:20 +00:00
brian
b1195ff906 Add "iface name" and "iface description" commands.
PR:		151400
Submitted by:	Aragon Gouveia - aragon at phat dot za dot net with minor fixes
MFC after:	3 weeks
2011-02-07 11:18:18 +00:00
glebius
c6383206ce Log if fopen() fails.
Reviewed by:	brian
2010-10-18 07:28:53 +00:00
n_hibma
1d31aa9c66 Bugfix: Reset the packet counters at the same time as the byte counts.
Reviewed by:	brian
MFC after:	3 weeks
2010-09-18 22:26:50 +00:00
jhb
7909344bdf Ethernet vlan(4) interfaces have valid Ethernet link layer addresses but
use a different interface type (IFT_L2VLAN vs IFT_ETHER).  Treat IFT_L2VLAN
interfaces like IFT_ETHER interfaces when handling link layer addresses.

Reviewed by:	syrinx (bsnmpd)
MFC after:	1 week
2010-08-06 15:09:21 +00:00
qingli
6590bbf7a7 Need to set the proper flag bit when inserting ARP
entries into the kernel.

MFC after:	3 days
2010-03-18 00:23:39 +00:00
antoine
88ba3732f5 Unbreak world WITHOUT_NETGRAPH.
PR:		137487
Submitted by:	bf (previous version)
No objections:	net@
MFC after:	2 weeks
2010-01-16 12:20:26 +00:00
ed
e1ca659242 Port ppp(8) to utmpx.
A nice thing about utmpx is that it makes it very easy to log sessions
that don't use TTYs. This is because the file is not indexed by TTY
slots anymore.

Silence from:	brian
2010-01-13 17:54:32 +00:00
trasz
0738292d17 Don't refer to pppd(8). 2009-12-28 09:37:33 +00:00
brian
998b5231f2 Document that ppp handles pipe(2) descriptors specially in -direct mode.
MFC after:	3 days
2009-08-25 07:52:09 +00:00
brian
217ee8b4b8 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
713a988257 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
ec40877eda 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
eeddcf1cf5 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
a49cea262e 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
bz
ab7aea9843 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
bz
c47c606500 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
bz
1a4d93caae 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
bz
6c258d0e98 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
qingli
fba34872ec 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
qingli
ec826ad5c7 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
64b4dcdc79 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
bz
6bba9b4244 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
piso
f2e5e0ae45 Update to the "new" libalias API (and thus fix world breakage). 2008-03-12 14:34:34 +00:00
des
c9107e1677 Revert previous commit and fix OpenPAM issue properly. 2007-12-22 19:29:32 +00:00
kmacy
0c072476c7 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
jb
30baf38e0e 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
bz
88f7f9d4f1 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
brueffer
efb0bae1f0 Cleanup after previous commit. 2007-05-25 16:05:17 +00:00
novel
60802ef7dc 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
ume
c98add932d Check the return value from rad_cvt_ipv6prefix().
PR:		bin/89808
MFC after:	1 week
2007-03-01 16:13:56 +00:00
ticso
d1730bc2bb 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
ume
0f4b1054e7 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
3e9b75279e Remove leading zeros
Suggested by:	mdoc police (ru)
2006-09-06 15:58:59 +00:00
brian
1b7ae73acb 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
66eb15d8c9 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
ru
388e590f95 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
d906cc2e79 Fix a typo
Obtained from:	OpenBSD
2005-09-22 11:18:30 +00:00
brian
9496bf8e94 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
ume
e33ba03345 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
491568ac84 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
jcamou
3bf9a5c584 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
93764b6de1 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
ru
6b6b8c04f6 Expand contractions. 2005-02-13 23:45:54 +00:00
ru
1541af42f1 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
brian
eb15e06dbf 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
20455e62c2 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
ru
3666aefb6a Fixed xref. 2005-01-21 10:48:35 +00:00
ru
16dc33fabf Scheduled mdoc(7) sweep. 2005-01-11 11:47:22 +00:00
brian
02b9a88899 Use the standard BSD copyright as per OpenBSD and /sys/net/slcompress* 2005-01-10 11:47:17 +00:00
brian
48fd8924bb Cast unsigned variables to int 2005-01-10 11:12:36 +00:00
brian
bd90e346ec ifr_flagshigh is FreeBSD specific 2005-01-10 11:12:10 +00:00
brian
7b52fab5af 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
ru
c8158555ed NOPAM -> NO_PAM 2004-12-21 12:49:24 +00:00
ru
b74e87102d 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
ru
618fb8df63 The C define is NONAT. 2004-12-21 11:12:05 +00:00
ru
5c04306fea NOINET6 -> NO_INET6 2004-12-21 10:49:29 +00:00
ru
f4c44b761b NOCRYPT -> NO_CRYPT 2004-12-21 10:16:04 +00:00
ru
3b01b84505 NOATM -> NO_ATM 2004-12-21 09:08:06 +00:00
roam
057c46b46b Describe the special meaning of the $ and ~ characters, and the fact
that you can get around it by double-quoting them.

PR:		42762
Submitted by:	AIDA Shinra <aida-s@jcom.home.ne.jp>
Discussed with:	brian
2004-12-16 16:59:19 +00:00
brian
8c9a4071f7 Implement an ``enable/disable echo'' option, defaults to off.
This allows LCP ECHOs to be enabled independently of LQR reports.

Note: This introduces a change in the default behaviour (search for lqr and
echo in the man page).  I'll update UPDATING to reflect this.

PR:		74821
2004-12-13 12:51:19 +00:00
brian
5cb5074262 Send NAS-IP-Address as well as NAS-Identifier
Add ``disable NAS-IP-Address'' and ``disable NAS-Identifier'' options to
support pre-rfc2865 RADIUS servers.
This pushes our enable/disable items over the 32 bit limit, so reoganise
things to allow a bunch more options.
Go to version 3.4.1 so that any compatability problems can be identified.
2004-11-29 17:11:15 +00:00
obrien
b9dd8b026d Catch up with PHK's sio(4) cuaa->cuad rework [sys/dev/sio/sio.c rev. 1.456].
PR:		73879
Submitted by:	Steve Kargl <sgk@troutmask.apl.washington.edu>
2004-11-19 03:56:47 +00:00
ru
5db2b9d5b3 For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
brian
0f52c1eaeb Handle a malloc() failure when allocating urgent ports
PR:		59995
2004-10-11 10:21:53 +00:00
brian
fb00aab954 Add a bunch of malloc() return checks
PR:		71592
Submitted by:	Dan Lukes <dan@obluda.cz> with further changes
2004-10-11 09:45:58 +00:00
ru
e41803bc80 Fixed the NONETGRAPH build.
Reported by:	wsk@gddsn.org.cn
2004-09-13 19:04:03 +00:00
phk
d0dc76864c Mark bundle as unused in case we're compiled with NORADIUS. 2004-09-07 15:48:27 +00:00
marcel
37548aa244 Fix the NOSUID build: make sure we have the kldload(2) prototype. 2004-09-07 06:28:00 +00:00
brian
6cdf323e29 Build with -DNOINET6... 2004-09-06 23:54:54 +00:00
marcel
90a7523335 Reduce WARNS level to 3. Casting causes alignment warnings on platforms
with strong alignment (All 64-bit platforms, except amd64).
2004-09-06 05:57:42 +00:00
marcel
61ba6dfa5f Fix the build on 64-bit platforms. 2004-09-06 00:07:58 +00:00
brian
6fde2674d9 Fix a warning
Submitted by: Stefan Farfeleder <stefanf at FreeBSD dot org>
2004-09-05 12:32:20 +00:00
brian
6f864d0a97 Make ppp WARNS=5 clean 2004-09-05 01:46:52 +00:00
cperciva
e629b37603 Join the 21st century: Cryptography is no longer an optional component
of releases.  The -DNOCRYPT build option still exists for anyone who
really wants to build non-cryptographic binaries, but the "crypto"
release distribution is now part of "base", and anyone installing from a
release will get cryptographic binaries.

Approved by:	re (scottl), markm
Discussed on:	freebsd-current, in late April 2004
2004-08-06 07:27:08 +00:00
glebius
0a36b82adc Add configuration option "set pppoe [standard|3Com]" which allows
to configure mode for ng_pppoe(4) node under control.

Reviewed by:	brian
Approved by:	julian (mentor)
2004-07-29 05:59:43 +00:00
kan
c8e1a3d9de Avoid casts as lvalues. 2004-07-28 07:20:04 +00:00
brian
c33b761408 Report the number of bytes not written when complaining about failed writes 2004-07-20 01:42:30 +00:00
brian
e2c3152e77 Support a ``set rad_alive N'' command to enable periodic RADIUS accounting
information being sent to the RADIUS server.

Logging of RADIUS accounting information moves to a ``set log [+-]radius''
level, along with the RADIUS alive info, and the version number is bumped
to 3.2 to reflect this.

Mostly submitted by:	alx@sm.ukrtel.net (back in January)
MFC after:		3 weeks
2004-07-17 01:07:53 +00:00
brian
47bda6be1f Fix ``set ifaddr''. The code was actually using an uninitialised variable,
but conveniently, because ncpaddr.ncpaddr_family != AF_INET, the call to
ncpaddr_getip4addr() became a no-op leaving the local address as it was
(defaulting to whatever my hostname resolves to).

PR:		62050
Submitted by:	Peter Jeremy <peter.jeremy@alcatel.com.au>
MFC after:	3 days
2004-07-15 09:42:16 +00:00
brian
d403dd49ee Remove a stray backslash 2004-07-14 13:31:17 +00:00
ru
6294018a20 Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
brian
91f649862b Re-implement LQM, this time according to the rfc.
PR:		11293
MFC after:	4 weeks
2004-06-30 12:24:56 +00:00
brian
d9cb5d5260 Mention that ``set mtu max'' is necessary for PPPoE.
PR:		32040
MFC after:	2 weeks
2004-06-29 07:48:43 +00:00
brian
664f6c9a4c Reduce MAXMSS limit by 12 bytes to allow for rfc 1323.
PR:		32717
Submitted by:	MORI Kouji <moriko@hh.iij4u.or.jp>
MFC after:	2 weeks
2004-06-29 07:40:38 +00:00
brian
a9f3927ec8 If HISMACADDR is set in the environment (by pppoed), pass the value to
the RADIUS server as RAD_CALLING_STATION_ID.

PR:		44310
Submitted by:	Gleb Smirnoff <glebius@cell.sick.ru>
MFC after:	2 weeks
2004-06-26 01:02:31 +00:00
dds
7205495895 Send RADIUS gigaword data when OctetsIn or OctetsOut go over UINT32_MAX.
PR:		bin/61294
Submitted by:	Boris Kovalenko
MFC after:	3 weeks
2004-05-19 21:00:42 +00:00
dds
a238e3588a Make getprotobynumber() calls in FilterCheck conditional on the log
levels by which they are used.  On a typical production setting (no
debug or filter logging) this will save an open/read/close system
call sequence per packet, approximately halving the system overhead
and reducing the overall overhead by 38%.

dd bs=1k count=512 if=/usr/share/dict/web2 |
ssh ppp-linked-host dd of=/dev/null

# time original-ppp -nat -foreground connection
Working in foreground mode
Using interface: tun0
2.822u 2.404s 2:00.31 4.3%    392+496k 8+18io 3pf+0w

# time new-ppp  -nat -foreground connection
Working in foreground mode
Using interface: tun0
2.082u 1.173s 1:26.06 3.7%    379+450k 0+18io 0pf+0w

MFC after:	3 weeks
2004-05-13 09:03:00 +00:00
brian
8f1eb09821 Add a missing memcpy (*blush*!)
Suggested by: James P Scully <scully@CS.Arizona.EDU>, Perianayagam Somasundaram <somu@CS.Arizona.EDU>
MFC after:	10 days
2004-04-17 00:29:17 +00:00
charnier
94a732f585 2 small typos. 2004-04-04 19:30:07 +00:00
brooks
64e6eeb6c4 Use the length of the interface name, not the length of its address when
printing the name.

Approved by:	brian
2004-01-21 22:00:50 +00:00
trhodes
3d9095c462 Xref the proper manual pages.
PR:		60999
Submitted by:	Marc Silver <marcs@draenor.org>
2004-01-12 16:10:38 +00:00
harti
91fb8e3f9c Replace all uses of the old netgraph constants NG_*LEN by the new
constants NG_*SIZ that include the trailing NUL byte. This change
is mostly mechanical except for the replacement of a couple of snprintf()
and sprintf() calls with strlcpy.
2003-11-15 15:26:35 +00:00
brian
ba7b98841d Ignore case when comparing CHAP/CHAP81 responses
PR:		31771
2003-11-10 21:56:02 +00:00
ru
edb6523b57 Basic PAM authentication support. 2003-10-29 20:32:19 +00:00
marcus
e19a1e64d2 Add Cisco Skinny Station protocol support to libalias, natd, and ppp.
Skinny is the protocol used by Cisco IP phones to talk to Cisco Call
Managers.  With this code, one can use a Cisco IP phone behind a FreeBSD
NAT gateway.

Currently, having the Call Manager behind the NAT gateway is not supported.
More information on enabling Skinny support in libalias, natd, and ppp
can be found in those applications' manpages.

PR:		55843
Reviewed by:	ru
Approved by:	ru
MFC after:	30 days
2003-09-23 07:41:55 +00:00
markm
6df3498483 Hide more crypto from being crunched at release time. 2003-07-24 20:20:16 +00:00
markm
376c7c030b Don't check for the existance of src/crypto/ for building items that
may contain crypto. The days of ITAR paranoia are over, and the simple
macro tests that remain are sufficient.
2003-07-24 18:30:25 +00:00
ume
7407066674 name union. 2003-06-28 15:37:04 +00:00
rwatson
bc7d9d78f7 Remove world read bit from the ppp binary; we don't do world-execute,
so it was inconsistent (although probably not harmful) to have
world-read.

Submitted by:	Socketd <db@traceroute.dk>
2003-06-23 15:37:08 +00:00