]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - crypto/openssh/FREEBSD-upgrade
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / crypto / openssh / FREEBSD-upgrade
1
2
3             FreeBSD maintainer's guide to OpenSSH-portable
4             ==============================================
5
6 [needs rewriting for svn]
7
8 0) Make sure your mail spool has plenty of free space.  It'll fill up
9    pretty fast once you're done with this checklist.
10
11 1) Grab the latest OpenSSH-portable tarball from the OpenBSD FTP
12    site (ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/)
13
14 2) Unpack the tarball in a suitable directory.
15
16         $ tar xf openssh-X.YpZ.tar.gz \
17                 -X /usr/src/crypto/openssh/FREEBSD-Xlist
18
19 3) Remove trash:
20
21    Make sure -X took care of everything, and if it didn't, make sure
22    to update FREEBSD-Xlist so you won't miss it the next time.  A good
23    way to do this is to run a test import and see if any new files
24    show up:
25
26         $ cvs -n import src/crypto/openssh OPENSSH x | grep \^N
27
28 4) Import the sources:
29
30         $ cvs import src/crypto/openssh OPENSSH OpenSSH_X_YpZ
31
32 5) Resolve conflicts.  Remember to bump the version number and
33    addendum in version.h, and update the default value in
34    ssh{,d}_config and ssh{,d}_config.5.
35
36 6) Generate configure and config.h.in:
37
38         $ autoconf
39         $ autoheader
40
41    Note: this requires a recent version of autoconf, not autoconf213.
42
43 7) Run configure with the appropriate arguments:
44
45         $ ./configure --prefix=/usr --sysconfdir=/etc/ssh \
46                 --with-pam --with-tcp-wrappers --with-libedit \
47                 --with-ssl-engine
48
49    This will regenerate config.h, which must be committed along with
50    the rest.
51
52    Note that we don't want to configure OpenSSH for Kerberos using
53    configure since we have to be able to turn it on or off depending
54    on the value of MK_KERBEROS.  Our Makefiles take care of this.
55
56 8) If source files have been added or removed, update the appropriate
57    makefiles to reflect changes in the vendor's Makefile.in.
58
59 9) Build libssh.  Follow the instructions in ssh_namespace.h to get a
60    list of new symbols.  Update ssh_namespace.h, build everything,
61    install and test.
62
63 A) Build and test the pam_ssh PAM module.  It gropes around libssh's
64    internals and will break if something significant changes or if
65    ssh_namespace.h is out of whack.
66
67 B) Re-commit everything on repoman (you *did* use a test repo for
68    this, didn't you?)
69
70 \f
71
72           An overview of FreeBSD changes to OpenSSH-portable
73           ==================================================
74
75 0) VersionAddendum
76
77    The SSH protocol allows for a human-readable version string of up
78    to 40 characters to be appended to the protocol version string.
79    FreeBSD takes advantage of this to include a date indicating the
80    "patch level", so people can easily determine whether their system
81    is vulnerable when an OpenSSH advisory goes out.  Some people,
82    however, dislike advertising their patch level in the protocol
83    handshake, so we've added a VersionAddendum configuration variable
84    to allow them to change or disable it.
85
86 1) Modified server-side defaults
87
88    We've modified some configuration defaults in sshd:
89
90       - PasswordAuthentication defaults to "no".
91
92       - For protocol version 2, we don't load RSA host keys by
93         default.  If both RSA and DSA keys are present, we prefer DSA
94         to RSA.
95
96       - LoginGraceTime defaults to 120 seconds instead of 600.
97
98       - PermitRootLogin defaults to "no".
99
100       - X11Forwarding defaults to "yes" (it's a threat to the client,
101         not to the server.)
102
103 2) Modified client-side defaults
104
105    We've modified some configuration defaults in ssh:
106
107       - For protocol version 2, if both RSA and DSA keys are present,
108         we prefer DSA to RSA.
109
110       - CheckHostIP defaults to "no".
111
112 3) Canonic host names
113
114    We've added code to ssh.c to canonicize the target host name after
115    reading options but before trying to connect.  This eliminates the
116    usual problem with duplicate known_hosts entries.
117
118 4) setusercontext() environment
119
120    Our setusercontext(3) can set environment variables, which we must
121    take care to transfer to the child's environment.
122
123 \f
124
125 This port was brought to you by (in no particular order) DARPA, NAI
126 Labs, ThinkSec, NescafĂ©, the Aberlour Glenlivet Distillery Co.,
127 Suzanne Vega, and a Sanford's #69 Deluxe Marker.
128
129                                         -- des@FreeBSD.org
130
131 $FreeBSD$