[BACK]Return to 34.html CVS log [TXT][DIR] Up to [local] / www

Annotation of www/34.html, Revision 1.13

1.1       david       1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                      2: <html>
                      3: <head>
                      4: <title>OpenBSD 3.4 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.4">
                      9: <meta name="keywords" content="openbsd,main">
                     10: <meta name="distribution" content="global">
                     11: <meta name="copyright" content="This document copyright 2003 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>
                     21: <a href="images/Hood.gif">
                     22: <img align="left" width="255" height="343" hspace="24"
                     23: src="images/Hood.gif" alt="OpenBSD 3.4 logo"></a>
                     24: <h2><font color="#0000e0">The OpenBSD 3.4 Release:</font></h2>
                     25: <p>
                     26:
                     27: Released Nov 1, 2003<br>
                     28: Copyright 1997-2003, Theo de Raadt.<br>
                     29: <font color="#e00000">ISBN 0-9731791-2-0</font>
                     30: <p>
                     31:
                     32: <a href="#new">What's New</a><br>
                     33: <a href="#install">How to install</a><br>
                     34: <a href="#ports">How to use the ports tree</a><br>
                     35: <a href="orders.html">Ordering a CD set</a><br>
                     36:
                     37: <p>
                     38: <h3><font color="#0000e0">
                     39: To get the files for this release:
                     40: <ul>
                     41: <li>Order a CDROM from our <a href="orders.html">ordering system</a>.
                     42: <li>See the information on <a href="ftp.html">The FTP page</a> for
1.8       david      43:     a list of mirror machines.
1.1       david      44: <li>Go to the <font color="#e00000">pub/OpenBSD/3.4/</font> directory on
1.8       david      45:     one of the mirror sites.
1.1       david      46: <li>Briefly read the rest of this document.
                     47: <li>Have a look at <a href="errata.html">The 3.4 Errata page</a> for a list
1.8       david      48:     of bugs and workarounds.
1.1       david      49: <li>See a <a href="plus.html">detailed log of changes</a> between the
1.8       david      50:     3.3 and 3.4 releases.
1.1       david      51: </ul>
                     52: </font></h3>
                     53: <br clear=all>
                     54: <br>
                     55: <p>
                     56:
                     57: <strong>Note:</strong> All applicable copyrights and credits can be found
                     58: in the applicable file sources found in the files src.tar.gz, sys.tar.gz,
                     59: XF4.tar.gz, or in the files fetched via ports.tar.gz.  The distribution
                     60: files used to build packages from the ports.tar.gz file are not included on
                     61: the CDROM because of lack of space.
                     62: <p>
                     63:
                     64: <a name="new"></a>
                     65: <hr>
                     66: <p>
                     67: <h3><font color="#0000e0">What's New</font></h3>
                     68: <p>
                     69: This is a partial list of new features and systems included in OpenBSD 3.4.
                     70: For a comprehensive list, see the <a href="plus.html">changelog</a> leading
                     71: to 3.4.
                     72: <p>
                     73:
                     74: <ul>
                     75:
1.13    ! david      76: <li>The i386 architecture has been switched to the ELF executable format so
        !            77:     i386 upgrades are not possible for this release.
1.1       david      78: <p>
                     79:
1.6       tedu       80: <li>Further W^X improvements, including support for the i386 architecture.
                     81:     Native i386 binaries have their executable segments rearranged to support
                     82:     isolating code from data.
1.1       david      83: <p>
                     84:
1.6       tedu       85: <li>ld.so on ELF platforms now loads libraries in a random order for
                     86:     greater resistance to attacks.  The i386 architecture also has libraries
                     87:     mapped at random addresses.  Along with W^X, these changes increase the
                     88:     difficulty of successfully exploiting an application error, such as a
                     89:     buffer overflow.
1.1       david      90: <p>
                     91:
                     92: <li>A static bounds checker has been added to the compiler to perform basic
1.4       avsm       93:     checks on functions which accept buffers and sizes.  The checker aims to
1.8       david      94:     find common mistakes in the use of library functions such as
1.4       avsm       95:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=strlcpy">strlcpy(3)</a>
                     96:     or <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sscanf">sscanf(3)</a>
                     97:     without emitting any false positives.  Running it over the source and ports
                     98:     trees revealed over a hundred real bugs, which were fixed and submitted back
                     99:     to the original authors where possible.
1.1       david     100: <p>
                    101:
1.6       tedu      102: <li>Privilege separation has been implemented for the syslog daemon, making
                    103:     it much more robust against future errors.  The child which listens to
                    104:     network traffic now runs as a normal user and chroots itself, while the
                    105:     parent process tracks the state of the child and performs privileged
                    106:     operations on its behalf.
1.1       david     107: <p>
                    108:
                    109: <li>Many unsafe string functions have been removed from the kernel and userland
1.6       tedu      110:     utilities.  This audit is one of the most comprehensive OpenBSD has ever
                    111:     done, with thousands of occurrences of
1.12      deraadt   112:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=strcpy">strcpy(3)</a>,
                    113:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=strcat">strcat(3)</a>,
                    114:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sprintf">sprintf(3)</a>,
1.8       david     115:     and
1.12      deraadt   116:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vsprintf">vsprintf(3)</a>
1.4       avsm      117:     being replaced with safer, bounded alternatives such as
1.12      deraadt   118:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=strlcpy">strlcpy(3)</a>,
                    119:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=strlcat">strlcat(3)</a>,
                    120:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=snprintf">snprintf(3)</a>,
                    121:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vsnprintf">vsnprintf(3)</a>,
                    122:     and
                    123:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=asprintf">asprintf(3)</a>.
1.1       david     124: <p>
                    125:
1.13    ! david     126: <li><a href="http://www.research.ibm.com/trl/projects/security/ssp/">
        !           127:     ProPolice</a> stack protection has been enabled in the kernel as well.
1.1       david     128: <p>
                    129:
                    130: <li>Manual pages have been greatly cleaned up and improved.
                    131: <p>
                    132:
1.8       david     133: <li>The ports tree now supports building programs under
                    134:     <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=systrace">
                    135:     systrace(1)</a>, preventing the possibility of applications harming the
                    136:     system at compile-time via trojaned configuration scripts or otherwise.
1.1       david     137: <p>
                    138:
1.3       jason     139: <li>More licenses fixes, including the removal of the advertising clause
1.6       tedu      140:     for large parts of the source tree.
                    141: <p>
                    142:
1.11      deraadt   143: <li>Replacement of GNU diff/diff3, grep/egrep/fgrep/zgrep/zegrep/zfgrep,
                    144: and gzip/zcat/gunzip/gzcat/zcmp/zmore/zdiff/zforce/gzexe/znew
                    145: with BSD licensed equivalents.
1.6       tedu      146: <p>
                    147:
                    148: <li>Addition of read-only support for NTFS file systems.
                    149: <p>
                    150:
                    151: <li>Reliability improvements to layered file systems, enabling NULLFS to
                    152:     work again.
                    153: <p>
                    154:
                    155: <li>Improvements to the linux emulator enabling more applications to run.
                    156: <p>
                    157:
1.13    ! david     158: <li>Legacy KerberosIV support has been removed, and the remaining KerberosV
        !           159:     codebase has been restructured for easier management.
1.3       jason     160: <p>
                    161:
1.13    ! david     162: <li>Over 2400 ports, 2200 pre-built packages.
1.1       david     163: <p>
                    164:
                    165: <li>A large number of bug fixes, changes, and optimizations to our packet filter
                    166:     including:
                    167: <ul>
1.9       dhartmei  168: <li>packet tagging  (e.g. filter on tags added by bridge based on MAC address)
1.10      frantzen  169: <li>stateful TCP normalization (prevent uptime calculation and NAT detection)
1.9       dhartmei  170: <li>passive OS detection (filter or redirect connections based on source OS)
                    171: <li>SYN proxy (protect servers against SYN flood attacks)
                    172: <li>adaptive state timeouts (prevent state table overflows under attack)
1.1       david     173: </ul>
                    174: <p>
                    175:
                    176: <li>The system includes the following major components from outside suppliers:
                    177: <ul>
1.7       david     178: <li>XFree86 4.3.0 (+ patches, and i386 contains 3.3.X servers also, thus
                    179:     providing support for all chipsets)
1.1       david     180: <li>Gcc 2.95.3 (+ patches)
                    181: <li>Perl 5.8.0 (+ patches)
                    182: <li>Apache 1.3.28, mod_ssl 2.8.15, DSO support (+ patches)
                    183: <li>OpenSSL 0.9.7beta3 (+ patches)
                    184: <li>Groff 1.15
                    185: <li>Sendmail 8.12.9
                    186: <li>Bind 9.2.2 (+ patches)
1.5       avsm      187: <li>Lynx 2.8.4rel.1 with HTTPS and IPv6 support (+ patches)
1.1       david     188: <li>Sudo 1.6.7p5
                    189: <li>Ncurses 5.2
                    190: <li>Latest KAME IPv6
                    191: <li>Heimdal 0.6rc1 (+ patches)
                    192: <li>Arla-current
                    193: <li>OpenSSH 3.7
                    194: </ul>
                    195: <p>
                    196:
                    197: <p>
                    198: <li>Many improvements for security and reliability (look for the red
                    199: print in the <a href="plus.html">complete changelog</a>).
                    200: <p>
                    201: <li> and much more.
                    202:
                    203: </ul>
                    204:
                    205: <a name="install"></a>
                    206: <hr>
                    207: <p>
                    208: <h3><font color="#0000e0">How to install</font></h3>
                    209: <p>
                    210: Following this are the instructions which you would have on a piece of
                    211: paper if you had purchased a CDROM set instead of doing an alternate
                    212: form of install.  The instructions for doing an ftp (or other style
                    213: of) install are very similar; the CDROM instructions are left intact
                    214: so that you can see how much easier it would have been if you had
                    215: purchased a CDROM instead.
                    216: <p>
                    217:
                    218: <hr>
                    219: Please refer to the following files on the three CDROMs or ftp mirror for
                    220: extensive details on how to install OpenBSD 3.4 on your machine:
                    221: <p>
                    222: <ul>
1.8       david     223: <li>CD1:3.4/i386/INSTALL.i386
1.1       david     224: <p>
1.8       david     225: <li>CD2:3.4/macppc/INSTALL.macppc
                    226: <li>CD2:3.4/vax/INSTALL.vax
1.1       david     227: <p>
1.8       david     228: <li>CD3:3.4/sparc/INSTALL.sparc
                    229: <li>CD3:3.4/sparc64/INSTALL.sparc64
1.1       david     230: <p>
1.8       david     231: <li>FTP:.../OpenBSD/3.4/alpha/INSTALL.alpha
                    232: <li>FTP:.../OpenBSD/3.4/hp300/INSTALL.hp300
                    233: <li>FTP:.../OpenBSD/3.4/hppa/INSTALL.hppa
                    234: <li>FTP:.../OpenBSD/3.4/mac68k/INSTALL.mac68k
                    235: <li>FTP:.../OpenBSD/3.4/mvme68k/INSTALL.mvme68k
1.1       david     236: </ul>
                    237: <hr>
                    238:
                    239: <p>
                    240: Quick installer information for people familiar with OpenBSD, and the
                    241: use of the "disklabel -E" command.  If you are at all confused when
                    242: installing OpenBSD, read the relevant INSTALL.* file as listed above!
                    243: <p>
                    244:
                    245: <h3><font color="#e00000">OpenBSD/i386:</font></h3>
                    246: <ul>
                    247: Play with your BIOS options to enable booting from a CD. The OpenBSD/i386
                    248: release is on CD1. If your BIOS does not support booting from CD, you will need
                    249: to create a boot floppy to install from. To create a boot floppy write
                    250: <i>CD1:3.4/i386/floppy34.fs</i> to a floppy and boot via the floppy drive.
                    251:
                    252: <p>
                    253: Use <i>CD1:3.4/i386/floppyB34.fs</i> instead for greater scsi controller
                    254: support, or <i>CD1:3.4/i386/floppyC34.fs</i> for better laptop support.
                    255:
                    256: <p>
1.2       david     257: If you are planning on dual booting OpenBSD with another OS, you will need to
                    258: read the included INSTALL.i386 document.
1.1       david     259:
                    260: <p>
                    261: To make a boot floppy under MS-DOS, use the &quot;rawrite&quot; utility located
1.2       david     262: at <i>CD:/3.4/tools/rawrite.exe</i>. To make the boot floppy under a Unix OS,
                    263: use the <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=
                    264: dd&amp;sektion=1">dd(1)</a> utility. The following is an example usage of
                    265: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dd&amp;sektion=1">dd(1)
                    266: </a>, where the device could be &quot;floppy&quot;, &quot;rfd0c&quot;, or
                    267: &quot;rfd0a&quot;.
1.1       david     268:
                    269: <ul><pre>
                    270: # <strong>dd if=&lt;file&gt; of=/dev/&lt;device&gt; bs=32k</strong>
                    271: </pre></ul>
                    272:
                    273: <p>
1.2       david     274: Make sure you use properly formatted perfect floppies with NO BAD BLOCKS or
                    275: your install will most likely fail. For more information on creating a boot
                    276: floppy and installing OpenBSD/i386 please refer to
                    277: <a href="faq/faq4.html#MkFlop">FAQ4.1</a>.
1.1       david     278: </ul>
                    279:
                    280: <p>
                    281: <h3><font color="#e00000">OpenBSD/macppc:</font></h3>
                    282: <ul>
                    283: Put the CD2 in your CDROM drive and poweron your machine while holding down the
                    284: <i>C</i> key until the display turns on and shows <i>OpenBSD/macppc boot</i>.
                    285:
                    286: <p>
                    287: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
                    288: /3.4/macppc/bsd.rd</i>
                    289: </ul>
                    290:
                    291: <p>
                    292: <h3><font color="#e00000">OpenBSD/vax:</font></h3>
                    293: <ul>
                    294: Boot over the network via mopbooting as described in INSTALL.vax.
                    295: </ul>
                    296:
                    297: <p>
                    298: <h3><font color="#e00000">OpenBSD/sparc:</font></h3>
                    299: <ul>
1.2       david     300: The 3.4 release of OpenBSD/sparc is located on CD3. To boot off of this CD you
                    301: can use one of the two commands listed below, depending on the version of your
                    302: ROM.
1.1       david     303:
                    304: <ul><pre>
1.8       david     305: &gt; <strong>boot cdrom 3.4/sparc/bsd.rd</strong>
1.1       david     306: or
1.8       david     307: &gt; <strong>boot sd(0,6,0)3.4/sparc/bsd.rd</strong>
1.1       david     308: </pre></ul>
                    309:
                    310: <p>
                    311: If your sparc does not have a CD drive, you can alternatively boot from floppy.
1.2       david     312: To do so you need to write &quot;CD3:3.4/sparc/floppy34.fs&quot; to a floppy.
                    313: For more information see <a href="faq/faq4.html#MkFlop">FAQ4.1</a>. To boot from
                    314: the floppy use one of the two commands listed below, depending on the version of
                    315: your ROM.
1.1       david     316:
                    317: <ul><pre>
1.8       david     318: &gt; <strong>boot floppy</strong>
1.1       david     319: or
1.8       david     320: &gt; <strong>boot fd()</strong>
1.1       david     321: </pre></ul>
                    322:
                    323: <p>
1.2       david     324: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
                    325: will most likely fail.
1.1       david     326:
                    327: <p>
                    328: If your sparc doesn't have a floppy drive nor a CD drive, you can either
                    329: setup a bootable tape, or install via network, as told in the
                    330: INSTALL.sparc file.
                    331: </ul>
                    332:
                    333: <p>
                    334: <h3><font color="#e00000">OpenBSD/sparc64:</font></h3>
                    335: <ul>
                    336: Put the CD3 in your CDROM drive and type <i>boot cdrom</i>.
                    337:
                    338: <p>
                    339: If this doesn't work, or if you don't have a CDROM drive, you can write
                    340: <i>CD3:3.4/sparc64/floppy34.fs</i> to a floppy and boot it with <i>boot
                    341: floppy</i>.<br>
1.2       david     342: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
                    343: will most likely fail.
1.1       david     344:
                    345: <p>
                    346: You can also write <i>CD3:3.4/sparc64/miniroot34.fs</i> to the swap partition on
                    347: the disk and boot with <i>boot disk:b</i>.
                    348:
                    349: <p>
                    350: If nothing works, you can boot over the network as described in INSTALL.sparc64
                    351: </ul>
                    352:
                    353: <p>
                    354: <h3><font color="#e00000">OpenBSD/alpha:</font></h3>
                    355: <ul>
                    356: <p>Write <i>FTP:3.4/alpha/floppy34.fs</i> or
                    357: <i>FTP:3.4/alpha/floppyB34.fs</i> (depending on your machine) to a diskette and
                    358: enter <i>boot dva0</i>. Refer to INSTALL.alpha for more details.
                    359:
                    360: <p>
1.2       david     361: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
                    362: will most likely fail.
1.1       david     363:
                    364: </ul>
                    365:
                    366: <p>
                    367: <h3><font color="#e00000">OpenBSD/hp300:</font></h3>
                    368: <ul>
                    369: <p>
                    370: Boot over the network by following the instructions in INSTALL.hp300.
                    371: </ul>
                    372:
                    373: <p>
                    374: <h3><font color="#e00000">OpenBSD/hppa:</font></h3>
                    375: <ul>
                    376: <p>
                    377: Boot over the network by following the instructions in INSTALL.hppa or the
                    378: <a href="hppa.html#netboot">hppa platform page</a>.
                    379: </ul>
                    380:
                    381: <p>
                    382: <h3><font color="#e00000">OpenBSD/mac68k:</font></h3>
                    383: <ul>
                    384: <p>
                    385: Boot MacOS as normal and partition your disk with the appropriate A/UX
                    386: configurations.  Then, extract the Macside utilities from
                    387: <i>FTP:3.4/mac68k/utils</i> onto your hard disk.  Run Mkfs to create your
                    388: filesystems on the A/UX partitions you just made.  Then, use the
                    389: "BSD/Mac68k Installer" to copy all the sets in <i>FTP:3.4/mac68k/</i> onto your
                    390: partitions.  Finally, you will be ready to configure the "BSD/Mac68k
                    391: Booter" with the location of your kernel and boot the system.
                    392: </ul>
                    393:
                    394: <p>
                    395: <h3><font color="#e00000">OpenBSD/mvme68k:</font></h3>
                    396: <ul>
                    397: <p>
                    398: You can create a bootable installation tape or boot over the network.<br>
                    399: The network boot requires a MVME68K BUG version that supports the <i>NIOT</i>
                    400: and <i>NBO</i> debugger commands. Follow the instructions in INSTALL.mvme68k
                    401: for more details.
                    402: </ul>
                    403:
                    404: <p>
                    405: <h3><font color="#e00000">Notes about the source code:</font></h3>
                    406: <ul>
                    407: src.tar.gz contains a source archive starting at /usr/src.  This file
                    408: contains everything you need except for the kernel sources, which are
                    409: in a separate archive.  To extract:
                    410: <p>
                    411: <ul><pre>
                    412: # <strong>mkdir -p /usr/src</strong>
                    413: # <strong>cd /usr/src</strong>
                    414: # <strong>tar xvfz /tmp/src.tar.gz</strong>
                    415: </pre></ul>
                    416: <p>
                    417: sys.tar.gz contains a source archive starting at /usr/src/sys.
                    418: This file contains all the kernel sources you need to rebuild kernels.
                    419: To extract:
                    420: <p>
                    421: <ul><pre>
                    422: # <strong>mkdir -p /usr/src/sys</strong>
                    423: # <strong>cd /usr/src</strong>
                    424: # <strong>tar xvfz /tmp/sys.tar.gz</strong>
                    425: </pre></ul>
                    426: <p>
                    427: Both of these trees are a regular CVS checkout.  Using these trees it
                    428: is possible to get a head-start on using the anoncvs servers as
                    429: described <a href="anoncvs.html">here</a>.
                    430: Using these files
                    431: results in a much faster initial CVS update than you could expect from
                    432: a fresh checkout of the full OpenBSD source tree.
                    433: <p>
                    434: </ul>
                    435: <a name="ports"></a>
                    436: <hr>
                    437: <p>
                    438: <h3><font color="#0000e0">Ports Tree</font></h3>
                    439: <p>
                    440: A ports tree archive is also provided.  To extract:
                    441: <p>
                    442: <ul><pre>
                    443: # <strong>cd /usr</strong>
                    444: # <strong>tar xvfz /tmp/ports.tar.gz</strong>
                    445: # <strong>cd ports</strong>
                    446: </pre></ul>
                    447: <p>
                    448: The <i>ports/</i> subdirectory is a checkout of the OpenBSD ports tree.  Go
                    449: read the <a href="ports.html">ports</a> page
                    450: if you know nothing about ports
                    451: at this point.  This text is not a manual of how to use ports.
                    452: Rather, it is a set of notes meant to kickstart the user on the
                    453: OpenBSD ports system.
                    454: <p>
                    455: Certainly, the OpenBSD ports system is not complete.  It is doubtful it
                    456: will ever be. However, it is growing very fast and getting more stable.
                    457: Almost all ports provided with this release should build without problems
                    458: on most architectures (over 2400 packages build on i386, for instance).
                    459: <p>
                    460: The <i>ports/</i> directory represents a CVS (see the manpage for
                    461: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&amp;apropos=0&amp;sektion=1&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html">
                    462: cvs(1)</a> if
                    463: you aren't familiar with CVS) checkout of our ports.  As with our complete
                    464: source tree, our ports tree is available via anoncvs.  So, in
                    465: order to keep current with it, you must make the <i>ports/</i> tree
                    466: available on a read-write medium and update the tree with a command
                    467: like:
                    468: <p>
                    469: <ul><pre>
                    470: # <strong>cd [portsdir]/; cvs -d anoncvsserver.openbsd.org:/cvs update -Pd -rOPENBSD_3_4</strong>
                    471: </pre></ul>
                    472: <p>
                    473: [Of course, you must replace the local directory and server name here
                    474: with the location of your ports collection and a nearby anoncvs
                    475: server.]
                    476: <p>
                    477: Note that most ports are available as packages through ftp. Updated
                    478: packages for the 3.4 release will be made available if problems arise.
                    479: <p>
                    480: If you're interested in seeing a port added, would like to help out, or just
                    481: would like to know more, the mailing list ports@openbsd.org is a good
                    482: place to know.
                    483: <p>
                    484:
                    485: <hr>
                    486: <a href="index.html"><img height="24" width="24" src="back.gif" border="0"
                    487: alt="OpenBSD"></a>
                    488: <a href="mailto:www@openbsd.org">www@openbsd.org</a>
                    489: <br><small>
1.13    ! david     490: $OpenBSD: 34.html,v 1.12 2003/09/04 16:39:26 deraadt Exp $
1.1       david     491: </small>
                    492:
                    493: </body>
                    494: </html>