Annotation of www/36.html, Revision 1.12
1.1 deraadt 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2: <html>
3: <head>
4: <title>OpenBSD 3.6 Release</title>
5: <link rev=made href="mailto:www@openbsd.org">
6: <meta name="resource-type" content="document">
7: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
8: <meta name="description" content="OpenBSD 3.6">
9: <meta name="keywords" content="openbsd,main">
10: <meta name="distribution" content="global">
11: <meta name="copyright" content="This document copyright 2004 by OpenBSD.">
12: </head>
13:
14: <body bgcolor="#ffffff" text="#000000" link="#24248E">
15:
16: <a href="index.html">
17: <img alt="[OpenBSD]" height="30" width="141" hspace="24" src="images/smalltitle.gif" border="0"></a>
18: <hr>
19:
20: <p>
1.7 deraadt 21: <a href="images/Ponderosa.jpg">
1.1 deraadt 22: <img align="left" width="255" height="343" hspace="24" vspace="30"
1.7 deraadt 23: src="images/Ponderosa.jpg" alt="OpenBSD 3.6 logo"></a>
1.1 deraadt 24: <h2><font color="#0000e0">The OpenBSD 3.6 Release:</font></h2>
25: <p>
26: To be released: November 1, 2004<br>
27: Copyright 1997-2004, Theo de Raadt.<br>
28: <font color="#e00000">ISBN 0-9731791-4-7</font>
29: <p>
30:
1.2 miod 31: <a href="#new">What's New</a><br>
32: <a href="#install">How to install</a><br>
33: <a href="#ports">How to use the ports tree</a><br>
34: <a href="orders.html">Ordering a CD set</a><br>
35:
36: <p>
37: <h3><font color="#0000e0">
38: To get the files for this release:
39: <ul>
40: <li>Order a CDROM from our <a href="orders.html">ordering system</a>.
41: <li>See the information on <a href="ftp.html">The FTP page</a> for
42: a list of mirror machines.
43: <li>Go to the <font color="#e00000">pub/OpenBSD/3.6/</font> directory on
44: one of the mirror sites.
45: <li>Briefly read the rest of this document.
46: <!--
47: <li>Have a look at <a href="errata.html">The 3.6 Errata page</a> for a list
48: of bugs and workarounds.
49: -->
50: <li>See a <a href="plus.html">detailed log of changes</a> between the
51: 3.5 and 3.6 releases.
52: </ul>
53: </font></h3>
54: <br clear=all>
55:
56: <strong>Note:</strong> All applicable copyrights and credits can be found
57: in the applicable file sources found in the files src.tar.gz, sys.tar.gz,
58: XF4.tar.gz, or in the files fetched via ports.tar.gz. The distribution
59: files used to build packages from the ports.tar.gz file are not included on
60: the CDROM because of lack of space.
61: <p>
62:
63: <a name="new"></a>
64: <hr>
65: <p>
66: <h3><font color="#0000e0">What's New</font></h3>
67: <p>
68: This is a partial list of new features and systems included in OpenBSD 3.6.
69: For a comprehensive list, see the <a href="plus.html">changelog</a> leading
70: to 3.6.
71: <p>
72:
73: <ul>
74:
1.6 miod 75: <li>New platform:
1.2 miod 76: <ul>
77: <li><a href="luna88k.html">OpenBSD/luna88k</a><br>
78: Expanding the mvme88k porting effort by supporting Omron's line of
79: 88100-based workstations.
80: </ul>
81: <p>
82:
1.6 miod 83: <li>SMP support on <a href="i386.html">OpenBSD/i386</a> and <a
1.2 miod 84: href="amd64.html">OpenBSD/amd64</a> platforms.
85: <p>
86:
1.6 miod 87: <li>New functionality:
1.2 miod 88: <ul>
89: <li>A new dhcp
90: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dhcpd&sektion=8">server</a>
91: and
92: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dhclient&sektion=8">client</a>
93: implementation, featuring privilege separation and safe defaults.
94: <li>A clean
95: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ntpd&sektion=8">ntp
96: daemon</a> which ought to fit the needs of most ntp users.
97: <li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&sektion=8">pfctl</a>
98: now provides a <i>rules optimizer</i>, to help improving filtering speed.
1.11 otto 99: <li>The packet filter,
100: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pf&sektion=4">pf(4)</a>
101: now supports nested anchors.
1.4 otto 102: <li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tcpdrop&sektion=8">tcpdrop</a>, a command to drop TCP connections.
1.8 tedu 103: <li>The NMBCLUSTERS option has been eliminated, replaced by a sysctl with higher values on many platforms.
1.4 otto 104: <li>Added support for cksum (three flavours), md4, sha256, sha384 and sha512 to
105: the <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=md5&sektion=1">md5</a>
106: command.
107: <li>Memory file systems created by the
108: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mount_mfs&sektion=8">mount_mfs</a>
109: command now can be populated immediately after creation.
1.8 tedu 110: <li>New hotplugd daemon and device that watch for newly attached devices.
111: <li>New timecounter code in the kernel for more accurate timekeeping.
1.10 otto 112: <li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=isakmpd&sektion=8">isakmpd(8)</a> now supports NAT-traversal.
1.12 ! otto 113: <li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=strtonum&sektion=3">strtonum(3)</a>,
! 114: a simple, robust and therefore safe function to convert numbers to strings has
! 115: been added.
! 116: <li>On the <a href="sparc.html">OpenBSD/sparc</a> platform, StackGhost buffer
! 117: overflow exploit protection has been added.
1.2 miod 118: </ul>
119: <p>
120:
121: <li>Improved hardware support, including:
122: <ul>
123: <li>Sangoma T1 and E1 cards
124: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=san&sektion=4">san</a>)
125: <li>Jumbo frames are now working reliably on
126: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=em&sektion=4">em</a>,
127: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sk&sektion=4">sk</a>
128: and
129: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ti&sektion=4">ti</a>
130: adapters.
131: <li>USB 2.0
132: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ehci&sektion=4">ehci</a>)
133: controllers.
134: <li>AIC79xx-based Ultra320 SCSI adapters, such as the Adaptec 29320 and
135: 39320
136: (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ahd&sektion=4">ahd</a>)
1.8 tedu 137: <li>The i386 and amd64 CD bootloader code no longer emulates a floppy which improves the chances of booting on newer machines.
138: <li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=atw&sektion=4">atw(4)</a> wireless driver.
139: <li>hw.setperf hooks for PowerNow in AMD K6 and K7 processors.
1.2 miod 140: </ul>
141: <p>
142:
1.6 miod 143: <li>Improved NFS performance and reliability.
1.5 otto 144: <p>
1.2 miod 145:
1.6 miod 146: <li>Shared libraries and gcc 3.3.2 on the <a href="hppa.html">OpenBSD/hppa</a>
147: port.
1.5 otto 148: <p>
1.2 miod 149:
1.6 miod 150: <li>Over 2700 ports, 2500 pre-built packages.
1.2 miod 151: <p>
152:
153: <li>Many improvements for security and reliability (look for the red
154: print in the <a href="plus.html">complete changelog</a>).
155: <p>
156:
1.9 pedro 157: <li>As usual, many improvements in manual pages and other documentation.
1.2 miod 158: <p>
159:
160: <li>OpenSSH 3.9:
161: <ul>
1.6 miod 162: <li>
163: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&sektion=8">sshd</a>
164: now re-executes itself on accepting a new connection. This security
1.2 miod 165: measure ensures that all execute-time randomisations are reapplied for each
166: connection rather than once, for the master process' lifetime. This includes
167: mmap and malloc mappings, shared library addressing, shared library mapping
168: order, ProPolice and StackGhost cookies on architectures that support
169: such things.
170: <li>Selected environment variables can now be passed between the
171: client and the server.
172: <li>Session multiplexing: a single ssh connection can now carry
173: multiple login/command/file transfer sessions.
174: </ul>
175: <p>
176:
177: <li>The system includes the following major components from outside suppliers:
178: <ul>
1.6 miod 179: <li>XFree86 4.4.0 unencumbered (+ patches, and i386 contains 3.3.X servers also,
180: thus providing support for all chipsets)
1.2 miod 181: <li>Gcc 2.95.3
182: (+ <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gcc-local&sektion=1">patches</a>)
183: and 3.3.2
184: (+ <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gcc-local&sektion=1">patches</a>)
185: <li>Perl 5.8.5 (+ patches)
186: <li>Apache 1.3.29, mod_ssl 2.8.16, DSO support (+ patches)
187: <li>OpenSSL 0.9.7d (+ patches)
188: <li>Groff 1.15
189: <li>Sendmail 8.13.0, with libmilter
190: <li>Bind 9.2.3 (+ patches)
191: <li>Lynx 2.8.5rel.2 with HTTPS and IPv6 support (+ patches)
192: <li>Sudo 1.6.7p5
193: <li>Ncurses 5.2
194: <li>Latest KAME IPv6
195: <li>Heimdal 0.6rc1 (+ patches)
196: <li>Arla 0.35.7
197: <li>Gdb 6.1
198: </ul>
199: <p>
200:
201: </ul>
202:
203: <a name="install"></a>
204: <hr>
205: <p>
206: <h3><font color="#0000e0">How to install</font></h3>
207: <p>
208: Following this are the instructions which you would have on a piece of
209: paper if you had purchased a CDROM set instead of doing an alternate
210: form of install. The instructions for doing an ftp (or other style
211: of) install are very similar; the CDROM instructions are left intact
212: so that you can see how much easier it would have been if you had
213: purchased a CDROM instead.
214: <p>
215:
216: <hr>
217: Please refer to the following files on the three CDROMs or ftp mirror for
218: extensive details on how to install OpenBSD 3.6 on your machine:
219: <p>
220: <ul>
221: <li>CD1:3.6/i386/INSTALL.i386
222: <li>CD1:3.6/vax/INSTALL.vax
223: <p>
224: <li>CD2:3.6/amd64/INSTALL.amd64
225: <li>CD2:3.6/macppc/INSTALL.macppc
226: <p>
227: <li>CD3:3.6/sparc/INSTALL.sparc
228: <li>CD3:3.6/sparc64/INSTALL.sparc64
229: <p>
230: <li>FTP:.../OpenBSD/3.6/alpha/INSTALL.alpha
231: <li>FTP:.../OpenBSD/3.6/cats/INSTALL.cats
232: <li>FTP:.../OpenBSD/3.6/hp300/INSTALL.hp300
233: <li>FTP:.../OpenBSD/3.6/hppa/INSTALL.hppa
234: <li>FTP:.../OpenBSD/3.6/luna88k/INSTALL.luna88k
235: <li>FTP:.../OpenBSD/3.6/mac68k/INSTALL.mac68k
236: <li>FTP:.../OpenBSD/3.6/mvme68k/INSTALL.mvme68k
237: <li>FTP:.../OpenBSD/3.6/mvme88k/INSTALL.mvme88k
238: </ul>
239: <hr>
240:
241: <p>
242: Quick installer information for people familiar with OpenBSD, and the
243: use of the "disklabel -E" command. If you are at all confused when
244: installing OpenBSD, read the relevant INSTALL.* file as listed above!
245: <p>
246:
247: <h3><font color="#e00000">OpenBSD/i386:</font></h3>
248: <ul>
249: Play with your BIOS options to enable booting from a CD. The OpenBSD/i386
250: release is on CD1. If your BIOS does not support booting from CD, you will need
251: to create a boot floppy to install from. To create a boot floppy write
252: <i>CD1:3.6/i386/floppy36.fs</i> to a floppy and boot via the floppy drive.
253:
254: <p>
255: Use <i>CD1:3.6/i386/floppyB36.fs</i> instead for greater scsi controller
256: support, or <i>CD1:3.6/i386/floppyC36.fs</i> for better laptop support.
257:
258: <p>
259: If you can't boot from a CD or a floppy disk,
260: you can install across the network using PXE as described in
261: the included INSTALL.i386 document.
262:
263: <p>
264: If you are planning on dual booting OpenBSD with another OS, you will need to
265: read INSTALL.i386.
266:
267: <p>
268: To make a boot floppy under MS-DOS, use the "rawrite" utility located
269: at <i>CD1:3.6/tools/rawrite.exe</i>. To make the boot floppy under a Unix OS,
270: use the <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=
271: dd&sektion=1">dd(1)</a> utility. The following is an example usage of
272: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dd&sektion=1">dd(1)
273: </a>, where the device could be "floppy", "rfd0c", or
274: "rfd0a".
275:
276: <ul><pre>
277: # <strong>dd if=<file> of=/dev/<device> bs=32k</strong>
278: </pre></ul>
279:
280: <p>
281: Make sure you use properly formatted perfect floppies with NO BAD BLOCKS or
282: your install will most likely fail. For more information on creating a boot
283: floppy and installing OpenBSD/i386 please refer to
284: <a href="faq/faq4.html#MkFlop">FAQ4.1</a>.
285: </ul>
286:
287: <p>
288: <h3><font color="#e00000">OpenBSD/vax:</font></h3>
289: <ul>
290: Boot over the network via mopbooting as described in INSTALL.vax.
291: </ul>
292:
293: <p>
294: <h3><font color="#e00000">OpenBSD/amd64:</font></h3>
295: <ul>
296: The 3.6 release of OpenBSD/amd64 is located on CD2.
297: Boot from the CD to begin the install - you may need to adjust
298: your BIOS options first.
299: If you can't boot from the CD, you can create a boot floppy to install from.
300: To do this, write <i>CD2:3.6/amd64/floppy36.fs</i> to a floppy, then
301: boot from the floppy drive.
302:
303: <p>
304: If you can't boot from a CD or a floppy disk,
305: you can install across the network using PXE as described in the included
306: INSTALL.amd64 document.
307:
308: <p>
309: If you are planning to dual boot OpenBSD with another OS, you will need to
310: read INSTALL.amd64.
311: </ul>
312:
313: <p>
314: <h3><font color="#e00000">OpenBSD/macppc:</font></h3>
315: <ul>
316: Put the CD2 in your CDROM drive and poweron your machine while holding down the
317: <i>C</i> key until the display turns on and shows <i>OpenBSD/macppc boot</i>.
318:
319: <p>
320: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
321: /3.6/macppc/bsd.rd</i>
322: </ul>
323:
324: <p>
325: <h3><font color="#e00000">OpenBSD/sparc:</font></h3>
326: <ul>
327: The 3.6 release of OpenBSD/sparc is located on CD3. To boot off of this CD you
328: can use one of the two commands listed below, depending on the version of your
329: ROM.
330:
331: <ul><pre>
332: ok <strong>boot cdrom 3.6/sparc/bsd.rd</strong>
333: or
334: > <strong>b sd(0,6,0)3.6/sparc/bsd.rd</strong>
335: </pre></ul>
336:
337: <p>
338: If your sparc does not have a CD drive, you can alternatively boot from floppy.
339: To do so you need to write <i>CD3:3.6/sparc/floppy36.fs</i> to a floppy.
340: For more information see <a href="faq/faq4.html#MkFlop">FAQ4.1</a>. To boot from
341: the floppy use one of the two commands listed below, depending on the version of
342: your ROM.
343:
344: <ul><pre>
345: ok <strong>boot floppy</strong>
346: or
347: > <strong>b fd()</strong>
348: </pre></ul>
349:
350: <p>
351: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
352: will most likely fail.
353:
354: <p>
355: If your sparc doesn't have a floppy drive nor a CD drive, you can either
356: setup a bootable tape, or install via network, as told in the
357: INSTALL.sparc file.
358: </ul>
359:
360: <p>
361: <h3><font color="#e00000">OpenBSD/sparc64:</font></h3>
362: <ul>
363: Put the CD3 in your CDROM drive and type <i>boot cdrom</i>.
364:
365: <p>
366: If this doesn't work, or if you don't have a CDROM drive, you can write
367: <i>CD3:3.6/sparc64/floppy36.fs</i> to a floppy and boot it with <i>boot
368: floppy</i>.<br>
369: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
370: will most likely fail.
371:
372: <p>
373: You can also write <i>CD3:3.6/sparc64/miniroot36.fs</i> to the swap partition on
374: the disk and boot with <i>boot disk:b</i>.
375:
376: <p>
377: If nothing works, you can boot over the network as described in INSTALL.sparc64
378: </ul>
379:
380: <p>
381: <h3><font color="#e00000">OpenBSD/alpha:</font></h3>
382: <ul>
383: <p>Write <i>FTP:3.6/alpha/floppy36.fs</i> or
384: <i>FTP:3.6/alpha/floppyB36.fs</i> (depending on your machine) to a diskette and
385: enter <i>boot dva0</i>. Refer to INSTALL.alpha for more details.
386:
387: <p>
388: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
389: will most likely fail.
390:
391: </ul>
392:
393: <p>
394: <h3><font color="#e00000">OpenBSD/cats:</font></h3>
395: <ul>
396: <p>
397: After updating the firmware to at least ABLE 1.95 if necessary, boot
398: <i>FTP:3.6/cats/bsd.rd</i> from an ABLE-supported device (such as a CD-ROM
399: or an existing FFS or EXT2FS partition).
400: </ul>
401:
402: <p>
403: <h3><font color="#e00000">OpenBSD/hp300:</font></h3>
404: <ul>
405: <p>
406: Boot over the network by following the instructions in INSTALL.hp300.
407: </ul>
408:
409: <p>
410: <h3><font color="#e00000">OpenBSD/hppa:</font></h3>
411: <ul>
412: <p>
413: Boot over the network by following the instructions in INSTALL.hppa or the
414: <a href="hppa.html#netboot">hppa platform page</a>.
415: </ul>
416:
417: <p>
418: <h3><font color="#e00000">OpenBSD/luna88k:</font></h3>
419: <ul>
420: <p>
421: Copy bsd.rd to a Mach or UniOS partition, and boot it from the PROM.
422: Alternatively, you can create a bootable tape and boot from it. Refer to
423: the instructions in INSTALL.luna88k for more details.
424: </ul>
425:
426: <p>
427: <h3><font color="#e00000">OpenBSD/mac68k:</font></h3>
428: <ul>
429: <p>
430: Boot MacOS as normal and partition your disk with the appropriate A/UX
431: configurations. Then, extract the Macside utilities from
432: <i>FTP:3.6/mac68k/utils</i> onto your hard disk. Run Mkfs to create your
433: filesystems on the A/UX partitions you just made. Then, use the
434: "BSD/Mac68k Installer" to copy all the sets in <i>FTP:3.6/mac68k/</i> onto your
435: partitions. Finally, you will be ready to configure the "BSD/Mac68k
436: Booter" with the location of your kernel and boot the system.
437: </ul>
438:
439: <p>
440: <h3><font color="#e00000">OpenBSD/mvme68k:</font></h3>
441: <ul>
442: <p>
443: You can create a bootable installation tape or boot over the network.<br>
444: The network boot requires a MVME68K BUG version that supports the <i>NIOT</i>
445: and <i>NBO</i> debugger commands. Follow the instructions in INSTALL.mvme68k
446: for more details.
447: </ul>
448:
449: <p>
450: <h3><font color="#e00000">OpenBSD/mvme88k:</font></h3>
451: <ul>
452: <p>
453: You can create a bootable installation tape or boot over the network.<br>
454: The network boot requires a MVME88K BUG version that supports the <i>NIOT</i>
455: and <i>NBO</i> debugger commands. Follow the instructions in INSTALL.mvme88k
456: for more details.
457: </ul>
458:
459: <p>
460: <h3><font color="#e00000">Notes about the source code:</font></h3>
461: <ul>
462: src.tar.gz contains a source archive starting at /usr/src. This file
463: contains everything you need except for the kernel sources, which are
464: in a separate archive. To extract:
465: <p>
466: <ul><pre>
467: # <strong>mkdir -p /usr/src</strong>
468: # <strong>cd /usr/src</strong>
469: # <strong>tar xvfz /tmp/src.tar.gz</strong>
470: </pre></ul>
471: <p>
472: sys.tar.gz contains a source archive starting at /usr/src/sys.
473: This file contains all the kernel sources you need to rebuild kernels.
474: To extract:
475: <p>
476: <ul><pre>
477: # <strong>mkdir -p /usr/src/sys</strong>
478: # <strong>cd /usr/src</strong>
479: # <strong>tar xvfz /tmp/sys.tar.gz</strong>
480: </pre></ul>
481: <p>
482: Both of these trees are a regular CVS checkout. Using these trees it
483: is possible to get a head-start on using the anoncvs servers as
484: described <a href="anoncvs.html">here</a>.
485: Using these files
486: results in a much faster initial CVS update than you could expect from
487: a fresh checkout of the full OpenBSD source tree.
488: <p>
489: </ul>
490: <a name="ports"></a>
491: <hr>
492: <p>
493: <h3><font color="#0000e0">Ports Tree</font></h3>
494: <p>
495: A ports tree archive is also provided. To extract:
496: <p>
497: <ul><pre>
498: # <strong>cd /usr</strong>
499: # <strong>tar xvfz /tmp/ports.tar.gz</strong>
500: # <strong>cd ports</strong>
501: </pre></ul>
502: <p>
503: The <i>ports/</i> subdirectory is a checkout of the OpenBSD ports tree. Go
504: read the <a href="ports.html">ports</a> page
505: if you know nothing about ports
506: at this point. This text is not a manual of how to use ports.
507: Rather, it is a set of notes meant to kickstart the user on the
508: OpenBSD ports system.
509: <p>
510: The <i>ports/</i> directory represents a CVS (see the manpage for
511: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&apropos=0&sektion=1&manpath=OpenBSD+Current&arch=i386&format=html">
512: cvs(1)</a> if
513: you aren't familiar with CVS) checkout of our ports. As with our complete
514: source tree, our ports tree is available via anoncvs. So, in
515: order to keep current with it, you must make the <i>ports/</i> tree
516: available on a read-write medium and update the tree with a command
517: like:
518: <p>
519: <ul><pre>
520: # <strong>cd [portsdir]/; cvs -d anoncvsserver.openbsd.org:/cvs update -Pd -rOPENBSD_3_6</strong>
521: </pre></ul>
522: <p>
523: [Of course, you must replace the local directory and server name here
524: with the location of your ports collection and a nearby anoncvs
525: server.]
526: <p>
527: Note that most ports are available as packages through ftp. Updated
528: packages for the 3.6 release will be made available if problems arise.
529: <p>
530: If you're interested in seeing a port added, would like to help out, or just
531: would like to know more, the mailing list ports@openbsd.org is a good
532: place to know.
533: <p>
1.1 deraadt 534:
535: <hr>
536: <a href="index.html"><img height="24" width="24" src="back.gif" border="0"
537: alt="OpenBSD"></a>
538: <a href="mailto:www@openbsd.org">www@openbsd.org</a>
539: <br><small>
1.12 ! otto 540: $OpenBSD: 36.html,v 1.11 2004/08/31 17:51:08 otto Exp $
1.1 deraadt 541: </small>
542:
543: </body>
544: </html>