Commit Graph

152 Commits

Author SHA1 Message Date
markm
22ff929ecd Help fix warnings by marking an argument as unused.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@98882 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2002-06-26 17:05:08 +00:00
jmallett
e151b0ff25 Don't risk catching a signal while handling a signal for a dying child, as we
can then end up not properly clearing wtmp/utmp entries.

PR:		bin/37934
Submitted by:	Sandeep Kumar <skumar@juniper.net>
Reviewed by:	markm
MFC after:	2 weeks


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@97341 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2002-05-27 08:10:24 +00:00
alfred
0a0dabb57b unbreak build:
commands.c, sys_bsd.c: comment out/remove junk after #endif/#else
network.c, terminal.c, utlities.c: include stdlib.h for exit(3)


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@96385 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2002-05-11 03:19:44 +00:00
markm
9ae08b0024 Previous commit was...
Submitted by:	des


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@96109 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2002-05-06 09:48:02 +00:00
markm
356920ba37 Fix an external declaration that was causing telnetd to core dump.
MFC after:	1 week
PR:		37766


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@96108 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2002-05-06 09:46:29 +00:00
nectar
8fe168e641 Update build after import of Heimdal Kerberos 2002/02/17.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@90931 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2002-02-19 15:53:33 +00:00
sheldonh
48a0b67941 Don't use non-signal-safe functions (exit(3) in this case) in
signal handlers.  In this case, use _exit(2) instead, following
the call to shutdown(2).

This fixes rare telnetd hangs.

PR:		misc/33672
Submitted by:	Umesh Krishnaswamy <umesh@juniper.net>
MFC after:	1 month


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@90242 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2002-02-05 15:20:02 +00:00
ru
415314d0f6 mdoc(7) police: remove -r from SYNOPSIS, sort -p in DESCRIPTION.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87882 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-12-14 14:41:07 +00:00
jkh
0dcd34090c Don't assume that the number of fds to select on is known quantity (in
this case 16).  Use dynamic FD_SETs and calculated high-water marks
throughout.  There are also too many versions of telnet in the tree.

Obtained from:  OpenBSD and Apple's Radar database
MFC after:      2 days


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87558 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-12-09 09:53:27 +00:00
ru
c166211dae Fixed bugs from previous revision.
Removed -s from SYNOPSIS and restored -S in DESCRIPTION.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87358 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-12-04 16:02:36 +00:00
jhay
0b3113dc49 Protect variables and function prototypes that are only used in the INET6
case with an ifdef INET6.

This make the fixit floppy compile again.

Reviewed by:	markm


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87277 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-12-03 17:42:02 +00:00
markm
ba361ec27c More help for alpha WARNS=2. This code is, erm, unusual. Anyone who
feels like rewriting it will meet no objection from me.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87267 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-12-03 12:16:40 +00:00
markm
0efd3a3530 help the alphas out with the WARNS=2 stuff.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87266 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-12-03 12:13:18 +00:00
markm
a88d48b9df Damn. The previous mega-commit was incomplete WRT ANSIfication. This
fixes that.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87155 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-11-30 22:28:07 +00:00
markm
a033672a04 Forced commit.
This file was taken from the Heimdal implementation of Kerberos 5, done
by KTH.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87140 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-11-30 21:09:11 +00:00
markm
820d180830 Very large style makeover.
1) ANSIfy.
2) Clean up ifdefs so that
   a) ones that never/always apply are appropriately either
      fully removed, or just the #if junk is removed.
   b) change #if defined(FOO) for appropiate values of FOO.
      (currently AUTHENTICATION and ENCRYPTION)
3) WARNS=2 fixing
4) GC other unused stuff

This code can now be unifdef(1)ed to make non-crypto telnet.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@87139 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-11-30 21:06:38 +00:00
nsayer
3352bb6256 Sheldon asked me to make a note of the Message-ID of the e-mail from
Dave approving the copyright statement.

The message was like this:

Date: Mon, 29 Oct 2001 13:18:36 -0500
From: David Safford <safford@watson.ibm.com>
Message-Id: <20011029181842.0DCAAD7C59@safford.watson.ibm.com>
Subject: Re: SRA copyright?
In-Reply-To: Your message of "Mon, 29 Oct 2001 09:13:14 PST."
     <3846.66.126.254.34.1004375594.squirrel@medusa.kfu.com>

looks fine.

dave safford

> >> Some time ago we spoke about SRA and importing it into FreeBSD. I
> >> forgot to ask if you had a prefered license boilerplate for the top of
> >> the files. It has come up recently, and the SRA code in FreeBSD
> >> doesn't have one.
> >>
> >>
> > I really have no preference - use whatever is most convenient in the
> > FreeBSD environment.
> >
> > dave safford
>
> Here is a representative diff. Let me know if you feel any changes are
> necessary.
>
> ===================================================================
> RCS file: /c/ncvs/src/crypto/telnet/libtelnet/pk.h,v
> retrieving revision 1.3
> retrieving revision 1.4

and so on and so on


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@85753 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-10-31 02:04:33 +00:00
jhb
55a105f79b Fix world by trimming an extra comment terminator.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@85703 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-10-29 19:22:38 +00:00
nsayer
c28778abe6 Add Berkeley copyright to SRA.
This is by the kind permission of Dave Safford, formerly of TAMU who wrote the
original code. Here is an excerpt of the e-mail exchange concerning this
issue:

Dave Safford wrote:
>Nick Sayer wrote:
>> Some time ago we spoke about SRA and importing it into FreeBSD. I forgot to
>> ask if you had a prefered license boilerplate for the top of the files. It
>> has come up recently, and the SRA code in FreeBSD doesn't have one.

>I really have no preference - use whatever is most convenient in the
>FreeBSD environment.

>dave safford

This is the standard BSD license with clause 3 removed and clause 4
suitably renumbered.

MFC after:	1 day


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@85690 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-10-29 16:12:16 +00:00
markm
5d43639f75 Diff-reduce these two.
Really, one of them needs to disappear. I'll figure out which
later.

Reported by:	bde


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@85600 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-10-27 12:49:19 +00:00
markm
1f6fc161a6 Add __FBSDID() to diff-reduce with "base" telnet.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@84305 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-10-01 16:04:55 +00:00
markm
3efb267b2d Manually unifdef(1) CRAY, UNICOS, hpux and sun uselsess code.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@82497 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-08-29 14:16:17 +00:00
dd
ee8be0d9e9 Remove description of an option that only applies to UNICOS < 7.0.
That define may still be present in the source, but I don't think
anyone has plans to try to use it.

Obtained from:	NetBSD


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@82326 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-08-25 21:29:12 +00:00
markm
0fd2377dcc Code merge and diff reduce with "base" telnet. This is the "later"
telnet, so it was treated as the reference code, except where later
commits were made to "base" telnet.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@81965 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-08-20 12:28:40 +00:00
horikawa
65d4fa535a Removal of following export controll related sentences:
o Because of export controls, TELNET ENCRYPT option is not supported outside
  of the United States and Canada.
o Because of export controls, data encryption
  is not supported outside of the United States and Canada.

src/crypto/README revision 1.5 commit log says:
> Crypto sources are no longer export controlled:
> Explain, why crypto sources are still in crypto/.
and actually telnet encryption is used outside of US and Canada now.

Pointed out by: OHSAWA Chitoshi <ohsawa@catv1.ccn-net.ne.jp>
Reviewed by: no objection on doc


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@81665 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-08-15 01:30:25 +00:00
ru
02129244b2 mdoc(7) police: s/BSD/.Bx/ where appropriate.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@81622 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-08-14 10:01:54 +00:00
kris
9de6e7ba10 output_data(), output_datalen() and netflush() didn't actually guarantee
to do what they are supposed to: under some circumstances output data would
be truncated, or the buffer would not actually be flushed (possibly leading
to overflows when the caller assumes the operation succeeded).  Change the
semantics so that these functions ensure they complete the operation before
returning.

Comment out diagnostic code enabled by '-D reports' which causes an
infinite recursion and an eventual crash.

Patch developed with assistance from ru and assar.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@80224 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-07-23 21:52:26 +00:00
ru
2c684cfa07 More potential buffer overflow fixes.
o Fixed `nfrontp' calculations in output_data().  If `remaining' is
  initially zero, it was possible for `nfrontp' to be decremented.

Noticed by:	dillon

o Replaced leaking writenet() with output_datalen():

:  * writenet
:  *
:  * Just a handy little function to write a bit of raw data to the net.
:  * It will force a transmit of the buffer if necessary
:  *
:  * arguments
:  *    ptr - A pointer to a character string to write
:  *    len - How many bytes to write
:  */
: 	void
: writenet(ptr, len)
: 	register unsigned char *ptr;
: 	register int len;
: {
: 	/* flush buffer if no room for new data) */
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 	if ((&netobuf[BUFSIZ] - nfrontp) < len) {
: 		/* if this fails, don't worry, buffer is a little big */
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 		netflush();
: 	}
:
: 	memmove(nfrontp, ptr, len);
: 	nfrontp += len;
:
: }  /* end of writenet */

What an irony!  :-)

o Optimized output_datalen() a bit.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@80038 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-07-20 12:02:30 +00:00
ru
819182e3f6 vsnprintf() can return a value larger than the buffer size.
Submitted by:	assar
Obtained from:	OpenBSD


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@79992 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-07-19 18:58:31 +00:00
ru
b3fb8c9630 Fixed the exploitable remote buffer overflow.
Reported on:	bugtraq
Obtained from:	Heimdal, NetBSD
Reviewed by:	obrien, imp


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@79981 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-07-19 17:48:57 +00:00
ru
bcdf745b83 mdoc(7) police: removed HISTORY info from the .Os call.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@79528 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-07-10 10:42:19 +00:00
ru
af631c25e4 mdoc(7) police: merge all fixes from non-crypto version.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@79324 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-07-05 14:08:12 +00:00
ru
6024787790 MF non-crypto: 1.13: document -u in usage.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@79323 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-07-05 14:06:27 +00:00
dillon
508568b464 Oops, forgot the 'u' in the getopt for the previous commit.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@77105 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-24 00:14:19 +00:00
dillon
c5ebb16d3c A feature to allow one to telnet to a unix domain socket. (MFC from
non-crypto version)

Also update the crypto telnet's man page to reflect other options
ported from the non-crypto version.

Obtained from:   Lyndon Nerenberg <lyndon@orthanc.ab.ca>


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@77095 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-23 22:54:07 +00:00
nsayer
9c526f75a3 Make the PAM user-override actually override the correect thing.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76751 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-17 16:28:11 +00:00
peter
b33b21628e Back out last commit. This was already fixed. This should never have
happened, this is why we have commit mail expressly delivered to
committers.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76712 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-17 03:14:42 +00:00
peter
595c1bb3ca Fix the latest telnet breakage. Obviously this was never compiled.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76711 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-17 03:13:00 +00:00
nsayer
7005445e10 Since the root-on-insecure-tty code was added to telnetd, a dependency
on char *line was added to libtelnet. Put a dummy one in to keep the
linker happy.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76697 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-16 20:34:42 +00:00
nsayer
74034d9846 Make sure the protocol actively rejects bad data rather than
(potentially) not responding to an invalid SRA 'auth is' message.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76696 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-16 20:24:58 +00:00
nsayer
e7c0163dfe srandomdev() affords us the opportunity to radically improve, and at the
same time simplify, the random number selection code.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76691 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-16 18:32:46 +00:00
nsayer
0a0c02d634 Catch any attempted buffer overflows. The magic numbers in this code
(512) are a little distressing, but the method really needs to be
extended to allow server-supplied DH parameters anyway.

Submitted by:	kris


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76690 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-16 18:27:09 +00:00
nsayer
ebece97cb0 Catch malloc return failures. This should help avoid dereferencing NULL on
low-memory situations.

Submitted by:	kris


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76689 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-16 18:17:55 +00:00
peter
8e7393fb93 Hack to work around braindeath in libtelnet:sra.c. The sra.o file
references global variables from telnetd, but is also linked into
telnet as well. I was tempted to back out the last sra.c change
as it is 100% bogus and should be taken out and shot, but for now
this bandaid should get world working again. :-(


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76616 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-15 09:52:03 +00:00
nsayer
b482ad5b9e If the uid of the attempted authentication is 0 and if the pty is
insecure, do not succeed. Copied from login.c. This functionality really
should be a PAM module.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76610 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-15 04:47:14 +00:00
nsayer
4213319244 Pointy hat fix -- reapply the SRA PAM patch. To -current this time.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@76339 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-05-07 20:42:02 +00:00
ru
ff3aa86c66 mdoc(7) police: removed hard sentence breaks introduced in rev.1.10.
git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@75465 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-04-13 08:49:52 +00:00
nsayer
eca1a06f99 Clean up telnet's argument processing a bit. autologin and encryption is
now the default, so ignore the arguments that turn it on. Add a new -y
argument to turn off encryption in case someone wants to do that. Sync
these changes with the man page (including removing the now obsolete
statement about availability only in the US and Canada).


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@75263 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-04-06 15:56:10 +00:00
nsayer
785ba71778 Reactivate SRA.
Make handling of SIGINT and SIGQUIT follow SIGTSTP in TerminalNewMode().
This allows people to break out of SRA authentication if they wish to.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@75236 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-04-05 14:09:15 +00:00
nsayer
47180006ae Fix core noted in -stable with 'auth disable SRA'.
I just mistakenly commited this to RELENG_4. I have contacted Jordan to see
about how to fix this. Pass the pointy hat.


git-svn-id: http://svn0.us-east.freebsd.org/base/head/contrib/telnet@74411 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
2001-03-18 09:44:25 +00:00