Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34d0b614b3 | ||
|
|
29b5a590f2 | ||
|
|
01ab4a25c8 | ||
|
|
29d685212f | ||
|
|
92986dd9ba | ||
|
|
eff18d6aaa | ||
|
|
e413cba972 | ||
|
|
062307657e | ||
|
|
7f6ea0264d |
@@ -1,578 +1,36 @@
|
||||
Fri Nov 17 16:19:20 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Released 1.2.12.
|
||||
|
||||
* channels.c: Commented out debugging messages about output draining.
|
||||
|
||||
* Added file OVERVIEW to give some idea about the structure of the
|
||||
ssh software.
|
||||
|
||||
Thu Nov 16 16:40:17 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* canohost.c (get_remote_hostname): Don't ever return NULL (causes
|
||||
segmentation violation).
|
||||
|
||||
* sshconnect.c: Host ip address printed incorrectly with -v.
|
||||
|
||||
* Implemented SSH_TTY environment variable.
|
||||
|
||||
Wed Nov 15 01:47:40 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Implemented server and client option KeepAlive to specify
|
||||
whether to set SO_KEEPALIVE. Both default to "yes"; to disable
|
||||
keepalives, set the value to "no" in both the server and the
|
||||
client configuration files. Updated manual pages.
|
||||
|
||||
* sshd.c: Fixed Solaris utmp problem: wrong pid stored in utmp
|
||||
(patch from Petri Virkkula <[email protected]>).
|
||||
|
||||
* login.c (record_logout): Fixed removing user from utmp on BSD
|
||||
(with HAVE_LIBUTIL_LOGIN).
|
||||
|
||||
* Added cleanup functions to be called from fatal(). Arranged for
|
||||
utmp to be cleaned if sshd terminates by calling fatal (e.g.,
|
||||
after dropping connection). Eliminated separate client-side
|
||||
fatal() functions and moved fatal() to log-client.c. Made all
|
||||
cleanups, including channel_stop_listening() and packet_close()
|
||||
be called using this mechanism.
|
||||
|
||||
Thu Nov 9 09:58:05 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c: Permit immediate login with empty password only if
|
||||
password authentication is allowed.
|
||||
|
||||
Wed Nov 8 00:43:55 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Eliminated unix-domain X11 forwarding. Inet-domain forwarding is
|
||||
now the only supported form. Renamed server option
|
||||
X11InetForwarding to X11Forwarding, and eliminated
|
||||
X11UnixForwarding. Updated documentation. Updated RFC (marked
|
||||
the SSH_CMSG_X11_REQUEST_FORWARDING message (code 26) as
|
||||
obsolete, and removed all references to it). Increased protocol
|
||||
version number to 1.3.
|
||||
|
||||
* scp.c (main): Added -B (BatchMode). Updated manual page.
|
||||
|
||||
* Cleaned up and updated all manual pages.
|
||||
|
||||
* clientloop.c: Added new escape sequences ~# (lists forwarded
|
||||
connections), ~& (background ssh when waiting for forwarded
|
||||
connections to terminate), ~? (list available escapes).
|
||||
Polished the output of the connection listing. Updated
|
||||
documentation.
|
||||
|
||||
* uidswap.c: If _POSIX_SAVED_IDS is defined, don't change the real
|
||||
uid. Assume that _POSIX_SAVED_IDS also applies to seteuid.
|
||||
This may solve problems with tcp_wrappers (libwrap) showing
|
||||
connections as coming from root.
|
||||
|
||||
Tue Nov 7 20:28:57 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Added RandomSeed server configuration option. The argument
|
||||
specifies the location of the random seed file. Updated
|
||||
documentation.
|
||||
|
||||
* Locate perl5 in configure. Generate make-ssh-known-hosts (with
|
||||
the correct path for perl5) in Makefile.in, and install it with
|
||||
the other programs. Updated manual page.
|
||||
|
||||
* sshd.c (main): Added a call to umask to set the umask to a
|
||||
reasonable value.
|
||||
|
||||
* compress.c (buffer_compress): Fixed to follow the zlib
|
||||
documentation (which is slightly confusing).
|
||||
|
||||
* INSTALL: Added information about Linux libc.so.4 problem.
|
||||
|
||||
Mon Nov 6 15:42:36 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* (Actually autoconf fix) Installed patch to AC_ARG_PROGRAM.
|
||||
|
||||
* sshd.c, sshd.8.in: Renamed $HOME/.environment ->
|
||||
$HOME/.ssh/environment.
|
||||
|
||||
* configure.in: Disable shadow password checking on convex.
|
||||
Convex has /etc/shadow, but sets pw_passwd automatically if
|
||||
running as root.
|
||||
|
||||
* Eliminated HAVE_ETC_MASTER_PASSWD (NetBSD, FreeBSD); the
|
||||
pw_passwd field is automatically filled if running as root.
|
||||
Put explicit code in configure.in to prevent shadow password
|
||||
checking on FreeBSD and NetBSD.
|
||||
|
||||
* serverloop.c (signchld_handler): Don't print error if wait
|
||||
returns -1.
|
||||
|
||||
* Makefile.in (install): Fixed modes of data files.
|
||||
|
||||
* Makefile.in (install): Make links for slogin.1.
|
||||
|
||||
* make-ssh-known-hosts: Merged a patch from [email protected] to
|
||||
fix the ping command.
|
||||
|
||||
Fri Nov 3 16:25:28 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh.1.in: Added more information about X11 forwarding.
|
||||
|
||||
Thu Nov 2 18:42:13 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Changes to use O_NONBLOCK_BROKEN consistently.
|
||||
|
||||
* pty.c (pty_make_controlling_tty): Use setpgid instead of
|
||||
setsid() on Ultrix.
|
||||
|
||||
* includes.h: Removed redundant #undefs for Ultrix and Sony News;
|
||||
these are already handled in configure.in.
|
||||
|
||||
Tue Oct 31 13:31:28 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* configure.in: Define SSH_WTMP to /var/adm/wtmp is wtmp not found.
|
||||
|
||||
* configure.in: Disable vhangup on Ultrix. I am told this fixes
|
||||
the server problems.
|
||||
|
||||
Sat Oct 28 14:22:05 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshconnect.c: Fixed a bug in connecting to a multi-homed host.
|
||||
Restructured the connecting code to never try to use the same
|
||||
socket a second time after a failed connection.
|
||||
|
||||
* Makefile.in: Added explicit -m option to install, and umask 022
|
||||
when creating directories and the host key.
|
||||
|
||||
Fri Oct 27 01:05:10 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Makefile.in: Added cleaning of $(ZLIBDIR) to clean and distclean.
|
||||
|
||||
* login.c (get_last_login_time): Fixed a typo (define -> defined).
|
||||
|
||||
Thu Oct 26 01:28:07 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* configure.in: Moved testing for ANSI C compiler after the host
|
||||
specific code (problems on HPUX).
|
||||
|
||||
* Minor fixes to /etc/default/login stuff from Bryan O'Sullivan.
|
||||
|
||||
* Fixed .SH NAME sections in manual pages.
|
||||
|
||||
* compress.c: Trying to fix a mysterious bug in the compression
|
||||
glue.
|
||||
|
||||
* ssh-1.2.11.
|
||||
|
||||
* scp.c: disable agent forwarding when running ssh from scp.
|
||||
|
||||
* Added compression of plaintext packets using the gzip library
|
||||
(zlib). Client configuration options Compression and
|
||||
CompressionLevel (1-9 as in gzip). New ssh and scp option -C
|
||||
(to enable compression). Updated RFC.
|
||||
|
||||
Wed Oct 25 05:11:55 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Implemented ProxyCommand stuff based on patches from Bryan
|
||||
O'Sullivan <[email protected]>.
|
||||
|
||||
* Merged BSD login/logout/lastlog patches from Mark Treacy
|
||||
<[email protected]>.
|
||||
|
||||
* sshd.c: Added chdir("/").
|
||||
|
||||
Tue Oct 24 00:29:01 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Merged RSA environment= patches from Felix Leitner
|
||||
<[email protected]> with some changes.
|
||||
|
||||
* sshd.c: Made the packet code use two separate descriptors for
|
||||
the connection (one for input, the other for output). This will
|
||||
make future extensions easier (e.g., non-socket transports, etc.).
|
||||
sshd -i now uses both stdin and stdout separately.
|
||||
|
||||
Mon Oct 23 21:29:28 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c: Merged execle -> execve patches from Mark Martinec
|
||||
<[email protected]>. This may help with execle bugs on
|
||||
Convex (environment not getting passed properly). This might
|
||||
also solve similar problems on Sonys; please test!
|
||||
|
||||
* Removed all compatibility code for protocol version 1.0.
|
||||
THIS MEANS THAT WE ARE NO LONGER COMPATIBLE WITH SSH VERSIONS
|
||||
PRIOR TO 1.1.0.
|
||||
|
||||
* randoms.c (random_acquire_light_environmental_noise): If
|
||||
/dev/random is available, read up to 32 bytes (256 bits) from
|
||||
there in non-blocking mode, and mix the new random bytes into
|
||||
the pool.
|
||||
|
||||
* Added client configuration option StrictHostKeyChecking
|
||||
(disabled by default). If this is enabled, the client will not
|
||||
automatically add new host keys to $HOME/.ssh/known_hosts;
|
||||
instead the connection will be refused if the host key is not
|
||||
known. Similarly, if the host key has changed, the connection
|
||||
will be refused instead if just issuing a warning. This
|
||||
provides additional security against man-in-the-middle/trojan
|
||||
horse attacks (especially in scripts where there is no-one to
|
||||
see the warnings), but may be quite inconvenient in everyday
|
||||
interactive use unless /etc/ssh_known_hosts is very complete,
|
||||
because new host keys must now be added manually.
|
||||
|
||||
* sshconnect.c (ssh_connect): Use the user's uid when creating the
|
||||
socket and connecting it. I am hoping that this might help with
|
||||
tcp_wrappers showing the remote user as root.
|
||||
|
||||
* ssh.c: Try inet-domain X11 forwarding regardless of whether we
|
||||
can get local authorization information. If we don't, we just
|
||||
come up with fake information; the forwarding code will anyway
|
||||
generate its own fake information and validate that the client
|
||||
knows that information. It will then substitute our fake
|
||||
information for that, but that info should get ignored by the
|
||||
server if it doesn't support it.
|
||||
|
||||
* Added option BatchMode to disable password/passphrase querying
|
||||
in scripts.
|
||||
|
||||
* auth-rh-rsa.c: Changed to use uid-swapping when reading
|
||||
.ssh/known_hosts.
|
||||
|
||||
* sshd.8.in (command): Improved documentation of file permissions
|
||||
on the manual pages.
|
||||
|
||||
Thu Oct 19 21:05:51 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh-add.c (add_file): Fixed a bug causing ssh to sometimes refer
|
||||
to freed memory (comment -> saved_comment).
|
||||
|
||||
* log-server.c: Added a prefix to debug/warning/error/fatal
|
||||
messages describing message types. Syslog does not include that
|
||||
information automatically.
|
||||
|
||||
Sun Oct 8 01:56:01 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Merged /etc/default/login and MAIL environment variable changes
|
||||
from Bryan O'Sullivan <[email protected]>.
|
||||
- mail spool file location
|
||||
- process /etc/default/login
|
||||
- add HAVE_ETC_DEFAULT_LOGIN
|
||||
- new function child_get_env and read_etc_default_login (sshd.c)
|
||||
|
||||
* ssh-add.c (add_file): Fixed asking for passphrase.
|
||||
|
||||
* Makefile.in: Fixed installing configure-generated man pages when
|
||||
compiling in a separate object directory.
|
||||
|
||||
* sshd.c (main): Moved RSA key generation until after allocating
|
||||
the port number. (Actually, the code got duplicated because we
|
||||
never listen when run from inetd.)
|
||||
|
||||
* ssh.c: Fixed a problem that caused scp to hang when called with
|
||||
stdin closed.
|
||||
|
||||
Sat Oct 7 03:08:06 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Added server config option StrictModes. It specifies whether to
|
||||
check ownership and modes of home directory and .rhosts files.
|
||||
|
||||
* ssh.c: If ssh is renamed/linked to a host name, connect to that
|
||||
host.
|
||||
|
||||
* serverloop.c, clientloop.c: Ignore EAGAIN reported on read from
|
||||
connection. Solaris has a kernel bug which causes select() to
|
||||
sometimes wake up even though there is no data available.
|
||||
|
||||
* Display all open connections when printing the "Waiting for
|
||||
forwarded connections to terminate" message.
|
||||
|
||||
* sshd.c, readconf.c: Added X11InetForwarding and
|
||||
X11UnixForwarding server config options.
|
||||
|
||||
Thu Oct 5 17:41:16 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Some more SCO fixes.
|
||||
|
||||
Tue Oct 3 01:04:34 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Fixes and cleanups in README, INSTALL, COPYING.
|
||||
|
||||
Mon Oct 2 03:36:08 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh-add.c (add_file): Fixed a bug in ssh-add (xfree: NULL ...).
|
||||
|
||||
* Removed .BR from ".SH NAME" in man pages.
|
||||
|
||||
Sun Oct 1 04:16:07 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh-1.2.10.
|
||||
|
||||
* configure.in: When checking that the compiler works, check that
|
||||
it understands ANSI C prototypes.
|
||||
|
||||
* Made uidswap error message a debug() to avoid confusing errors
|
||||
on AIX (AIX geteuid is brain-damaged and fails even for root).
|
||||
|
||||
* Fixed an error in sshd.8 (FacistLogging -> FascistLogging).
|
||||
|
||||
* Fixed distribution in Makefile.in (missing manual page .in files).
|
||||
|
||||
Sat Sep 30 17:38:46 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* auth-rhosts.c: Fixed serious security problem in
|
||||
/etc/hosts.equiv authentication.
|
||||
|
||||
Fri Sep 29 00:41:02 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Include machine/endian.h on Paragon.
|
||||
|
||||
* ssh-add.c (add_file): Made ssh-add keep asking for the
|
||||
passphrase until the user just types return or cancels.
|
||||
Make the dialog display the comment of the key.
|
||||
|
||||
* Read use shosts.equiv in addition to /etc/hosts.equiv.
|
||||
|
||||
* sshd.8 is now sshd.8.in and is processed by configure to
|
||||
substitute the proper paths for various files. Ditto for ssh.1.
|
||||
Ditto for make-ssh-known-hosts.1.
|
||||
|
||||
* configure.in: Moved /etc/sshd_pid to PIDDIR/sshd.pid. PIDDIR
|
||||
will be /var/run if it exists, and ETCDIR otherwise.
|
||||
|
||||
Thu Sep 28 21:52:42 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* On Ultrix, check if sys/syslog.h needs to be included in
|
||||
addition to syslog.h.
|
||||
|
||||
* make-ssh-known-hosts.pl: Merged Kivinen's fixes for HPUX.
|
||||
|
||||
* configure.in: Put -lwrap, -lsocks, etc. at the head of LIBS.
|
||||
|
||||
* Fixed case-insensitivity in auth-rhosts.c.
|
||||
|
||||
* Added missing socketpair.c to EXTRA_SRCS (needed on SCO), plus
|
||||
other SCO fixes.
|
||||
|
||||
* Makefile.in: Fixed missing install_prefixes.
|
||||
|
||||
Wed Sep 27 03:57:00 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh-1.2.9.
|
||||
|
||||
* Added SOCKS support.
|
||||
|
||||
* Fixed default setting of IgnoreRhosts option.
|
||||
|
||||
* Pass the magic cookie to xauth in stdin instead of command line;
|
||||
the command line is visible in ps.
|
||||
|
||||
* Added processing $HOME/.ssh/rc and /etc/sshrc.
|
||||
|
||||
* Added a section to sshd.8 on what happens at login time.
|
||||
|
||||
Tue Sep 26 01:27:40 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Don't define speed_t on SunOS 4.1.1; it conflicts with system
|
||||
headers.
|
||||
|
||||
* Added support for .hushlogin.
|
||||
|
||||
* Added --with-etcdir.
|
||||
|
||||
* Read $HOME/.environment after /etc/environment.
|
||||
|
||||
Mon Sep 25 03:26:06 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Merged patches for SCO Unix (from Michael Henits).
|
||||
|
||||
Sun Sep 24 22:28:02 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Added ssh option ConnectionAttempts.
|
||||
|
||||
Sat Sep 23 12:30:15 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c: Don't print last login time and /etc/motd if a command
|
||||
has been specified (with ssh -t host command).
|
||||
|
||||
* Added support for passing the screen number in X11 forwarding.
|
||||
It is implemented as a compatible protocol extension, signalled
|
||||
by SSH_PROTOFLAG_SCREEN_NUMBER by the child.
|
||||
|
||||
* clientloop.c: Fixed bugs in the order in which things were
|
||||
processed. This may solve problems with some data not getting
|
||||
sent to the server as soon as possible (probably solves the TCP
|
||||
forwarding delayed close problem). Also, it looked like window
|
||||
changes might not get transmitted as early as possible in some
|
||||
cases.
|
||||
|
||||
* clientloop.c: Changed to detect window size change that
|
||||
happened while ssh was suspended.
|
||||
|
||||
* ssh.c: Moved the do_session function (client main loop) to
|
||||
clientloop.c. Divided it into smaller functions. General cleanup.
|
||||
|
||||
* ssh-1.2.8
|
||||
|
||||
Fri Sep 22 22:07:46 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshconnect.c (ssh_login): Made ssh_login take the options
|
||||
structure as argument, instead of the individual arguments.
|
||||
|
||||
* auth-rhosts.c (check_rhosts_file): Added support for netgroups.
|
||||
|
||||
* auth-rhosts.c (check_rhosts_file): Added support for negated
|
||||
entries.
|
||||
|
||||
Thu Sep 21 00:07:56 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* auth-rhosts.c: Restructured rhosts authentication code.
|
||||
Hosts.equiv now has same format as .rhosts: user names are allowed.
|
||||
|
||||
* Added support for the Intel Paragon.
|
||||
|
||||
* sshd.c: Don't use X11 forwarding with spoofing if no xauth
|
||||
program. Changed configure.in to not define XAUTH_PATH if
|
||||
there is no xauth program.
|
||||
|
||||
* ssh-1.2.7
|
||||
|
||||
* sshd.c: Rewrote the code to build the environment. Now also reads
|
||||
/etc/environment.
|
||||
|
||||
* sshd.c: Fixed problems in libwrap code. --with-libwrap now
|
||||
takes optional library name/path.
|
||||
|
||||
* ssh-1.2.6
|
||||
|
||||
* Define USE_PIPES by default.
|
||||
|
||||
* Added support for Univel Unixware and MachTen.
|
||||
|
||||
* Added IgnoreRhosts server option.
|
||||
|
||||
* Added USE_STRLEN_FOR_AF_UNIX; it is needed at least on MachTen.
|
||||
|
||||
Wed Sep 20 02:41:02 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c (do_child): don't call packet_close when /etc/nologin,
|
||||
because packet_close does shutdown, and the message does not get
|
||||
sent.
|
||||
|
||||
* pty.c (pty_allocate): Push ttcompat streams module.
|
||||
|
||||
* randoms.c (random_acquire_light_environmental_noise): Don't use
|
||||
the second argument to gettimeofday as it is not supported on
|
||||
all systems.
|
||||
|
||||
* login.c (record_login): Added NULL second argument to gettimeofday.
|
||||
|
||||
Tue Sep 19 13:25:48 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* fixed pclose wait() in sshd key regeneration (now only collects
|
||||
easily available noise).
|
||||
|
||||
* configure.in: test for bsdi before bsd*.
|
||||
|
||||
* ssh.c: Don't print "Connection closed" if -q.
|
||||
|
||||
Wed Sep 13 04:19:52 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Released ssh-1.2.5.
|
||||
|
||||
* Hopefully fixed "Waiting for forwarded connections to terminate"
|
||||
message.
|
||||
|
||||
* randoms.c, md5.c: Large modifications to make these work on Cray
|
||||
(which has no 32 bit integer type).
|
||||
|
||||
* Fixed a problem with forwarded connection closes not being
|
||||
reported immediately.
|
||||
|
||||
* ssh.c: fixed rhosts authentication (broken by uid-swapping).
|
||||
|
||||
* scp.c: Don't use -l if server user not specified (it made
|
||||
setting User in the configuration file not work).
|
||||
|
||||
* configure.in: don't use -pipe on BSDI.
|
||||
|
||||
* randoms.c: Major modifications to make it work without 32 bit
|
||||
integers (e.g. Cray).
|
||||
|
||||
* md5.c: Major modifications to make it work without 32 bit
|
||||
integers (e.g. Cray).
|
||||
|
||||
* Eliminated HPSUX_BROKEN_PTYS. The code is now enabled by
|
||||
default on all systems.
|
||||
|
||||
Mon Sep 11 00:53:12 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c: don't include sshd pathname in log messages.
|
||||
|
||||
* Added libwrap stuff (includes support for identd).
|
||||
|
||||
* Added OSF/1 C2 extended security stuff.
|
||||
|
||||
* Fixed interactions between getuid() and uid-swap stuff.
|
||||
|
||||
Sun Sep 10 00:29:27 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* serverloop.c: Don't send stdout data to client until after a few
|
||||
milliseconds if there is very little data. This is because some
|
||||
systems give data from pty one character at a time, which would
|
||||
multiply data size by about 16.
|
||||
|
||||
* serverloop.c: Moved server do_session to a separate file and
|
||||
renamed it server_loop. Split it into several functions and
|
||||
partially rewrote it. Fixed "cat /etc/termcap | ssh foo cat" hangup.
|
||||
|
||||
* Screwed up something while checking stuff in under cvs. No harm,
|
||||
but bogus log entries...
|
||||
|
||||
Sat Sep 9 02:24:51 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* minfd.c (_get_permanent_fd): Use SHELL environment variable.
|
||||
|
||||
* channels.c (x11_create_display_inet): Created
|
||||
HPSUX_NONSTANDARD_X11_KLUDGE; it causes DISPLAY to contain the
|
||||
IP address of the host instead of the name, because HPSUX uses
|
||||
some magic shared memory communication for local connections.
|
||||
|
||||
* Changed SIGHUP processing in server; it should now work multiple
|
||||
times.
|
||||
|
||||
* Added length limits in many debug/log/error/fatal calls just in
|
||||
case.
|
||||
|
||||
* login.c (get_last_login_time): Fixed location of lastlog.
|
||||
|
||||
* Rewrote all uid-swapping code. New files uidswap.h, uidswap.c.
|
||||
|
||||
* Fixed several security problems involving chmod and chgrp (race
|
||||
conditions). Added warnings about dubious modes for /tmp/.X11-unix.
|
||||
|
||||
Fri Sep 8 20:03:36 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Changed readconf.c to never display anything from the config
|
||||
file. This should now be prevented otherwise, but let's play safe.
|
||||
|
||||
* log-server.c: Use %.500s in syslog() just to be sure (they
|
||||
should already be shorter than 1024 though).
|
||||
|
||||
* sshd.c: Moved setuid in child a little earlier (just to be
|
||||
conservative, there was no security problem that I could detect).
|
||||
|
||||
* README, INSTALL: Added info about mailing list and WWW page.
|
||||
|
||||
* sshd.c: Added code to use SIGCHLD and wait zombies immediately.
|
||||
|
||||
* Merged patch to set ut_addr in utmp.
|
||||
|
||||
* Created ChangeLog and added it to Makefile.in.
|
||||
|
||||
* Use read_passphrase instead of getpass().
|
||||
|
||||
* Added SSH_FALLBACK_CIPHER. Fixed a bug in default cipher
|
||||
selection (IDEA used to be selected even if not supported by the
|
||||
server).
|
||||
|
||||
* Use no encryption for key files if empty passphrase.
|
||||
|
||||
* Added section about --without-idea in INSTALL.
|
||||
|
||||
* Version 1.2.0 was released a couple of days ago.
|
||||
|
||||
19991028
|
||||
- Further PAM enhancements.
|
||||
- Much cleaner
|
||||
- Now uses account and session modules for all logins.
|
||||
- Integrated patch from Dan Brosemer <[email protected]>
|
||||
- Build fixes
|
||||
- Autoconf
|
||||
- Change binary names to open*
|
||||
- Fixed autoconf script to detect PAM on RH6.1
|
||||
- Added tests for libpwdb, and OpenBSD functions to autoconf
|
||||
- Released 1.2pre4
|
||||
|
||||
- Imported latest OpenBSD CVS code
|
||||
- Updated README.openssh
|
||||
- Released 1.2pre5
|
||||
|
||||
19991027
|
||||
- Adapted PAM patch.
|
||||
- Released 1.0pre2
|
||||
|
||||
- Excised my buggy replacements for strlcpy and mkdtemp
|
||||
- Imported correct OpenBSD strlcpy and mkdtemp routines.
|
||||
- Reduced arc4random_stir entropy read to 32 bytes (256 bits)
|
||||
- Picked up correct version number from OpenBSD
|
||||
- Added sshd.pam PAM configuration file
|
||||
- Added sshd.init Redhat init script
|
||||
- Added openssh.spec RPM spec file
|
||||
- Released 1.2pre3
|
||||
|
||||
19991026
|
||||
- Fixed include paths of OpenSSL functions
|
||||
- Use OpenSSL MD5 routines
|
||||
- Imported RC4 code from nanocrypt
|
||||
- Wrote replacements for OpenBSD arc4random* functions
|
||||
- Wrote replacements for strlcpy and mkdtemp
|
||||
- Released 1.0pre1
|
||||
|
||||
@@ -0,0 +1,578 @@
|
||||
Fri Nov 17 16:19:20 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Released 1.2.12.
|
||||
|
||||
* channels.c: Commented out debugging messages about output draining.
|
||||
|
||||
* Added file OVERVIEW to give some idea about the structure of the
|
||||
ssh software.
|
||||
|
||||
Thu Nov 16 16:40:17 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* canohost.c (get_remote_hostname): Don't ever return NULL (causes
|
||||
segmentation violation).
|
||||
|
||||
* sshconnect.c: Host ip address printed incorrectly with -v.
|
||||
|
||||
* Implemented SSH_TTY environment variable.
|
||||
|
||||
Wed Nov 15 01:47:40 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Implemented server and client option KeepAlive to specify
|
||||
whether to set SO_KEEPALIVE. Both default to "yes"; to disable
|
||||
keepalives, set the value to "no" in both the server and the
|
||||
client configuration files. Updated manual pages.
|
||||
|
||||
* sshd.c: Fixed Solaris utmp problem: wrong pid stored in utmp
|
||||
(patch from Petri Virkkula <[email protected]>).
|
||||
|
||||
* login.c (record_logout): Fixed removing user from utmp on BSD
|
||||
(with HAVE_LIBUTIL_LOGIN).
|
||||
|
||||
* Added cleanup functions to be called from fatal(). Arranged for
|
||||
utmp to be cleaned if sshd terminates by calling fatal (e.g.,
|
||||
after dropping connection). Eliminated separate client-side
|
||||
fatal() functions and moved fatal() to log-client.c. Made all
|
||||
cleanups, including channel_stop_listening() and packet_close()
|
||||
be called using this mechanism.
|
||||
|
||||
Thu Nov 9 09:58:05 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c: Permit immediate login with empty password only if
|
||||
password authentication is allowed.
|
||||
|
||||
Wed Nov 8 00:43:55 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Eliminated unix-domain X11 forwarding. Inet-domain forwarding is
|
||||
now the only supported form. Renamed server option
|
||||
X11InetForwarding to X11Forwarding, and eliminated
|
||||
X11UnixForwarding. Updated documentation. Updated RFC (marked
|
||||
the SSH_CMSG_X11_REQUEST_FORWARDING message (code 26) as
|
||||
obsolete, and removed all references to it). Increased protocol
|
||||
version number to 1.3.
|
||||
|
||||
* scp.c (main): Added -B (BatchMode). Updated manual page.
|
||||
|
||||
* Cleaned up and updated all manual pages.
|
||||
|
||||
* clientloop.c: Added new escape sequences ~# (lists forwarded
|
||||
connections), ~& (background ssh when waiting for forwarded
|
||||
connections to terminate), ~? (list available escapes).
|
||||
Polished the output of the connection listing. Updated
|
||||
documentation.
|
||||
|
||||
* uidswap.c: If _POSIX_SAVED_IDS is defined, don't change the real
|
||||
uid. Assume that _POSIX_SAVED_IDS also applies to seteuid.
|
||||
This may solve problems with tcp_wrappers (libwrap) showing
|
||||
connections as coming from root.
|
||||
|
||||
Tue Nov 7 20:28:57 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Added RandomSeed server configuration option. The argument
|
||||
specifies the location of the random seed file. Updated
|
||||
documentation.
|
||||
|
||||
* Locate perl5 in configure. Generate make-ssh-known-hosts (with
|
||||
the correct path for perl5) in Makefile.in, and install it with
|
||||
the other programs. Updated manual page.
|
||||
|
||||
* sshd.c (main): Added a call to umask to set the umask to a
|
||||
reasonable value.
|
||||
|
||||
* compress.c (buffer_compress): Fixed to follow the zlib
|
||||
documentation (which is slightly confusing).
|
||||
|
||||
* INSTALL: Added information about Linux libc.so.4 problem.
|
||||
|
||||
Mon Nov 6 15:42:36 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* (Actually autoconf fix) Installed patch to AC_ARG_PROGRAM.
|
||||
|
||||
* sshd.c, sshd.8.in: Renamed $HOME/.environment ->
|
||||
$HOME/.ssh/environment.
|
||||
|
||||
* configure.in: Disable shadow password checking on convex.
|
||||
Convex has /etc/shadow, but sets pw_passwd automatically if
|
||||
running as root.
|
||||
|
||||
* Eliminated HAVE_ETC_MASTER_PASSWD (NetBSD, FreeBSD); the
|
||||
pw_passwd field is automatically filled if running as root.
|
||||
Put explicit code in configure.in to prevent shadow password
|
||||
checking on FreeBSD and NetBSD.
|
||||
|
||||
* serverloop.c (signchld_handler): Don't print error if wait
|
||||
returns -1.
|
||||
|
||||
* Makefile.in (install): Fixed modes of data files.
|
||||
|
||||
* Makefile.in (install): Make links for slogin.1.
|
||||
|
||||
* make-ssh-known-hosts: Merged a patch from [email protected] to
|
||||
fix the ping command.
|
||||
|
||||
Fri Nov 3 16:25:28 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh.1.in: Added more information about X11 forwarding.
|
||||
|
||||
Thu Nov 2 18:42:13 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Changes to use O_NONBLOCK_BROKEN consistently.
|
||||
|
||||
* pty.c (pty_make_controlling_tty): Use setpgid instead of
|
||||
setsid() on Ultrix.
|
||||
|
||||
* includes.h: Removed redundant #undefs for Ultrix and Sony News;
|
||||
these are already handled in configure.in.
|
||||
|
||||
Tue Oct 31 13:31:28 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* configure.in: Define SSH_WTMP to /var/adm/wtmp is wtmp not found.
|
||||
|
||||
* configure.in: Disable vhangup on Ultrix. I am told this fixes
|
||||
the server problems.
|
||||
|
||||
Sat Oct 28 14:22:05 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshconnect.c: Fixed a bug in connecting to a multi-homed host.
|
||||
Restructured the connecting code to never try to use the same
|
||||
socket a second time after a failed connection.
|
||||
|
||||
* Makefile.in: Added explicit -m option to install, and umask 022
|
||||
when creating directories and the host key.
|
||||
|
||||
Fri Oct 27 01:05:10 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Makefile.in: Added cleaning of $(ZLIBDIR) to clean and distclean.
|
||||
|
||||
* login.c (get_last_login_time): Fixed a typo (define -> defined).
|
||||
|
||||
Thu Oct 26 01:28:07 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* configure.in: Moved testing for ANSI C compiler after the host
|
||||
specific code (problems on HPUX).
|
||||
|
||||
* Minor fixes to /etc/default/login stuff from Bryan O'Sullivan.
|
||||
|
||||
* Fixed .SH NAME sections in manual pages.
|
||||
|
||||
* compress.c: Trying to fix a mysterious bug in the compression
|
||||
glue.
|
||||
|
||||
* ssh-1.2.11.
|
||||
|
||||
* scp.c: disable agent forwarding when running ssh from scp.
|
||||
|
||||
* Added compression of plaintext packets using the gzip library
|
||||
(zlib). Client configuration options Compression and
|
||||
CompressionLevel (1-9 as in gzip). New ssh and scp option -C
|
||||
(to enable compression). Updated RFC.
|
||||
|
||||
Wed Oct 25 05:11:55 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Implemented ProxyCommand stuff based on patches from Bryan
|
||||
O'Sullivan <[email protected]>.
|
||||
|
||||
* Merged BSD login/logout/lastlog patches from Mark Treacy
|
||||
<[email protected]>.
|
||||
|
||||
* sshd.c: Added chdir("/").
|
||||
|
||||
Tue Oct 24 00:29:01 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Merged RSA environment= patches from Felix Leitner
|
||||
<[email protected]> with some changes.
|
||||
|
||||
* sshd.c: Made the packet code use two separate descriptors for
|
||||
the connection (one for input, the other for output). This will
|
||||
make future extensions easier (e.g., non-socket transports, etc.).
|
||||
sshd -i now uses both stdin and stdout separately.
|
||||
|
||||
Mon Oct 23 21:29:28 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c: Merged execle -> execve patches from Mark Martinec
|
||||
<[email protected]>. This may help with execle bugs on
|
||||
Convex (environment not getting passed properly). This might
|
||||
also solve similar problems on Sonys; please test!
|
||||
|
||||
* Removed all compatibility code for protocol version 1.0.
|
||||
THIS MEANS THAT WE ARE NO LONGER COMPATIBLE WITH SSH VERSIONS
|
||||
PRIOR TO 1.1.0.
|
||||
|
||||
* randoms.c (random_acquire_light_environmental_noise): If
|
||||
/dev/random is available, read up to 32 bytes (256 bits) from
|
||||
there in non-blocking mode, and mix the new random bytes into
|
||||
the pool.
|
||||
|
||||
* Added client configuration option StrictHostKeyChecking
|
||||
(disabled by default). If this is enabled, the client will not
|
||||
automatically add new host keys to $HOME/.ssh/known_hosts;
|
||||
instead the connection will be refused if the host key is not
|
||||
known. Similarly, if the host key has changed, the connection
|
||||
will be refused instead if just issuing a warning. This
|
||||
provides additional security against man-in-the-middle/trojan
|
||||
horse attacks (especially in scripts where there is no-one to
|
||||
see the warnings), but may be quite inconvenient in everyday
|
||||
interactive use unless /etc/ssh_known_hosts is very complete,
|
||||
because new host keys must now be added manually.
|
||||
|
||||
* sshconnect.c (ssh_connect): Use the user's uid when creating the
|
||||
socket and connecting it. I am hoping that this might help with
|
||||
tcp_wrappers showing the remote user as root.
|
||||
|
||||
* ssh.c: Try inet-domain X11 forwarding regardless of whether we
|
||||
can get local authorization information. If we don't, we just
|
||||
come up with fake information; the forwarding code will anyway
|
||||
generate its own fake information and validate that the client
|
||||
knows that information. It will then substitute our fake
|
||||
information for that, but that info should get ignored by the
|
||||
server if it doesn't support it.
|
||||
|
||||
* Added option BatchMode to disable password/passphrase querying
|
||||
in scripts.
|
||||
|
||||
* auth-rh-rsa.c: Changed to use uid-swapping when reading
|
||||
.ssh/known_hosts.
|
||||
|
||||
* sshd.8.in (command): Improved documentation of file permissions
|
||||
on the manual pages.
|
||||
|
||||
Thu Oct 19 21:05:51 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh-add.c (add_file): Fixed a bug causing ssh to sometimes refer
|
||||
to freed memory (comment -> saved_comment).
|
||||
|
||||
* log-server.c: Added a prefix to debug/warning/error/fatal
|
||||
messages describing message types. Syslog does not include that
|
||||
information automatically.
|
||||
|
||||
Sun Oct 8 01:56:01 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Merged /etc/default/login and MAIL environment variable changes
|
||||
from Bryan O'Sullivan <[email protected]>.
|
||||
- mail spool file location
|
||||
- process /etc/default/login
|
||||
- add HAVE_ETC_DEFAULT_LOGIN
|
||||
- new function child_get_env and read_etc_default_login (sshd.c)
|
||||
|
||||
* ssh-add.c (add_file): Fixed asking for passphrase.
|
||||
|
||||
* Makefile.in: Fixed installing configure-generated man pages when
|
||||
compiling in a separate object directory.
|
||||
|
||||
* sshd.c (main): Moved RSA key generation until after allocating
|
||||
the port number. (Actually, the code got duplicated because we
|
||||
never listen when run from inetd.)
|
||||
|
||||
* ssh.c: Fixed a problem that caused scp to hang when called with
|
||||
stdin closed.
|
||||
|
||||
Sat Oct 7 03:08:06 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Added server config option StrictModes. It specifies whether to
|
||||
check ownership and modes of home directory and .rhosts files.
|
||||
|
||||
* ssh.c: If ssh is renamed/linked to a host name, connect to that
|
||||
host.
|
||||
|
||||
* serverloop.c, clientloop.c: Ignore EAGAIN reported on read from
|
||||
connection. Solaris has a kernel bug which causes select() to
|
||||
sometimes wake up even though there is no data available.
|
||||
|
||||
* Display all open connections when printing the "Waiting for
|
||||
forwarded connections to terminate" message.
|
||||
|
||||
* sshd.c, readconf.c: Added X11InetForwarding and
|
||||
X11UnixForwarding server config options.
|
||||
|
||||
Thu Oct 5 17:41:16 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Some more SCO fixes.
|
||||
|
||||
Tue Oct 3 01:04:34 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Fixes and cleanups in README, INSTALL, COPYING.
|
||||
|
||||
Mon Oct 2 03:36:08 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh-add.c (add_file): Fixed a bug in ssh-add (xfree: NULL ...).
|
||||
|
||||
* Removed .BR from ".SH NAME" in man pages.
|
||||
|
||||
Sun Oct 1 04:16:07 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh-1.2.10.
|
||||
|
||||
* configure.in: When checking that the compiler works, check that
|
||||
it understands ANSI C prototypes.
|
||||
|
||||
* Made uidswap error message a debug() to avoid confusing errors
|
||||
on AIX (AIX geteuid is brain-damaged and fails even for root).
|
||||
|
||||
* Fixed an error in sshd.8 (FacistLogging -> FascistLogging).
|
||||
|
||||
* Fixed distribution in Makefile.in (missing manual page .in files).
|
||||
|
||||
Sat Sep 30 17:38:46 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* auth-rhosts.c: Fixed serious security problem in
|
||||
/etc/hosts.equiv authentication.
|
||||
|
||||
Fri Sep 29 00:41:02 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Include machine/endian.h on Paragon.
|
||||
|
||||
* ssh-add.c (add_file): Made ssh-add keep asking for the
|
||||
passphrase until the user just types return or cancels.
|
||||
Make the dialog display the comment of the key.
|
||||
|
||||
* Read use shosts.equiv in addition to /etc/hosts.equiv.
|
||||
|
||||
* sshd.8 is now sshd.8.in and is processed by configure to
|
||||
substitute the proper paths for various files. Ditto for ssh.1.
|
||||
Ditto for make-ssh-known-hosts.1.
|
||||
|
||||
* configure.in: Moved /etc/sshd_pid to PIDDIR/sshd.pid. PIDDIR
|
||||
will be /var/run if it exists, and ETCDIR otherwise.
|
||||
|
||||
Thu Sep 28 21:52:42 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* On Ultrix, check if sys/syslog.h needs to be included in
|
||||
addition to syslog.h.
|
||||
|
||||
* make-ssh-known-hosts.pl: Merged Kivinen's fixes for HPUX.
|
||||
|
||||
* configure.in: Put -lwrap, -lsocks, etc. at the head of LIBS.
|
||||
|
||||
* Fixed case-insensitivity in auth-rhosts.c.
|
||||
|
||||
* Added missing socketpair.c to EXTRA_SRCS (needed on SCO), plus
|
||||
other SCO fixes.
|
||||
|
||||
* Makefile.in: Fixed missing install_prefixes.
|
||||
|
||||
Wed Sep 27 03:57:00 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* ssh-1.2.9.
|
||||
|
||||
* Added SOCKS support.
|
||||
|
||||
* Fixed default setting of IgnoreRhosts option.
|
||||
|
||||
* Pass the magic cookie to xauth in stdin instead of command line;
|
||||
the command line is visible in ps.
|
||||
|
||||
* Added processing $HOME/.ssh/rc and /etc/sshrc.
|
||||
|
||||
* Added a section to sshd.8 on what happens at login time.
|
||||
|
||||
Tue Sep 26 01:27:40 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Don't define speed_t on SunOS 4.1.1; it conflicts with system
|
||||
headers.
|
||||
|
||||
* Added support for .hushlogin.
|
||||
|
||||
* Added --with-etcdir.
|
||||
|
||||
* Read $HOME/.environment after /etc/environment.
|
||||
|
||||
Mon Sep 25 03:26:06 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Merged patches for SCO Unix (from Michael Henits).
|
||||
|
||||
Sun Sep 24 22:28:02 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Added ssh option ConnectionAttempts.
|
||||
|
||||
Sat Sep 23 12:30:15 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c: Don't print last login time and /etc/motd if a command
|
||||
has been specified (with ssh -t host command).
|
||||
|
||||
* Added support for passing the screen number in X11 forwarding.
|
||||
It is implemented as a compatible protocol extension, signalled
|
||||
by SSH_PROTOFLAG_SCREEN_NUMBER by the child.
|
||||
|
||||
* clientloop.c: Fixed bugs in the order in which things were
|
||||
processed. This may solve problems with some data not getting
|
||||
sent to the server as soon as possible (probably solves the TCP
|
||||
forwarding delayed close problem). Also, it looked like window
|
||||
changes might not get transmitted as early as possible in some
|
||||
cases.
|
||||
|
||||
* clientloop.c: Changed to detect window size change that
|
||||
happened while ssh was suspended.
|
||||
|
||||
* ssh.c: Moved the do_session function (client main loop) to
|
||||
clientloop.c. Divided it into smaller functions. General cleanup.
|
||||
|
||||
* ssh-1.2.8
|
||||
|
||||
Fri Sep 22 22:07:46 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshconnect.c (ssh_login): Made ssh_login take the options
|
||||
structure as argument, instead of the individual arguments.
|
||||
|
||||
* auth-rhosts.c (check_rhosts_file): Added support for netgroups.
|
||||
|
||||
* auth-rhosts.c (check_rhosts_file): Added support for negated
|
||||
entries.
|
||||
|
||||
Thu Sep 21 00:07:56 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* auth-rhosts.c: Restructured rhosts authentication code.
|
||||
Hosts.equiv now has same format as .rhosts: user names are allowed.
|
||||
|
||||
* Added support for the Intel Paragon.
|
||||
|
||||
* sshd.c: Don't use X11 forwarding with spoofing if no xauth
|
||||
program. Changed configure.in to not define XAUTH_PATH if
|
||||
there is no xauth program.
|
||||
|
||||
* ssh-1.2.7
|
||||
|
||||
* sshd.c: Rewrote the code to build the environment. Now also reads
|
||||
/etc/environment.
|
||||
|
||||
* sshd.c: Fixed problems in libwrap code. --with-libwrap now
|
||||
takes optional library name/path.
|
||||
|
||||
* ssh-1.2.6
|
||||
|
||||
* Define USE_PIPES by default.
|
||||
|
||||
* Added support for Univel Unixware and MachTen.
|
||||
|
||||
* Added IgnoreRhosts server option.
|
||||
|
||||
* Added USE_STRLEN_FOR_AF_UNIX; it is needed at least on MachTen.
|
||||
|
||||
Wed Sep 20 02:41:02 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c (do_child): don't call packet_close when /etc/nologin,
|
||||
because packet_close does shutdown, and the message does not get
|
||||
sent.
|
||||
|
||||
* pty.c (pty_allocate): Push ttcompat streams module.
|
||||
|
||||
* randoms.c (random_acquire_light_environmental_noise): Don't use
|
||||
the second argument to gettimeofday as it is not supported on
|
||||
all systems.
|
||||
|
||||
* login.c (record_login): Added NULL second argument to gettimeofday.
|
||||
|
||||
Tue Sep 19 13:25:48 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* fixed pclose wait() in sshd key regeneration (now only collects
|
||||
easily available noise).
|
||||
|
||||
* configure.in: test for bsdi before bsd*.
|
||||
|
||||
* ssh.c: Don't print "Connection closed" if -q.
|
||||
|
||||
Wed Sep 13 04:19:52 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Released ssh-1.2.5.
|
||||
|
||||
* Hopefully fixed "Waiting for forwarded connections to terminate"
|
||||
message.
|
||||
|
||||
* randoms.c, md5.c: Large modifications to make these work on Cray
|
||||
(which has no 32 bit integer type).
|
||||
|
||||
* Fixed a problem with forwarded connection closes not being
|
||||
reported immediately.
|
||||
|
||||
* ssh.c: fixed rhosts authentication (broken by uid-swapping).
|
||||
|
||||
* scp.c: Don't use -l if server user not specified (it made
|
||||
setting User in the configuration file not work).
|
||||
|
||||
* configure.in: don't use -pipe on BSDI.
|
||||
|
||||
* randoms.c: Major modifications to make it work without 32 bit
|
||||
integers (e.g. Cray).
|
||||
|
||||
* md5.c: Major modifications to make it work without 32 bit
|
||||
integers (e.g. Cray).
|
||||
|
||||
* Eliminated HPSUX_BROKEN_PTYS. The code is now enabled by
|
||||
default on all systems.
|
||||
|
||||
Mon Sep 11 00:53:12 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* sshd.c: don't include sshd pathname in log messages.
|
||||
|
||||
* Added libwrap stuff (includes support for identd).
|
||||
|
||||
* Added OSF/1 C2 extended security stuff.
|
||||
|
||||
* Fixed interactions between getuid() and uid-swap stuff.
|
||||
|
||||
Sun Sep 10 00:29:27 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* serverloop.c: Don't send stdout data to client until after a few
|
||||
milliseconds if there is very little data. This is because some
|
||||
systems give data from pty one character at a time, which would
|
||||
multiply data size by about 16.
|
||||
|
||||
* serverloop.c: Moved server do_session to a separate file and
|
||||
renamed it server_loop. Split it into several functions and
|
||||
partially rewrote it. Fixed "cat /etc/termcap | ssh foo cat" hangup.
|
||||
|
||||
* Screwed up something while checking stuff in under cvs. No harm,
|
||||
but bogus log entries...
|
||||
|
||||
Sat Sep 9 02:24:51 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* minfd.c (_get_permanent_fd): Use SHELL environment variable.
|
||||
|
||||
* channels.c (x11_create_display_inet): Created
|
||||
HPSUX_NONSTANDARD_X11_KLUDGE; it causes DISPLAY to contain the
|
||||
IP address of the host instead of the name, because HPSUX uses
|
||||
some magic shared memory communication for local connections.
|
||||
|
||||
* Changed SIGHUP processing in server; it should now work multiple
|
||||
times.
|
||||
|
||||
* Added length limits in many debug/log/error/fatal calls just in
|
||||
case.
|
||||
|
||||
* login.c (get_last_login_time): Fixed location of lastlog.
|
||||
|
||||
* Rewrote all uid-swapping code. New files uidswap.h, uidswap.c.
|
||||
|
||||
* Fixed several security problems involving chmod and chgrp (race
|
||||
conditions). Added warnings about dubious modes for /tmp/.X11-unix.
|
||||
|
||||
Fri Sep 8 20:03:36 1995 Tatu Ylonen <[email protected]>
|
||||
|
||||
* Changed readconf.c to never display anything from the config
|
||||
file. This should now be prevented otherwise, but let's play safe.
|
||||
|
||||
* log-server.c: Use %.500s in syslog() just to be sure (they
|
||||
should already be shorter than 1024 though).
|
||||
|
||||
* sshd.c: Moved setuid in child a little earlier (just to be
|
||||
conservative, there was no security problem that I could detect).
|
||||
|
||||
* README, INSTALL: Added info about mailing list and WWW page.
|
||||
|
||||
* sshd.c: Added code to use SIGCHLD and wait zombies immediately.
|
||||
|
||||
* Merged patch to set ut_addr in utmp.
|
||||
|
||||
* Created ChangeLog and added it to Makefile.in.
|
||||
|
||||
* Use read_passphrase instead of getpass().
|
||||
|
||||
* Added SSH_FALLBACK_CIPHER. Fixed a bug in default cipher
|
||||
selection (IDEA used to be selected even if not supported by the
|
||||
server).
|
||||
|
||||
* Use no encryption for key files if empty passphrase.
|
||||
|
||||
* Added section about --without-idea in INSTALL.
|
||||
|
||||
* Version 1.2.0 was released a couple of days ago.
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
19991027
|
||||
- Adapted PAM patch.
|
||||
- Released 1.0pre2
|
||||
|
||||
- Excised my buggy replacements for strlcpy and mkdtemp
|
||||
- Imported correct OpenBSD strlcpy and mkdtemp routines.
|
||||
- Reduced arc4random_stir entropy read to 32 bytes (256 bits)
|
||||
- Picked up correct version number from OpenBSD
|
||||
- Added sshd.pam PAM configuration file
|
||||
- Added sshd.init Redhat init script
|
||||
- Added openssh.spec RPM spec file
|
||||
- Released 1.2pre3
|
||||
|
||||
19991026
|
||||
- Fixed include paths of OpenSSL functions
|
||||
- Use OpenSSL MD5 routines
|
||||
- Imported RC4 code from nanocrypt
|
||||
- Wrote replacements for OpenBSD arc4random* functions
|
||||
- Wrote replacements for strlcpy and mkdtemp
|
||||
- Released 1.0pre1
|
||||
@@ -1,13 +1,75 @@
|
||||
# $OpenBSD: Makefile,v 1.5 1999/10/25 20:27:26 markus Exp $
|
||||
# Generated automatically from Makefile.in by configure.
|
||||
prefix=/usr/local
|
||||
exec_prefix=${prefix}
|
||||
bindir=${exec_prefix}/bin
|
||||
sbindir=${exec_prefix}/sbin
|
||||
libdir=${exec_prefix}/lib
|
||||
|
||||
.include <bsd.own.mk>
|
||||
CC=gcc
|
||||
OPT_FLAGS=-g
|
||||
CFLAGS=$(OPT_FLAGS) -Wall -DETCDIR=\"${prefix}/etc\" -DHAVE_CONFIG_H
|
||||
TARGETS=bin/libopenssh.a bin/openssh bin/opensshd bin/openssh-add bin/openssh-keygen bin/openssh-agent bin/openscp
|
||||
LFLAGS=-L./bin
|
||||
LIBS=-lopenssh -lpam -ldl -lpwdb -lz -lutil -lcrypto
|
||||
AR=ar
|
||||
RANLIB=ranlib
|
||||
|
||||
SUBDIR= lib ssh sshd ssh-add ssh-keygen ssh-agent scp
|
||||
OBJS= authfd.o authfile.o auth-passwd.o auth-rhosts.o auth-rh-rsa.o \
|
||||
auth-rsa.o bufaux.o buffer.o canohost.o channels.o cipher.o \
|
||||
clientloop.o compress.o crc32.o deattack.o helper.o hostfile.o \
|
||||
log-client.o login.o log-server.o match.o mpaux.o packet.o pty.o \
|
||||
readconf.o readpass.o rsa.o servconf.o serverloop.o \
|
||||
sshconnect.o tildexpand.o ttymodes.o uidswap.o xmalloc.o \
|
||||
helper.o mktemp.o strlcpy.o rc4.o
|
||||
|
||||
distribution:
|
||||
install -C -o root -g wheel -m 0644 ${.CURDIR}/ssh_config \
|
||||
${DESTDIR}/etc/ssh_config
|
||||
install -C -o root -g wheel -m 0644 ${.CURDIR}/sshd_config \
|
||||
${DESTDIR}/etc/sshd_config
|
||||
all: $(OBJS) $(TARGETS)
|
||||
|
||||
.include <bsd.subdir.mk>
|
||||
bin/libopenssh.a: authfd.o authfile.o bufaux.o buffer.o canohost.o channels.o cipher.o compat.o compress.o crc32.o deattack.o hostfile.o match.o mpaux.o nchan.o packet.o readpass.o rsa.o tildexpand.o ttymodes.o uidswap.o xmalloc.o helper.o rc4.o mktemp.o strlcpy.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(AR) rv $@ $^
|
||||
$(RANLIB) $@
|
||||
|
||||
bin/openssh: ssh.o sshconnect.o log-client.o readconf.o clientloop.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/opensshd: sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o pty.o log-server.o login.o servconf.o serverloop.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/openscp: scp.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/openssh-add: ssh-add.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/openssh-agent: ssh-agent.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/openssh-keygen: ssh-keygen.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
clean:
|
||||
rm -f *.o core bin/* config.status config.cache config.log
|
||||
|
||||
install:
|
||||
install -d $(bindir)
|
||||
install -d $(sbindir)
|
||||
install -d $(libdir)
|
||||
install -c bin/openssh $(bindir)/openssh
|
||||
install -c bin/openscp $(bindir)/openscp
|
||||
install -c bin/openssh-add $(bindir)/openssh-add
|
||||
install -c bin/openssh-agent $(bindir)/openssh-agent
|
||||
install -c bin/openssh-keygen $(bindir)/openssh-keygen
|
||||
install -c bin/opensshd $(sbindir)/opensshd
|
||||
install -c bin/libopenssh.a $(libdir)/libopenssh.a
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile config.h *~
|
||||
rm -rf bin
|
||||
|
||||
mrproper: distclean
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
OPT_FLAGS=-g
|
||||
CFLAGS=$(OPT_FLAGS) -Wall -DETCDIR=\"/etc/ssh\" -DHAVE_PAM -DHAVE_PWDB
|
||||
TARGETS=bin/libssh.a bin/ssh bin/sshd bin/ssh-add bin/ssh-keygen bin/ssh-agent bin/scp
|
||||
LFLAGS=-L./bin
|
||||
LIBS=-lssh -lcrypto -lz -lutil -lpwdb -lpam -ldl
|
||||
AR=ar
|
||||
RANLIB=ranlib
|
||||
|
||||
OBJS= authfd.o authfile.o auth-passwd.o auth-rhosts.o auth-rh-rsa.o \
|
||||
auth-rsa.o bufaux.o buffer.o canohost.o channels.o cipher.o \
|
||||
clientloop.o compress.o crc32.o deattack.o hostfile.o \
|
||||
log-client.o login.o log-server.o match.o mpaux.o packet.o pty.o \
|
||||
readconf.o readpass.o rsa.o servconf.o serverloop.o \
|
||||
sshconnect.o tildexpand.o ttymodes.o uidswap.o xmalloc.o \
|
||||
helper.o mktemp.o strlcpy.o rc4.o
|
||||
|
||||
all: $(OBJS) $(TARGETS)
|
||||
|
||||
bin/libssh.a: authfd.o authfile.o bufaux.o buffer.o canohost.o channels.o cipher.o compat.o compress.o crc32.o deattack.o hostfile.o match.o mpaux.o nchan.o packet.o readpass.o rsa.o tildexpand.o ttymodes.o uidswap.o xmalloc.o helper.o rc4.o mktemp.o strlcpy.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(AR) rv $@ $^
|
||||
$(RANLIB) $@
|
||||
|
||||
bin/ssh: ssh.o sshconnect.o log-client.o readconf.o clientloop.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/sshd: sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o pty.o log-server.o login.o servconf.o serverloop.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/scp: scp.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/ssh-add: ssh-add.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/ssh-agent: ssh-agent.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/ssh-keygen: ssh-keygen.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
clean:
|
||||
rm -f *.o core bin/*
|
||||
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
bindir=@bindir@
|
||||
sbindir=@sbindir@
|
||||
libdir=@libdir@
|
||||
|
||||
CC=@CC@
|
||||
OPT_FLAGS=-g
|
||||
CFLAGS=$(OPT_FLAGS) -Wall -DETCDIR=\"@sysconfdir@\" @DEFS@
|
||||
TARGETS=bin/libopenssh.a bin/openssh bin/opensshd bin/openssh-add bin/openssh-keygen bin/openssh-agent bin/openscp
|
||||
LFLAGS=-L./bin
|
||||
LIBS=-lopenssh @LIBS@
|
||||
AR=@AR@
|
||||
RANLIB=@RANLIB@
|
||||
|
||||
OBJS= authfd.o authfile.o auth-passwd.o auth-rhosts.o auth-rh-rsa.o \
|
||||
auth-rsa.o bufaux.o buffer.o canohost.o channels.o cipher.o \
|
||||
clientloop.o compress.o crc32.o deattack.o helper.o hostfile.o \
|
||||
log-client.o login.o log-server.o match.o mpaux.o packet.o pty.o \
|
||||
readconf.o readpass.o rsa.o servconf.o serverloop.o \
|
||||
sshconnect.o tildexpand.o ttymodes.o uidswap.o xmalloc.o \
|
||||
helper.o mktemp.o strlcpy.o rc4.o
|
||||
|
||||
all: $(OBJS) $(TARGETS)
|
||||
|
||||
bin/libopenssh.a: authfd.o authfile.o bufaux.o buffer.o canohost.o channels.o cipher.o compat.o compress.o crc32.o deattack.o hostfile.o match.o mpaux.o nchan.o packet.o readpass.o rsa.o tildexpand.o ttymodes.o uidswap.o xmalloc.o helper.o rc4.o mktemp.o strlcpy.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(AR) rv $@ $^
|
||||
$(RANLIB) $@
|
||||
|
||||
bin/openssh: ssh.o sshconnect.o log-client.o readconf.o clientloop.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/opensshd: sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o pty.o log-server.o login.o servconf.o serverloop.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/openscp: scp.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/openssh-add: ssh-add.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/openssh-agent: ssh-agent.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
bin/openssh-keygen: ssh-keygen.o log-client.o
|
||||
[ -d bin ] || mkdir bin
|
||||
$(CC) -o $@ $^ $(LFLAGS) $(LIBS)
|
||||
|
||||
clean:
|
||||
rm -f *.o core bin/* config.status config.cache config.log
|
||||
|
||||
install:
|
||||
install -d $(bindir)
|
||||
install -d $(sbindir)
|
||||
install -d $(libdir)
|
||||
install -c bin/openssh $(bindir)/openssh
|
||||
install -c bin/openscp $(bindir)/openscp
|
||||
install -c bin/openssh-add $(bindir)/openssh-add
|
||||
install -c bin/openssh-agent $(bindir)/openssh-agent
|
||||
install -c bin/openssh-keygen $(bindir)/openssh-keygen
|
||||
install -c bin/opensshd $(sbindir)/opensshd
|
||||
install -c bin/libopenssh.a $(libdir)/libopenssh.a
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile config.h *~
|
||||
rm -rf bin
|
||||
|
||||
mrproper: distclean
|
||||
@@ -1,11 +0,0 @@
|
||||
CFLAGS+= -I${.CURDIR}/..
|
||||
|
||||
.include <bsd.obj.mk>
|
||||
|
||||
.if exists(${.CURDIR}/../lib/${__objdir})
|
||||
LDADD+= -L${.CURDIR}/../lib/${__objdir} -lssh
|
||||
DPADD+= ${.CURDIR}/../lib/${__objdir}/libssh.a
|
||||
.else
|
||||
LDADD+= -L${.CURDIR}/../lib -lssh
|
||||
DPADD+= ${.CURDIR}/../lib/libssh.a
|
||||
.endif
|
||||
+23
-18
@@ -1,25 +1,28 @@
|
||||
This is a Linux port of OpenBSD's excellent OpenSSH.
|
||||
|
||||
OpenSSH is based on the last free version of Tatu Ylonen's SSH with all
|
||||
patent-encumbered algorithms removed, all known security bugs fixed, new
|
||||
features reintroduced and many other clean-ups.
|
||||
OpenSSH is based on the last free version of Tatu Ylonen's SSH with
|
||||
all patent-encumbered algorithms removed, all known security bugs
|
||||
fixed, new features reintroduced and many other clean-ups.
|
||||
|
||||
This Linux port basically consists of a few fixes to deal with the way that
|
||||
OpenSSL is usually installed on Linux systems, a few replacements for
|
||||
OpenBSD library functions and the introduction of partial PAM support.
|
||||
This Linux port basically consists of a few fixes to deal with the way
|
||||
that OpenSSL is usually installed on Linux systems, a few replacements
|
||||
for OpenBSD library functions and the introduction of partial PAM
|
||||
support.
|
||||
|
||||
The PAM support is less than optimal - it is only used when password
|
||||
authentication is requested, so things like pam_limits will not apply if a
|
||||
user authenticates with a RSA key. OTOH this is exactly the level of support
|
||||
that the popular Linux SSH packages have. Perhaps a PAM hacker can rectify
|
||||
this?
|
||||
The PAM support is now more functional than the popular packages of
|
||||
commercial ssh-1.2.x. It checks "account" and "session" modules for
|
||||
all logins, not just when using password authentication. This code is
|
||||
very new and needs further testing. I have also added basic libpwdb
|
||||
support (detected by autoconf).
|
||||
|
||||
All new code is released under a XFree style license, which is very liberal.
|
||||
This code is released with no warranties of any kind, neither I nor my
|
||||
employer (Internet Business Solutions) will take any responsibility for
|
||||
any loss, damage or liability arising from the use or abuse of this software.
|
||||
All new code is released under a XFree style license, which is very
|
||||
liberal. This code is released with no warranties of any kind,
|
||||
neither I nor my employer (Internet Business Solutions) will take any
|
||||
responsibility for any loss, damage or liability arising from the use
|
||||
or abuse of this software.
|
||||
|
||||
OpenSSH depends on Zlib, OpenSSL and PAM. Use the Makefile.GNU to build it.
|
||||
OpenSSH depends on Zlib, OpenSSL and PAM and optionally libpwdb. It now
|
||||
uses autoconf to build thanks to Dan Brosemer <[email protected]>
|
||||
|
||||
Damien Miller <[email protected]>
|
||||
Internet Business Solutions
|
||||
@@ -29,12 +32,14 @@ Credits -
|
||||
|
||||
The OpenBSD team
|
||||
'jonchen' - the original author of PAM support of SSH
|
||||
Dan Brosemer <[email protected]> - Autoconf and build fixes
|
||||
|
||||
Miscellania -
|
||||
|
||||
This version of SSH is based upon code retrieved from the OpenBSD CVS
|
||||
repository on 1999-10-26, which in turn was based on the last free
|
||||
version of SSH released by Tatu Ylonen.
|
||||
repository on 1999-10-28 patched by Damien Miller <[email protected]>,
|
||||
which in turn was based on the last free version of SSH released by
|
||||
Tatu Ylonen.
|
||||
|
||||
Code in helper.[ch] is Copyright 1999 Internet Business Solutions and
|
||||
is released under a X11-style license (see source file for details).
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
/* config.h.in. Generated by hand, don't use autoheader. */
|
||||
|
||||
/* Define if your ssl headers are included with #include <ssl/header.h> */
|
||||
#undef HAVE_SSL
|
||||
|
||||
/* Define if your ssl headers are included with #include <openssl/header.h> */
|
||||
#undef HAVE_OPENSSL
|
||||
+8
-1
@@ -15,8 +15,9 @@ validity of the host key.
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "includes.h"
|
||||
RCSID("$Id: auth-rsa.c,v 1.1 1999/10/27 03:42:43 damien Exp $");
|
||||
RCSID("$Id: auth-rsa.c,v 1.3 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#include "rsa.h"
|
||||
#include "packet.h"
|
||||
@@ -25,8 +26,14 @@ RCSID("$Id: auth-rsa.c,v 1.1 1999/10/27 03:42:43 damien Exp $");
|
||||
#include "mpaux.h"
|
||||
#include "uidswap.h"
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/rsa.h>
|
||||
#include <openssl/md5.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/rsa.h>
|
||||
#include <ssl/md5.h>
|
||||
#endif
|
||||
|
||||
/* Flags that may be set in authorized_keys options. */
|
||||
extern int no_port_forwarding_flag;
|
||||
|
||||
@@ -13,8 +13,9 @@ Functions for connecting the local authentication agent.
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "includes.h"
|
||||
RCSID("$Id: authfd.c,v 1.1 1999/10/27 03:42:43 damien Exp $");
|
||||
RCSID("$Id: authfd.c,v 1.2 1999/10/28 03:25:17 damien Exp $");
|
||||
|
||||
#include "ssh.h"
|
||||
#include "rsa.h"
|
||||
@@ -24,7 +25,12 @@ RCSID("$Id: authfd.c,v 1.1 1999/10/27 03:42:43 damien Exp $");
|
||||
#include "xmalloc.h"
|
||||
#include "getput.h"
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/rsa.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/rsa.h>
|
||||
#endif
|
||||
|
||||
/* Returns the number of the authentication fd, or -1 if there is none. */
|
||||
|
||||
|
||||
+8
-1
@@ -14,10 +14,17 @@ for reading the passphrase from the user.
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "includes.h"
|
||||
RCSID("$Id: authfile.c,v 1.1 1999/10/27 03:42:43 damien Exp $");
|
||||
RCSID("$Id: authfile.c,v 1.2 1999/10/28 03:25:17 damien Exp $");
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/bn.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/bn.h>
|
||||
#endif
|
||||
|
||||
#include "xmalloc.h"
|
||||
#include "buffer.h"
|
||||
#include "bufaux.h"
|
||||
|
||||
@@ -14,11 +14,19 @@ Buffers.
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "includes.h"
|
||||
RCSID("$Id: bufaux.c,v 1.1 1999/10/27 03:42:43 damien Exp $");
|
||||
RCSID("$Id: bufaux.c,v 1.2 1999/10/28 03:25:17 damien Exp $");
|
||||
|
||||
#include "ssh.h"
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/bn.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/bn.h>
|
||||
#endif
|
||||
|
||||
#include "bufaux.h"
|
||||
#include "xmalloc.h"
|
||||
#include "getput.h"
|
||||
|
||||
+38
-39
@@ -16,7 +16,7 @@ arbitrary tcp/ip connections, and the authentication agent connection.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
RCSID("$Id: channels.c,v 1.1 1999/10/27 03:42:44 damien Exp $");
|
||||
RCSID("$Id: channels.c,v 1.2 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#include "ssh.h"
|
||||
#include "packet.h"
|
||||
@@ -108,7 +108,8 @@ void channel_permit_all_opens()
|
||||
|
||||
int channel_allocate(int type, int sock, char *remote_name)
|
||||
{
|
||||
int i, old_channels;
|
||||
int i, found;
|
||||
Channel *c;
|
||||
|
||||
/* Update the maximum file descriptor value. */
|
||||
if (sock > channel_max_fd_value)
|
||||
@@ -128,41 +129,38 @@ int channel_allocate(int type, int sock, char *remote_name)
|
||||
}
|
||||
|
||||
/* Try to find a free slot where to put the new channel. */
|
||||
for (i = 0; i < channels_alloc; i++)
|
||||
for (found = -1, i = 0; i < channels_alloc; i++)
|
||||
if (channels[i].type == SSH_CHANNEL_FREE)
|
||||
{
|
||||
/* Found a free slot. Initialize the fields and return its number. */
|
||||
buffer_init(&channels[i].input);
|
||||
buffer_init(&channels[i].output);
|
||||
channels[i].self = i;
|
||||
channels[i].type = type;
|
||||
channels[i].x11 = 0;
|
||||
channels[i].sock = sock;
|
||||
channels[i].remote_id = -1;
|
||||
channels[i].remote_name = remote_name;
|
||||
chan_init_iostates(&channels[i]);
|
||||
return i;
|
||||
/* Found a free slot. */
|
||||
found = i;
|
||||
break;
|
||||
}
|
||||
|
||||
/* There are no free slots. Must expand the array. */
|
||||
old_channels = channels_alloc;
|
||||
channels_alloc += 10;
|
||||
channels = xrealloc(channels, channels_alloc * sizeof(Channel));
|
||||
for (i = old_channels; i < channels_alloc; i++)
|
||||
channels[i].type = SSH_CHANNEL_FREE;
|
||||
if (found == -1)
|
||||
{
|
||||
/* There are no free slots. Take last+1 slot and expand the array. */
|
||||
found = channels_alloc;
|
||||
channels_alloc += 10;
|
||||
debug("channel: expanding %d", channels_alloc);
|
||||
channels = xrealloc(channels, channels_alloc * sizeof(Channel));
|
||||
for (i = found; i < channels_alloc; i++)
|
||||
channels[i].type = SSH_CHANNEL_FREE;
|
||||
}
|
||||
|
||||
/* We know that the next one after the old maximum channel number is now
|
||||
available. Initialize and return its number. */
|
||||
buffer_init(&channels[old_channels].input);
|
||||
buffer_init(&channels[old_channels].output);
|
||||
channels[old_channels].self = old_channels;
|
||||
channels[old_channels].type = type;
|
||||
channels[old_channels].x11 = 0;
|
||||
channels[old_channels].sock = sock;
|
||||
channels[old_channels].remote_id = -1;
|
||||
channels[old_channels].remote_name = remote_name;
|
||||
chan_init_iostates(&channels[old_channels]);
|
||||
return old_channels;
|
||||
/* Initialize and return new channel number. */
|
||||
c=&channels[found];
|
||||
buffer_init(&c->input);
|
||||
buffer_init(&c->output);
|
||||
chan_init_iostates(c);
|
||||
c->self = found;
|
||||
c->type = type;
|
||||
c->x11 = 0;
|
||||
c->sock = sock;
|
||||
c->remote_id = -1;
|
||||
c->remote_name = remote_name;
|
||||
debug("channel %d: new [%s]", found, remote_name);
|
||||
return found;
|
||||
}
|
||||
|
||||
/* Free the channel and close its socket. */
|
||||
@@ -336,10 +334,10 @@ void channel_prepare_select(fd_set *readset, fd_set *writeset)
|
||||
packet_put_int(ch->remote_id);
|
||||
packet_send();
|
||||
}else{
|
||||
debug("X11 rejected %d 0x%x 0x%x", ch->self, ch->istate, ch->ostate);
|
||||
debug("X11 rejected %d i%d/o%d", ch->self, ch->istate, ch->ostate);
|
||||
chan_read_failed(ch);
|
||||
chan_write_failed(ch);
|
||||
debug("X11 rejected %d 0x%x 0x%x", ch->self, ch->istate, ch->ostate);
|
||||
debug("X11 rejected %d i%d/o%d", ch->self, ch->istate, ch->ostate);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -407,9 +405,9 @@ void channel_after_select(fd_set *readset, fd_set *writeset)
|
||||
break;
|
||||
}
|
||||
remote_hostname = get_remote_hostname(newsock);
|
||||
snprintf(buf, sizeof buf, "port %d, connection from %.200s port %d",
|
||||
ch->listening_port, remote_hostname,
|
||||
get_peer_port(newsock));
|
||||
snprintf(buf, sizeof buf, "listen port %d:%.100s:%d, connect from %.200s:%d",
|
||||
ch->listening_port, ch->path, ch->host_port,
|
||||
remote_hostname, get_peer_port(newsock));
|
||||
xfree(remote_hostname);
|
||||
newch = channel_allocate(SSH_CHANNEL_OPENING, newsock,
|
||||
xstrdup(buf));
|
||||
@@ -830,8 +828,9 @@ char *channel_open_message()
|
||||
case SSH_CHANNEL_X11_OPEN:
|
||||
case SSH_CHANNEL_INPUT_DRAINING:
|
||||
case SSH_CHANNEL_OUTPUT_DRAINING:
|
||||
snprintf(buf, sizeof buf, " #%d/%d %.300s\r\n",
|
||||
c->self,c->type,c->remote_name);
|
||||
snprintf(buf, sizeof buf, " #%d %.300s (t%d r%d i%d o%d)\r\n",
|
||||
c->self,c->remote_name,
|
||||
c->type,c->remote_id, c->istate,c->ostate);
|
||||
buffer_append(&buffer, buf, strlen(buf));
|
||||
continue;
|
||||
default:
|
||||
|
||||
@@ -11,13 +11,19 @@ Created: Wed Apr 19 17:41:39 1995 ylo
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "includes.h"
|
||||
RCSID("$Id: cipher.c,v 1.1 1999/10/27 03:42:44 damien Exp $");
|
||||
RCSID("$Id: cipher.c,v 1.3 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#include "ssh.h"
|
||||
#include "cipher.h"
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/md5.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/md5.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* What kind of tripple DES are these 2 routines?
|
||||
|
||||
@@ -11,13 +11,21 @@ Created: Wed Apr 19 16:50:42 1995 ylo
|
||||
|
||||
*/
|
||||
|
||||
/* RCSID("$Id: cipher.h,v 1.1 1999/10/27 03:42:44 damien Exp $"); */
|
||||
/* RCSID("$Id: cipher.h,v 1.2 1999/10/28 03:25:17 damien Exp $"); */
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#ifndef CIPHER_H
|
||||
#define CIPHER_H
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/des.h>
|
||||
#include <openssl/blowfish.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/des.h>
|
||||
#include <ssl/blowfish.h>
|
||||
#endif
|
||||
|
||||
/* Cipher types. New types can be added, but old types should not be removed
|
||||
for compatibility. The maximum allowed value is 31. */
|
||||
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
/* config.h.in. Generated automatically from configure.in by autoheader. */
|
||||
|
||||
/* Define to empty if the keyword does not work. */
|
||||
#undef const
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef gid_t
|
||||
|
||||
/* Define if you don't have vprintf but do have _doprnt. */
|
||||
#undef HAVE_DOPRNT
|
||||
|
||||
/* Define if your struct stat has st_blksize. */
|
||||
#undef HAVE_ST_BLKSIZE
|
||||
|
||||
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
|
||||
#undef HAVE_SYS_WAIT_H
|
||||
|
||||
/* Define if utime(file, NULL) sets file's timestamp to the present. */
|
||||
#undef HAVE_UTIME_NULL
|
||||
|
||||
/* Define if you have the vprintf function. */
|
||||
#undef HAVE_VPRINTF
|
||||
|
||||
/* Define as __inline if that's what the C compiler calls it. */
|
||||
#undef inline
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef mode_t
|
||||
|
||||
/* Define to `long' if <sys/types.h> doesn't define. */
|
||||
#undef off_t
|
||||
|
||||
/* Define as the return type of signal handlers (int or void). */
|
||||
#undef RETSIGTYPE
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
||||
#undef size_t
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define if you can safely include both <sys/time.h> and <time.h>. */
|
||||
#undef TIME_WITH_SYS_TIME
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef uid_t
|
||||
|
||||
/* Define if your ssl headers are included with #include <ssl/header.h> */
|
||||
#undef HAVE_SSL
|
||||
|
||||
/* Define if your ssl headers are included with #include <openssl/header.h> */
|
||||
#undef HAVE_OPENSSL
|
||||
|
||||
/* Define if you have the arc4random function. */
|
||||
#undef HAVE_ARC4RANDOM
|
||||
|
||||
/* Define if you have the gethostname function. */
|
||||
#undef HAVE_GETHOSTNAME
|
||||
|
||||
/* Define if you have the gettimeofday function. */
|
||||
#undef HAVE_GETTIMEOFDAY
|
||||
|
||||
/* Define if you have the mkdir function. */
|
||||
#undef HAVE_MKDIR
|
||||
|
||||
/* Define if you have the mkdtemp function. */
|
||||
#undef HAVE_MKDTEMP
|
||||
|
||||
/* Define if you have the rmdir function. */
|
||||
#undef HAVE_RMDIR
|
||||
|
||||
/* Define if you have the select function. */
|
||||
#undef HAVE_SELECT
|
||||
|
||||
/* Define if you have the setproctitle function. */
|
||||
#undef HAVE_SETPROCTITLE
|
||||
|
||||
/* Define if you have the socket function. */
|
||||
#undef HAVE_SOCKET
|
||||
|
||||
/* Define if you have the strerror function. */
|
||||
#undef HAVE_STRERROR
|
||||
|
||||
/* Define if you have the strlcpy function. */
|
||||
#undef HAVE_STRLCPY
|
||||
|
||||
/* Define if you have the strspn function. */
|
||||
#undef HAVE_STRSPN
|
||||
|
||||
/* Define if you have the strtol function. */
|
||||
#undef HAVE_STRTOL
|
||||
|
||||
/* Define if you have the <dirent.h> header file. */
|
||||
#undef HAVE_DIRENT_H
|
||||
|
||||
/* Define if you have the <fcntl.h> header file. */
|
||||
#undef HAVE_FCNTL_H
|
||||
|
||||
/* Define if you have the <ndir.h> header file. */
|
||||
#undef HAVE_NDIR_H
|
||||
|
||||
/* Define if you have the <paths.h> header file. */
|
||||
#undef HAVE_PATHS_H
|
||||
|
||||
/* Define if you have the <sys/dir.h> header file. */
|
||||
#undef HAVE_SYS_DIR_H
|
||||
|
||||
/* Define if you have the <sys/ioctl.h> header file. */
|
||||
#undef HAVE_SYS_IOCTL_H
|
||||
|
||||
/* Define if you have the <sys/ndir.h> header file. */
|
||||
#undef HAVE_SYS_NDIR_H
|
||||
|
||||
/* Define if you have the <sys/time.h> header file. */
|
||||
#undef HAVE_SYS_TIME_H
|
||||
|
||||
/* Define if you have the <syslog.h> header file. */
|
||||
#undef HAVE_SYSLOG_H
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define if you have the crypto library (-lcrypto). */
|
||||
#undef HAVE_LIBCRYPTO
|
||||
|
||||
/* Define if you have the dl library (-ldl). */
|
||||
#undef HAVE_LIBDL
|
||||
|
||||
/* Define if you have the pam library (-lpam). */
|
||||
#undef HAVE_LIBPAM
|
||||
|
||||
/* Define if you have the pwdb library (-lpwdb). */
|
||||
#undef HAVE_LIBPWDB
|
||||
|
||||
/* Define if you have the util library (-lutil). */
|
||||
#undef HAVE_LIBUTIL
|
||||
|
||||
/* Define if you have the z library (-lz). */
|
||||
#undef HAVE_LIBZ
|
||||
@@ -0,0 +1,54 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT(auth-krb4.c)
|
||||
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_PROG_RANLIB
|
||||
|
||||
dnl Checks for libraries.
|
||||
dnl Replace `main' with a function in -lcrypto:
|
||||
AC_CHECK_LIB(crypto, CRYPTO_lock, ,AC_MSG_ERROR([*** libcrypto missing - please install first ***]))
|
||||
dnl Replace `main' with a function in -lutil:
|
||||
AC_CHECK_LIB(util, logout, ,AC_MSG_ERROR([*** -lutil missing - this is part of libc. ***]))
|
||||
dnl Replace `main' with a function in -lz:
|
||||
AC_CHECK_LIB(z, deflate, ,AC_MSG_ERROR([*** zlib missing - please install first ***]))
|
||||
dnl check for pwdb
|
||||
AC_CHECK_LIB(pwdb, pwdb_new, ,AC_MSG_ERROR([*** libpwdb missing - please install first ***]))
|
||||
dnl check for dl
|
||||
AC_CHECK_LIB(dl, dlopen, ,AC_MSG_ERROR([*** libdl missing - please install first ***]))
|
||||
dnl check for pam
|
||||
AC_CHECK_LIB(pam, pam_authenticate, ,AC_MSG_ERROR([*** PAM missing - please install first ***]))
|
||||
|
||||
dnl Check for stuff in path.
|
||||
AC_CHECK_PROG(AR, ar, ar)
|
||||
|
||||
dnl Check for ssl headers
|
||||
AC_CHECK_HEADER(openssl/bn.h, [AC_DEFINE(HAVE_OPENSSL)], [AC_CHECK_HEADER(ssl/bn.h, [AC_DEFINE(HAVE_SSL)], [AC_MSG_ERROR([*** ssl library missing - please install first ***])])])
|
||||
|
||||
dnl Checks for header files.
|
||||
AC_HEADER_DIRENT
|
||||
AC_HEADER_STDC
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_CHECK_HEADERS(fcntl.h paths.h sys/ioctl.h sys/time.h syslog.h unistd.h)
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_TYPE_UID_T
|
||||
AC_C_INLINE
|
||||
AC_TYPE_MODE_T
|
||||
AC_TYPE_OFF_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_STRUCT_ST_BLKSIZE
|
||||
AC_HEADER_TIME
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
AC_FUNC_MEMCMP
|
||||
AC_TYPE_SIGNAL
|
||||
AC_FUNC_UTIME_NULL
|
||||
AC_FUNC_VPRINTF
|
||||
AC_CHECK_FUNCS(gethostname gettimeofday mkdir rmdir select socket strerror strspn strtol strlcpy mkdtemp arc4random setproctitle)
|
||||
|
||||
AC_OUTPUT(Makefile)
|
||||
@@ -45,18 +45,15 @@
|
||||
|
||||
#include "rc4.h"
|
||||
#include "xmalloc.h"
|
||||
|
||||
#include "config.h"
|
||||
#include "helper.h"
|
||||
|
||||
#ifndef HAVE_ARC4RANDOM
|
||||
|
||||
void get_random_bytes(unsigned char *buf, int len);
|
||||
|
||||
static rc4_t *rc4 = NULL;
|
||||
|
||||
void setproctitle(const char *fmt, ...)
|
||||
{
|
||||
/* FIXME */
|
||||
}
|
||||
|
||||
unsigned int arc4random(void)
|
||||
{
|
||||
unsigned int r;
|
||||
@@ -105,4 +102,11 @@ void get_random_bytes(unsigned char *buf, int len)
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
#endif /* !HAVE_ARC4RANDOM */
|
||||
|
||||
#ifndef HAVE_SETPROCTITLE
|
||||
void setproctitle(const char *fmt, ...)
|
||||
{
|
||||
/* FIXME */
|
||||
}
|
||||
#endif /* !HAVE_SETPROCTITLE */
|
||||
|
||||
@@ -36,8 +36,15 @@
|
||||
#ifndef _HELPER_H
|
||||
#define _HELPER_H
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#ifndef HAVE_ARC4RANDOM
|
||||
unsigned int arc4random(void);
|
||||
void arc4random_stir(void);
|
||||
#endif /* !HAVE_ARC4RANDOM */
|
||||
|
||||
#ifndef HAVE_SETPROCTITLE
|
||||
void setproctitle(const char *fmt, ...);
|
||||
#endif /* !HAVE_SETPROCTITLE */
|
||||
|
||||
#endif /* _HELPER_H */
|
||||
|
||||
+4
-8
@@ -57,15 +57,17 @@ static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
|
||||
|
||||
#include "version.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "helper.h"
|
||||
#include "mktemp.h"
|
||||
#include "strlcpy.h"
|
||||
|
||||
#ifdef HAVE_PAM
|
||||
#ifdef HAVE_LIBPAM
|
||||
#include <security/pam_appl.h>
|
||||
#endif /* HAVE_PAM */
|
||||
|
||||
#ifdef HAVE_PWDB
|
||||
#ifdef HAVE_LIBPWDB
|
||||
#include <pwdb/pwdb_map.h>
|
||||
#endif /* HAVE_PWDB */
|
||||
|
||||
@@ -83,10 +85,4 @@ static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
|
||||
client program. Socketpairs do not seem to work on all systems. */
|
||||
#define USE_PIPES 1
|
||||
|
||||
#ifndef SHUT_RD
|
||||
#define SHUT_RD 0
|
||||
#define SHUT_WR 1
|
||||
#define SHUT_RDWR 2
|
||||
#endif /* SHUT_RD */
|
||||
|
||||
#endif /* INCLUDES_H */
|
||||
|
||||
@@ -47,8 +47,11 @@ static char rcsid[] = "$OpenBSD: mktemp.c,v 1.13 1998/06/30 23:03:13 deraadt Exp
|
||||
#include <ctype.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "helper.h"
|
||||
|
||||
#ifndef HAVE_MKDTEMP
|
||||
|
||||
static int _gettemp __P((char *, int *, int, int));
|
||||
|
||||
int
|
||||
@@ -181,3 +184,5 @@ _gettemp(path, doopen, domkdir, slen)
|
||||
}
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
#endif /* !HAVE_MKDTEMP */
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
#ifndef _MKTEMP_H
|
||||
#define _MKTEMP_H
|
||||
|
||||
#include "config.h"
|
||||
#ifndef HAVE_MKDTEMP
|
||||
int mkstemps(char *path, int slen);
|
||||
int mkstemp(char *path);
|
||||
char *mkdtemp(char *path);
|
||||
#endif /* !HAVE_MKDTEMP */
|
||||
|
||||
#endif /* _MKTEMP_H */
|
||||
|
||||
@@ -14,14 +14,22 @@ precision integers.
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "includes.h"
|
||||
RCSID("$Id: mpaux.c,v 1.1 1999/10/27 03:42:44 damien Exp $");
|
||||
RCSID("$Id: mpaux.c,v 1.3 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/bn.h>
|
||||
#include <openssl/md5.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/bn.h>
|
||||
#include <ssl/md5.h>
|
||||
#endif
|
||||
|
||||
#include "getput.h"
|
||||
#include "xmalloc.h"
|
||||
|
||||
#include <openssl/md5.h>
|
||||
|
||||
void
|
||||
compute_session_id(unsigned char session_id[16],
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
.\"
|
||||
.\" Created: Sun May 7 00:14:37 1995 ylo
|
||||
.\"
|
||||
.\" $Id: scp.1,v 1.1 1999/10/27 03:42:44 damien Exp $
|
||||
.\" $Id: openscp.1,v 1.1 1999/10/28 04:03:14 damien Exp $
|
||||
.\"
|
||||
.Dd September 25, 1999
|
||||
.Dt SCP 1
|
||||
@@ -9,7 +9,7 @@
|
||||
.\"
|
||||
.\" Created: Sat Apr 22 23:55:14 1995 ylo
|
||||
.\"
|
||||
.\" $Id: ssh-add.1,v 1.1 1999/10/27 03:42:45 damien Exp $
|
||||
.\" $Id: openssh-add.1,v 1.1 1999/10/28 04:03:14 damien Exp $
|
||||
.\"
|
||||
.Dd September 25, 1999
|
||||
.Dt SSH-ADD 1
|
||||
@@ -9,7 +9,7 @@
|
||||
.\"
|
||||
.\" Created: Sat Apr 23 20:10:43 1995 ylo
|
||||
.\"
|
||||
.\" $Id: ssh-agent.1,v 1.1 1999/10/27 03:42:45 damien Exp $
|
||||
.\" $Id: openssh-agent.1,v 1.1 1999/10/28 04:03:14 damien Exp $
|
||||
.\"
|
||||
.Dd September 25, 1999
|
||||
.Dt SSH-AGENT 1
|
||||
@@ -9,7 +9,7 @@
|
||||
.\"
|
||||
.\" Created: Sat Apr 22 23:55:14 1995 ylo
|
||||
.\"
|
||||
.\" $Id: ssh-keygen.1,v 1.1 1999/10/27 03:42:45 damien Exp $
|
||||
.\" $Id: openssh-keygen.1,v 1.1 1999/10/28 04:03:14 damien Exp $
|
||||
.\"
|
||||
.Dd September 25, 1999
|
||||
.Dt SSH-KEYGEN 1
|
||||
+14
-14
@@ -9,7 +9,7 @@
|
||||
.\"
|
||||
.\" Created: Sat Apr 22 21:55:14 1995 ylo
|
||||
.\"
|
||||
.\" $Id: ssh.1,v 1.1 1999/10/27 03:42:45 damien Exp $
|
||||
.\" $Id: openssh.1,v 1.1 1999/10/28 04:03:14 damien Exp $
|
||||
.\"
|
||||
.Dd September 25, 1999
|
||||
.Dt SSH 1
|
||||
@@ -66,7 +66,7 @@ his/her identity to the remote machine using one of several methods.
|
||||
First, if the machine the user logs in from is listed in
|
||||
.Pa /etc/hosts.equiv
|
||||
or
|
||||
.Pa /etc/shosts.equiv
|
||||
.Pa /etc/openssh/shosts.equiv
|
||||
on the remote machine, and the user names are
|
||||
the same on both sides, the user is immediately permitted to log in.
|
||||
Second, if
|
||||
@@ -89,10 +89,10 @@ means that if the login would be permitted by
|
||||
.Pa \&.shosts ,
|
||||
.Pa /etc/hosts.equiv ,
|
||||
or
|
||||
.Pa /etc/shosts.equiv ,
|
||||
.Pa /etc/openssh/shosts.equiv ,
|
||||
and if additionally the server can verify the client's
|
||||
host key (see
|
||||
.Pa /etc/ssh_known_hosts
|
||||
.Pa /etc/openssh/ssh_known_hosts
|
||||
in the
|
||||
.Sx FILES
|
||||
section), only then login is
|
||||
@@ -248,7 +248,7 @@ identifications for all hosts it has ever been used with. The
|
||||
database is stored in
|
||||
.Pa \&.ssh/known_hosts
|
||||
in the user's home directory. Additionally, the file
|
||||
.Pa /etc/ssh_known_hosts
|
||||
.Pa /etc/openssh/ssh_known_hosts
|
||||
is automatically checked for known hosts. Any new hosts are
|
||||
automatically added to the user's file. If a host's identification
|
||||
ever changes,
|
||||
@@ -416,7 +416,7 @@ obtains configuration data from the following sources (in this order):
|
||||
command line options, user's configuration file
|
||||
.Pq Pa $HOME/.ssh/config ,
|
||||
and system-wide configuration file
|
||||
.Pq Pa /etc/ssh_config .
|
||||
.Pq Pa /etc/openssh/ssh_config .
|
||||
For each parameter, the first obtained value
|
||||
will be used. The configuration files contain sections bracketed by
|
||||
"Host" specifications, and that section is only applied for hosts that
|
||||
@@ -540,7 +540,7 @@ The default is
|
||||
.Dq no .
|
||||
.It Cm GlobalKnownHostsFile
|
||||
Specifies a file to use instead of
|
||||
.Pa /etc/ssh_known_hosts .
|
||||
.Pa /etc/openssh/ssh_known_hosts .
|
||||
.It Cm HostName
|
||||
Specifies the real host name to log into. This can be used to specify
|
||||
nicnames or abbreviations for hosts. Default is the name given on the
|
||||
@@ -672,7 +672,7 @@ ssh will never automatically add host keys to the
|
||||
file, and refuses to connect hosts whose host key has changed. This
|
||||
provides maximum protection against trojan horse attacks. However, it
|
||||
can be somewhat annoying if you don't have good
|
||||
.Pa /etc/ssh_known_hosts
|
||||
.Pa /etc/openssh/ssh_known_hosts
|
||||
files installed and frequently
|
||||
connect new hosts. Basically this option forces the user to manually
|
||||
add any new hosts. Normally this option is disabled, and new hosts
|
||||
@@ -779,7 +779,7 @@ to the environment.
|
||||
.It Pa $HOME/.ssh/known_hosts
|
||||
Records host keys for all hosts the user has logged into (that are not
|
||||
in
|
||||
.Pa /etc/ssh_known_hosts ) .
|
||||
.Pa /etc/openssh/ssh_known_hosts ) .
|
||||
See
|
||||
.Xr sshd 8 .
|
||||
.It Pa $HOME/.ssh/random_seed
|
||||
@@ -824,7 +824,7 @@ identity files (that is, each line contains the number of bits in
|
||||
modulus, public exponent, modulus, and comment fields, separated by
|
||||
spaces). This file is not highly sensitive, but the recommended
|
||||
permissions are read/write for the user, and not accessible by others.
|
||||
.It Pa /etc/ssh_known_hosts
|
||||
.It Pa /etc/openssh/ssh_known_hosts
|
||||
Systemwide list of known host keys. This file should be prepared by the
|
||||
system administrator to contain the public host keys of all machines in the
|
||||
organization. This file should be world-readable. This file contains
|
||||
@@ -843,7 +843,7 @@ to verify the client host when logging in; other names are needed because
|
||||
does not convert the user-supplied name to a canonical name before
|
||||
checking the key, because someone with access to the name servers
|
||||
would then be able to fool host authentication.
|
||||
.It Pa /etc/ssh_config
|
||||
.It Pa /etc/openssh/ssh_config
|
||||
Systemwide configuration file. This file provides defaults for those
|
||||
values that are not specified in the user's configuration file, and
|
||||
for those users who do not have a configuration file. This file must
|
||||
@@ -870,7 +870,7 @@ Note that by default
|
||||
will be installed so that it requires successful RSA host
|
||||
authentication before permitting \s+2.\s0rhosts authentication. If your
|
||||
server machine does not have the client's host key in
|
||||
.Pa /etc/ssh_known_hosts ,
|
||||
.Pa /etc/openssh/ssh_known_hosts ,
|
||||
you can store it in
|
||||
.Pa $HOME/.ssh/known_hosts .
|
||||
The easiest way to do this is to
|
||||
@@ -897,13 +897,13 @@ manual page). If the client host is found in this file, login is
|
||||
automatically permitted provided client and server user names are the
|
||||
same. Additionally, successful RSA host authentication is normally
|
||||
required. This file should only be writable by root.
|
||||
.It Pa /etc/shosts.equiv
|
||||
.It Pa /etc/openssh/shosts.equiv
|
||||
This file is processed exactly as
|
||||
.Pa /etc/hosts.equiv .
|
||||
This file may be useful to permit logins using
|
||||
.Nm
|
||||
but not using rsh/rlogin.
|
||||
.It Pa /etc/sshrc
|
||||
.It Pa /etc/openssh/sshrc
|
||||
Commands in this file are executed by
|
||||
.Nm
|
||||
when the user logs in just before the user's shell (or command) is started.
|
||||
+59
-37
@@ -1,6 +1,6 @@
|
||||
Summary: OpenSSH free Secure Shell (SSH) implementation
|
||||
Name: openssh
|
||||
Version: 1.2pre3
|
||||
Version: 1.2pre5
|
||||
Release: 1
|
||||
Packager: Damien Miller <[email protected]>
|
||||
Source0: openssh-%{version}-linux.tar.gz
|
||||
@@ -20,6 +20,9 @@ up to date in terms of security and features, as well as removing all
|
||||
patented algorithms to seperate libraries (OpenSSL).
|
||||
|
||||
%changelog
|
||||
* Thu Oct 28 1999 Damien Miller <[email protected]>
|
||||
- Use autoconf
|
||||
- New binary names
|
||||
* Wed Oct 27 1999 Damien Miller <[email protected]>
|
||||
- Initial RPMification, based on Jan "Yenya" Kasprzak's <[email protected]> spec.
|
||||
|
||||
@@ -29,7 +32,8 @@ patented algorithms to seperate libraries (OpenSSL).
|
||||
|
||||
%build
|
||||
|
||||
make -f Makefile.GNU OPT_FLAGS="$RPM_OPT_FLAGS"
|
||||
./configure --prefix=/usr --sysconfdir=/etc/openssh
|
||||
make OPT_FLAGS="$RPM_OPT_FLAGS"
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
@@ -37,53 +41,71 @@ mkdir -p $RPM_BUILD_ROOT/usr/bin
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/sbin
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/pam.d
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/ssh
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/openssh
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/man/man1
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/man/man8
|
||||
|
||||
install -m644 ssh.pam $RPM_BUILD_ROOT/etc/pam.d/ssh
|
||||
install -m755 sshd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/sshd
|
||||
install -m600 ssh_config $RPM_BUILD_ROOT/etc/ssh/ssh_config
|
||||
install -m600 sshd_config $RPM_BUILD_ROOT/etc/ssh/sshd_config
|
||||
install -m644 opensshd.pam $RPM_BUILD_ROOT/etc/pam.d/opensshd
|
||||
install -m755 opensshd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/opensshd
|
||||
install -m600 ssh_config $RPM_BUILD_ROOT/etc/openssh/ssh_config
|
||||
install -m600 sshd_config $RPM_BUILD_ROOT/etc/openssh/sshd_config
|
||||
|
||||
install -s -m755 bin/sshd $RPM_BUILD_ROOT/usr/sbin
|
||||
install -s -m755 bin/ssh $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/scp $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/ssh-agent $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/ssh-add $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/ssh-keygen $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/opensshd $RPM_BUILD_ROOT/usr/sbin
|
||||
install -s -m755 bin/openssh $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/openscp $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/openssh-agent $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/openssh-add $RPM_BUILD_ROOT/usr/bin
|
||||
install -s -m755 bin/openssh-keygen $RPM_BUILD_ROOT/usr/bin
|
||||
|
||||
install -m644 sshd.8 $RPM_BUILD_ROOT/usr/man/man8
|
||||
install -m644 ssh.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 scp.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 ssh-agent.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 ssh-add.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 ssh-keygen.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 opensshd.8 $RPM_BUILD_ROOT/usr/man/man8
|
||||
install -m644 openssh.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 openscp.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 openssh-agent.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 openssh-add.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
install -m644 openssh-keygen.1 $RPM_BUILD_ROOT/usr/man/man1
|
||||
|
||||
# Install compatibility symlinks
|
||||
cd $RPM_BUILD_ROOT/usr/sbin
|
||||
ln -s opensshd sshd
|
||||
cd $RPM_BUILD_ROOT/usr/bin
|
||||
ln -s openssh ssh
|
||||
ln -s openscp scp
|
||||
ln -s openssh-agent ssh-agent
|
||||
ln -s openssh-add ssh-add
|
||||
ln -s openssh-keygen ssh-keygen
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
/sbin/chkconfig --add sshd
|
||||
if [ ! -f /etc/ssh/ssh_host_key -o ! -s /etc/ssh/ssh_host_key ]; then
|
||||
/usr/bin/ssh-keygen -b 1024 -f /etc/ssh/ssh_host_key -N '' >&2
|
||||
/sbin/chkconfig --add opensshd
|
||||
if [ ! -f /etc/openssh/ssh_host_key -o ! -s /etc/openssh/ssh_host_key ]; then
|
||||
/usr/bin/openssh-keygen -b 1024 -f /etc/openssh/ssh_host_key -N '' >&2
|
||||
fi
|
||||
if test -r /var/run/sshd.pid
|
||||
if test -r /var/run/opensshd.pid
|
||||
then
|
||||
/etc/rc.d/init.d/sshd restart >&2
|
||||
/etc/rc.d/init.d/opensshd restart >&2
|
||||
fi
|
||||
|
||||
%preun
|
||||
if [ "$1" = 0 ]
|
||||
then
|
||||
/etc/rc.d/init.d/sshd stop >&2
|
||||
/sbin/chkconfig --del sshd
|
||||
/etc/rc.d/init.d/opensshd stop >&2
|
||||
/sbin/chkconfig --del opensshd
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc COPYING.Ylonen ChangeLog ChangeLog.linux OVERVIEW
|
||||
%doc COPYING.Ylonen ChangeLog ChangeLog.Ylonen OVERVIEW
|
||||
%doc README README.openssh
|
||||
%attr(0755,root,root) /usr/sbin/opensshd
|
||||
%attr(0755,root,root) /usr/bin/openssh
|
||||
%attr(0755,root,root) /usr/bin/openssh-agent
|
||||
%attr(0755,root,root) /usr/bin/openssh-keygen
|
||||
%attr(0755,root,root) /usr/bin/openssh-add
|
||||
%attr(0755,root,root) /usr/bin/openscp
|
||||
|
||||
# Symlinks
|
||||
%attr(0755,root,root) /usr/sbin/sshd
|
||||
%attr(0755,root,root) /usr/bin/ssh
|
||||
%attr(0755,root,root) /usr/bin/ssh-agent
|
||||
@@ -91,15 +113,15 @@ fi
|
||||
%attr(0755,root,root) /usr/bin/ssh-add
|
||||
%attr(0755,root,root) /usr/bin/scp
|
||||
|
||||
%attr(0755,root,root) /usr/man/man8/sshd.8
|
||||
%attr(0755,root,root) /usr/man/man1/ssh.1
|
||||
%attr(0755,root,root) /usr/man/man1/ssh-agent.1
|
||||
%attr(0755,root,root) /usr/man/man1/ssh-keygen.1
|
||||
%attr(0755,root,root) /usr/man/man1/ssh-add.1
|
||||
%attr(0755,root,root) /usr/man/man1/scp.1
|
||||
%attr(0755,root,root) /usr/man/man8/opensshd.8
|
||||
%attr(0755,root,root) /usr/man/man1/openssh.1
|
||||
%attr(0755,root,root) /usr/man/man1/openssh-agent.1
|
||||
%attr(0755,root,root) /usr/man/man1/openssh-keygen.1
|
||||
%attr(0755,root,root) /usr/man/man1/openssh-add.1
|
||||
%attr(0755,root,root) /usr/man/man1/openscp.1
|
||||
|
||||
%attr(0600,root,root) %config /etc/ssh/sshd_config
|
||||
%attr(0600,root,root) %config /etc/pam.d/ssh
|
||||
%attr(0755,root,root) %config /etc/rc.d/init.d/sshd
|
||||
%attr(0644,root,root) %config /etc/ssh/ssh_config
|
||||
%attr(0600,root,root) %config /etc/openssh/sshd_config
|
||||
%attr(0600,root,root) %config /etc/pam.d/opensshd
|
||||
%attr(0755,root,root) %config /etc/rc.d/init.d/opensshd
|
||||
%attr(0644,root,root) %config /etc/openssh/ssh_config
|
||||
|
||||
|
||||
+19
-19
@@ -9,7 +9,7 @@
|
||||
.\"
|
||||
.\" Created: Sat Apr 22 21:55:14 1995 ylo
|
||||
.\"
|
||||
.\" $Id: sshd.8,v 1.1 1999/10/27 03:42:46 damien Exp $
|
||||
.\" $Id: opensshd.8,v 1.1 1999/10/28 04:03:14 damien Exp $
|
||||
.\"
|
||||
.Dd September 25, 1999
|
||||
.Dt SSHD 8
|
||||
@@ -118,7 +118,7 @@ not fork and will only process one connection. This option is only
|
||||
intended for debugging for the server.
|
||||
.It Fl f Ar configuration_file
|
||||
Specifies the name of the configuration file. The default is
|
||||
.Pa /etc/sshd_config .
|
||||
.Pa /etc/openssh/sshd_config .
|
||||
.Nm
|
||||
refuses to start if there is no configuration file.
|
||||
.It Fl g Ar login_grace_time
|
||||
@@ -128,7 +128,7 @@ this many seconds, the server disconnects and exits. A value of zero
|
||||
indicates no limit.
|
||||
.It Fl h Ar host_key_file
|
||||
Specifies the file from which the host key is read (default
|
||||
.Pa /etc/ssh_host_key ) .
|
||||
.Pa /etc/openssh/ssh_host_key ) .
|
||||
This option must be given if
|
||||
.Nm
|
||||
is not run as root (as the normal
|
||||
@@ -165,7 +165,7 @@ Do not print an error message if RSA support is missing.
|
||||
.Sh CONFIGURATION FILE
|
||||
.Nm
|
||||
reads configuration data from
|
||||
.Pa /etc/sshd_config
|
||||
.Pa /etc/openssh/sshd_config
|
||||
(or the file specified with
|
||||
.Fl f
|
||||
on the command line). The file
|
||||
@@ -242,7 +242,7 @@ The default is
|
||||
.Dq no .
|
||||
.It Cm HostKey
|
||||
Specifies the file containing the private host key (default
|
||||
.Pa /etc/ssh_host_key ) .
|
||||
.Pa /etc/openssh/ssh_host_key ) .
|
||||
Note that
|
||||
.Nm
|
||||
does not start if this file is group/world-accessible.
|
||||
@@ -251,7 +251,7 @@ Specifies that rhosts and shosts files will not be used in
|
||||
authentication.
|
||||
.Pa /etc/hosts.equiv
|
||||
and
|
||||
.Pa /etc/shosts.equiv
|
||||
.Pa /etc/openssh/shosts.equiv
|
||||
are still used. The default is
|
||||
.Dq no .
|
||||
.It Cm KeepAlive
|
||||
@@ -455,7 +455,7 @@ Changes to user's home directory.
|
||||
If
|
||||
.Pa $HOME/.ssh/rc
|
||||
exists, runs it; else if
|
||||
.Pa /etc/sshrc
|
||||
.Pa /etc/openssh/sshrc
|
||||
exists, runs
|
||||
it; otherwise runs xauth. The
|
||||
.Dq rc
|
||||
@@ -541,7 +541,7 @@ from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23.\|.\|.\|2334 ylo@niksula
|
||||
command="dump /home",no-pty,no-port-forwarding 1024 33 23.\|.\|.\|2323 backup.hut.fi
|
||||
.Sh SSH_KNOWN_HOSTS FILE FORMAT
|
||||
The
|
||||
.Pa /etc/ssh_known_hosts
|
||||
.Pa /etc/openssh/ssh_known_hosts
|
||||
and
|
||||
.Pa $HOME/.ssh/known_hosts
|
||||
files contain host public keys for all known hosts. The global file should
|
||||
@@ -564,7 +564,7 @@ pattern on the line.
|
||||
.Pp
|
||||
Bits, exponent, and modulus are taken directly from the host key; they
|
||||
can be obtained, e.g., from
|
||||
.Pa /etc/ssh_host_key.pub .
|
||||
.Pa /etc/openssh/ssh_host_key.pub .
|
||||
The optional comment field continues to the end of the line, and is not used.
|
||||
.Pp
|
||||
Lines starting with
|
||||
@@ -583,25 +583,25 @@ Note that the lines in these files are typically hundreds of characters
|
||||
long, and you definitely don't want to type in the host keys by hand.
|
||||
Rather, generate them by a script
|
||||
or by taking
|
||||
.Pa /etc/ssh_host_key.pub
|
||||
.Pa /etc/openssh/ssh_host_key.pub
|
||||
and adding the host names at the front.
|
||||
.Ss Examples
|
||||
closenet,closenet.hut.fi,.\|.\|.\|,130.233.208.41 1024 37 159.\|.\|.93 closenet.hut.fi
|
||||
.Sh FILES
|
||||
.Bl -tag -width Ds
|
||||
.It Pa /etc/sshd_config
|
||||
.It Pa /etc/openssh/sshd_config
|
||||
Contains configuration data for
|
||||
.Nm sshd .
|
||||
This file should be writable by root only, but it is recommended
|
||||
(though not necessary) that it be world-readable.
|
||||
.It Pa /etc/ssh_host_key
|
||||
.It Pa /etc/openssh/ssh_host_key
|
||||
Contains the private part of the host key.
|
||||
This file should only be owned by root, readable only by root, and not
|
||||
accessible to others.
|
||||
Note that
|
||||
.Nm
|
||||
does not start if this file is group/world-accessible.
|
||||
.It Pa /etc/ssh_host_key.pub
|
||||
.It Pa /etc/openssh/ssh_host_key.pub
|
||||
Contains the public part of the host key.
|
||||
This file should be world-readable but writable only by
|
||||
root. Its contents should match the private part. This file is not
|
||||
@@ -622,17 +622,17 @@ This file must be readable by root (which may on some machines imply
|
||||
it being world-readable if the user's home directory resides on an NFS
|
||||
volume). It is recommended that it not be accessible by others. The
|
||||
format of this file is described above.
|
||||
.It Pa /etc/ssh_known_hosts
|
||||
.It Pa /etc/openssh/ssh_known_hosts
|
||||
This file is consulted when using rhosts with RSA host
|
||||
authentication to check the public key of the host. The key must be
|
||||
listed in this file to be accepted.
|
||||
.It Pa $HOME/.ssh/known_hosts
|
||||
The client uses this file
|
||||
and
|
||||
.Pa /etc/ssh_known_hosts
|
||||
.Pa /etc/openssh/ssh_known_hosts
|
||||
to verify that the remote host is the one we intended to
|
||||
connect. These files should be writable only by root/the owner.
|
||||
.Pa /etc/ssh_known_hosts
|
||||
.Pa /etc/openssh/ssh_known_hosts
|
||||
should be world-readable, and
|
||||
.Pa $HOME/.ssh/known_hosts
|
||||
can but need not be world-readable.
|
||||
@@ -694,7 +694,7 @@ user root access. The only valid use for user names that I can think
|
||||
of is in negative entries.
|
||||
.Pp
|
||||
Note that this warning also applies to rsh/rlogin.
|
||||
.It Pa /etc/shosts.equiv
|
||||
.It Pa /etc/openssh/shosts.equiv
|
||||
This is processed exactly as
|
||||
.Pa /etc/hosts.equiv .
|
||||
However, this file may be useful in environments that want to run both
|
||||
@@ -724,13 +724,13 @@ something similar to: "if read proto cookie; then echo add $DISPLAY
|
||||
$proto $cookie | xauth -q -; fi".
|
||||
.Pp
|
||||
If this file does not exist,
|
||||
.Pa /etc/sshrc
|
||||
.Pa /etc/openssh/sshrc
|
||||
is run, and if that
|
||||
does not exist either, xauth is used to store the cookie.
|
||||
.Pp
|
||||
This file should be writable only by the user, and need not be
|
||||
readable by anyone else.
|
||||
.It Pa /etc/sshrc
|
||||
.It Pa /etc/openssh/sshrc
|
||||
Like
|
||||
.Pa $HOME/.ssh/rc .
|
||||
This can be used to specify
|
||||
+12
-12
@@ -1,16 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Init file for OpenSSH sshd
|
||||
# Init file for OpenSSH server daemon
|
||||
#
|
||||
# chkconfig: 2345 55 25
|
||||
# description: OpenSSH server daemon
|
||||
#
|
||||
# processname: sshd
|
||||
# config: /etc/ssh/ssh_host_key
|
||||
# config: /etc/ssh/ssh_host_key.pub
|
||||
# config: /etc/ssh/ssh_random_seed
|
||||
# config: /etc/ssh/sshd_config
|
||||
# pidfile: /var/run/sshd.pid
|
||||
# processname: opensshd
|
||||
# config: /etc/openssh/ssh_host_key
|
||||
# config: /etc/openssh/ssh_host_key.pub
|
||||
# config: /etc/openssh/ssh_random_seed
|
||||
# config: /etc/openssh/sshd_config
|
||||
# pidfile: /var/run/opensshd.pid
|
||||
|
||||
# source function library
|
||||
. /etc/rc.d/init.d/functions
|
||||
@@ -19,14 +19,14 @@ RETVAL=0
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting sshd: "
|
||||
daemon /usr/sbin/sshd
|
||||
echo -n "Starting opensshd: "
|
||||
daemon /usr/sbin/opensshd
|
||||
RETVAL=$?
|
||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd
|
||||
echo
|
||||
;;
|
||||
stop)
|
||||
echo -n "Shutting down sshd: "
|
||||
echo -n "Shutting down opensshd: "
|
||||
killproc sshd
|
||||
RETVAL=$?
|
||||
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sshd
|
||||
@@ -38,11 +38,11 @@ case "$1" in
|
||||
RETVAL=$?
|
||||
;;
|
||||
status)
|
||||
status sshd
|
||||
status opensshd
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: sshd {start|stop|restart|status}"
|
||||
echo "Usage: opensshd {start|stop|restart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
@@ -13,12 +13,18 @@ Interface for the packet protocol functions.
|
||||
|
||||
*/
|
||||
|
||||
/* RCSID("$Id: packet.h,v 1.1 1999/10/27 03:42:44 damien Exp $"); */
|
||||
/* RCSID("$Id: packet.h,v 1.2 1999/10/28 03:25:17 damien Exp $"); */
|
||||
|
||||
#include "config.h"
|
||||
#ifndef PACKET_H
|
||||
#define PACKET_H
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/bn.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/bn.h>
|
||||
#endif
|
||||
|
||||
/* Sets the socket used for communication. Disables encryption until
|
||||
packet_set_encryption_key is called. It is permissible that fd_in
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
|
||||
/* $Id: rc4.c,v 1.1.1.1 1999/10/26 05:48:13 damien Exp $ */
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#ifndef HAVE_ARC4RANDOM
|
||||
#include "rc4.h"
|
||||
|
||||
|
||||
@@ -103,3 +106,4 @@ void rc4_getbytes(rc4_t *r, unsigned char *buffer, int len)
|
||||
c++;
|
||||
}
|
||||
}
|
||||
#endif /* !HAVE_ARC4RANDOM */
|
||||
|
||||
@@ -44,6 +44,9 @@
|
||||
#ifndef _RC4_H
|
||||
#define _RC4_H
|
||||
|
||||
#include "config.h"
|
||||
#ifndef HAVE_ARC4RANDOM
|
||||
|
||||
/*! \struct rc4_t
|
||||
\brief RC4 stream cipher state object
|
||||
\var s State array
|
||||
@@ -107,4 +110,6 @@ void rc4_crypt(rc4_t *r, unsigned char *plaintext, int len);
|
||||
*/
|
||||
void rc4_getbytes(rc4_t *r, unsigned char *buffer, int len);
|
||||
|
||||
#endif /* !HAVE_ARC4RANDOM */
|
||||
|
||||
#endif /* _RC4_H */
|
||||
|
||||
@@ -13,13 +13,21 @@ RSA key generation, encryption and decryption.
|
||||
|
||||
*/
|
||||
|
||||
/* RCSID("$Id: rsa.h,v 1.1 1999/10/27 03:42:44 damien Exp $"); */
|
||||
/* RCSID("$Id: rsa.h,v 1.2 1999/10/28 03:25:17 damien Exp $"); */
|
||||
#include "config.h"
|
||||
|
||||
#ifndef RSA_H
|
||||
#define RSA_H
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/bn.h>
|
||||
#include <openssl/rsa.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/bn.h>
|
||||
#include <ssl/rsa.h>
|
||||
#endif
|
||||
|
||||
/* Calls SSL RSA_generate_key, only copies to prv and pub */
|
||||
void rsa_generate_key(RSA *prv, RSA *pub, unsigned int bits);
|
||||
|
||||
@@ -42,11 +42,11 @@ and ssh has the necessary privileges.)
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: scp.c,v 1.1 1999/10/27 03:42:45 damien Exp $
|
||||
* $Id: scp.c,v 1.2 1999/10/28 05:23:30 damien Exp $
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
RCSID("$Id: scp.c,v 1.1 1999/10/27 03:42:45 damien Exp $");
|
||||
RCSID("$Id: scp.c,v 1.2 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#include "ssh.h"
|
||||
#include "xmalloc.h"
|
||||
@@ -976,7 +976,7 @@ run_err(const char *fmt, ...)
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: scp.c,v 1.1 1999/10/27 03:42:45 damien Exp $
|
||||
* $Id: scp.c,v 1.2 1999/10/28 05:23:30 damien Exp $
|
||||
*/
|
||||
|
||||
char *
|
||||
@@ -1183,7 +1183,7 @@ progressmeter(int flag)
|
||||
" - stalled -");
|
||||
} else {
|
||||
remaining = (int)(totalbytes / (statbytes / elapsed) - elapsed);
|
||||
i = elapsed / 3600;
|
||||
i = remaining / 3600;
|
||||
if (i)
|
||||
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
|
||||
"%2d:", i);
|
||||
|
||||
@@ -14,7 +14,7 @@ Adds an identity to the authentication server, or removes an identity.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
RCSID("$Id: ssh-add.c,v 1.1 1999/10/27 03:42:45 damien Exp $");
|
||||
RCSID("$Id: ssh-add.c,v 1.2 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#include "rsa.h"
|
||||
#include "ssh.h"
|
||||
@@ -22,11 +22,10 @@ RCSID("$Id: ssh-add.c,v 1.1 1999/10/27 03:42:45 damien Exp $");
|
||||
#include "authfd.h"
|
||||
|
||||
void
|
||||
delete_file(const char *filename)
|
||||
delete_file(AuthenticationConnection *ac, const char *filename)
|
||||
{
|
||||
RSA *key;
|
||||
char *comment;
|
||||
AuthenticationConnection *ac;
|
||||
|
||||
key = RSA_new();
|
||||
if (!load_public_key(filename, key, &comment))
|
||||
@@ -35,55 +34,29 @@ delete_file(const char *filename)
|
||||
return;
|
||||
}
|
||||
|
||||
/* Send the request to the authentication agent. */
|
||||
ac = ssh_get_authentication_connection();
|
||||
if (!ac)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Could not open a connection to your authentication agent.\n");
|
||||
RSA_free(key);
|
||||
xfree(comment);
|
||||
return;
|
||||
}
|
||||
if (ssh_remove_identity(ac, key))
|
||||
fprintf(stderr, "Identity removed: %s (%s)\n", filename, comment);
|
||||
else
|
||||
fprintf(stderr, "Could not remove identity: %s\n", filename);
|
||||
RSA_free(key);
|
||||
xfree(comment);
|
||||
ssh_close_authentication_connection(ac);
|
||||
}
|
||||
|
||||
void
|
||||
delete_all()
|
||||
delete_all(AuthenticationConnection *ac)
|
||||
{
|
||||
AuthenticationConnection *ac;
|
||||
|
||||
/* Get a connection to the agent. */
|
||||
ac = ssh_get_authentication_connection();
|
||||
if (!ac)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Could not open a connection to your authentication agent.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Send a request to remove all identities. */
|
||||
if (ssh_remove_all_identities(ac))
|
||||
fprintf(stderr, "All identities removed.\n");
|
||||
else
|
||||
fprintf(stderr, "Failed to remove all identitities.\n");
|
||||
|
||||
/* Close the connection to the agent. */
|
||||
ssh_close_authentication_connection(ac);
|
||||
}
|
||||
|
||||
void
|
||||
add_file(const char *filename)
|
||||
add_file(AuthenticationConnection *ac, const char *filename)
|
||||
{
|
||||
RSA *key;
|
||||
RSA *public_key;
|
||||
AuthenticationConnection *ac;
|
||||
char *saved_comment, *comment, *pass;
|
||||
int first;
|
||||
|
||||
@@ -131,40 +104,22 @@ add_file(const char *filename)
|
||||
|
||||
xfree(saved_comment);
|
||||
|
||||
/* Send the key to the authentication agent. */
|
||||
ac = ssh_get_authentication_connection();
|
||||
if (!ac)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Could not open a connection to your authentication agent.\n");
|
||||
RSA_free(key);
|
||||
xfree(comment);
|
||||
return;
|
||||
}
|
||||
if (ssh_add_identity(ac, key, comment))
|
||||
fprintf(stderr, "Identity added: %s (%s)\n", filename, comment);
|
||||
else
|
||||
fprintf(stderr, "Could not add identity: %s\n", filename);
|
||||
RSA_free(key);
|
||||
xfree(comment);
|
||||
ssh_close_authentication_connection(ac);
|
||||
}
|
||||
|
||||
void
|
||||
list_identities()
|
||||
list_identities(AuthenticationConnection *ac)
|
||||
{
|
||||
AuthenticationConnection *ac;
|
||||
BIGNUM *e, *n;
|
||||
int bits, status;
|
||||
char *comment;
|
||||
int had_identities;
|
||||
|
||||
ac = ssh_get_authentication_connection();
|
||||
if (!ac)
|
||||
{
|
||||
fprintf(stderr, "Could not connect to authentication server.\n");
|
||||
return;
|
||||
}
|
||||
e = BN_new();
|
||||
n = BN_new();
|
||||
had_identities = 0;
|
||||
@@ -189,12 +144,12 @@ list_identities()
|
||||
BN_clear_free(n);
|
||||
if (!had_identities)
|
||||
printf("The agent has no identities.\n");
|
||||
ssh_close_authentication_connection(ac);
|
||||
}
|
||||
|
||||
int
|
||||
main(int ac, char **av)
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
AuthenticationConnection *ac = NULL;
|
||||
struct passwd *pw;
|
||||
char buf[1024];
|
||||
int no_files = 1;
|
||||
@@ -211,30 +166,37 @@ main(int ac, char **av)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
for (i = 1; i < ac; i++)
|
||||
/* At first, get a connection to the authentication agent. */
|
||||
ac = ssh_get_authentication_connection();
|
||||
if (ac == NULL) {
|
||||
fprintf(stderr, "Could not open a connection to your authentication agent.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
if (strcmp(av[i], "-l") == 0)
|
||||
if (strcmp(argv[i], "-l") == 0)
|
||||
{
|
||||
list_identities();
|
||||
list_identities(ac);
|
||||
no_files = 0; /* Don't default-add/delete if -l. */
|
||||
continue;
|
||||
}
|
||||
if (strcmp(av[i], "-d") == 0)
|
||||
if (strcmp(argv[i], "-d") == 0)
|
||||
{
|
||||
deleting = 1;
|
||||
continue;
|
||||
}
|
||||
if (strcmp(av[i], "-D") == 0)
|
||||
if (strcmp(argv[i], "-D") == 0)
|
||||
{
|
||||
delete_all();
|
||||
delete_all(ac);
|
||||
no_files = 0;
|
||||
continue;
|
||||
}
|
||||
no_files = 0;
|
||||
if (deleting)
|
||||
delete_file(av[i]);
|
||||
delete_file(ac, argv[i]);
|
||||
else
|
||||
add_file(av[i]);
|
||||
add_file(ac, argv[i]);
|
||||
}
|
||||
if (no_files)
|
||||
{
|
||||
@@ -242,13 +204,15 @@ main(int ac, char **av)
|
||||
if (!pw)
|
||||
{
|
||||
fprintf(stderr, "No user found with uid %d\n", (int)getuid());
|
||||
ssh_close_authentication_connection(ac);
|
||||
exit(1);
|
||||
}
|
||||
snprintf(buf, sizeof buf, "%s/%s", pw->pw_dir, SSH_CLIENT_IDENTITY);
|
||||
if (deleting)
|
||||
delete_file(buf);
|
||||
delete_file(ac, buf);
|
||||
else
|
||||
add_file(buf);
|
||||
add_file(ac, buf);
|
||||
}
|
||||
ssh_close_authentication_connection(ac);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
+16
-1
@@ -13,8 +13,9 @@ The authentication agent program.
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "includes.h"
|
||||
RCSID("$Id: ssh-agent.c,v 1.1 1999/10/27 03:42:45 damien Exp $");
|
||||
RCSID("$Id: ssh-agent.c,v 1.3 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#include "ssh.h"
|
||||
#include "rsa.h"
|
||||
@@ -26,7 +27,12 @@ RCSID("$Id: ssh-agent.c,v 1.1 1999/10/27 03:42:45 damien Exp $");
|
||||
#include "getput.h"
|
||||
#include "mpaux.h"
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/md5.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/md5.h>
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -530,6 +536,15 @@ main(int ac, char **av)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* Create a new session and process group */
|
||||
if (setsid() < 0) {
|
||||
perror("setsid failed");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* Ignore if a client dies while we are sending a reply */
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
sock = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
if (sock < 0)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@ Modified to work with SSL by Niels Provos <[email protected]> in Canada.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
RCSID("$Id: ssh.c,v 1.1 1999/10/27 03:42:45 damien Exp $");
|
||||
RCSID("$Id: ssh.c,v 1.3 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#include "xmalloc.h"
|
||||
#include "ssh.h"
|
||||
@@ -158,8 +158,6 @@ rsh_connect(char *host, char *user, Buffer *command)
|
||||
|
||||
/* Main program for the ssh client. */
|
||||
|
||||
uid_t original_real_uid;
|
||||
|
||||
int
|
||||
main(int ac, char **av)
|
||||
{
|
||||
@@ -215,6 +213,7 @@ main(int ac, char **av)
|
||||
else
|
||||
cp = av0;
|
||||
if (strcmp(cp, "rsh") != 0 && strcmp(cp, "ssh") != 0 &&
|
||||
strcmp(cp, "openssh") != 0 && strcmp(cp, "openlogin") != 0 &&
|
||||
strcmp(cp, "rlogin") != 0 && strcmp(cp, "slogin") != 0)
|
||||
host = cp;
|
||||
|
||||
|
||||
@@ -13,11 +13,25 @@ Generic header file for ssh.
|
||||
|
||||
*/
|
||||
|
||||
/* RCSID("$Id: ssh.h,v 1.1 1999/10/27 03:42:45 damien Exp $"); */
|
||||
/* RCSID("$Id: ssh.h,v 1.3 1999/10/28 04:34:49 damien Exp $"); */
|
||||
|
||||
#ifndef SSH_H
|
||||
#define SSH_H
|
||||
|
||||
/* Added by Dan */
|
||||
#ifndef SHUT_RDWR
|
||||
enum
|
||||
{
|
||||
SHUT_RD = 0, /* No more receptions. */
|
||||
#define SHUT_RD SHUT_RD
|
||||
SHUT_WR, /* No more transmissions. */
|
||||
#define SHUT_WR SHUT_WR
|
||||
SHUT_RDWR /* No more receptions or transmissions. */
|
||||
#define SHUT_RDWR SHUT_RDWR
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
#include "rsa.h"
|
||||
#include "cipher.h"
|
||||
|
||||
@@ -75,7 +89,7 @@ only by root, whereas ssh_config should be world-readable. */
|
||||
|
||||
/* The process id of the daemon listening for connections is saved
|
||||
here to make it easier to kill the correct daemon when necessary. */
|
||||
#define SSH_DAEMON_PID_FILE PIDDIR "/sshd.pid"
|
||||
#define SSH_DAEMON_PID_FILE PIDDIR "/opensshd.pid"
|
||||
|
||||
/* The directory in user\'s home directory in which the files reside.
|
||||
The directory should be world-readable (though not all files are). */
|
||||
|
||||
+10
-2
@@ -14,10 +14,19 @@ login (authentication) dialog.
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "includes.h"
|
||||
RCSID("$Id: sshconnect.c,v 1.1 1999/10/27 03:42:45 damien Exp $");
|
||||
RCSID("$Id: sshconnect.c,v 1.3 1999/10/28 05:23:30 damien Exp $");
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/bn.h>
|
||||
#include <openssl/md5.h>
|
||||
#endif
|
||||
#ifdef HAVE_SSL
|
||||
#include <ssl/bn.h>
|
||||
#include <ssl/md5.h>
|
||||
#endif
|
||||
|
||||
#include "xmalloc.h"
|
||||
#include "rsa.h"
|
||||
#include "ssh.h"
|
||||
@@ -28,7 +37,6 @@ RCSID("$Id: sshconnect.c,v 1.1 1999/10/27 03:42:45 damien Exp $");
|
||||
#include "uidswap.h"
|
||||
#include "compat.h"
|
||||
|
||||
#include <openssl/md5.h>
|
||||
|
||||
/* Session id for the current session. */
|
||||
unsigned char session_id[16];
|
||||
|
||||
@@ -18,7 +18,7 @@ agent connections.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
RCSID("$Id: sshd.c,v 1.3 1999/10/28 03:20:30 damien Exp $");
|
||||
RCSID("$Id: sshd.c,v 1.4 1999/10/28 04:03:14 damien Exp $");
|
||||
|
||||
#include "xmalloc.h"
|
||||
#include "rsa.h"
|
||||
@@ -129,7 +129,7 @@ void do_exec_no_pty(const char *command, struct passwd *pw,
|
||||
void do_child(const char *command, struct passwd *pw, const char *term,
|
||||
const char *display, const char *auth_proto,
|
||||
const char *auth_data, const char *ttyname);
|
||||
#ifdef HAVE_PAM
|
||||
#ifdef HAVE_LIBPAM
|
||||
static int pamconv(int num_msg, const struct pam_message **msg,
|
||||
struct pam_response **resp, void *appdata_ptr);
|
||||
void do_pam_account_and_session(const char *username, const char *password,
|
||||
@@ -225,7 +225,7 @@ void do_pam_account_and_session(const char *username, const char *password, cons
|
||||
eat_packets_and_disconnect(username);
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_PAM */
|
||||
#endif /* HAVE_LIBPAM */
|
||||
|
||||
/* Signal handler for SIGHUP. Sshd execs itself when it receives SIGHUP;
|
||||
the effect is to reread the configuration file (and to regenerate
|
||||
@@ -809,7 +809,7 @@ main(int ac, char **av)
|
||||
/* The connection has been terminated. */
|
||||
log("Closing connection to %.100s", inet_ntoa(sin.sin_addr));
|
||||
|
||||
#ifdef HAVE_PAM
|
||||
#ifdef HAVE_LIBPAM
|
||||
{
|
||||
int retval;
|
||||
|
||||
@@ -823,7 +823,7 @@ main(int ac, char **av)
|
||||
fatal_remove_cleanup(&pam_cleanup_proc, NULL);
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_PAM */
|
||||
#endif /* HAVE_LIBPAM */
|
||||
|
||||
packet_close();
|
||||
|
||||
@@ -1135,17 +1135,17 @@ do_authentication(char *user, int privileged_port)
|
||||
pwcopy.pw_shell = xstrdup(pw->pw_shell);
|
||||
pw = &pwcopy;
|
||||
|
||||
#ifdef HAVE_PAM
|
||||
if (PAM_SUCCESS != pam_start("ssh", pw->pw_name, &conv, (pam_handle_t**)&pamh))
|
||||
#ifdef HAVE_LIBPAM
|
||||
if (PAM_SUCCESS != pam_start("opensshd", pw->pw_name, &conv, (pam_handle_t**)&pamh))
|
||||
{
|
||||
packet_start(SSH_SMSG_FAILURE);
|
||||
packet_send();
|
||||
packet_write_wait();
|
||||
packet_disconnect("PAM initialisation failed.");
|
||||
}
|
||||
#endif
|
||||
|
||||
fatal_add_cleanup(&pam_cleanup_proc, NULL);
|
||||
#endif
|
||||
|
||||
/* If we are not running as root, the user must have the same uid as the
|
||||
server. */
|
||||
@@ -1289,16 +1289,16 @@ do_authentication(char *user, int privileged_port)
|
||||
log("Rhosts authentication accepted for %.100s, remote %.100s on %.700s.",
|
||||
user, client_user, get_canonical_hostname());
|
||||
authenticated = 1;
|
||||
#ifndef HAVE_PAM
|
||||
#ifndef HAVE_LIBPAM
|
||||
xfree(client_user);
|
||||
#endif /* HAVE_PAM */
|
||||
#endif /* HAVE_LIBPAM */
|
||||
break;
|
||||
}
|
||||
log("Rhosts authentication failed for %.100s, remote %.100s.",
|
||||
user, client_user);
|
||||
#ifndef HAVE_PAM
|
||||
#ifndef HAVE_LIBPAM
|
||||
xfree(client_user);
|
||||
#endif /* HAVE_PAM */
|
||||
#endif /* HAVE_LIBPAM */
|
||||
break;
|
||||
|
||||
case SSH_CMSG_AUTH_RHOSTS_RSA:
|
||||
@@ -1341,18 +1341,18 @@ do_authentication(char *user, int privileged_port)
|
||||
{
|
||||
/* Authentication accepted. */
|
||||
authenticated = 1;
|
||||
#ifndef HAVE_PAM
|
||||
#ifndef HAVE_LIBPAM
|
||||
xfree(client_user);
|
||||
#endif /* HAVE_PAM */
|
||||
#endif /* HAVE_LIBPAM */
|
||||
BN_clear_free(client_host_key_e);
|
||||
BN_clear_free(client_host_key_n);
|
||||
break;
|
||||
}
|
||||
log("Rhosts authentication failed for %.100s, remote %.100s.",
|
||||
user, client_user);
|
||||
#ifndef HAVE_PAM
|
||||
#ifndef HAVE_LIBPAM
|
||||
xfree(client_user);
|
||||
#endif /* HAVE_PAM */
|
||||
#endif /* HAVE_LIBPAM */
|
||||
BN_clear_free(client_host_key_e);
|
||||
BN_clear_free(client_host_key_n);
|
||||
break;
|
||||
@@ -1403,7 +1403,7 @@ do_authentication(char *user, int privileged_port)
|
||||
packet_integrity_check(plen, 4 + passw_len, type);
|
||||
}
|
||||
|
||||
#ifdef HAVE_PAM
|
||||
#ifdef HAVE_LIBPAM
|
||||
pampasswd = password;
|
||||
|
||||
if (PAM_SUCCESS == pam_authenticate((pam_handle_t *)pamh, 0))
|
||||
@@ -1416,7 +1416,7 @@ do_authentication(char *user, int privileged_port)
|
||||
log("PAM Password authentication for %.100s failed.", user);
|
||||
break;
|
||||
}
|
||||
#else /* HAVE_PAM */
|
||||
#else /* HAVE_LIBPAM */
|
||||
/* Try authentication with the password. */
|
||||
if (auth_password(pw, password))
|
||||
{
|
||||
@@ -1432,7 +1432,7 @@ do_authentication(char *user, int privileged_port)
|
||||
memset(password, 0, strlen(password));
|
||||
xfree(password);
|
||||
break;
|
||||
#endif /* HAVE_PAM */
|
||||
#endif /* HAVE_LIBPAM */
|
||||
|
||||
case SSH_CMSG_AUTH_TIS:
|
||||
/* TIS Authentication is unsupported */
|
||||
@@ -1470,7 +1470,7 @@ do_authentication(char *user, int privileged_port)
|
||||
get_canonical_hostname());
|
||||
}
|
||||
|
||||
#ifdef HAVE_PAM
|
||||
#ifdef HAVE_LIBPAM
|
||||
do_pam_account_and_session(pw->pw_name, password, client_user, get_canonical_hostname());
|
||||
|
||||
/* Clean up */
|
||||
@@ -1482,7 +1482,7 @@ do_authentication(char *user, int privileged_port)
|
||||
memset(password, 0, strlen(password));
|
||||
xfree(password);
|
||||
}
|
||||
#endif /* HAVE_PAM */
|
||||
#endif /* HAVE_LIBPAM */
|
||||
|
||||
/* The user has been authenticated and accepted. */
|
||||
packet_start(SSH_SMSG_SUCCESS);
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
Port 22
|
||||
ListenAddress 0.0.0.0
|
||||
HostKey /etc/ssh/ssh_host_key
|
||||
HostKey /etc/openssh/ssh_host_key
|
||||
ServerKeyBits 768
|
||||
LoginGraceTime 600
|
||||
KeyRegenerationInterval 3600
|
||||
@@ -20,7 +20,7 @@ KeepAlive yes
|
||||
SyslogFacility AUTH
|
||||
RhostsAuthentication no
|
||||
#
|
||||
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
|
||||
# For this to work you will also need host keys in /etc/openssh/ssh_known_hosts
|
||||
RhostsRSAAuthentication no
|
||||
#
|
||||
RSAAuthentication yes
|
||||
|
||||
@@ -34,6 +34,9 @@ static char *rcsid = "$OpenBSD: strlcpy.c,v 1.4 1999/05/01 18:56:41 millert Exp
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "config.h"
|
||||
#ifndef HAVE_STRLCPY
|
||||
|
||||
/*
|
||||
* Copy src to string dst of size siz. At most siz-1 characters
|
||||
* will be copied. Always NUL terminates (unless siz == 0).
|
||||
@@ -66,3 +69,5 @@ size_t strlcpy(dst, src, siz)
|
||||
|
||||
return(s - src - 1); /* count does not include NUL */
|
||||
}
|
||||
|
||||
#endif /* !HAVE_STRLCPY */
|
||||
|
||||
Reference in New Issue
Block a user