ru [Sun, 18 Jan 2004 14:58:07 +0000 (14:58 +0000)]
Deal better with the crypto version of the PAM library that goes
on the release media -- only put what is different in the crypto
version compared to the base version. This reduces PAM entries
in /usr/lib in the "crypto" distribution to:
The libpam.so* is still redundant (it is identical to the "base"
version), but we can't set DISTRIBUTION differently for libpam.a
and libpam.so.
(The removal of libpam.so* from the crypto distribution could be
addressed by the release/scripts/crypto-make.sh script, but then
we'd also need to remove redundant PAM headers, and I'm not sure
this is worth a hassle.)
sanpei [Sun, 18 Jan 2004 12:46:19 +0000 (12:46 +0000)]
Empty vendor string overrides knowndevs
ubd_devinfo_vp() is getting an empty string from its usbd_get_string()
call on the vendor, instead of NULL. This means usb_knowndevs in not
consulted.
Add lines between grabbing those char *s and the USBVERBOSE ifdef to
set vendor to NULL if it is the empty string (similarly for product).
This causes vendor to be filled-out, although the product name read
overrules usb_knowndevs (this appears to be a conscience decision made
by the NetBSD folks):
das [Sun, 18 Jan 2004 08:28:32 +0000 (08:28 +0000)]
Fix some bugs affecting the %a and %A format specifiers. Since
these are not fully implemented and ifdef'd out, the bugs have
never manifested themselves. Specifically:
- Fix a memory leak in the case where %a follows another
floating-point format.
- Make the %a/%A code behave like %e/%E with respect to
precision.
- It is no longer valid to assume that '-' and '0x' are
mutually exclusive.
- Address other minor issues.
das [Sun, 18 Jan 2004 08:05:21 +0000 (08:05 +0000)]
Add a delta accidentally omitted from the previous commit:
Define DBL_MANH_SIZE and DBL_MANL_SIZE to be the sizes of the
high and low words of the mantissa in bits, respectively.
ru [Sun, 18 Jan 2004 07:44:53 +0000 (07:44 +0000)]
Added two utility targets "secure" and "insecure", analogous to
"kerberize" and "dekerberize" in kerberos5/Makefile. These can
be used to recompile bits with optional crypto support with and
without crypto, respectively.
imp [Sat, 17 Jan 2004 21:54:04 +0000 (21:54 +0000)]
It appears that the changes in the resources allocated is causing much
pain and suffering. Attempt to back it out by removing the 'if the
requested range is larger than the window, clip to the window' code.
This is a band-aide until the issues are better understood and the
issues with the lazy allocation patches are resolved.
ru [Sat, 17 Jan 2004 19:22:36 +0000 (19:22 +0000)]
Once upon a time we had both "crypto" and "krb5" distributions,
and rebuilt some bits with crypto but without Kerberos support
(most notably SSH) during "make release", to put them into the
"crypto" distribution.
Now that we don't ship the separate "krb5" distribution anymore
(it's now part of the "crypto" distribuion), don't waste time
recompiling SSH bits without crypto and without Kerberos support
in an attempt to put them in the "base" distribution -- it just
doesn't work as SSH always uses crypto code.
We avoid this by not rebuilding KPROGS from kerberos5/Makefile in
release/Makefile and adding "libpam" to SPROGS in secure/Makefile
to ensure it's still rebuilt without crypto support for the "base"
distribution. (Disabling crypto (NOCRYPT) also disables building
of Kerberos-related PAM modules, and it's OK to depend on this.)
This should be a no-op change saving some "make release" time.
ru [Sat, 17 Jan 2004 18:51:55 +0000 (18:51 +0000)]
Guess better the source for object files in case .depend file is
missing and there are multiple choices using multiple inference
(suffix transformation) rules.
This is known to fix compilation of s_log1p.o in lib/msun on i386,
as otherwise it attempted to use s_log1p.S as the source (which is
marked broken) instead of legal s_log1p.c which is in CFLAGS. The
normal case where .depend file exists is not affected.
mtm [Sat, 17 Jan 2004 11:15:04 +0000 (11:15 +0000)]
o Rename the start command to conform to rc.d style.
o Move the additional commands list to the end of the
variable initialization to conform to rc.d style
mtm [Sat, 17 Jan 2004 10:59:43 +0000 (10:59 +0000)]
Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, remove
NetBSD specific stuff (which made our scripts more complicated
than necessary).
The NetBSD ident string will be left intact, both for history and
also incase we wish to pull in future versions.
phk [Sat, 17 Jan 2004 10:52:21 +0000 (10:52 +0000)]
Mostly mechanical rework of libalias:
Makes it possible to have multiple packet aliasing instances in a
single process by moving all static and global variables into an
instance structure called "struct libalias".
Redefine a new API based on s/PacketAlias/LibAlias/g
Add new "instance" argument to all functions in the new API.
mtm [Sat, 17 Jan 2004 10:40:45 +0000 (10:40 +0000)]
Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, remove
NetBSD specific stuff (which made our scripts more complicated
than necessary).
The NetBSD ident string will be left intact, both for history and
also incase we wish to pull in future versions.
mtm [Sat, 17 Jan 2004 10:16:38 +0000 (10:16 +0000)]
Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, begin removal
of NetBSD specific stuff (which made our scripts more complicated
than necessary), starting with the NetBSD KEYWORD.
davidxu [Sat, 17 Jan 2004 07:15:06 +0000 (07:15 +0000)]
Backout revision 1.6, because some stub functions not in libc, and
non-threaded won't build. The cancellation point support should be
further discussed.
davidxu [Sat, 17 Jan 2004 02:45:37 +0000 (02:45 +0000)]
Enable cancellation point in sem_wait, it is required by POSIX.
For pshared semaphore, this commit still does not enable cancellation
point, I think there should be a pthread_enter_cancellation_point_np
for libc to implement a safe cancellation point.
rwatson [Fri, 16 Jan 2004 20:29:23 +0000 (20:29 +0000)]
KASSERT() that initproc->p_pid is 1. Very bad things happen if init's
pid isn't 1, and it can actually occur if kthread_create() is called
before SUB_SI_CREATE_INIT without RFHIGHPID.
sam [Fri, 16 Jan 2004 17:21:02 +0000 (17:21 +0000)]
Splice in cryptodev (this man page originated on openbsd where there is
no cryptodev module.) Should probably create a separate cryptodev man
page (or a link to this one) but for now add enough so folks understand
the relationship between the two.
green [Fri, 16 Jan 2004 16:31:01 +0000 (16:31 +0000)]
Fix an upper-vnode leak created in revision 1.52. When an upper-layer
file has been removed, it should be purged from the cache, but it need
not be removed from the directory stack causing corruption; instead,
it will simply be removed once the last references and holds on it
are dropped at the end of the unlink/rmdir system calls, and the
normal !UN_CACHED VOP_INACTIVE() handler for unionfs finishes it off.
This is easily reproduced by repeated "echo >file; rm file" on a
unionfs mount. Strangely, "echo -n >file; rm file" didn't make
it happen.
ru [Fri, 16 Jan 2004 15:55:29 +0000 (15:55 +0000)]
- Build things in pure alphabetical dictionary order.
- Unify the conditional assignments section so that architectural
exclusions come first, sorted, then options and !options, sorted
by the option name, also in directory order, then architecture
specific sections, sorted by the architecture name, with i386
being a traditional exception.
ru [Fri, 16 Jan 2004 15:23:19 +0000 (15:23 +0000)]
- Build things in pure dictionary order (see sort(1)).
- Unify the conditional assignments section so that architectural
exclusions come first, then options and !options, sorted by the
option name, also in directory order, then architecture specific
sections, sorted by the architecture name, with i386 being a
traditional exception.
mtm [Fri, 16 Jan 2004 07:10:30 +0000 (07:10 +0000)]
o We are not required to initialize an invalid rwlock. So axe all that
code and simply return EINVAL (which is allowed by the standard) in
all those pthread functions that previously initialized it.
o Refactor the pthread_rwlock_[try]rdlock() and pthread_rwlock_[try]wrlock()
functions. They are now completeley condensed into rwlock_rdlock_common()
and rwlock_wrlock_common(), respectively.
o If the application tries to destroy an rwlock that is currently
held by a thread return EBUSY where it previously went ahead and
freed all resources associated with the lock.
o Refactor _pthread_rwlock_init() to make it look (relatively) sane.
o When obtaining a read lock on an rwlock the check for whether it
would exceed the maximum allowed read locks should happen *before*
we obtain the lock.
o The pthread_rwlock_* functions shall *never* return EINTR, so make
sure to requeue/resuspend the thread if it encounters such an error.
o Make a note that pthread_rwlock_unlock() needs to ensure it holds a
lock on an rwlock it tries to unlock. It will be implemented in a
separate commit because it requires some additional rwlock infrastructure.
obrien [Fri, 16 Jan 2004 02:07:04 +0000 (02:07 +0000)]
The ndis_kspin_lock type is called KSPIN_LOCK in MS-Windows.
According to the Windows DDK header files, KSPIN_LOCK is defined like this:
typedef ULONG_PTR KSPIN_LOCK;
The keyword __int3264 specifies an integral type that has the following
properties:
+ It is 32-bit on 32-bit platforms
+ It is 64-bit on 64-bit platforms
+ It is 32-bit on the wire for backward compatibility.
It gets truncated on the sending side and extended appropriately
(signed or unsigned) on the receiving side.
Thus register_t seems the proper mapping onto FreeBSD for spin locks.
wpaul [Thu, 15 Jan 2004 21:31:49 +0000 (21:31 +0000)]
The definition for __stdcall logically belongs in pe_var.h, but
the definitions for NDIS_BUS_SPACE_IO and NDIS_BUS_SPACE_MEM logically
belong in hal_var.h. At least, that's my story, and I'm sticking to it.
Also, remove definition of __stdcall from if_ndis.c now that it's pulled
in from pe_var.h.
jhb [Thu, 15 Jan 2004 18:38:15 +0000 (18:38 +0000)]
- Move the code to try to open a single chunk file and prompt for the
associated floppy if needed into a static split_openfile() function.
- Use this function in splitfs_open() to open the first chunk rather
than using open() directly. This allows the first chunk to be located
on a different disk than the actual foo.split file.
jhb [Thu, 15 Jan 2004 18:35:32 +0000 (18:35 +0000)]
- Print out line number in a panic message using %d rather than %p. Line
numbers aren't pointers.
- Add a __printflike() attribute to libstand's panic() prototype to catch
such bogons in the future.
ru [Thu, 15 Jan 2004 17:58:26 +0000 (17:58 +0000)]
Removed outdated text about libc_r replacing libc (it now provides
just libc functions wrappers), and updated text to match reality:
there are three threading libraries in FreeBSD these days.
Removed instructions of how not to build libc_r, it's documented in
the make.conf(5) manpage already.
Removed description of the FreeBSD-specific gcc(1) option, -pthread.
While it's still provided (for backwards compatibility reasons),
its usefulness is questionable.