Commit Graph

196 Commits

Author SHA1 Message Date
brian
1b096d24d9 Fix command logging (broken with the "allow" command). 1997-11-13 14:43:20 +00:00
brian
f38c8654e5 Null commit: The last commit made some warning messages clearer. 1997-11-13 12:10:50 +00:00
brian
99989a60d8 Don't delete interface routes when we do an LcpDown.
They'll get deleted in Cleanup().
1997-11-13 12:09:57 +00:00
brian
0c64913a0f Finish the security improvements:
o Add "allow" command:
      "allow users a b c" gives access to users a, b and c.
      "allow modes auto"  gives those users access to auto mode only.
      "allow users *" and  "allow modes *" are accepted.
      No users and all modes are allowed by default.
    UID 0 can do anything.
  o Set the current label with the "load" and "dial" commands
    so that the call to ppp.linkdown makes sense.
  o Up the verison number.
  o Don't OR MODE_AUTO for -background and -ddial.
  o Don't OR MODE_INTER when we get a diagnostic connection.
  o Allow up to 40 args per line (was 20).
  o "set ifaddr" only changes the interface in AUTO mode (with other
    modes, it happens after IPCP negotiation).
  o Sort command descriptions in the man page.
  o Support -dedicated mode where we just talk ppp forever (no login etc).
1997-11-11 22:58:14 +00:00
brian
2b9bf8e847 Don't create a diagnostic socket by default.
Allow a password spec on the "set server" command line.
Use SIGUSR2 to close the diagnostic socket.
Some man page corrections.
1997-11-09 22:07:29 +00:00
brian
1fb3509770 Don't ask for a password if it's specified as empty. 1997-11-09 18:51:23 +00:00
brian
164425f5ce Increase chat script sizes to 512
Requested by: Michael Reifenberger <root@totum.plaut.de>
1997-11-09 14:18:55 +00:00
brian
eae0088b91 Introduce ID0 logging.
Stay as the invoking uid as much as possible.
Execution as a normal user is still forbidden for now,
so these changes are pretty ineffective.
The next commit will implement the modifications suggested
on -hackers a number of days ago.
1997-11-09 06:22:49 +00:00
brian
cf98226436 Don't pass global vars as args.
Remove local/global conflicts.
1997-11-08 00:28:11 +00:00
brian
bd52968d26 Introduce [local] to "set log [local] ...". This spits
logging out to the screen in terminal mode - should be
good for installation problem diagnosis.
1997-11-04 01:17:05 +00:00
brian
941e2045a2 o Bump version to 1.3 to reflect major changes
o  Report modem connect time properly
o  Report bytes in/out over physical media
o  Fix phases (TERMINATE is *higher than* DEAD)
o  Do a LayerFinish from LcpDown
o  Bring down IPCP & CCP when we enter PHASE_TERMINATE
o  Give a new prompt when we go to PHASE_DEAD
o  Stop the modem timer properly when idle
o  Treat sig 15 like an exiting carrier loss
o  Log (DEBUG) offline & online transitions
1997-10-29 01:19:51 +00:00
brian
486b8925ec Cosmetic (no functional changes):
o   Add missing $Id$s
o   Move extern decls from .c -> .h files
o   Staticize
o   Remove #includes from .h files
o   style(9)ify includes
o   bcopy -> memcpy
    bzero -> memset
    bcmp -> memcmp
    index -> strchr
    rindex -> strrchr
o   Move timeout.h -> timer.h (making it consistent w/ timer.c)
o   Add -Wmissing-prototypes
1997-10-26 01:04:02 +00:00
brian
5edc0d2f34 sleep => nointr_sleep
usleep => nointr_usleep
(not just a #define)
Already done by: ache
1997-10-24 22:36:31 +00:00
brian
d134eaa71d cosmetic:
o  Log client connection commands when "set log +command"
o  Don't display PAP password in the log unless we're
   "set log +debug".
1997-10-16 23:55:19 +00:00
brian
5d5b867579 Support VJ maximum slot identifiers != 15.
Support VJ slot id compression.

Previously, ppp would negotiate a max slot between 2 & 15
(if asked), and would agree to slot id compression (if asked).
It would then proceed to use 16 slots and no compression
anyway.  The result was a rather unusable connection.
1997-10-07 00:56:58 +00:00
brian
5e4ed6c854 Correct the way the uucp lock file and the ttyXX.if lock
file get created.  We don't create lock files over non-tty
connections, but we *do* create lock files in -direct mode.
This leaves us capable of adding utmp/wtmp support for
successful pap & chap logins (coming soon).
1997-09-22 00:46:56 +00:00
brian
89c06caf59 It turns out that the following:
close(1);
  close(2);
  x = open(ctermid(NULL), O_RDWR|O_NONBLOCK);
  close(0)
on a tty causes select() to return an exception for descriptor x !
This is the case in RELENG_2_2, but not in 2.2.2.  I'm not sure why.
Instead of doing the x=open() and close(0), we just do x=0 now.
Problem pointed out by: Greg Lehey <grog@lemis.com>
                        Tomi Vainio <tomppa@fidata.fi>
1997-09-21 20:26:47 +00:00
brian
109ba0ca66 Don't close(1) in direct mode and then proceed to
isatty(1) !  Keep 0 open for this till the modem's
been set up by either dup()ing 0 or by opening
ctermid(NULL) (if isatty(0)).

Discussed problem with: Tomi Vainio <tomppa@fidata.fi>
Made it finally dawn on me: Angelo Turetta <ATuretta@stylo.it>
1997-09-18 00:15:25 +00:00
brian
aaae64c991 o Fix two unlikely descriptor leaks.
o Output the correct device for "show modem"
  while in -direct mode.
o Cosmetic:  Moan a bit more when we can't open
  the [modem] device.
o Call OpenModem() in a more "natural" way.
o Add some LogDEBUG in OpenModem().
1997-09-16 23:15:16 +00:00
brian
01052674bd Install as group ``network''
Insist that uid == 0 for client ppp
Disallow client sockets if no password is specified
Don't exit on failure to open client socket for listening
Allow specification of null local password
Use reasonable size (smaller) ``vector''s in auth.c
Fix "passwd ..." usage message
Insist on "all" as arg to "quit" (if any)
Drop client socket connection before Cleanup() when "quit all"
1997-09-04 00:38:22 +00:00
brian
c9a9461a21 Cosmetic: Make LogPrintf() calls consistent. 1997-08-31 22:59:49 +00:00
brian
4ac4d60bc7 Remove use of login_progok()
Suggested by: guido
1997-08-31 20:07:03 +00:00
brian
05f54f9377 Use login_progok(). 1997-08-27 20:11:16 +00:00
brian
7b68941df9 Check the "prog.deny" login.conf capability and
refuse to run if "ppp" is in the list.
Suggested by:	"Daniel O'Callaghan" <danny@panda.hilink.com.au>
1997-08-26 23:20:16 +00:00
brian
60c2d3cd19 Lose a couple of extraneous backslashes. 1997-08-25 01:52:11 +00:00
brian
1a67d25725 Make the code format more in line with style(9).
Update loadalias to use the new libalias api.
Update to version 1.1.
1997-08-25 00:29:32 +00:00
brian
263a0e79cc Add "set loopback on|off", defaulting to "on".
This tells ppp to loopback packets addressed to
the ppp interface IP coming *from* the tun
device.

This means that you can ping the tun interface IP
from inside :-)
1997-08-21 16:21:39 +00:00
brian
067015aaae Make HUP cause an exit (as it used to), and make
INT cause a hangup - not exiting for -ddial & -auto.

HUP must exit because init sends this at system shutdown
time (why, I don't know), and we don't want to end up
redialing after the HUP (due to another dfilter packet).

Pointed out by and discussed with: ache
1997-07-01 21:31:28 +00:00
brian
ac73344ac9 Fix HUP handling while dialing.
Pointed out by:	ache
1997-06-29 13:54:31 +00:00
brian
fef65421d3 Add "set server" to control the server socket.
Catch SIGUSR1 to re-init listening socket.
Document signal behaviour.

Add missing '\n's to LogPrintf(LogWARN,...)
Main() returns int not void.

AF_LOCAL ideal suggested a long time ago by: joerg
1997-06-25 19:30:05 +00:00
brian
3f5321d2b9 Fix ~? output in "term" mode.
Spotted by: Harry Starr <starr@gccs.com.au>
1997-06-24 21:25:06 +00:00
brian
a3c9607200 o Fix uptime for direct connections.
o Style police
o Make hangup abort the current connection, not
  necessarily exiting (-auto/-ddial).
o Trap HUP and INT during DoChat and abort the
  connection attempt.  This means you can now
  type "dial" and change your mind with ^C, or
  HUP the process to stop it dialing.

Slapped into doing it by: Chuck Robey <chuckr@glue.umd.edu>
1997-06-23 23:10:13 +00:00
brian
75122c3d71 Handle redial tries correctly under -ddial 1997-06-17 01:46:05 +00:00
brian
73d09cd540 Set netfd to STDOUT_FILENO rather than STDIN_FILENO. 1997-06-16 19:59:41 +00:00
brian
95a0b5dc63 Remove call to daemon(). Just call setsid() and close
any relevent descriptors (0,2,[1]).  We've already fork()d.
PR:		3874
1997-06-16 13:24:59 +00:00
brian
5d18065463 Sort out ppp over tcp:
o Allow "set var" with no args to blank var (don't req "").
  o Zero VarTerm ASAP if not in interactive mode.
  o Never print anything to stdout in -direct mode.
  o Count redial when failing to open modem.
  o Increase device size to 40 characters (for host:port).
  o Remove missed "if (fd == 0) fd = 1;".
  o Don't give up on incoming non-terminal connections.
1997-06-11 03:57:51 +00:00
brian
94d661ac8c Overhaul ppp:
o Use syslog
  o Remove references to stdout/stderr (incl perror())
  o Introduce VarTerm - the interactive terminal or zero
  o Allow "set timeout" to affect current session
  o Change "set debug" to "set log"
  o Allow "set log [+|-]flag"
  o Make MSEXT and PASSWDAUTH stuff the default
  o Move all #ifdef DEBUG stuff into the code - this
    shouldn't be too much overhead.  It's now controlled
    with "set log +debug"
  o Add "set log command, debug, tun, warn, error, alert"
  o Remove cdefs.h, and assume an ansi compiler.
  o Improve all diagnostic output
  o Don't trap SIGSEGV
  o SIGHUP now terminates again (log files are controlled
    by syslog)
  o Call CloseModem() when changing devices
  o Fix parsing of third arg of "delete"

I think this fixes the "magic is same" problems that some
people have been experiencing.
The man page is being rewritten.  It'll follow soon.
1997-06-09 03:27:43 +00:00
brian
e39002afc2 Remove initial startup printf's in -direct mode.
Make "same magic" error send a NAK (as per rfc).
1997-06-01 03:43:26 +00:00
brian
ba44f8b683 Correct the return of DialModem()
Suggested by:	kfurge <kfurge@worldnet.att.net>
1997-05-29 02:29:13 +00:00
brian
12b254e316 De-couple ppp from libalias. If libalias isn't there, the
alias commands simply won't work.  Only root may specify the
location of the alias lib (otherwise, it's hard-coded).

Make logprintf silently fail if LogOpen hasn't been called.

Suggested by:	eivind
1997-05-26 00:44:10 +00:00
brian
81067cb46e Fix the reconnect option, and add an explanation to vars.h 1997-05-24 17:32:42 +00:00
brian
33deb302fe Add SO_REUSEADDR socket opt in case the last telnet
connection is in a time_wait.

Submitted by:	Brian Campbell <brianc@pobox.com>
1997-05-23 05:22:48 +00:00
brian
6d0cdc4cfb Use the latest alias engine - now in libalias.
Submitted by:	Charles Mott <cmott@srv.net>
1997-05-23 04:54:03 +00:00
brian
d13ad90ef4 Output exit status description of child in background mode. 1997-05-19 03:02:36 +00:00
brian
ee01b28050 Mega update to sort out bad implementations
of reconnect & -background.

o   Fix reconnect anomolies.
o   Make reconnect apply to failed LQR hangups (& mention in man page).
o   Make reconnect effective in -background mode.
o   Listen on socket in -background mode.
o   Try all phone numbers in -background mode.
o   Insist on system arg in -background mode.
o   Make a control-connection close command exit in -background mode.
o   Output status message to stdout on exit of parent in -background mode.
o   Don't notify parent of success too soon.
o   Describe termination EX_* code.
o   Miscelaneous diagnostic corrections.
o   Remove redundant connect_time from modem.c.
o   Don't repeatedly DownConnection().
1997-05-19 02:00:16 +00:00
brian
3d81388ebf Make openmode active by default (for both client/server).
Requested by:	The masses.
1997-05-17 16:08:48 +00:00
brian
82b9d3453b Build pid_filename without a double slash.
Make ``Dial attempt'' diagnostics consistent.

Reset lostCarrier when it has reached max.
Suggested by:	Kevin Street <street@iName.com>
1997-05-14 01:18:51 +00:00
brian
665a2c9ba9 Create ttyXX.if and tunX.pid irrespective of
whether we're -dedicated.

Required by:	David Nugent <davidn@labs.usn.blaze.net.au>
1997-05-11 10:23:16 +00:00
brian
625e8802da Add a ttyXX.if file in /var/run that points to
the tunX.pid file.  Change the ppp.tunX.pid name
to tunX.pid

Requested by:	Daniel O Callaghan <danny@panda.hilink.com.au>
1997-05-10 03:39:57 +00:00
brian
82bac13560 Tidy up the code - bounds checking, return
value checking etc.

Submitted by:	eivind
1997-05-10 01:22:19 +00:00
ache
027d471e28 Log each ppp line to separate /var/log/ppp.tunX.log instead mixing of
all lines into single /var/log/ppp.log
1997-05-04 02:39:04 +00:00
brian
ad4ab18793 Add a reconnect capability directing ppp to re-establish
the connection after an unexpected loss of carrier:

    set reconnect timer ntries

The man page warns against using this command when your
timeout value is slightly more than the other sides :{}

Suggested by: burton@bsampley.vip.best.com (Burton Sampley)
1997-04-21 01:02:02 +00:00
brian
aebb5d896e Make the next number redial ability configurable. The
"set redial pause [times]" command becomes
"set redial end-pause[.next-pause] [times]" and next-pause
defaults to 3 seconds.  This keeps things backwards
compatable.

Suggested by:	ache
1997-04-14 23:48:20 +00:00
brian
b2533fba6f Make -background option attempt each phone number at most
once.  Make -background ignore redial.  Output exit value
to syslog with "PPP Terminated" message.
1997-04-13 00:54:45 +00:00
brian
24892f8103 Only wait for the redial timeout when the last phone number in the
list has been dialed.  Alternate number dialing has no "pause".

Suggested by: joerg

Document this behaviour.  Document that the number of dial attempts
applies to the number of phone calls rather than the number of times
each number is dialed.  Add a missing .El.  Give a decent description
of how to connect to an ISP.
1997-04-12 22:58:41 +00:00
ache
9949bd676e Ignore SIGPIPE or any user can quit ppp just telnetting to it
and quitting telnet immediately (while phone number dialed)
Log client connection/disconnection with PHASE_BIT now.
Add more error recovery on client disconnection
1997-04-09 17:35:54 +00:00
brian
d14412c59d Closes pr 2711
Fix -background option.  Parent returns after the line is established
(or not established).
Definitely a candidate for 2.2
1997-03-13 21:22:09 +00:00
brian
ccae52be0e Requested by: Harlan Stenn <Harlan.Stenn@pfcs.com>
Accept SIGHUP as a "re-open logfile" signal.  As ppp
doesn't set it's serial line to it's controlling terminal,
we can use HUP :)

This is a candidate for 2.2.  The log.[ch] changes won't
conflict, but the main.c changes will.  We just want to change the
kill(...,SIGHUP) to a SIGTERM and change the signal(SIGHUP,Hangup)
to a pending_signal(SIGHUP,LogReOpen).
1997-03-13 14:53:55 +00:00
brian
db1507dc21 Reviewed by: ache@freebsd.org
These changes should fix the signal "problems" in ppp.
The signal changes should really be put into 2.2 too !
The following patches should do it.  There were some other
changes made by Andrey recently that havn't been brought
into 2.2, it may be worth doing them now.
1997-03-13 12:45:35 +00:00
ache
e9a946ef3e Don't waste time scanning tun_in+10 descriptors, scan exactly what
we need now.
Don't assume that file descriptor can't be 0 (many places)
Protect FD_* macros from being used with negative descriptors
Shorten MS EXT show help to fit 80 cols
1997-03-10 06:21:02 +00:00
ache
6a6c22b3a8 I remove pending signals completely, they are not useless, they are
dangerous! Signal handlers themself must be fixed to not call malloc,
but no pended handlers, it will be correct fix. In finite case each signal
handler can set some variable which will be analized later, but calling
handler functions manually is too dangerous (f.e. signals not blocked while
the handler or handlers switch executed in this case). Of course this
code can be fixed instead of removing, but it not worth fixing in any case.

Should go into 2.2

In addition sig.c code shows following dangerous fragments (there can be more,
but I stop after two):

This fragment

    if (fn == SIG_DFL || fn == SIG_IGN) {
	handler[sig-1] = (sig_type)0;
	<------------- here
        signal(sig,fn);
    } else {

cause NULL pointer reference when signal comes
"here", but more worse fragment is below:

void handle_signals() {
    int sig;

    if (caused)
       for (sig=0; sig<__MAXSIG; sig++, caused>>=1)
           if (caused&1)
               (*handler[sig])(sig+1);
}

caused is bitmask which set corresponding bit on each signal coming.
And now imagine, what happens when some signal comes (bit sets) while loop
is executed (see caused>>=1 !!!)

In this light carrier drop situation was (as gdb shows)
1. SIGSEGV in handle_signals because some junk called as *handler reference.
2. Since SIGSEGV was pended too (== never happens),
it can cause various range of disasters.
1997-03-09 20:03:51 +00:00
ache
92533e08e9 Unpend fault signals like SIGSEGV, etc
It is too dangerous to continue with them in any case

Should go into 2.2
1997-03-08 12:11:26 +00:00
ache
e33ad1e9d5 Unpend all killing signals to shut down this thing immediately,
or it is impossible to kill it in some situations.
Unpend yet one SIGARLM (see timer.c commit)

Should go into 2.2
1997-03-08 10:04:21 +00:00
brian
4a576feefd osreldate.h stuff suggested by: Eivind Eklund
Remove #include's from sig.h and get dependant modules to include them
themselves.  Make inclusion of if_var.h depend on __FreeBSD_version so
that the -current version of ppp can be used with 2.1.*

2.2 Candidate ?
1997-02-25 14:05:17 +00:00
peter
b782f4df30 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
brian
43a90c7d71 Tidy up signal handling.
All signal() calls have been changed to pending_signal() calls.
pending_signal() is defined in the new sig.c file.  It remembers
the handler and traps the signal with a function that will remember
the signal.

main.c now calls handle_signals() to actually call the required
handlers (if the above handler was called).

If this doesn't close PR2662 (was PR2347), I'll cry.

Joerg, I think this should go into 2.2, but I havn't done anything
about it because I'm bound to botch it with the new sig.[ch] files.

I've just "cvs add"'d sig.[ch] so far.... can you update to 2.2 and
tell me what you did ?  Thanks.
1997-02-19 01:14:41 +00:00
brian
0340159e07 Check the timer request flag irrespective of wheter select() came back with
EINTR - it's possible that it happened at some other point in the loop.
1997-01-30 00:49:50 +00:00
brian
bfe2c29335 Move the call to TimerService() into main.c - just after the select()
call.  The SIGALRM just sets a flag now, preventing the possibility of
any nasty recursivness in the handler itself.
1997-01-29 01:27:58 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
imp
bf83493bdc Fix many buffer overruns in the code. Specifically, disallow ExpandString
to be used to expand things beyond the size of the buffer passed in.  Also
do a general cleanup of sprintf -> snprintf as well as strcpy and strncat
safety.  Also expand some buffers to allow for the largest possible data
that might be used.

This is a 2.2 candidate.  However, it needs to be vetted on -current
since little testing has been done on this due to my lack of PPP on
this machine.

Reviewed by:	Jordan Hubbard, Peter Wemm, Guido van Rooij
1997-01-10 07:53:28 +00:00
jkh
52623b565c For /usr/sbin/ppp, you must choose between running ppp in the background or
connecting to a host immediately in the foreground.

I would like to be able to run ppp from a script so that my script can be
sure that it is connected to the 'net before it continues running:

  # Dial up the internet.
  ppp -background myprovider || exit 1

  do-some-net-command

  # Hang up the modem.
  kill -HUP `cat /var/run/ppp.tun0.pid`

Another problem is that the current ppp calls its process id file
`/var/run/PPP.server', which may conflict if you have more than one IP
tunnel interface available.

Closes PR#1469
Submitted by:	Gord Matzigkeit <gord@enci.ucalgary.ca>
1996-12-22 17:29:33 +00:00
nate
8f656e55b3 Fixed prototypes of PacketAliasIn/Out. (cosmetic)
Submitted by:	Brian Somers <brian@awfulhak.demon.co.uk>
1996-12-19 00:41:42 +00:00
jkh
e9d9f1a03f The infamous IP aliasing code for ppp, modified to work as a runtime option
(otherwise ppp's behavior remains unchanged) and documented by myself,
Steve Sims, Nate Williams, Martin Renters and god-only-knows who else. :-)
Submitted by:	nate
Obtained from:	Charles Mott <cmott@srv.net>
1996-12-12 14:39:47 +00:00
nate
8620fc8544 Added my 'ddial' patches to user-PPP. The new mode tries it's darndest
to keep the link up, so it re-dials whenever it detects the link go
down.  This is useful for 'dedicated' links who use PPP.

It's been used for over a year w/out problems at different sites.
1996-12-03 21:38:52 +00:00
jkh
bba6a15120 1. Room to calculate MD5 for CHAP negotiation is shorter than
required. a core is not dumped at first connecting time and
   dumped at second or third time. (patch I)
2. A routine for "show route" refers out of allocated space.
   Values pointed by "lp" should be read as CHAR, I think.
   there is also no free() for disallocation. (patch II)

Here is also a patch for an improvement: In current imprementation,
even if PPP connection is disconnected by time out, prompt of
interactive mode does not change from "PPP>" to "ppp>" to
indicate the disconnection on a terminal.
So I modified the code to do that. (patch III)

Submitted-By: NAKAMURA Motonori <motonori@econ.kyoto-u.ac.jp>
1996-10-12 16:20:34 +00:00
jkh
e80eb7c648 Properly include prototypes.
Submitted-by: "Daniel O'Callaghan" <danny@panda.hilink.com.au>
1996-10-07 04:21:09 +00:00
ache
a6d4555f2b Dump core on SIGSEGV instead of silent exiting. I saw SIGSEGV few times,
but they are VERY rare to tracking down this bug. I hope core
helps to track it down.
1996-07-09 17:40:36 +00:00
phk
324cb686d3 Here is a diff of /usr/src/usr.sbin/ppp against current. The diffs
add some logging functionality which I find very useful.
'set debug link' will record just link up/down and address assignments.
'set debug connect' will record the entire chat dialog
'set debug carrier' will record just chat lines including 'CARRIER'
(so that I can be sure I'm getting a 28.8 line).

There was a global change required to permit LogPrintf to take a bit
mask instead of a bit position value (to permit logging some events
on either of two flags, so that no change in 'set debug lcp' would
result from the code supporting 'link'.  Thus the diffs are rather
long for such a small change.  The man page is also touched.

Oh, and there was a slight syntax problem in route.c

Reviewed by:	phk
Submitted by:	Tony Kimball <alk@Think.COM>
1996-05-11 20:48:42 +00:00
bde
13e9cefca0 Fixed a couple of format strings to match the change of pid_t from long
to int32_t.  I only fixed the ones that I noticed the warnings for.
Perhaps most of the format strings are correct now because they were
wrong before.  Except of course if int32_t isn't compatible with `int'.
1996-04-13 15:47:43 +00:00
ache
42d182a2a9 Put signal number into logfile 1996-03-30 18:27:45 +00:00
ache
f785271dda 1) Open /dev/null for std* after setsid() to be shure that modem is
*not* our controlling terminal (SIGHUP can coming in other case)

2) Add HUPCL for non-dedicated lines to be shure that modem
properly resetted.

3) Correct usage string.
1996-03-09 08:18:41 +00:00
ache
60108c50ed 1) Add multi-phone dialing/redialing, several phones separated by ':'
2) Improve on-line help subsystem
3) Make 'term' mode works even carrier dropped (old code
close line forever here)
4) Make 'term' mode 8bit clean.
5) Improve manual page
6) #ifdef DEBUG diagnostic about missing optional files.
7) Don't put interactive dialing info to logfile
1996-03-08 09:03:09 +00:00
dfr
9b03b51375 Some patches to ppp which improve stability. I have been running a
ppp based on these patches for about 3 weeks with no downtime.

The original submitters comments:

Two features iijppp has over kernel ppp that I like are predictor1
compression and demand dialing.  Here are a few bug fixes.

I expanded the priority queueing scheme and discovered it was broken
due to the assignment at ip.c line 300.  All packets were being
queued at the same priority.

Fixing priority queueing broke predictor1 compression.  Packets
were compressed before being queued and predictor1 worked as long
as the packets were popped off the queue in the same order they
were pushed onto the queue.

There were a few byte order problems in IP header tests also.

There is a recursion problem in SendLqrReport().  LcpClose() is
called when "Too many echo packets are lost" which winds up in
SendLqrReport() again.  I believe the original intention was to
just stop the LQR timer with the call to StopLqr() but the side
effects hurt.

Submitted by:	John Capo <jc@irbs.com>
1996-01-30 11:08:50 +00:00
phk
2056705218 Final cleanup for now. -Wall is now silent. A couple of bogons found. 1996-01-11 17:48:59 +00:00
phk
525e36ce3e A random bunch of cleanup changes. 1996-01-10 21:28:04 +00:00
amurai
c3dd7bc8c4 1. Add a settable redial timer and logging of the process id in a file.
A settable redial timer helps to avoid the problem where both ends
   of a link want to dial at the same time and the line winds up busy
   for both ends. The process id is logged in /var/run/PPP.system where
   system is the name of the called system.  When both ends of a link
   are running in demand dial mode, you need an easy way to get the pid
   of the ppp on the called end so it can be killed and re-started with
   -direct or pppd started to handle the incoming ppp session.

2. Add secret description for "set timeout" to man.

Reviewed by:	Atsushi Murai <amurai@spec.co.jp>
Submitted by:	John Capo <jc@irbs.com>
1995-10-08 14:57:32 +00:00
bde
d12995ce7a Fix a comment that became wrong when it was moved in rev. 1.7. Fix nearby
indentation.  Cosmetic.
1995-09-18 12:41:52 +00:00
amurai
c47a4a8b71 1. All fragments (except the first one) of a fragmented packet were
dropped - devet@adv.IAEhv.nl (Arjan de Vet)
2. Will not read data from telnet connection - John Capo <jc@irbs.com>
3. Using LQM option could be drop the link due to LcpLayerDown() doesn't
   stop LQR timer. -  Brian <brian@awfulhak.demon.co.uk>
4. Allow to describe a syntax of filters that is not only port number
   but also by name in /etc/service. -  Rich Murphey <rich@lamprey.utmb.edu>

Reviewed by:	Atsushi Murai <amurai@spec.co.jp>
Submitted by:	devet@adv.IAEhv.nl, jc@irbs.com, brian@awfulhak.demon.co.uk,
		rich@lamprey.utmb.edu
1995-09-17 16:14:49 +00:00
amurai
9a28cf053e 1. Do not log the password itself to ppp.log ( Mr. Rich Murphey )
2. Add ability to execute shell commands and suspend back into
   invoking shell (Mr. J Wunsch)

Reviewed by:	amurai@spec.co.jp
Submitted by:	joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch)
		Rich Murphey <rich@lamprey.utmb.edu>
1995-09-02 17:20:54 +00:00
amurai
5ee68349c4 1. Clean up log message.
2. Optimize ModemQlen.
3. Sending ProtoReject for Unknow protocol (i.e. IPX)
4. Avoid select looping by reading tun under the high system load.
5. Adding Local version String for maintenance.
6. Just more speak rather silent ignore if you type invalid key words.
1995-07-08 17:46:56 +00:00
asami
fa8de9933b "anyone in a world" -> "anyone in the world".
(Yes, I'm just testing my ppp connection :)
1995-07-06 02:58:57 +00:00
rgrimes
4f960dd75f Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
amurai
4e41b74b9d 1.Reducing cpu usage at off connection.
2.Implment Redail function as working correctly.
3.Clean up a code as I notice.
4.Now, RTT getting close to 50ms with ISDN/TA 38400bps !!

Reviewed by:	amurai@spec.co.jp
Submitted by:	amurai@spec.co.jp
1995-03-11 15:18:55 +00:00
amurai
f599fa5e62 Fixing minor bug and allow help(Not for all command) and quit
but not close line connection by "quit all" command if not
authorized.

Reviewed by:	amurai@spec.co.jp
Submitted by:	tony-o@iij.ad.jp amurai@spec.co.jp
1995-02-27 10:57:54 +00:00
amurai
eeb422fed8 New user Process PPP based on iij-ppp0.94beta2.
o Supporting SYNC SIO device (But need a device driver)
     - add "set speed sync"
   o Fixing bug for Predictor-1 function.
   o Add new parameter that re-sent interval for set timeout commands.
   o Improving RTT (Round Trip Time) and reducing processor time.
     - Previous Timer service was using polling, and now using
       SIGALRM ;-)
     - A 0.94beta2 will not work correctly....

   -- Follows are additinal feature not including 0.94beta2
   o Support Proxy ARP
     - add "enable/disable proxy" commands
   o Marging common routine in CHAP/PAP.
   o Enhancing LCP/IPCP log information.
   o Support local Authfication connection on port 300x and tty.
     - You can set up pair of your "hostname -s" and
       password in ppp.secret. if either ppp.secret file nor
       your hostname line don't exist, It will notify a message
       and working as same as previous version.(Backword compatibility)
     - If you did set up them, It's allow connection but nothing to do
       except help and passwd command.
     - add "passwd yourpasswd" commands
   o Support afilter - keep Alive filter that a packet can send/receiving
     according to ifilter/ofilter but doesn't count it as preventing idle
     timer expires.
     - Same syntax of other filters.
   o Fixing bugs reported by current user for previous one. Thanks !!

Reviewed by: Atsushi Murai (amurai@spec.co.jp)
1995-02-26 12:18:08 +00:00
amurai
21ef2761fd 1995-01-31 06:29:58 +00:00