martin [Thu, 14 Aug 2008 11:41:30 +0000 (11:41 +0000)]
convert the last traces of btoc/ctob macros
ok miod@
espie [Thu, 14 Aug 2008 10:18:34 +0000 (10:18 +0000)]
simplify S definition to just srcdir, since it appears there's no special
case anymore.
Note that you can always override it from the command line if you need it.
after discussion with deraadt@ and tedu@
ratchov [Thu, 14 Aug 2008 10:02:10 +0000 (10:02 +0000)]
in abuf_rgetblk() the ``start'' pointer may take a value beyond the
end of the buffer because periodic boundary conditions of the FIFO are
not met
ok jakemsr
ratchov [Thu, 14 Aug 2008 09:58:55 +0000 (09:58 +0000)]
move all device related stuff from aucat.c to a new dev.c file.
The new dev_xxx() routines expose a "high level" self-contained
interface to the device. At initialization, the device is opened
and two chains of aproc structures are created:
* a playback chain that exposes a (initially) empty mix
aproc to which the rest of the code can attach new
streams to be played
* record chain that exposes a (initially) empty sub aproc
to which the rest of the code can attach new stream to
to record
The rest of the code, has just to use dev_attach() routine to
attach streams. While we're at it, add a ``devops'' structure
containing pointers to the device-specific routines. This will
allow later to add support for other type of device than the
Sun API.
Also, write the .wav headers in file_del(), so put all header
related data in the file strucuture. This allows to close() the
file, as soon as wpipe_xxx() aproc terminates. This will be
useful for the server, because it will need to close() descripts
of closed connections immediately.
add mix_pushzero() routine to fill the mixer with silence. It
will be used to avoid the mixer to underrun when there are no
input streams. Since we always have at least one input stream
there's no behaviour change.
ok jakemsr
ratchov [Thu, 14 Aug 2008 09:48:50 +0000 (09:48 +0000)]
in file.c, before dereferencing pointers to in(), out(), eof(),
hup() routines of the aproc strucure check that the aproc
structure has not desappeared. This never happens currently, but
will be allowed later. No behaviour change.
ok jakemsr
ratchov [Thu, 14 Aug 2008 09:47:51 +0000 (09:47 +0000)]
add an "AUTOQUIT" flag to mix and sub aprocs. If the flag is
set, the mix aproc will exit once there are no more input
streams, similarly the sub aproc will exit once there are no
more ouput streams. If the flag is not set, the mix aproc will
generate silence, and the sub aproc will drop samples. By
default this flag is set, so no behaviour change.
ok jakemsr
ratchov [Thu, 14 Aug 2008 09:46:36 +0000 (09:46 +0000)]
add a bytes counter to abuf structures to count the number of
bytes that entered the FIFO. The counter may overflow, so it
should be used with "modulo 2^32" arithmetic. The counter will
be used later to synchronize playback to record. No behaviour
change.
ok jakemsr
ratchov [Thu, 14 Aug 2008 09:45:23 +0000 (09:45 +0000)]
add a xxx_done() method to aproc structures, that cleans up just
before free()ing the aproc structure, this is cleaner and will
allow to reuse wpipe_xxx() and rpipe_xxx() when defining new
aprocs. No behaviour change.
ok jakemsr
ratchov [Thu, 14 Aug 2008 09:44:15 +0000 (09:44 +0000)]
move mix/sub underrun/overrun handling code and data in the
generic abuf structure, so it can reused. Required for an audio
server. No behaviour change.
ok jakemsr
ratchov [Thu, 14 Aug 2008 09:39:16 +0000 (09:39 +0000)]
factor code that discards data from abuf strucure into a single
abuf_rdiscard() routine. Similarly add abuf_wcommit() routine for
writing. The purpose is to stop manupulating FIFO pointers in
various places outiside abuf.c, its too error prone.
No behaviour change.
ok jakemsr
guenther [Thu, 14 Aug 2008 05:57:06 +0000 (05:57 +0000)]
Match libpthread's behavior and make pthread_join(NULL, whatever) fail
instead of crashing
ok kurt@
first observed by Jung <moorang at gmail.com>
guenther [Thu, 14 Aug 2008 05:20:44 +0000 (05:20 +0000)]
Fix 5771/library: in pthread_exit(), delay the call to _sem_post() that
unblocks the pthread_join() for this thread until the exiting thread is
completely done with its thread structure, as the joining thread will
free it once unblocked. Also, don't bother to call _sem_post() if the
thread is detached.
ok kurt@
guenther [Thu, 14 Aug 2008 05:15:41 +0000 (05:15 +0000)]
If the initial thread calls pthread_exit(), don't overwrite its thread
structure, as the 'tid' member there is used by other parts of
librthread to determine whether the current thread is the initial thread
sthen [Thu, 14 Aug 2008 00:59:50 +0000 (00:59 +0000)]
Tools from /usr may not be used in netstart since it may be NFS-mounted
and not available at that time. Rewrite the hostname.if permission check
to use only /bin/ls and the shell. Requested by deraadt.
ok todd, "Twisted." deraadt
oga [Wed, 13 Aug 2008 21:56:50 +0000 (21:56 +0000)]
Make sure that we don't sleep with a lock held, some small cleanup while
i'm here.
oga [Wed, 13 Aug 2008 20:45:42 +0000 (20:45 +0000)]
Check for zero in drm_calloc() to prevent divide-by-zero. Also rearrange
the two calls to drm_calloc() that had nmemb and size the wrong way
around.
oga [Wed, 13 Aug 2008 20:38:26 +0000 (20:38 +0000)]
Kill file_priv->refs, it is always 1. Also move two things from the
softc into file_priv since otherwise the wrong value could rarely be
used.
mglocker [Wed, 13 Aug 2008 20:29:34 +0000 (20:29 +0000)]
Add VIDIOC_ENUM_FRAMESIZES ioctl. This permits applications to query the
available formats and resolutions of a device (e.g. "luvcview -L").
oga [Wed, 13 Aug 2008 20:27:58 +0000 (20:27 +0000)]
Change the drm_lock*() api to take a pointer to the struct as a
parameter, this makes things a little cleaner and removes the need to
pass in the softc for some functions.
oga [Wed, 13 Aug 2008 20:22:55 +0000 (20:22 +0000)]
idgen32 wasn't really right here. Change back to how it was, but
done a little nicer.
Advice from deraadt@.
oga [Wed, 13 Aug 2008 19:33:29 +0000 (19:33 +0000)]
Generate the magic id using idgen32(). While i'm here fix the locking a
bit so we don't sleep with a spinlock.
ok djm@.
oga [Wed, 13 Aug 2008 19:30:11 +0000 (19:30 +0000)]
Kill a bunch of the drm context code that nothing uses anymore, the
xserver only actually uses a small part of it nowadays.
Kill a few other dead bits from the drmP.h while i'm here.
kettenis [Wed, 13 Aug 2008 19:30:02 +0000 (19:30 +0000)]
Initial stab at a driver for the integrated random number generator of the
UltraSPARC T2.
damien [Wed, 13 Aug 2008 17:44:45 +0000 (17:44 +0000)]
one should never use sizeof(struct llc) since 802.2 LLC headers
have a variable length. use LLC_SNAPFRAMELEN instead (which happen
to be equal to sizeof(struct llc)) as we only deal with LLC+SNAP
headers.
some indentation tweaks while i'm here.
no binary change.
damien [Wed, 13 Aug 2008 17:38:02 +0000 (17:38 +0000)]
do not increment is_rx_eapol_key twice for each frame.
fix a test on the mbuf length and one on the descriptor version.
remove redundant checking of GTK KDE length.
sobrado [Wed, 13 Aug 2008 17:24:54 +0000 (17:24 +0000)]
sync synopsis/usage; fix double "usage:"; KNF.
weingart [Wed, 13 Aug 2008 16:01:08 +0000 (16:01 +0000)]
This tab had bugged me forever.
art [Wed, 13 Aug 2008 15:46:21 +0000 (15:46 +0000)]
Disable the fantastics mis-feature on some newer Turion CPUs called C1E.
This "power saving" disables the apic when both cpu cores hit the hlt
instruction which kills our timer.
From FreeBSD.
(poked by kettenis)
thib [Wed, 13 Aug 2008 15:45:30 +0000 (15:45 +0000)]
remove a bunch of bogus ARGSUSED
art [Wed, 13 Aug 2008 15:44:44 +0000 (15:44 +0000)]
Disable the fantastics mis-feature on some newer Turion CPUs called C1E.
This "power saving" disables the apic when both cpu cores hit the hlt
instruction which kills our timer.
From FreeBSD.
av [Wed, 13 Aug 2008 12:21:19 +0000 (12:21 +0000)]
Old drives (reported Giovanni Bechis <bigionews@snb.it>) don't report CD-RW
write feature. Add additional check for media type before blanking.
The patch fixes problem for Giovanni.
ok fgsch
jmc [Wed, 13 Aug 2008 06:20:48 +0000 (06:20 +0000)]
-S currently does nothing useful, so remove it from
SYNOPSIS and usage(); after some discussion with canacar
brad [Wed, 13 Aug 2008 03:59:16 +0000 (03:59 +0000)]
Add more Config mode registers.
From FreeBSD
brad [Wed, 13 Aug 2008 03:47:16 +0000 (03:47 +0000)]
Add the 8139D PCI id.
brad [Wed, 13 Aug 2008 03:46:30 +0000 (03:46 +0000)]
regen
brad [Wed, 13 Aug 2008 03:45:55 +0000 (03:45 +0000)]
Add another PCI id for the Realtek 8139D chipset.
From FreeBSD
brad [Wed, 13 Aug 2008 03:18:19 +0000 (03:18 +0000)]
Replace the use of a separate softc field to track the link
state with the newly minted link flag in the softc's rl_flags
field.
Tested by fkr@
oga [Tue, 12 Aug 2008 23:10:41 +0000 (23:10 +0000)]
Kill dmesg spam. Since we can't guarantee that a device is capable of
having a drm driver, don't print when we fail to attach one.
stops the "drm at vga? not supported" spam people are seeing.
deraadt [Tue, 12 Aug 2008 22:48:31 +0000 (22:48 +0000)]
Fix multiple addition error recently introduced for when extended partitions
are just before an OpenBSD partition in a MBR; done with kettenis & otto
ok reyk
damien [Tue, 12 Aug 2008 20:07:13 +0000 (20:07 +0000)]
adopt the integrity group cipher of the AP at association time.
damien [Tue, 12 Aug 2008 19:59:09 +0000 (19:59 +0000)]
nuke unused fields.
damien [Tue, 12 Aug 2008 19:56:59 +0000 (19:56 +0000)]
add the code to encrypt/decrypt management frames, retrieve key id
from MMIE etc...
this code can't be triggered as no drivers claim MFP capability yet.
damien [Tue, 12 Aug 2008 19:51:19 +0000 (19:51 +0000)]
reserves the correct number of bytes in ieee80211_send_4way_msg2().
damien [Tue, 12 Aug 2008 19:50:39 +0000 (19:50 +0000)]
clear Tx_Rx protection bits properly.
damien [Tue, 12 Aug 2008 19:45:22 +0000 (19:45 +0000)]
do not drop frames that have an invalid IE, just stop processing
more IEs.
damien [Tue, 12 Aug 2008 19:42:37 +0000 (19:42 +0000)]
populate ieee80211_recv_action(), does nothing yet.
damien [Tue, 12 Aug 2008 19:40:13 +0000 (19:40 +0000)]
add a couple of new definitions (action frames, new subtypes for control
frames, new IEs etc...)
damien [Tue, 12 Aug 2008 19:34:54 +0000 (19:34 +0000)]
missing SHA-256 bits.
damien [Tue, 12 Aug 2008 19:34:35 +0000 (19:34 +0000)]
v3 descriptors use AES Key Wrap too.
damien [Tue, 12 Aug 2008 19:29:07 +0000 (19:29 +0000)]
new SHA-256 based AKMPs.
damien [Tue, 12 Aug 2008 19:21:04 +0000 (19:21 +0000)]
add/process group integrity cipher suite in RSN IEs.
add support for MFP negotiation during association.
damien [Tue, 12 Aug 2008 19:05:39 +0000 (19:05 +0000)]
add IEEE80211_RSNIE_MAXLEN and IEEE80211_WPAIE_MAXLEN definitions
instead of hard-coding values.
for RSN IE, request space for Group Integrity Cipher Suite.
damien [Tue, 12 Aug 2008 18:48:35 +0000 (18:48 +0000)]
add support for EAPOL-Key v3 descriptors (similar to v2 except that the
MIC is computed using AES-128-CMAC instead of HMAC-SHA1).
add a SHA-256 based key derivation function (not used yet).
damien [Tue, 12 Aug 2008 18:41:18 +0000 (18:41 +0000)]
the only integrity group cipher currently supported is AES-128-CMAC.
damien [Tue, 12 Aug 2008 18:37:23 +0000 (18:37 +0000)]
generate a random IGTK in HostAP mode if we're MFP-capable.
damien [Tue, 12 Aug 2008 18:30:56 +0000 (18:30 +0000)]
add IEEE80211_F_MFPR config flags (management frame protection required)
and IEEE80211_C_MFP capability bit (driver supports MFP).
damien [Tue, 12 Aug 2008 18:30:02 +0000 (18:30 +0000)]
add definitions for RSN capabilities field (RSN IE).
weingart [Tue, 12 Aug 2008 18:27:22 +0000 (18:27 +0000)]
Nuke bigmem for release, still has issues.
ok deraadt@
damien [Tue, 12 Aug 2008 18:25:40 +0000 (18:25 +0000)]
AES Key Wrap adds a 64-bit MIC to the payload but we pad the content
of the frame so that it is a multiple of 8 bytes before encryption.
So we must reserve up to 15 bytes in the mbuf for the worst case, not 8.
damien [Tue, 12 Aug 2008 18:22:41 +0000 (18:22 +0000)]
process IGTK KDEs in EAPOL-Key frames and install integrity group keys
if MFP was negotiated with the peer (not possible yet).
damien [Tue, 12 Aug 2008 18:01:41 +0000 (18:01 +0000)]
extend the ic_nw_keys[] array to 6 elements.
indices 0-3 will be used for group data keys while indices 4-5 will
be used for integrity group keys.
add a ic_rsngroupmgmtcipher field too.
damien [Tue, 12 Aug 2008 17:54:57 +0000 (17:54 +0000)]
in a near future, unicast management frames will be encrypted/decrypted
using CCMP. use the right replay counter in this case.
damien [Tue, 12 Aug 2008 17:53:13 +0000 (17:53 +0000)]
Change the way we process EAPOL-Key frames.
Free the mbuf in the ieee80211_eapol_key_input() function.
Do not assume the frame is contiguous, call m_pullup2() if it is not.
We need the frame to be contiguous to process KDEs efficiently in
EAPOL-Key frames (just like we process IEs in management frames).
However, there are drivers like upgt(4) that use m_devget() in the
RX path. m_devget() can return fragmented mbuf chains.
Notice that we should do the same m_pullup2() for management frames.
This will be done later.
Remove the ic_recv_eapol callback.
miod [Tue, 12 Aug 2008 17:23:21 +0000 (17:23 +0000)]
Figured out where the prom console routines are on KA60 and how to invoke
them, thanks to old ultrix bootblocks lying around.
Also, enable M-Bus clock on the I/O slot IOCSR, this unstucks the cpu
clocks (which really are implemented on the SSC on the I/O module, but
need to be controlled via the cpu's ``internal'' processor registers...)
damien [Tue, 12 Aug 2008 16:56:45 +0000 (16:56 +0000)]
add new IEEE80211_CIPHER_AES128_CMAC cipher and new key flag
IEEE80211_KEY_IGTK.
lot of cleanup while i'm here (indent function prototypes).
change license since this file was completely rewritten.
damien [Tue, 12 Aug 2008 16:51:39 +0000 (16:51 +0000)]
Welcome BIP: the Broadcast/Multicast Integrity Protocol defined
in Draft IEEE P802.11w.
It provides data integrity and replay protection for broadcast/
multicast robust management frames (not used yet) using AES-128
in CMAC mode.
damien [Tue, 12 Aug 2008 16:45:44 +0000 (16:45 +0000)]
maintain a count of TKIP and CCMP replayed frames.
some cleanup while i'm here.
david [Tue, 12 Aug 2008 16:40:18 +0000 (16:40 +0000)]
use correct byte order when printing state expiration minutes; ok henning@
damien [Tue, 12 Aug 2008 16:33:38 +0000 (16:33 +0000)]
add replay counter for management frames.
damien [Tue, 12 Aug 2008 16:24:24 +0000 (16:24 +0000)]
fix values for QoS control field.
damien [Tue, 12 Aug 2008 16:21:46 +0000 (16:21 +0000)]
retrieve the TID from QoS frames to use with the appropriate
replay counter.
henning [Tue, 12 Aug 2008 16:14:45 +0000 (16:14 +0000)]
use MINCLSIZE to decide wether we need to allocate an mbuf cluster instead
of MLEM, damien ok
damien [Tue, 12 Aug 2008 16:14:05 +0000 (16:14 +0000)]
get rid of the map_ptk()/map_gtk() functions, just inline them
which makes things easier to track.
damien [Tue, 12 Aug 2008 16:05:15 +0000 (16:05 +0000)]
simplify ieee80211_derive_ptk() prototype.
pass the AKMP so we can support other key derivation functions in the
future.
damien [Tue, 12 Aug 2008 15:59:40 +0000 (15:59 +0000)]
use HMAC-MD5, HMAC-SHA1 and AES Key Wrap sys/crypto/
damien [Tue, 12 Aug 2008 15:49:07 +0000 (15:49 +0000)]
test vectors for HMAC-MD5, HMAC-SHA1, HMAC-SHA256, AES-128-CMAC,
AES Key Wrap.
ok djm@
damien [Tue, 12 Aug 2008 15:43:00 +0000 (15:43 +0000)]
Implementation of the HMAC-MD5, HMAC-SHA1, HMAC-SHA256, AES-128-CMAC
and AES Key Wrap algorithms.
They will replace/extend the non-generic implementation in net80211.
AES-128-CMAC tested by sobrado@ (AlphaServer 1200),
naddy@ (alpha/sparc64) and sthen@ (sparc64, armish).
HMAC-* reviewed by hshoexer@
ok and hints from djm@
otto [Tue, 12 Aug 2008 09:44:26 +0000 (09:44 +0000)]
basic bounds check on elf header info. avoid crashes on i.e.e truncated
kernels; noted by jasper@ ok miod@
mglocker [Tue, 12 Aug 2008 08:26:42 +0000 (08:26 +0000)]
Don't process xfers which have the stream error bit set in the stream
header.
jakemsr [Tue, 12 Aug 2008 06:50:16 +0000 (06:50 +0000)]
VT8233+ uses a different register base for capturing
from NetBSD. fixes recording for kili@, martynas@ and me.
mbalmer [Tue, 12 Aug 2008 06:32:14 +0000 (06:32 +0000)]
Fix a typo in a comment. From dawedawe@gmx.de.
brad [Mon, 11 Aug 2008 22:42:19 +0000 (22:42 +0000)]
Add support for TX/RX checksum offload for newer re(4) chipsets.
Tested by naddy@
From FreeBSD
jaredy [Mon, 11 Aug 2008 21:50:35 +0000 (21:50 +0000)]
plug a memleak when freeing io redirection in commands.
the leaked memory is actually reclaimed when the command
finishes but may grow until that happens, e.g. during
command execution.
ok phessler@.
testing sobrado@ jmc@ oga@.
kettenis [Mon, 11 Aug 2008 21:28:53 +0000 (21:28 +0000)]
Only print iotdb stuff when DEBUG.
kettenis [Mon, 11 Aug 2008 20:56:55 +0000 (20:56 +0000)]
Allow mapping mmio regions that are not page aligned.
ok miod@
jmc [Mon, 11 Aug 2008 20:43:16 +0000 (20:43 +0000)]
+Longshine LCS-8031N to the ral(4) list;
jmc [Mon, 11 Aug 2008 20:28:55 +0000 (20:28 +0000)]
some documentation updates for spamd synchronisation:
- whitelisted entries are not synced
- entries added manually (using spamdb) are not synced
suggested by Stephan A. Rickauer; ok reyk
jmc [Mon, 11 Aug 2008 20:24:45 +0000 (20:24 +0000)]
some consistency fixes and whitespace at eol removal;
jmc [Mon, 11 Aug 2008 20:23:19 +0000 (20:23 +0000)]
remove a note which seems to be duplicated; ok sobrado
kettenis [Mon, 11 Aug 2008 19:53:33 +0000 (19:53 +0000)]
Add hw.cupspeed cupport for all CPU types.
reyk [Mon, 11 Aug 2008 19:03:05 +0000 (19:03 +0000)]
fix a6 partition lookup where a static variable was incorrectly used in
the recursive findopenbsd() function. reported by PR 5905.
tested by many
ok deraadt@
kettenis [Mon, 11 Aug 2008 18:45:13 +0000 (18:45 +0000)]
Build apm(8) and apmd(8) on sparc64.
pointed out by deraadt@
kettenis [Mon, 11 Aug 2008 18:38:10 +0000 (18:38 +0000)]
Minimal apmvar.h such that we can enable apm(8) and apmd(8) on sparc64.
ok deraadt@
kettenis [Mon, 11 Aug 2008 18:20:37 +0000 (18:20 +0000)]
Add hw.setperf support for UltraSPARC-IIe support.
tested by miod@, matthieu@, naddy@, jsg@, djm@
marco [Mon, 11 Aug 2008 17:28:24 +0000 (17:28 +0000)]
Undo last commit; deraadt didn't like it.
marco [Mon, 11 Aug 2008 17:22:54 +0000 (17:22 +0000)]
Add infrastructure to manually kick off rebuilds.
tobias [Mon, 11 Aug 2008 17:17:53 +0000 (17:17 +0000)]
Prevent a buffer underrun if a line is received which only contains
(multiple) @.
ok millert, otto
tobias [Mon, 11 Aug 2008 17:15:56 +0000 (17:15 +0000)]
Use only safe functions in signal handlers.
ok millert, otto
reyk [Mon, 11 Aug 2008 08:24:41 +0000 (08:24 +0000)]
more goto fail on gettimeofday error
reyk [Mon, 11 Aug 2008 08:07:14 +0000 (08:07 +0000)]
better handling of HTTP POSTs or requests with Content-Length.