This is a partial list of the major machine independent changes
(i.e., these are the changes people ask about most often). Machine
specific changes have also been made, and are sometimes mentioned
in the pages for the specific platforms if you
are interested in further port-specific details. Many ports
have had architecture-specific enhancements relative to NetBSD,
but when they do not they certainly have plenty of platform-independent
changes, starting with those listed below..
Note: Problems for which patches exist are marked in red.
For changes in other releases, click below:
2.0,
2.1,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3.0,
3.1,
3.2,
3.3,
3.4,
3.5,
3.6,
3.7,
3.8,
3.9,
4.0,
4.1,
4.2,
4.3,
4.4,
4.5,
4.6,
4.7,
4.8,
4.9,
5.0,
5.1,
5.2,
5.3,
5.4,
5.5,
5.6,
5.7,
5.8,
5.9,
6.0,
6.1,
6.2,
6.3,
6.4,
6.5,
6.6,
6.7,
6.8,
6.9,
7.0,
7.1,
current.
Changes made between OpenBSD 2.1 and 2.2
- Prevent open(2) with wrong flag modes.
- The new afterboot(8) man page. Everyone should look at this.
- Addition of 'kbus' port for the Solbourne Series5 sparc-based machines.
- Make clri(8) mark the filesystem dirty.
- Add per-host locking support to supfilesrv.
- Make the ncr scsi driver work on big-endian machines too.
- Fix a select/read race in identd(8) which would make it spin wildly.
- Make ac(8) use the correct timestamp if the user specifies a different wtmp file.
- Fix mktemp() to work correctly when specified against non-existent directories.
- Fix a memory leak in libdes.
- Fix one last little problem case in the fts(3) library routine. This is a very complicated piece of code...
- Some minor tftpd bug fixes.
- Another lpd security fix.
- Repair the msdosfs timestamping code so that NT/Win95 do not complain.
- Make disklabel -E always succeed at writing a label. Now you can load a fictitious label, edit it, and write it out.
- In fmt(1), support backslashed whitespace inside words better.
- Support 'q' modifier in kernel vsprintf/kprintf
- Implementation of the new disklabel -E mode.
- Handle creation of /var/tmp/vi.recover more securely.
- Quirks for two kinds of hitachi dk515 scsi drives and the Cipher ST150S tape drive.
- Handle a potential crash in the bpf driver.
- Rewrite of fdisk(8).
- Make /etc/security handle blowfish-a passwd entries.
- Ignore bogus hostnames in the /etc/exports file.
- Fix prompting code in pw_edit(3)
- The random(6) tool (game?) now uses arc4random(3).
- A few pppd fixes.
- More IPSEC improvements after the Interop ANX bakeoff.
- Add -f option to readlink which does a realpath(3).
- Fix a bug in libform.
- Add support for FNM_LEADING_DIR, FNM_CASEFOLD, FNM_IGNORECASE to fnmatch(3).
- Fix a network performance problem introduced with IPSEC.
- Fix the : and . support in chown so that usernames can have . in them.
- Make execle() use alloca() instead of malloc(); to ensure execle() can be safely called in a signal hander.
- Fix an ifconfig bug related to interfaces that do not exist.
- In struct sigaction, split sa_handler and the new sa_sigaction function pointers as is being done on newer POSIX systems. This permits proper prototyping of signal handlers.
- Ignore SIGPIPE in inetd(8).
- Fixed a pstat -s related bug in pcvt.
- Do not init pgid in /dev/log's logopen().
- Make ls -d sort directories with files.
- Fix a few small problems in rarpd(8).
- Shrink most of the install floppies ;-)
- Fix tar to deal better with one more kind of strange tar file.
- Make top(1) work better on very small screens.
- Deal with some possible buffer overflows in sup.
- Fixed various MAKEDEV bugs on lots of architectures.
- Fix ftime(3).
- Another important disk-full check in pwd_mkdb(8).
- Run calendar -a in the background. (Points to whoever figures out why.)
- Add mkisofs(8).
- Add sigaction(2) SA_NOCLDWAIT support.
- Don't error out of MDTM fails.
- Fix SA_* sigaction(2) fields in the OS compat code.
- Some syslogd fixes.
- Permit a longer path buffer in tgetent(3).
- Fix a ksh(1) bug.
- Added ex (EtherExpress Pro/10) driver ported from FreeBSD
- Always set the SCSI-1 LUN field correctly in all transfers.
- Make popen(3) safe if vfork(2) does real parent address space borrowing.
- Some fsck_msdos(8) fixes.
- Made indent(1) handle unlimited number of -T options.
- Fixed small pathname buffer in man(1).
- Some setlogin() and getlogin() fixes in the tree.
- Make ddb not think 'h' means hangman.
- Ignore trailing spaces on priority in /etc/syslogd.conf.
- Fix a long-standing and minor problem with ld.so on m68k.
- Preliminary manual pages for the IPSEC utils.
- Fix a coredumping problem in tip(1).
- Extend buffer lengths in patch(1).
- make bpfread() return ENXIO for uninitialized descriptors.
- Cleaned up verbose scsi error reporting.
- make mail(1) be permissive about <CR><LF> pairs in mailbox files.
- Update ftp(1) to new NetBSD changes.
- Print system call emulation in ps(1) output. Try "ps -axO emul".
- New COMPAT_BSDOS binary compatibility subsystem.
- Another tip(1) overflow fix.
- ppp 2.3.1...
- make glob(3) XPG4.2 compliant, which means use GLOB_ABORT.
- Fix first directory handling in "find -execdir"
- Some FreeBSD m4(1) fixes.
- Do permission checking at delivery time for pgids derived from TIOCSPGRP, F_SETOWN, or FIOSETOWN.
- Correct some remaining small inetd bugs.
- Handle SIGCHLD better in rlogin.
- Kill "union wait" in a few more places.
- More SysVR4 emulation: sockets, NTP, POSIX time functions, pread(2)/pwrite(2).
- In calendar(1), support "-t date" to let you see the calendar for other days.
- Further IPSEC enhancement (but still no man pages for it though).
- Fix a crash in systat(8).
- Handle setgid lossage in tip(1).
- Lucent Technologies (formerly AT&T) awk version 970821.
- Correct 'sync' option to dd(1).
- In dump(8), do not consider tape changing time in the timing estimates.
- In join(1), require compat options start with '-'.
- A few fixes to tip(1).
- Various fixes to battlestar(6).
- Few more 64 bit fixes in userland, in some rarely used system tools.
- Don't print duplicate fields in ps(1) when called with silly arguments.
- basename(1) and dirname(1) no longer give an error for paths starting with '-'.
- Document a64l(3) and l64a(3).
- The group vector could end up with duplicates esp. with YP. Now it won't.
- ash is gone gone gone.
- Fixed a bug where the kernel could lie about how many file descriptors are available and cause a panic.
- shutdown(8) now gets its own session as it deserves.
- Fixed err(3)/warn(3) argument usage in the tree.
- Buffer overflow fixes in tip(1).
- XPG4 compatibility for ps(1) format options.
- Added basename(3) and dirname(3) for XPG4. dirname(1) is now trivial.
- Verbose SCSI warnings are now available and on by default.
- Fixed a bug in cp(1) when the -r option is used and the source dir ends in a '/'.
- Changed realloc(foo,0) semantics to be like malloc(0), not free(foo).
- More user-friendly error messages from mount_* when the filesystem is not in the kernel.
- New PCMCIA Wavelan driver.
- Be more careful about YP groups in getgrouplist().
- Support simple add/delete operations on ports in the baddynamic masks via sysctl(8)
- More 1003.2 conformance: cal, cksum, sleep, compress, expr, etc.
- We are starting to pay attention to good things found in the XPG4 standard. We hope to never be compliant, because XPG4 goes way too far.
- Put hostname in root crontab mailout subjects.
- Attempt to deal with archive timestamp and filemode problems in texinfo...
- ATAPI quirk for MATSHITA CR-574.
- Fix another procfs security hole.
- Add top(1) to the source tree. Fix some problems.
- Be even more paranoid (if it can be believed) in mail.local(8).
- In mountd(8), handle ext2fs specially, like most exported filesystems.
- Fix pcap_inject(3) in libpcap.
- Make gzexe(1) use mktemp to avoid races.
- Make bad random allocation ports settable via sysctl(8).
- Import ypserv performance.
- Optional TCP syn cookie support enabled via TCPCOOKIE kernel option.
- Change the bounds_check_with_label() API to handle a cpu_disklabel too.
- Support -n better in pstat(8).
- Make bsd.doc.mk use DOCDIR.
- Fix vacation(1) properly.
- Fix a memory leak in grep(1).
- Seriously rework the identd daemon even further, to avoid even more input parsing problems and race conditions.
- Work has started to fix the remainder of the signal handlers in the source tree with respect to errno clobbering.
- Fix another race condition in identd.
- Fix pdksh bugs: closed too many fds on exec, fix handling of (( )) to be compatible with POSIX sh spec without breaking $((, and explain how IFS works when splitting text after a substitution.
- Make 127.0.0.1 assumed OK if /var/yp/securenet is in use.
- save errno in most of the tree's SIGCHLD handlers, just in case.
- More mdoc pages.
- Cyclades driver fixed. Works on alpha, too.
- Fixed getnetbyaddr() 'always tried DNS' resolution problem from 2.1.
- Sendmail 8.8.7.
- Fix a kernel bug regarding double m_freem()..
- Make if_tun to prefix address family as a host byte order u_int32_t instead of a u_char, so that bpf can deal with the interface.
- Deal nicer with rfork/execve interactions.
- Attempt to cleanup identd. A long road left.
- FSF GNU texinfo 3.11.
- More fixes to the alpha vga driver. Curses-based programs now work on it.
- Radius support in tcpdump.
- Todd Miller is on a rampage, and making every single buffer inside mail(1) dynamically allocated...
- Support fpx cards with i82555 PHY.
- routed(8) is now disabled by default.
- Various fixes and improvements to the 3cXXX ethernet drivers.
- More buffer overflow fixes in mail(1).
- An ugly identd race fixed.
- Fix systat manpage.
- Man page improvements in many areas.
- Allocate reserved ports for NFS inside the kernel randomly.
- Support -H flag in who(1).
- More mail(1) fixes.... It's amazing Todd hasn't broken it.
- stime(2) support for SunOS emulation.
- Switch back to nvi; vim has copyright licensing issues.
- mremap(2) support for Linux emulation.
- Use sendmail -t instead of other invocation forms inside lots of programs in the source tree.
- Hardcode a list of reserved ports that random port allocation should not reuse.
- Support YP map mail.aliases set of maps.
- Support lpc(8) "all" keyword option.
- -d flag for shutdown(8).
- Add -T support to last(1).
- Fix pax to not need getcwd(3).
- Implement IFF_NOARP handling in netinet.
- make amd(8) use /tmp_mnt by default.
- Do not use tempnam(3) in mail(1).
- All Makefile.bsd-wrapper files can now strip GNU binaries during install (pr 188).
- Some cribbage(6) fixes.
- permit ftp(1) to download http pages without Content-Length.
- Appletalk networking support.
- S/Key keyfile is now readable only by root. skeyinfo(1) and skeyaudit(1) have been enhanced and rewritten as C programs.
- mail(1) supports "inc" command.
- mail(1) behaves correctly when interrupted while getting headers from the user.
- IPSEC Photuris daemon is integrated into the source tree.
- make ctags operate a bit better in the presence of extra spacing.
- Add
-d date
support to last(1).
- Import of the IPSEC photuris daemon.
- Add rmd160 hash support throughout the source tree.
- lpd security fixes.
- man page cleanups.
- Updated Sendmail to 8.8.6.
- cua devices, new
MAKEDEV
script in the hp300 port.
- More mail(1) fixes, particularly regarding long lines.
- Add sha1 digest support to mtree(8).
- Add sha1 support to md5(1).
- Lots more IPSEC improvements.
- Repair symbolic link handling during coredumps (correctly, this time).
- Replace libc sha1 code with another version that is better in some respects.
- Fix passive buffer overflow in rusers.
- Make ed(1) work properly on a non-tty.
- make compress(1) do gzip support too.
- Maintain process size stats in forkstat struct for "vmstat -f".
- Fix ruptime output for machines up > 99 days.
- Amended issetugid(2) man page to be quite a bit more clear.
- ATAPI devices may now reside in a kernel without wd (disk) devices.
- Intel EtherExpress Pro/100B PCI driver.
- More IPSEC changes. IPSEC is almost fully usable now.
- Fix a number of rtld dynamic loading problems.
- split ifconfig -a into -a/-A: -A prints ifaliases, -a does not.
- Repaired nfs handling in tcpdump.
- Fixed highscore handling in battlestar(6).
- Fixed all(?) Makefile wrappers for GNU software to not build and install manpages when NOMAN is set.
- libedit update with lots of fixes.
- Many more 64 bit fixes for the alpha, in about 20 more programs.
- Move libdes out of the kerberos tree so that it can be used by other parts of the system too.
- Make sleep(1) handle fractions of seconds. This is a nice extension.
- New kprop/kpropd man pages.
- Permit tftpd to provide files over 32K blocks in size.
- Fix readlink(1).
- Import of cvs-1.9.10.
- A few more minor netinet problems fixed.
- Modify inetd to accept a "hostname,[hostname,...]:" token to added to the front of any line in /etc/inetd.conf. This permits services to be supplied only on certain interfaces.
- Import of the gnu multi-precision math library, libgmp. This will be used by an IPSEC key daemon soon.
- Support IP option handling in IPSEC packets.
- Race fix to amd(8).
- Y2K enhancement to date(1).
- Repaired hundreds of long != int problems (in a bunch of programs) that affect the alpha.
- Clip setsockopt SO_SND*/SO_RCV parameters.
- Use O_EXLOCK for passwd locking to avoid a class of localhost denial of service attacks.
- Fix a minor problem in popen().
- IPF 3.1.11 + Darren's patches + 64-bit cleanup.
- Added automatic power down framework at halt(8) time, currently only supported on sun4m machines with the power device.
- Slightly improve ftpd log file.
- More paranoia in procfs.
- Add ELOOP error handling to realpath(3).
- Some NLS improvements, notably some more language catalogs.
- Change mount(2) to return EFTYPE for invalid filesystem.
- More ipsec changes!
- add -insecure flag to ypbind(8) so that it can bind to very old ypservs.
- Make ifconfig(8) print full information about the full set of interface aliases.
- Support "-d dir" in rpc.yppasswdd(8).
- Fix some more /tmp races in various programs.
- add per-interface bindings to inetd(8).
- Better support for unmounted filesystems in df(1).
- Correct -n behaviour in sort(1).
- In newfs(8), fix -o and -m to work better.
- Add tsearch(3) to libc.
- Fix /tmp races in make(1).
- Deal with atapi drives that cannot lock their doors.
- Improved performance in /dev/*random.
- Fixed a few netinet bugs as pointed out by TCP/IP Illustrated Vol.2.
- Add tsearch(3) and friends to libc, as required by XPG3(?).
- Repair many cross-references and other documentation problems in the section 2 and 3 man pages, and also fix a few minor other bugs discovered by analysis of recent changes in FreeBSD's and NetBSD's libc.
- Implement hex/octal offsets in cmp(1), as documented.
- Addition of readlink(1).
- Move named tmp files to /etc/named/tmp/ to avoid localhost race attacks.
- document the ddb hangman.
- tftpd -c flag.
- Use dynamic fd_set allocation in more places, particularly setuid programs.
- Use /etc/namedb/tmp/ to avoid /var/tmp race conditions.
- Ensure TCP RST is within window.
- fix disklabel support in vnd/svnd.
- add sysctl net.inet.tcp.{keepidle,keepintvl,slowhz}
- fix SO_SNDTIMEO.
- Add
-P proto
support to traceroute.
- Some more security and robustness changes to traceroute and ping.
- A few netinet fixes.
- Kernel now generates random pid values in fork().
- fix sendmsg() credential passing on 64 bit machines.
- kill process timers if execve'ing a setuid/setgid executable.
- Few more fixes to pax(1).
- Fix lots more NetBSD PRs.
- tcp wrappers 7.6
- Add some more malloc options to malloc(3)
- In ar(1), truncate uid & gid if too large.
- getpgid(2) from XPG3(?)
- tail(1) can now notice if the file been replaced or truncated.
- Fix more overflows and other bugs in mail(1).
- Lots of man page fixes.
- New named root.cache from Internic.
- Support SIGINFO in ping; also add more complete icmp reporting capabilities.
- Make adduser understand /etc/passwd.conf
- Newer version of ext2fs that is reliable for read/write operation. This is essentially FULLY OPERATIONAL.
- Import newer version of vax port.
- Fix a few more libc functions to generate very large fd_set's properly for select(2).
- Few quirky changes to the way ISO9660 disklabel spoofing works in some ports.