History log of /src/sys/netbt |
Revision | Date | Author | Comments |
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file Makefile was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file Makefile was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file Makefile was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file Makefile was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file Makefile was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.12 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.11 | 27-Apr-2011 |
rmind | branches: 1.11.14; 1.11.18; 1.11.28; G/C M_EMULDATA
|
1.10 | 16-Mar-2011 |
plunky | use C99 style for variadic macro arguments
|
1.9 | 26-Mar-2010 |
pooka | branches: 1.9.2; Remove unused opt_bluetooth.h
plunky: "feel free"
|
1.8 | 08-Sep-2008 |
gmcgarry | branches: 1.8.14; 1.8.16; Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h preprocessor macros.
|
1.7 | 24-Apr-2008 |
ad | branches: 1.7.2; 1.7.4; 1.7.8; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.6 | 17-Sep-2007 |
rillig | branches: 1.6.20; 1.6.22; Macros that are meant for statements (instead of expressions) SHALL never be defined to an empty string, because in that case,
if (condition) DPRINTF(...); else err(...);
results in a gcc warning, and possibly worse things.
|
1.5 | 21-Apr-2007 |
plunky | branches: 1.5.6; 1.5.8; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.4 | 16-Nov-2006 |
christos | branches: 1.4.2; 1.4.4; 1.4.8; 1.4.10; 1.4.16; __unused removal on arguments; approved by core.
|
1.3 | 01-Oct-2006 |
plunky | fix silent dependencies (uintN_t)
|
1.2 | 19-Jun-2006 |
gdamore | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.12; 1.2.14; 1.2.16; Make include of opt_bluetooth.h unconditional.
|
1.1 | 19-Jun-2006 |
gdamore | Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.2.16.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.2.16.1 | 22-Oct-2006 |
yamt | sync with head
|
1.2.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.2.14.1 | 19-Jun-2006 |
rpaulo | file bluetooth.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.2.12.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.2.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.2.8.1 | 19-Jun-2006 |
gdamore | file bluetooth.h was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.2.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.2.6.1 | 19-Jun-2006 |
yamt | file bluetooth.h was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.2.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.2.4.1 | 19-Jun-2006 |
chap | file bluetooth.h was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.2.2.5 | 27-Oct-2007 |
yamt | sync with head.
|
1.2.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.2.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.2.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.2.2.1 | 19-Jun-2006 |
yamt | file bluetooth.h was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.4.16.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.4.10.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.4.8.2 | 09-Oct-2007 |
ad | Sync with head.
|
1.4.8.1 | 08-Jun-2007 |
ad | Sync with head.
|
1.4.4.1 | 07-May-2007 |
yamt | sync with head.
|
1.4.2.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.5.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.5.6.1 | 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.6.22.1 | 18-May-2008 |
yamt | sync with head.
|
1.6.20.2 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.6.20.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.7.8.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.7.4.1 | 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.7.2.2 | 11-Aug-2010 |
yamt | sync with head.
|
1.7.2.1 | 04-May-2009 |
yamt | sync with head.
|
1.8.16.3 | 31-May-2011 |
rmind | sync with head
|
1.8.16.2 | 21-Apr-2011 |
rmind | sync with head
|
1.8.16.1 | 30-May-2010 |
rmind | sync with head
|
1.8.14.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.9.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.11.28.1 | 10-Aug-2014 |
tls | Rebase.
|
1.11.18.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.11.14.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.17 | 07-Aug-2023 |
riastradh | netbt(4): Initialize bt_lock earlier.
Use a driver-class module modcmd init function, instead of a socket domain init function; the socket-domain ones don't run until after configure, but we need this to be initialized before configure so that Bluetooth HCI drivers like ubt(4) can use it.
This is suboptimal but it's the least intrusive way I've thought of to get this working, even if it's a little grody to make netbt a `driver-class' (builtin) module. Note that this doesn't mean netbt becomes dynamically loadable or unloadable; we're just using a module for initialization ordering.
PR kern/56988
XXX pullup-10
|
1.16 | 21-Jan-2016 |
riastradh | branches: 1.16.22; 1.16.48; Revert previous: ran cvs commit when I meant cvs diff. Sorry!
Hit up-arrow one too few times.
|
1.15 | 21-Jan-2016 |
riastradh | Give proper prototype to ip_output.
|
1.14 | 19-May-2014 |
rmind | branches: 1.14.4; - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.13 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.12 | 13-Sep-2009 |
pooka | branches: 1.12.22; 1.12.26; 1.12.36; Wipe out the last vestiges of POOL_INIT with one swift stroke. In most cases, use a proper constructor. For proplib, give a local equivalent of POOL_INIT for the kernel object implementation. This way the code structure can be preserved, and a local link set is not hazardous anyway (unless proplib is split to several modules, but that'll be the day).
tested by booting a kernel in qemu and compile-testing i386/ALL
|
1.11 | 10-Aug-2009 |
plunky | remove last usage of KAUTH_ISSUSER in bluetooth code by adding some requests to the device scope:
KAUTH_DEVICE_BLUETOOTH_SEND_COMMAND KAUTH_DEVICE_BLUETOOTH_RECV_COMMAND KAUTH_DEVICE_BLUETOOTH_RECV_EVENT KAUTH_DEVICE_BLUETOOTH_RECV_DATA
and a listener tied to the HCI protocol that will approve the basic minimum to be sent and received.
handle the requests in the bsd44_suser listener by approving all when the credential is root.
|
1.10 | 24-Apr-2008 |
ad | branches: 1.10.2; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.9 | 20-Nov-2007 |
plunky | branches: 1.9.14; 1.9.16; don't explicitly list unused and NULL entries in the domain declaration
|
1.8 | 02-May-2007 |
dyoung | branches: 1.8.6; 1.8.8; 1.8.12; 1.8.14; Eliminate address family-specific route caches (struct route, struct route_in6, struct route_iso), replacing all caches with a struct route.
The principle benefit of this change is that all of the protocol families can benefit from route cache-invalidation, which is necessary for correct routing. Route-cache invalidation fixes an ancient PR, kern/3508, at long last; it fixes various other PRs, also.
Discussions with and ideas from Joerg Sonnenberger influenced this work tremendously. Of course, all design oversights and bugs are mine.
DETAILS
1 I added to each address family a pool of sockaddrs. I have introduced routines for allocating, copying, and duplicating, and freeing sockaddrs:
struct sockaddr *sockaddr_alloc(sa_family_t af, int flags); struct sockaddr *sockaddr_copy(struct sockaddr *dst, const struct sockaddr *src); struct sockaddr *sockaddr_dup(const struct sockaddr *src, int flags); void sockaddr_free(struct sockaddr *sa);
sockaddr_alloc() returns either a sockaddr from the pool belonging to the specified family, or NULL if the pool is exhausted. The returned sockaddr has the right size for that family; sa_family and sa_len fields are initialized to the family and sockaddr length---e.g., sa_family = AF_INET and sa_len = sizeof(struct sockaddr_in). sockaddr_free() puts the given sockaddr back into its family's pool.
sockaddr_dup() and sockaddr_copy() work analogously to strdup() and strcpy(), respectively. sockaddr_copy() KASSERTs that the family of the destination and source sockaddrs are alike.
The 'flags' argumet for sockaddr_alloc() and sockaddr_dup() is passed directly to pool_get(9).
2 I added routines for initializing sockaddrs in each address family, sockaddr_in_init(), sockaddr_in6_init(), sockaddr_iso_init(), etc. They are fairly self-explanatory.
3 structs route_in6 and route_iso are no more. All protocol families use struct route. I have changed the route cache, 'struct route', so that it does not contain storage space for a sockaddr. Instead, struct route points to a sockaddr coming from the pool the sockaddr belongs to. I added a new method to struct route, rtcache_setdst(), for setting the cache destination:
int rtcache_setdst(struct route *, const struct sockaddr *);
rtcache_setdst() returns 0 on success, or ENOMEM if no memory is available to create the sockaddr storage.
It is now possible for rtcache_getdst() to return NULL if, say, rtcache_setdst() failed. I check the return value for NULL everywhere in the kernel.
4 Each routing domain (struct domain) has a list of live route caches, dom_rtcache. rtflushall(sa_family_t af) looks up the domain indicated by 'af', walks the domain's list of route caches and invalidates each one.
|
1.7 | 06-Apr-2007 |
plunky | use structure initializers for protocol switch table
(while here, delete unused entries)
|
1.6 | 09-Dec-2006 |
dyoung | branches: 1.6.2; 1.6.6; 1.6.8; Here are various changes designed to protect against bad IPv4 routing caused by stale route caches (struct route). Route caches are sprinkled throughout PCBs, the IP fast-forwarding table, and IP tunnel interfaces (gre, gif, stf).
Stale IPv6 and ISO route caches will be treated by separate patches.
Thank you to Christoph Badura for suggesting the general approach to invalidating route caches that I take here.
Here are the details:
Add hooks to struct domain for tracking and for invalidating each domain's route caches: dom_rtcache, dom_rtflush, and dom_rtflushall.
Introduce helper subroutines, rtflush(ro) for invalidating a route cache, rtflushall(family) for invalidating all route caches in a routing domain, and rtcache(ro) for notifying the domain of a new cached route.
Chain together all IPv4 route caches where ro_rt != NULL. Provide in_rtcache() for adding a route to the chain. Provide in_rtflush() and in_rtflushall() for invalidating IPv4 route caches. In in_rtflush(), set ro_rt to NULL, and remove the route from the chain. In in_rtflushall(), walk the chain and remove every route cache.
In rtrequest1(), call rtflushall() to invalidate route caches when a route is added.
In gif(4), discard the workaround for stale caches that involves expiring them every so often.
Replace the pattern 'RTFREE(ro->ro_rt); ro->ro_rt = NULL;' with a call to rtflush(ro).
Update ipflow_fastforward() and all other users of route caches so that they expect a cached route, ro->ro_rt, to turn to NULL.
Take care when moving a 'struct route' to rtflush() the source and to rtcache() the destination.
In domain initializers, use .dom_xxx tags.
KNF here and there.
|
1.5 | 10-Oct-2006 |
dogcow | change the MOWNER_INIT define to take two args; fix extant struct mowner decls to use it. Makes options MBUFTRACE compile again and not whinge about missing structure declarations. (Also makes initialization consistent.)
|
1.4 | 01-Oct-2006 |
plunky | Reduce memory usage by not allocating a chunk for a bitmask.
|
1.3 | 28-Aug-2006 |
christos | branches: 1.3.2; 1.3.4; 1.3.6; add missing initializers.
|
1.2 | 27-Aug-2006 |
plunky | BluetootH SCO Audio update.
Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent.
Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program.
Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access.
Fix incoming connection handling for btsco(4) and SCO sockets.
Fix documentation to reflect the new world order.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.10.1 | 07-Sep-2006 |
tron | Pull up following revision(s) (requested by plunky in ticket #81): sys/netbt/sco_upper.c: revision 1.2 usr.sbin/btconfig/btconfig.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.3 usr.sbin/btconfig/btconfig.8: revision 1.4 usr.sbin/btdevctl/btdevctl.8: revision 1.2 sys/netbt/files.netbt: revision 1.3 sys/netbt/bt_proto.c: revision 1.2 share/man/man4/ubt.4: revision 1.4 usr.sbin/btdevctl/cfg.c: revision 1.3 sys/netbt/hci.h: revision 1.4 share/man/man4/bluetooth.4: revision 1.2 share/man/man4/btsco.4: revision 1.4 sys/dev/bluetooth/btsco.c: revision 1.2 sys/netbt/bt_sysctl.c: revision 1.2 BluetootH SCO Audio update. Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent. Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program. Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access. Fix incoming connection handling for btsco(4) and SCO sockets. Fix documentation to reflect the new world order.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file bt_proto.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.3 | 03-Sep-2006 |
yamt | sync with head.
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file bt_proto.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file bt_proto.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.5 | 07-Dec-2007 |
yamt | sync with head
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file bt_proto.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.6.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.3.6.1 | 22-Oct-2006 |
yamt | sync with head
|
1.3.4.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.3.4.1 | 28-Aug-2006 |
rpaulo | file bt_proto.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.3.2.2 | 12-Jan-2007 |
ad | Sync with head.
|
1.3.2.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.6.8.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.6.6.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.6.6.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.6.2.2 | 07-May-2007 |
yamt | sync with head.
|
1.6.2.1 | 15-Apr-2007 |
yamt | sync with head.
|
1.8.14.1 | 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.8.12.1 | 21-Nov-2007 |
bouyer | Sync with HEAD
|
1.8.8.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.8.6.1 | 21-Nov-2007 |
joerg | Sync with HEAD.
|
1.9.16.1 | 18-May-2008 |
yamt | sync with head.
|
1.9.14.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.10.2.2 | 16-Sep-2009 |
yamt | sync with head
|
1.10.2.1 | 19-Aug-2009 |
yamt | sync with head.
|
1.12.36.1 | 10-Aug-2014 |
tls | Rebase.
|
1.12.26.2 | 18-May-2014 |
rmind | sync with head
|
1.12.26.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.12.22.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.14.4.1 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.16.48.1 | 23-Aug-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #788):
sys/netbt/bt_proto.c: revision 1.17
netbt(4): Initialize bt_lock earlier.
Use a driver-class module modcmd init function, instead of a socket domain init function; the socket-domain ones don't run until after configure, but we need this to be initialized before configure so that Bluetooth HCI drivers like ubt(4) can use it.
This is suboptimal but it's the least intrusive way I've thought of to get this working, even if it's a little grody to make netbt a `driver-class' (builtin) module. Note that this doesn't mean netbt becomes dynamically loadable or unloadable; we're just using a module for initialization ordering.
PR kern/56988
|
1.16.22.1 | 23-Aug-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1867):
sys/netbt/bt_proto.c: revision 1.17
netbt(4): Initialize bt_lock earlier.
Use a driver-class module modcmd init function, instead of a socket domain init function; the socket-domain ones don't run until after configure, but we need this to be initialized before configure so that Bluetooth HCI drivers like ubt(4) can use it.
This is suboptimal but it's the least intrusive way I've thought of to get this working, even if it's a little grody to make netbt a `driver-class' (builtin) module. Note that this doesn't mean netbt becomes dynamically loadable or unloadable; we're just using a module for initialization ordering.
PR kern/56988
|
1.5 | 17-Dec-2023 |
andvar | s/Adapatation/Adaptation/ in l2cap sysctl description.
|
1.4 | 26-Mar-2023 |
andvar | fix various typos in documentation, comments and sysctl device description. mainly aion -> ation and inlude -> include.
|
1.3 | 25-Feb-2014 |
pooka | Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before the sysctl link sets are processed, and remove redundancy.
Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate lines of code.
|
1.2 | 27-Aug-2006 |
plunky | branches: 1.2.4; 1.2.94; 1.2.104; 1.2.110; BluetootH SCO Audio update.
Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent.
Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program.
Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access.
Fix incoming connection handling for btsco(4) and SCO sockets.
Fix documentation to reflect the new world order.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.10.1 | 07-Sep-2006 |
tron | Pull up following revision(s) (requested by plunky in ticket #81): sys/netbt/sco_upper.c: revision 1.2 usr.sbin/btconfig/btconfig.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.3 usr.sbin/btconfig/btconfig.8: revision 1.4 usr.sbin/btdevctl/btdevctl.8: revision 1.2 sys/netbt/files.netbt: revision 1.3 sys/netbt/bt_proto.c: revision 1.2 share/man/man4/ubt.4: revision 1.4 usr.sbin/btdevctl/cfg.c: revision 1.3 sys/netbt/hci.h: revision 1.4 share/man/man4/bluetooth.4: revision 1.2 share/man/man4/btsco.4: revision 1.4 sys/dev/bluetooth/btsco.c: revision 1.2 sys/netbt/bt_sysctl.c: revision 1.2 BluetootH SCO Audio update. Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent. Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program. Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access. Fix incoming connection handling for btsco(4) and SCO sockets. Fix documentation to reflect the new world order.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file bt_sysctl.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.3 | 03-Sep-2006 |
yamt | sync with head.
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file bt_sysctl.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file bt_sysctl.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file bt_sysctl.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.110.1 | 18-May-2014 |
rmind | sync with head
|
1.2.104.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.2.94.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.2.4.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.2.4.1 | 27-Aug-2006 |
rpaulo | file bt_sysctl.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.5 | 26-Mar-2010 |
pooka | Remove unused opt_bluetooth.h
plunky: "feel free"
|
1.4 | 10-Sep-2006 |
plunky | branches: 1.4.54; 1.4.76; 1.4.78; update to bluetooth device attachment:
remove pseudo-device btdev(4) and inherent limitations
add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here.
btdevctl(8) and its cache is updated to handle new semantics
etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf
|
1.3 | 27-Aug-2006 |
plunky | branches: 1.3.2; 1.3.4; BluetootH SCO Audio update.
Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent.
Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program.
Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access.
Fix incoming connection handling for btsco(4) and SCO sockets.
Fix documentation to reflect the new world order.
|
1.2 | 21-Jun-2006 |
drochner | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; make some bluetooth devices just devices, not interface attributes
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file files.netbt was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.8.2 | 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.2.8.1 | 07-Sep-2006 |
tron | Pull up following revision(s) (requested by plunky in ticket #81): sys/netbt/sco_upper.c: revision 1.2 usr.sbin/btconfig/btconfig.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.3 usr.sbin/btconfig/btconfig.8: revision 1.4 usr.sbin/btdevctl/btdevctl.8: revision 1.2 sys/netbt/files.netbt: revision 1.3 sys/netbt/bt_proto.c: revision 1.2 share/man/man4/ubt.4: revision 1.4 usr.sbin/btdevctl/cfg.c: revision 1.3 sys/netbt/hci.h: revision 1.4 share/man/man4/bluetooth.4: revision 1.2 share/man/man4/btsco.4: revision 1.4 sys/dev/bluetooth/btsco.c: revision 1.2 sys/netbt/bt_sysctl.c: revision 1.2 BluetootH SCO Audio update. Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent. Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program. Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access. Fix incoming connection handling for btsco(4) and SCO sockets. Fix documentation to reflect the new world order.
|
1.2.6.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.2.6.1 | 21-Jun-2006 |
gdamore | file files.netbt was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.2.4.4 | 14-Sep-2006 |
yamt | sync with head.
|
1.2.4.3 | 03-Sep-2006 |
yamt | sync with head.
|
1.2.4.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.2.4.1 | 21-Jun-2006 |
yamt | file files.netbt was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.2.2.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.2.2.1 | 21-Jun-2006 |
chap | file files.netbt was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.3.4.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.3.4.1 | 27-Aug-2006 |
rpaulo | file files.netbt was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.3.2.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.4.78.1 | 30-May-2010 |
rmind | sync with head
|
1.4.76.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.4.54.1 | 11-Aug-2010 |
yamt | sync with head.
|
1.47 | 19-Aug-2025 |
plunky | fix copy-paste error. Sniff Subrating command should be 0x000811
|
1.46 | 28-Sep-2019 |
plunky | branches: 1.46.26; 1.46.34; When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506
https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.45 | 25-Jul-2018 |
kamil | branches: 1.45.4; Appease GCC in hci_filter_test()
Cast the returned value from hci_filter_test explicitly to int, as requested by GCC when building with Undefined Behavior Sanitizer.
|
1.44 | 21-Dec-2017 |
plunky | branches: 1.44.2; 1.44.4; add HCI_SPEC_50
|
1.43 | 28-Jan-2017 |
jakllsch | branches: 1.43.6; avoid -Werror=sign-conversion
|
1.42 | 28-Jan-2017 |
christos | factor out common subexpressions.
|
1.41 | 28-Nov-2015 |
plunky | branches: 1.41.2; 1.41.4; add version and extended feature flags defined in 4.2 specification, add cache for page 2 of extended features and return this in the SIOCGBTFEAT ioctl (no change in size)
|
1.40 | 06-Sep-2015 |
dholland | More on PR 41200: headers that declare ioctls should include sys/ioccom.h. This covers (I think) all the MI headers outside of external/ (and dist/).
|
1.39 | 01-Jul-2014 |
rtr | branches: 1.39.2; 1.39.4; 1.39.6; 1.39.10; fix parameter types in pr_ioctl, called xx_control() functions and remove abuse of pointer to struct mbuf type.
param2 changed to u_long type and uses parameter name 'cmd' (ioctl command) param3 changed to void * type and uses parameter name 'data' param4 changed to struct ifnet * and uses parameter name 'ifp' param5 has been removed (formerly struct lwp *) and uses of 'l' have been replaced with curlwp from curproc(9).
callers have had (now unnecessary) casts to struct mbuf * removed, called code has had (now unnecessary) casts to u_long, void * and struct ifnet * respectively removed.
reviewed by rmind@
|
1.38 | 22-Jun-2014 |
rtr | * split PRU_CONTROL functionality out of xxx_userreq() switches and place into separate xxx_ioctl() functions. * place KASSERT(req != PRU_CONTROL) inside xxx_userreq() as it is now inappropriate for req = PRU_CONTROL in xxx_userreq(). * replace calls to pr_generic() with req = PRU_CONTROL with pr_ioctl(). * remove & fixup references to PRU_CONTROL xxx_userreq() function comments. * fix various comments references for xxx_userreq() that mentioned PRU_CONTROL as xxx_userreq() no longer handles the request.
a further change will follow to fix parameter and naming inconsistencies retained from original code.
Reviewed by rmind@
|
1.37 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.36 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.35 | 17-Sep-2011 |
plunky | branches: 1.35.12; 1.35.16; 1.35.26; const lookup argument
|
1.34 | 22-Nov-2010 |
plunky | upon device initialisation, query and cache the device features, and cache the maximum ACL/SCO packet buffers.
provide an additional SIOCGBTFEAT ioctl to retrieve the cached features, and add the max values to the SIOC?BTINFO results.
(btreq does not change size)
|
1.33 | 11-Sep-2009 |
plunky | branches: 1.33.4; add feature bits from 3.0 specification
|
1.32 | 01-Sep-2009 |
plunky | update/correct specification IDs according to recently published Assigned Numbers documents at www.bluetooth.com
|
1.31 | 20-Aug-2009 |
plunky | add a per-unit master setting, to control requesting the master role when accepting connections.
|
1.30 | 10-Aug-2009 |
plunky | remove last usage of KAUTH_ISSUSER in bluetooth code by adding some requests to the device scope:
KAUTH_DEVICE_BLUETOOTH_SEND_COMMAND KAUTH_DEVICE_BLUETOOTH_RECV_COMMAND KAUTH_DEVICE_BLUETOOTH_RECV_EVENT KAUTH_DEVICE_BLUETOOTH_RECV_DATA
and a listener tied to the HCI protocol that will approve the basic minimum to be sent and received.
handle the requests in the bsd44_suser listener by approving all when the credential is root.
|
1.29 | 14-May-2009 |
plunky | add const to unchanged argument
|
1.28 | 08-Sep-2008 |
gmcgarry | branches: 1.28.8; Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h preprocessor macros.
|
1.27 | 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.26 | 24-Apr-2008 |
ad | branches: 1.26.2; 1.26.4; 1.26.8; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.25 | 17-Mar-2008 |
plunky | branches: 1.25.2; move the updating of num_cmd_pkts to its own function, mostly so that pending commands will be output on the device in the order that they were queued.
|
1.24 | 16-Mar-2008 |
plunky | we always know the bdaddr and type of a link when creating it, so pass them to the _alloc() function and let it set them.
|
1.23 | 06-Mar-2008 |
plunky | a "Create Connection" command can sometimes fail to start for whatever reason and the command_status event returns failure but we get no indication of which connection failed (for instance in the case where we tried to open too many connections all at once)
So, keep a flag on the link to indicate pending status until the command_status event is returned to help us decide which should be failed.
|
1.22 | 10-Feb-2008 |
plunky | branches: 1.22.2; 1.22.6; add HCI definitions from the Bluetooth 2.1 spec
|
1.21 | 30-Dec-2007 |
plunky | request and keep a mask of supported commands per unit in order to block unsupported HCI commands sent by unprivileged users reaching the device.
|
1.20 | 29-Dec-2007 |
plunky | remove unused def for btr_uclass
|
1.19 | 28-Nov-2007 |
plunky | branches: 1.19.6; Clean up the way that bluetooth drivers attach to the bluetooth stack, to remove the frobbing that drivers must do in the hci_unit structure.
- driver provides a static const interface descriptor - hci_unit is allocated by hci_attach() rather than part of softc - statistics are compiled by driver and provided on request - driver provides output methods and is responsible for output queue - stack provides input methods and is responsible for input queue - mutex is used to arbitrate device queue access
|
1.18 | 12-Nov-2007 |
plunky | include <sys/device.h> for device_t
|
1.17 | 10-Nov-2007 |
plunky | use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.16 | 10-Nov-2007 |
plunky | 'struct device *' -> 'device-t'
|
1.15 | 03-Nov-2007 |
plunky | branches: 1.15.2; "struct callout" -> callout_t don't use callout_reset() do use callout_destroy()
|
1.14 | 02-Nov-2007 |
plunky | constify hci_devname
|
1.13 | 16-Sep-2007 |
plunky | branches: 1.13.4; improve memo taking of known bluetooth devices
- centralise creation of new memo into function hci_memo_new(), when a memo exists for that address, just update the timestamp.
- all results of inquiry/rssi result are processed; even if no memo can be allocated, we may update a timestamp.
- for new connections, query the clock offset of the remote device, in order that we can use it to facilitate future reconnections
- as a connection is removed, make a memo of the clock offset
|
1.12 | 07-Sep-2007 |
plunky | add event processing for "Inquiry result with RSSI", and modify the memo contents so that this will fit.
|
1.11 | 07-Sep-2007 |
plunky | adjust typedef name for consistency with other parts, since hci_rssi_response is only a packet segment it should not be in _ep namespace.
|
1.10 | 21-Apr-2007 |
plunky | branches: 1.10.2; 1.10.6; 1.10.8; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.9 | 20-Feb-2007 |
kiyohara | branches: 1.9.4; 1.9.6; Supprot Bluetooth HCI UART (H4) driver and daemon.
|
1.8 | 21-Dec-2006 |
yamt | branches: 1.8.2; merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie). http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html - complete workqueue(9) and fix its ipl problem, which is reported to cause audio skipping. - fix netbt (at least compilation problems) for some ports. - fix PR/33218.
|
1.7 | 16-Nov-2006 |
christos | branches: 1.7.2; 1.7.4; __unused removal on arguments; approved by core.
|
1.6 | 01-Oct-2006 |
plunky | Reduce memory usage by not allocating a chunk for a bitmask.
|
1.5 | 10-Sep-2006 |
plunky | branches: 1.5.2; update to bluetooth device attachment:
remove pseudo-device btdev(4) and inherent limitations
add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here.
btdevctl(8) and its cache is updated to handle new semantics
etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf
|
1.4 | 27-Aug-2006 |
plunky | branches: 1.4.2; 1.4.4; BluetootH SCO Audio update.
Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent.
Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program.
Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access.
Fix incoming connection handling for btsco(4) and SCO sockets.
Fix documentation to reflect the new world order.
|
1.3 | 26-Jul-2006 |
tron | branches: 1.3.2; Bluetooth fixes by Iain Hibbert: - Clarify some deprecated commands from the 2.0 spec.
|
1.2 | 23-Jul-2006 |
ad | Use the LWP cached credentials where sane.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file hci.h was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.5 | 14-Sep-2006 |
yamt | sync with head.
|
1.1.6.4 | 03-Sep-2006 |
yamt | sync with head.
|
1.1.6.3 | 11-Aug-2006 |
yamt | sync with head
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file hci.h was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file hci.h was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.12 | 24-Mar-2008 |
yamt | sync with head.
|
1.1.2.11 | 17-Mar-2008 |
yamt | sync with head.
|
1.1.2.10 | 11-Feb-2008 |
yamt | sync with head.
|
1.1.2.9 | 21-Jan-2008 |
yamt | sync with head
|
1.1.2.8 | 07-Dec-2007 |
yamt | sync with head
|
1.1.2.7 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.6 | 27-Oct-2007 |
yamt | sync with head.
|
1.1.2.5 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.4 | 26-Feb-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file hci.h was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.2.2 | 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.3.2.1 | 07-Sep-2006 |
tron | Pull up following revision(s) (requested by plunky in ticket #81): sys/netbt/sco_upper.c: revision 1.2 usr.sbin/btconfig/btconfig.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.3 usr.sbin/btconfig/btconfig.8: revision 1.4 usr.sbin/btdevctl/btdevctl.8: revision 1.2 sys/netbt/files.netbt: revision 1.3 sys/netbt/bt_proto.c: revision 1.2 share/man/man4/ubt.4: revision 1.4 usr.sbin/btdevctl/cfg.c: revision 1.3 sys/netbt/hci.h: revision 1.4 share/man/man4/bluetooth.4: revision 1.2 share/man/man4/btsco.4: revision 1.4 sys/dev/bluetooth/btsco.c: revision 1.2 sys/netbt/bt_sysctl.c: revision 1.2 BluetootH SCO Audio update. Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent. Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program. Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access. Fix incoming connection handling for btsco(4) and SCO sockets. Fix documentation to reflect the new world order.
|
1.4.4.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.4.4.1 | 27-Aug-2006 |
rpaulo | file hci.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.4.2.2 | 12-Jan-2007 |
ad | Sync with head.
|
1.4.2.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.5.2.3 | 10-Dec-2006 |
yamt | sync with head.
|
1.5.2.2 | 22-Oct-2006 |
yamt | sync with head
|
1.5.2.1 | 18-Sep-2006 |
yamt | adapt to new api.
|
1.7.4.2 | 23-Sep-2007 |
wrstuden | Sync with somewhat-recent netbsd-4.
|
1.7.4.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.7.2.2 | 11-Sep-2007 |
msaitoh | Pull up rev. 1.11 (requested by plunky in ticket #871):
adjust typedef name for consistency with other parts, since hci_rssi_response is only a packet segment it should not be in _ep namespace.
|
1.7.2.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.8.2.2 | 07-May-2007 |
yamt | sync with head.
|
1.8.2.1 | 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.9.6.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.9.4.2 | 09-Oct-2007 |
ad | Sync with head.
|
1.9.4.1 | 08-Jun-2007 |
ad | Sync with head.
|
1.10.8.3 | 23-Mar-2008 |
matt | sync with HEAD
|
1.10.8.2 | 09-Jan-2008 |
matt | sync with HEAD
|
1.10.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.10.6.5 | 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.10.6.4 | 14-Nov-2007 |
joerg | Sync with HEAD.
|
1.10.6.3 | 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.10.6.2 | 04-Nov-2007 |
jmcneill | Sync with HEAD.
|
1.10.6.1 | 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.10.2.1 | 10-Sep-2007 |
skrll | Sync with HEAD.
|
1.13.4.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.15.2.3 | 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.15.2.2 | 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.15.2.1 | 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.19.6.1 | 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.22.6.3 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.22.6.2 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.22.6.1 | 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.22.2.1 | 24-Mar-2008 |
keiichi | sync with head.
|
1.25.2.1 | 18-May-2008 |
yamt | sync with head.
|
1.26.8.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.26.4.2 | 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.26.4.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.26.2.4 | 16-Sep-2009 |
yamt | sync with head
|
1.26.2.3 | 19-Aug-2009 |
yamt | sync with head.
|
1.26.2.2 | 16-May-2009 |
yamt | sync with head
|
1.26.2.1 | 04-May-2009 |
yamt | sync with head.
|
1.28.8.1 | 23-Jul-2009 |
jym | Sync with HEAD.
|
1.33.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.35.26.1 | 10-Aug-2014 |
tls | Rebase.
|
1.35.16.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.35.12.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.35.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.39.10.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #1709):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.39.6.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #1709):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.39.4.3 | 05-Feb-2017 |
skrll | Sync with HEAD
|
1.39.4.2 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.39.4.1 | 22-Sep-2015 |
skrll | Sync with HEAD
|
1.39.2.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #1709):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.41.4.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.41.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.43.6.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #1395):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.44.4.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.44.4.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.44.2.1 | 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.45.4.2 | 25-Aug-2025 |
martin | Pull up following revision(s) (requested by plunky in ticket #1966):
sys/netbt/hci.h: revision 1.47
fix copy-paste error. Sniff Subrating command should be 0x000811
|
1.45.4.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #260):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.46.34.1 | 25-Aug-2025 |
martin | Pull up following revision(s) (requested by plunky in ticket #15):
sys/netbt/hci.h: revision 1.47
fix copy-paste error. Sniff Subrating command should be 0x000811
|
1.46.26.1 | 25-Aug-2025 |
martin | Pull up following revision(s) (requested by plunky in ticket #1151):
sys/netbt/hci.h: revision 1.47
fix copy-paste error. Sniff Subrating command should be 0x000811
|
1.26 | 28-Sep-2019 |
plunky | When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506
https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.25 | 21-Aug-2018 |
plunky | branches: 1.25.4;
Result of audit to check that mbuf length is checked before m_copydata() and that any data supposedly copied out is valid before use.
prompted by maxv@, I have checked every usage of m_copydata() and made the following corrections
hci_event.c: hci_event_command_compl() check that the packet does contain enough data for there to be a status code before noting possible failures.
hci_event_num_compl_pkts() check that the packet does contain data to cover the stated number of handle/num pairs
l2cap_signal.c: l2cap_recv_signal() just ignore packets with not enough data rather than trying to reject them (may not have cmd.ident)
l2cap_recv_command_rej() check we have a valid reason and/or data before use
|
1.24 | 28-Nov-2015 |
plunky | branches: 1.24.10; 1.24.16; 1.24.18; add version and extended feature flags defined in 4.2 specification, add cache for page 2 of extended features and return this in the SIOCGBTFEAT ioctl (no change in size)
|
1.23 | 27-Jul-2011 |
plunky | branches: 1.23.12; 1.23.28; 1.23.30; 1.23.32; 1.23.36;
cleanup some DIAGNOSTIC and KASSERT code
- remove #ifdef DIAGNOSTIC, so that we won't act differently
- handle the cases where a Bluetooth adapter sends invalid packet data (I've not seen this, but it is not impossible)
- use KASSERT for actual impossible situations (to catch bad future development)
|
1.22 | 22-Nov-2010 |
plunky | upon device initialisation, query and cache the device features, and cache the maximum ACL/SCO packet buffers.
provide an additional SIOCGBTFEAT ioctl to retrieve the cached features, and add the max values to the SIOC?BTINFO results.
(btreq does not change size)
|
1.21 | 12-Sep-2009 |
plunky | branches: 1.21.4; slight reordering, plus only deal with ACL links
|
1.20 | 24-Aug-2009 |
plunky | add devices seen in "Extended Inquiry Result" to the cache
|
1.19 | 20-Aug-2009 |
plunky | add a per-unit master setting, to control requesting the master role when accepting connections.
|
1.18 | 24-Apr-2008 |
ad | branches: 1.18.2; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.17 | 17-Mar-2008 |
plunky | branches: 1.17.2; move the updating of num_cmd_pkts to its own function, mostly so that pending commands will be output on the device in the order that they were queued.
|
1.16 | 16-Mar-2008 |
plunky | insert new links at the tail of the queue so that if a create_connection command fails to start we can find the relevant link, since it will be the first one with the pending flag set.
|
1.15 | 06-Mar-2008 |
plunky | a "Create Connection" command can sometimes fail to start for whatever reason and the command_status event returns failure but we get no indication of which connection failed (for instance in the case where we tried to open too many connections all at once)
So, keep a flag on the link to indicate pending status until the command_status event is returned to help us decide which should be failed.
|
1.14 | 10-Feb-2008 |
plunky | branches: 1.14.2; 1.14.6; add HCI definitions from the Bluetooth 2.1 spec
|
1.13 | 30-Dec-2007 |
plunky | request and keep a mask of supported commands per unit in order to block unsupported HCI commands sent by unprivileged users reaching the device.
|
1.12 | 28-Nov-2007 |
plunky | branches: 1.12.6; [experimentally] report failing commands
this does happen sometimes and I would like to see if it happens more often than I know of.
|
1.11 | 28-Nov-2007 |
plunky | Clean up the way that bluetooth drivers attach to the bluetooth stack, to remove the frobbing that drivers must do in the hci_unit structure.
- driver provides a static const interface descriptor - hci_unit is allocated by hci_attach() rather than part of softc - statistics are compiled by driver and provided on request - driver provides output methods and is responsible for output queue - stack provides input methods and is responsible for input queue - mutex is used to arbitrate device queue access
|
1.10 | 10-Nov-2007 |
plunky | use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.9 | 16-Sep-2007 |
plunky | branches: 1.9.4; 1.9.6; improve memo taking of known bluetooth devices
- centralise creation of new memo into function hci_memo_new(), when a memo exists for that address, just update the timestamp.
- all results of inquiry/rssi result are processed; even if no memo can be allocated, we may update a timestamp.
- for new connections, query the clock offset of the remote device, in order that we can use it to facilitate future reconnections
- as a connection is removed, make a memo of the clock offset
|
1.8 | 07-Sep-2007 |
plunky | add event processing for "Inquiry result with RSSI", and modify the memo contents so that this will fit.
|
1.7 | 19-Jul-2007 |
plunky | branches: 1.7.4; 1.7.6; 1.7.8; not necessary to cast to (void *) (from caddr_t removal)
|
1.6 | 21-Apr-2007 |
plunky | branches: 1.6.2; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.5 | 05-Apr-2007 |
plunky | remove default setting of bluetooth_debug, since 'options BLUETOOTH_DEBUG' causes it to fail
|
1.4 | 15-Mar-2007 |
plunky | remove C++ style comments
|
1.3 | 04-Mar-2007 |
christos | branches: 1.3.2; 1.3.4; 1.3.6; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.2 | 11-Sep-2006 |
plunky | branches: 1.2.4; 1.2.6; 1.2.10; Endian issues:
hci_event.c: - Convert memo->response.clock_offset to host-endian.
hci_ioctl.c: - printf format tweak (size_t)
hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message.
l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian.
from scw@
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.14; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file hci_event.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.1.12.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.1.10.1 | 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file hci_event.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.3 | 14-Sep-2006 |
yamt | sync with head.
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file hci_event.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file hci_event.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.11 | 24-Mar-2008 |
yamt | sync with head.
|
1.1.2.10 | 17-Mar-2008 |
yamt | sync with head.
|
1.1.2.9 | 11-Feb-2008 |
yamt | sync with head.
|
1.1.2.8 | 21-Jan-2008 |
yamt | sync with head
|
1.1.2.7 | 07-Dec-2007 |
yamt | sync with head
|
1.1.2.6 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.5 | 27-Oct-2007 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file hci_event.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.10.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.2.6.4 | 07-May-2007 |
yamt | sync with head.
|
1.2.6.3 | 15-Apr-2007 |
yamt | sync with head.
|
1.2.6.2 | 24-Mar-2007 |
yamt | sync with head.
|
1.2.6.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.2.4.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.3.6.1 | 18-Mar-2007 |
reinoud | First attempt to bring branch in sync with HEAD
|
1.3.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.3.2.4 | 09-Oct-2007 |
ad | Sync with head.
|
1.3.2.3 | 20-Aug-2007 |
ad | Sync with HEAD.
|
1.3.2.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.3.2.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.6.2.2 | 10-Sep-2007 |
skrll | Sync with HEAD.
|
1.6.2.1 | 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.7.8.2 | 19-Jul-2007 |
plunky | not necessary to cast to (void *) (from caddr_t removal)
|
1.7.8.1 | 19-Jul-2007 |
plunky | file hci_event.c was added on branch matt-mips64 on 2007-07-19 20:48:52 +0000
|
1.7.6.3 | 23-Mar-2008 |
matt | sync with HEAD
|
1.7.6.2 | 09-Jan-2008 |
matt | sync with HEAD
|
1.7.6.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.7.4.3 | 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.7.4.2 | 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.7.4.1 | 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.9.6.3 | 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.9.6.2 | 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.9.6.1 | 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.9.4.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.12.6.1 | 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.14.6.2 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.14.6.1 | 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.14.2.1 | 24-Mar-2008 |
keiichi | sync with head.
|
1.17.2.1 | 18-May-2008 |
yamt | sync with head.
|
1.18.2.1 | 16-Sep-2009 |
yamt | sync with head
|
1.21.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.23.36.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #1709):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.23.32.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #1709):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.23.30.1 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.23.28.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #1709):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.23.12.1 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.24.18.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.24.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.24.16.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.24.10.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #1395):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.25.4.1 | 28-Sep-2019 |
martin | Pull up following revision(s) (requested by plunky in ticket #260):
sys/netbt/hci_event.c: revision 1.26 sys/netbt/hci.h: revision 1.46
When encrypted connections are configured, verify that the encryption key length has a minimum size when the adaptor supports that.
This addresses the 'Key Negotiation of Bluetooth' attack, CVE-2019-9506 https://www.bluetooth.com/security/statement-key-negotiation-of-bluetooth/
|
1.15 | 21-Sep-2021 |
christos | don't opencode kauth_cred_get()
|
1.14 | 03-Feb-2019 |
mrg | - add or adjust /* FALLTHROUGH */ where appropriate - add __unreachable() after functions that can return but won't in this case, and thus can't be marked __dead easily
|
1.13 | 28-Nov-2015 |
plunky | branches: 1.13.18; add version and extended feature flags defined in 4.2 specification, add cache for page 2 of extended features and return this in the SIOCGBTFEAT ioctl (no change in size)
|
1.12 | 01-Jul-2014 |
rtr | branches: 1.12.4; fix parameter types in pr_ioctl, called xx_control() functions and remove abuse of pointer to struct mbuf type.
param2 changed to u_long type and uses parameter name 'cmd' (ioctl command) param3 changed to void * type and uses parameter name 'data' param4 changed to struct ifnet * and uses parameter name 'ifp' param5 has been removed (formerly struct lwp *) and uses of 'l' have been replaced with curlwp from curproc(9).
callers have had (now unnecessary) casts to struct mbuf * removed, called code has had (now unnecessary) casts to u_long, void * and struct ifnet * respectively removed.
reviewed by rmind@
|
1.11 | 22-Jun-2014 |
rtr | * split PRU_CONTROL functionality out of xxx_userreq() switches and place into separate xxx_ioctl() functions. * place KASSERT(req != PRU_CONTROL) inside xxx_userreq() as it is now inappropriate for req = PRU_CONTROL in xxx_userreq(). * replace calls to pr_generic() with req = PRU_CONTROL with pr_ioctl(). * remove & fixup references to PRU_CONTROL xxx_userreq() function comments. * fix various comments references for xxx_userreq() that mentioned PRU_CONTROL as xxx_userreq() no longer handles the request.
a further change will follow to fix parameter and naming inconsistencies retained from original code.
Reviewed by rmind@
|
1.10 | 22-Nov-2010 |
plunky | branches: 1.10.18; 1.10.32; upon device initialisation, query and cache the device features, and cache the maximum ACL/SCO packet buffers.
provide an additional SIOCGBTFEAT ioctl to retrieve the cached features, and add the max values to the SIOC?BTINFO results.
(btreq does not change size)
|
1.9 | 20-Aug-2009 |
plunky | branches: 1.9.4; add a per-unit master setting, to control requesting the master role when accepting connections.
|
1.8 | 03-May-2009 |
elad | Add a bluetooth action to the device scope and use it in netbt as a replacement for KAUTH_GENERIC_ISSUSER.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/04/25/msg004905.html
Bluetooth-specific authorization wrapper might come later.
|
1.7 | 28-Nov-2007 |
plunky | branches: 1.7.18; 1.7.32; Clean up the way that bluetooth drivers attach to the bluetooth stack, to remove the frobbing that drivers must do in the hci_unit structure.
- driver provides a static const interface descriptor - hci_unit is allocated by hci_attach() rather than part of softc - statistics are compiled by driver and provided on request - driver provides output methods and is responsible for output queue - stack provides input methods and is responsible for input queue - mutex is used to arbitrate device queue access
|
1.6 | 10-Nov-2007 |
plunky | use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.5 | 04-Jan-2007 |
elad | branches: 1.5.18; 1.5.20; 1.5.24; 1.5.26; Consistent usage of KAUTH_GENERIC_ISSUSER.
|
1.4 | 11-Sep-2006 |
plunky | Endian issues:
hci_event.c: - Convert memo->response.clock_offset to host-endian.
hci_ioctl.c: - printf format tweak (size_t)
hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message.
l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian.
from scw@
|
1.3 | 27-Aug-2006 |
plunky | branches: 1.3.2; 1.3.4; BluetootH SCO Audio update.
Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent.
Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program.
Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access.
Fix incoming connection handling for btsco(4) and SCO sockets.
Fix documentation to reflect the new world order.
|
1.2 | 23-Jul-2006 |
ad | branches: 1.2.2; Use the LWP cached credentials where sane.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file hci_ioctl.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.5 | 14-Sep-2006 |
yamt | sync with head.
|
1.1.6.4 | 03-Sep-2006 |
yamt | sync with head.
|
1.1.6.3 | 11-Aug-2006 |
yamt | sync with head
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file hci_ioctl.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file hci_ioctl.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.6 | 07-Dec-2007 |
yamt | sync with head
|
1.1.2.5 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.4 | 26-Feb-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file hci_ioctl.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.2.2 | 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.2.2.1 | 07-Sep-2006 |
tron | Pull up following revision(s) (requested by plunky in ticket #81): sys/netbt/sco_upper.c: revision 1.2 usr.sbin/btconfig/btconfig.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.3 usr.sbin/btconfig/btconfig.8: revision 1.4 usr.sbin/btdevctl/btdevctl.8: revision 1.2 sys/netbt/files.netbt: revision 1.3 sys/netbt/bt_proto.c: revision 1.2 share/man/man4/ubt.4: revision 1.4 usr.sbin/btdevctl/cfg.c: revision 1.3 sys/netbt/hci.h: revision 1.4 share/man/man4/bluetooth.4: revision 1.2 share/man/man4/btsco.4: revision 1.4 sys/dev/bluetooth/btsco.c: revision 1.2 sys/netbt/bt_sysctl.c: revision 1.2 BluetootH SCO Audio update. Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent. Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program. Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access. Fix incoming connection handling for btsco(4) and SCO sockets. Fix documentation to reflect the new world order.
|
1.3.4.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.3.4.1 | 27-Aug-2006 |
rpaulo | file hci_ioctl.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.3.2.2 | 12-Jan-2007 |
ad | Sync with head.
|
1.3.2.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.5.26.2 | 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.5.26.1 | 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.5.24.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.5.20.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.5.18.2 | 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.5.18.1 | 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.7.32.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.7.18.2 | 16-Sep-2009 |
yamt | sync with head
|
1.7.18.1 | 04-May-2009 |
yamt | sync with head.
|
1.9.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.10.32.1 | 10-Aug-2014 |
tls | Rebase.
|
1.10.18.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.10.18.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.12.4.1 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.13.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.1 | 13-Mar-2024 |
nat | Bluetooth low energy - A beginning at least.
This was the start of support for low energy bluetooth support that I have not as yet completed.
I'm committing this as it gives the hci defines for an impementation in NetBSD.
|
1.27 | 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.26 | 04-Dec-2021 |
andvar | branches: 1.26.10; fix typos in comments and log messages, mainly in establish(ed).
|
1.25 | 07-Sep-2018 |
plunky | two issues noted by maxv@
1. If an adaptor sends repeated fragments indicating HCI_PACKET_START, we would leak mbufs. Fix that by releasing the previous in that case.
2. If an adaptor sends fragments which overflow the expected total payload length, it could build up the pending packet to use up system mbufs. Fix that by changing the unsigned calculation to a comparison and rejecting oversize packets
|
1.24 | 20-May-2014 |
rmind | branches: 1.24.26; 1.24.28; netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.23 | 27-Jul-2011 |
plunky | branches: 1.23.12; 1.23.26;
cleanup some DIAGNOSTIC and KASSERT code
- remove #ifdef DIAGNOSTIC, so that we won't act differently
- handle the cases where a Bluetooth adapter sends invalid packet data (I've not seen this, but it is not impossible)
- use KASSERT for actual impossible situations (to catch bad future development)
|
1.22 | 14-Oct-2010 |
plunky | Some Broadcom controllers emit empty ACL packets during connection setup, using the handle that they have not yet told us for the connection-to-be. Disconnecting can cause problems so just ignore zero length ACL packets on unknown connection handles.
fixes a problem reported by Nick Hudson
|
1.21 | 24-Sep-2009 |
plunky | branches: 1.21.2; 1.21.4; Only accept incoming ACL connections when there is potential L2CAP listener available.
|
1.20 | 24-Apr-2008 |
ad | branches: 1.20.2; 1.20.12; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.19 | 16-Mar-2008 |
plunky | branches: 1.19.2; we always know the bdaddr and type of a link when creating it, so pass them to the _alloc() function and let it set them.
|
1.18 | 16-Mar-2008 |
plunky | insert new links at the tail of the queue so that if a create_connection command fails to start we can find the relevant link, since it will be the first one with the pending flag set.
|
1.17 | 06-Mar-2008 |
plunky | a "Create Connection" command can sometimes fail to start for whatever reason and the command_status event returns failure but we get no indication of which connection failed (for instance in the case where we tried to open too many connections all at once)
So, keep a flag on the link to indicate pending status until the command_status event is returned to help us decide which should be failed.
|
1.16 | 10-Nov-2007 |
plunky | branches: 1.16.10; 1.16.14; use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.15 | 03-Nov-2007 |
plunky | branches: 1.15.2; "struct callout" -> callout_t don't use callout_reset() do use callout_destroy()
|
1.14 | 16-Sep-2007 |
plunky | branches: 1.14.4; improve memo taking of known bluetooth devices
- centralise creation of new memo into function hci_memo_new(), when a memo exists for that address, just update the timestamp.
- all results of inquiry/rssi result are processed; even if no memo can be allocated, we may update a timestamp.
- for new connections, query the clock offset of the remote device, in order that we can use it to facilitate future reconnections
- as a connection is removed, make a memo of the clock offset
|
1.13 | 07-Sep-2007 |
plunky | add event processing for "Inquiry result with RSSI", and modify the memo contents so that this will fit.
|
1.12 | 09-Jul-2007 |
ad | branches: 1.12.2; 1.12.6; 1.12.8; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.11 | 21-Apr-2007 |
plunky | Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.10 | 30-Mar-2007 |
plunky | be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.9 | 26-Dec-2006 |
alc | branches: 1.9.2; 1.9.6; 1.9.8; CID-3819: `n' is always NULL here, remove dead code.
|
1.8 | 16-Nov-2006 |
christos | branches: 1.8.2; 1.8.4; __unused removal on arguments; approved by core.
|
1.7 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.6 | 04-Oct-2006 |
christos | fix empty if
|
1.5 | 11-Sep-2006 |
plunky | branches: 1.5.2; Endian issues:
hci_event.c: - Convert memo->response.clock_offset to host-endian.
hci_ioctl.c: - printf format tweak (size_t)
hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message.
l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian.
from scw@
|
1.4 | 11-Sep-2006 |
plunky | hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator.
rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator.
from scw@
|
1.3 | 26-Jul-2006 |
tron | branches: 1.3.2; 1.3.4; 1.3.6; Bluetooth fixes by Iain Hibbert: - Enable listening and incoming connections for SCO links.
|
1.2 | 26-Jul-2006 |
tron | Bluetooth fixes by Iain Hibbert: - Utilise cached inquiry results when making connections.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file hci_link.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.4 | 14-Sep-2006 |
yamt | sync with head.
|
1.1.6.3 | 11-Aug-2006 |
yamt | sync with head
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file hci_link.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file hci_link.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.7 | 17-Mar-2008 |
yamt | sync with head.
|
1.1.2.6 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.5 | 27-Oct-2007 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file hci_link.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.6.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.3.6.1 | 26-Jul-2006 |
rpaulo | file hci_link.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:38 +0000
|
1.3.4.2 | 12-Jan-2007 |
ad | Sync with head.
|
1.3.4.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.3.2.1 | 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.5.2.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.5.2.1 | 22-Oct-2006 |
yamt | sync with head
|
1.8.4.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.8.2.2 | 21-Nov-2010 |
riz | Pull up following revision(s) (requested by plunky in ticket #1409): sys/netbt/hci_link.c: revision 1.22 Some Broadcom controllers emit empty ACL packets during connection setup, using the handle that they have not yet told us for the connection-to-be. Disconnecting can cause problems so just ignore zero length ACL packets on unknown connection handles. fixes a problem reported by Nick Hudson
|
1.8.2.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.9.8.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.9.6.4 | 09-Oct-2007 |
ad | Sync with head.
|
1.9.6.3 | 01-Jul-2007 |
ad | Adapt to callout API change.
|
1.9.6.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.9.6.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.9.2.2 | 07-May-2007 |
yamt | sync with head.
|
1.9.2.1 | 15-Apr-2007 |
yamt | sync with head.
|
1.12.8.3 | 23-Mar-2008 |
matt | sync with HEAD
|
1.12.8.2 | 09-Jan-2008 |
matt | sync with HEAD
|
1.12.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.12.6.3 | 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.12.6.2 | 04-Nov-2007 |
jmcneill | Sync with HEAD.
|
1.12.6.1 | 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.12.2.1 | 10-Sep-2007 |
skrll | Sync with HEAD.
|
1.14.4.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.15.2.1 | 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.16.14.2 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.16.14.1 | 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.16.10.1 | 24-Mar-2008 |
keiichi | sync with head.
|
1.19.2.1 | 18-May-2008 |
yamt | sync with head.
|
1.20.12.1 | 21-Nov-2010 |
riz | Pull up following revision(s) (requested by plunky in ticket #1461): sys/netbt/hci_link.c: revision 1.22 Some Broadcom controllers emit empty ACL packets during connection setup, using the handle that they have not yet told us for the connection-to-be. Disconnecting can cause problems so just ignore zero length ACL packets on unknown connection handles. fixes a problem reported by Nick Hudson
|
1.20.2.1 | 11-Mar-2010 |
yamt | sync with head
|
1.21.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.21.2.1 | 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.23.26.1 | 10-Aug-2014 |
tls | Rebase.
|
1.23.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.24.28.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.24.26.1 | 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
1.26.10.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.4 | 22-Nov-2021 |
msaitoh | s/repsonse/response/ in comment.
|
1.3 | 16-Sep-2007 |
plunky | improve memo taking of known bluetooth devices
- centralise creation of new memo into function hci_memo_new(), when a memo exists for that address, just update the timestamp.
- all results of inquiry/rssi result are processed; even if no memo can be allocated, we may update a timestamp.
- for new connections, query the clock offset of the remote device, in order that we can use it to facilitate future reconnections
- as a connection is removed, make a memo of the clock offset
|
1.2 | 07-Sep-2007 |
plunky | add event processing for "Inquiry result with RSSI", and modify the memo contents so that this will fit.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.24; 1.1.34; 1.1.38; 1.1.40; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.40.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.1.38.1 | 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.1.34.1 | 10-Sep-2007 |
skrll | Sync with HEAD.
|
1.1.24.1 | 09-Oct-2007 |
ad | Sync with head.
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file hci_misc.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file hci_misc.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file hci_misc.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file hci_misc.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.3 | 27-Oct-2007 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file hci_misc.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.48 | 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.47 | 28-Sep-2019 |
plunky | branches: 1.47.32; permit read_encryption_key_size from userland
|
1.46 | 28-Jan-2019 |
martin | Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.45 | 22-Dec-2015 |
plunky | branches: 1.45.10; 1.45.18; there is no longer a reason to have a separate hci_send function now that the hci_usrreq function is disassembled, so merge hci_send_pcb back into hci_send()
|
1.44 | 02-May-2015 |
rtr | make connect syscall use sockaddr_big and modify pr_{send,connect} nam parameter type from buf * to sockaddr *.
final commit for parameter type changes to protocol user requests
* bump kernel version to 7.99.15 for parameter type changes to pr_{send,connect}
|
1.43 | 26-Apr-2015 |
rtr | remove pr_generic from struct pr_usrreqs and all implementations of pr_generic in protocols.
bump to 7.99.13
approved by rmind@
|
1.42 | 24-Apr-2015 |
rtr | make accept, getsockname and getpeername syscalls use sockaddr_big and modify pr_{accept,sockname,peername} nam parameter type from mbuf * to sockaddr *.
* retained use of mbuftypes[MT_SONAME] for now. * bump to netbsd version 7.99.12 for parameter type change.
patch posted to tech-net@ 2015/04/19
|
1.41 | 03-Apr-2015 |
rtr | * change pr_bind to accept struct sockaddr * instead of struct mbuf * * update protocol bind implementations to use/expect sockaddr * instead of mbuf * * introduce sockaddr_big struct for storage of addr data passed via sys_bind; sockaddr_big is of sufficient size and alignment to accommodate all addr data sizes received. * modify sys_bind to allocate sockaddr_big instead of using an mbuf. * bump kernel version to 7.99.9 for change to pr_bind() parameter type.
Patch posted to tech-net@ http://mail-index.netbsd.org/tech-net/2015/03/15/msg005004.html
The choice to use a new structure sockaddr_big has been retained since changing sockaddr_storage size would lead to unnecessary ABI change. The use of the new structure does not preclude future work that increases the size of sockaddr_storage and at that time sockaddr_big may be trivially replaced.
Tested by mrg@ and myself, discussed with rmind@, posted to tech-net@
|
1.40 | 09-Aug-2014 |
rtr | branches: 1.40.2; 1.40.4; 1.40.6; 1.40.10; split PRU_CONNECT2 & PRU_PURGEIF function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented (for PRU_CONNECT2 only)
- replace calls to pr_generic() with req = PRU_CONNECT2 with calls to pr_connect2()
- replace calls to pr_generic() with req = PRU_PURGEIF with calls to pr_purgeif()
put common code from unp_connect2() (used by unp_connect() into unp_connect1() and call out to it when needed
patch only briefly reviewed by rmind@
|
1.39 | 08-Aug-2014 |
rtr | split PRU_RCVD function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_RCVD with calls to pr_rcvd()
|
1.38 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.37 | 05-Aug-2014 |
rtr | revert the removal of struct lwp * parameter from bind, listen and connect user requests.
this should resolve the issue relating to nfs client hangs presented recently by wiz on current-users@
|
1.36 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.35 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.34 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.33 | 23-Jul-2014 |
rtr | split PRU_SENDOOB and PRU_RCVOOB function out of pr_generic() usrreq switches and put into separate functions xxx_sendoob(struct socket *, struct mbuf *, struct mbuf *) xxx_recvoob(struct socket *, struct mbuf *, int)
- always KASSERT(solocked(so)) even if request is not implemented
- replace calls to pr_generic() with req = PRU_{SEND,RCV}OOB with calls to pr_{send,recv}oob() respectively.
there is still some tweaking of m_freem(m) and m_freem(control) to come for consistency. not performed with this commit for clarity.
reviewed by rmind
|
1.32 | 09-Jul-2014 |
rtr | * split PRU_ACCEPT function out of pr_generic() usrreq switches and put into a separate function xxx_accept(struct socket *, struct mbuf *)
note: future cleanup will take place to remove struct mbuf parameter type and replace it with a more appropriate type.
patch reviewed by rmind
|
1.31 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.30 | 07-Jul-2014 |
rtr | * sprinkle KASSERT(solocked(so)); in all pr_stat() functions. * fix remaining inconsistent struct socket parameter names.
|
1.29 | 07-Jul-2014 |
rtr | backout change that made pr_stat return EOPNOTSUPP for protocols that were not filling in struct stat.
decision made after further discussion with rmind and investigation of how other operating systems behave. soo_stat() is doing just enough to be able to call what gets returned valid and thus justifys a return of success.
additional review will be done to determine of the pr_stat functions that were already returning EOPNOTSUPP can be considered successful with what soo_stat() is doing.
|
1.28 | 07-Jul-2014 |
rtr | * have pr_stat return EOPNOTSUPP consistently for all protocols that do not fill in struct stat instead of returning success.
* in pr_stat remove all checks for non-NULL so->so_pcb except where the pcb is actually used (i.e. cases where we don't return EOPNOTSUPP).
proposed on tech-net@
|
1.27 | 06-Jul-2014 |
rtr | * split PRU_SENSE functionality out of xxx_usrreq() switches and place into separate xxx_stat(struct socket *, struct stat *) functions. * replace calls using pr_generic with req == PRU_SENSE with pr_stat().
further change will follow that cleans up the pattern used to extract the pcb and test for its presence.
reviewed by rmind
|
1.26 | 01-Jul-2014 |
rtr | fix parameter types in pr_ioctl, called xx_control() functions and remove abuse of pointer to struct mbuf type.
param2 changed to u_long type and uses parameter name 'cmd' (ioctl command) param3 changed to void * type and uses parameter name 'data' param4 changed to struct ifnet * and uses parameter name 'ifp' param5 has been removed (formerly struct lwp *) and uses of 'l' have been replaced with curlwp from curproc(9).
callers have had (now unnecessary) casts to struct mbuf * removed, called code has had (now unnecessary) casts to u_long, void * and struct ifnet * respectively removed.
reviewed by rmind@
|
1.25 | 22-Jun-2014 |
rtr | * split PRU_CONTROL functionality out of xxx_userreq() switches and place into separate xxx_ioctl() functions. * place KASSERT(req != PRU_CONTROL) inside xxx_userreq() as it is now inappropriate for req = PRU_CONTROL in xxx_userreq(). * replace calls to pr_generic() with req = PRU_CONTROL with pr_ioctl(). * remove & fixup references to PRU_CONTROL xxx_userreq() function comments. * fix various comments references for xxx_userreq() that mentioned PRU_CONTROL as xxx_userreq() no longer handles the request.
a further change will follow to fix parameter and naming inconsistencies retained from original code.
Reviewed by rmind@
|
1.24 | 20-May-2014 |
rmind | Adjust PR_WRAP_USRREQS() to include the attach/detach functions. We still need the kernel-lock for some corner cases.
|
1.23 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.22 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.21 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.20 | 30-Jan-2011 |
plunky | branches: 1.20.14; 1.20.18; 1.20.28; add (SOL_SOCKET, SO_TIMESTAMP) messages if requested
|
1.19 | 10-Aug-2009 |
plunky | branches: 1.19.4; 1.19.6; 1.19.8; reduce the number of KAUTH_DEVICE_BLUETOOTH_SEND/RECV requests by passing the packet type as an argument rather than having a different request for each type.
(from a suggestion by mrg)
|
1.18 | 10-Aug-2009 |
plunky | remove last usage of KAUTH_ISSUSER in bluetooth code by adding some requests to the device scope:
KAUTH_DEVICE_BLUETOOTH_SEND_COMMAND KAUTH_DEVICE_BLUETOOTH_RECV_COMMAND KAUTH_DEVICE_BLUETOOTH_RECV_EVENT KAUTH_DEVICE_BLUETOOTH_RECV_DATA
and a listener tied to the HCI protocol that will approve the basic minimum to be sent and received.
handle the requests in the bsd44_suser listener by approving all when the credential is root.
|
1.17 | 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.16 | 29-Apr-2008 |
ad | branches: 1.16.2; 1.16.6; PRU_CONTROL: acquire bt_lock manually.
|
1.15 | 24-Apr-2008 |
ad | branches: 1.15.2; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.14 | 10-Feb-2008 |
plunky | branches: 1.14.6; 1.14.8; add HCI definitions from the Bluetooth 2.1 spec
|
1.13 | 30-Dec-2007 |
plunky | request and keep a mask of supported commands per unit in order to block unsupported HCI commands sent by unprivileged users reaching the device.
|
1.12 | 10-Nov-2007 |
plunky | branches: 1.12.6; use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.11 | 19-Jul-2007 |
plunky | branches: 1.11.4; 1.11.6; 1.11.10; 1.11.12; 1.11.14; not necessary to cast to (void *) (from caddr_t removal)
|
1.10 | 31-Mar-2007 |
plunky | branches: 1.10.4; change declaration for protosw.h const symbolic strings to static, so that they can be used by more than one source file without causing duplicate definitions.
|
1.9 | 30-Mar-2007 |
plunky | be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.8 | 21-Mar-2007 |
plunky | disallow sending command packets of unexpected length
|
1.7 | 05-Mar-2007 |
plunky | branches: 1.7.2; 1.7.4; 1.7.6; return ENOPROTOOPT when protocol options are not known
|
1.6 | 04-Mar-2007 |
christos | Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.5 | 04-Jan-2007 |
elad | branches: 1.5.2; Consistent usage of KAUTH_GENERIC_ISSUSER.
|
1.4 | 01-Oct-2006 |
plunky | Reduce memory usage by not allocating a chunk for a bitmask.
|
1.3 | 17-Aug-2006 |
christos | branches: 1.3.2; 1.3.4; 1.3.6; Fix all the -D*DEBUG* code that it was rotting away and did not even compile. Mostly from Arnaud Lacombe, many thanks!
|
1.2 | 23-Jul-2006 |
ad | Use the LWP cached credentials where sane.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file hci_socket.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.4 | 03-Sep-2006 |
yamt | sync with head.
|
1.1.6.3 | 11-Aug-2006 |
yamt | sync with head
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file hci_socket.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file hci_socket.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.8 | 11-Feb-2008 |
yamt | sync with head.
|
1.1.2.7 | 21-Jan-2008 |
yamt | sync with head
|
1.1.2.6 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.5 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.4 | 26-Feb-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file hci_socket.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.6.1 | 22-Oct-2006 |
yamt | sync with head
|
1.3.4.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.3.4.1 | 17-Aug-2006 |
rpaulo | file hci_socket.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.3.2.2 | 12-Jan-2007 |
ad | Sync with head.
|
1.3.2.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.5.2.3 | 15-Apr-2007 |
yamt | sync with head.
|
1.5.2.2 | 24-Mar-2007 |
yamt | sync with head.
|
1.5.2.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.7.6.1 | 29-Mar-2007 |
reinoud | Pullup to -current
|
1.7.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.7.2.2 | 20-Aug-2007 |
ad | Sync with HEAD.
|
1.7.2.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.10.4.1 | 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.11.14.2 | 19-Jul-2007 |
plunky | not necessary to cast to (void *) (from caddr_t removal)
|
1.11.14.1 | 19-Jul-2007 |
plunky | file hci_socket.c was added on branch matt-mips64 on 2007-07-19 20:48:52 +0000
|
1.11.12.2 | 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.11.12.1 | 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.11.10.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.11.6.2 | 23-Mar-2008 |
matt | sync with HEAD
|
1.11.6.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.11.4.1 | 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.12.6.1 | 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.14.8.1 | 18-May-2008 |
yamt | sync with head.
|
1.14.6.2 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.14.6.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.15.2.3 | 19-Aug-2009 |
yamt | sync with head.
|
1.15.2.2 | 04-May-2009 |
yamt | sync with head.
|
1.15.2.1 | 16-May-2008 |
yamt | sync with head.
|
1.16.6.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.16.2.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.19.8.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.19.6.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.19.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.20.28.1 | 10-Aug-2014 |
tls | Rebase.
|
1.20.18.2 | 18-May-2014 |
rmind | sync with head
|
1.20.18.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.20.14.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.20.14.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.40.10.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.40.6.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.40.4.3 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.40.4.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.40.4.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.40.2.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.45.18.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.45.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.45.10.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1175): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/sctp_usrreq.c 1.14 sys/netinet/tcp_usrreq.c 1.223 sys/netinet6/raw_ip6.c 1.173 sys/netinet6/sctp6_usrreq.c 1.17 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.47.32.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.16 | 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.15 | 24-Apr-2021 |
thorpej | branches: 1.15.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.14 | 20-May-2014 |
rmind | branches: 1.14.42; netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.13 | 17-Sep-2011 |
plunky | branches: 1.13.12; 1.13.26; const lookup argument
|
1.12 | 26-Jun-2008 |
plunky | do not hold bt_lock while detaching bthub, as devices may need to aquire it in order to detach cleanly.
|
1.11 | 24-Apr-2008 |
ad | branches: 1.11.2; 1.11.4; 1.11.6; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.10 | 17-Mar-2008 |
plunky | branches: 1.10.2; move the updating of num_cmd_pkts to its own function, mostly so that pending commands will be output on the device in the order that they were queued.
|
1.9 | 30-Dec-2007 |
plunky | branches: 1.9.2; 1.9.6; request and keep a mask of supported commands per unit in order to block unsupported HCI commands sent by unprivileged users reaching the device.
|
1.8 | 28-Nov-2007 |
plunky | branches: 1.8.6; Clean up the way that bluetooth drivers attach to the bluetooth stack, to remove the frobbing that drivers must do in the hci_unit structure.
- driver provides a static const interface descriptor - hci_unit is allocated by hci_attach() rather than part of softc - statistics are compiled by driver and provided on request - driver provides output methods and is responsible for output queue - stack provides input methods and is responsible for input queue - mutex is used to arbitrate device queue access
|
1.7 | 10-Nov-2007 |
plunky | use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.6 | 10-Nov-2007 |
plunky | 'struct device *' -> 'device-t'
|
1.5 | 08-Oct-2007 |
ad | branches: 1.5.2; 1.5.4; Use the softint API.
|
1.4 | 30-Mar-2007 |
plunky | branches: 1.4.8; 1.4.10; 1.4.12; be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.3 | 10-Sep-2006 |
plunky | branches: 1.3.6; 1.3.10; 1.3.12; update to bluetooth device attachment:
remove pseudo-device btdev(4) and inherent limitations
add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here.
btdevctl(8) and its cache is updated to handle new semantics
etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf
|
1.2 | 17-Jul-2006 |
gdamore | branches: 1.2.2; 1.2.4; 1.2.6; Wait a little longer, because some devices (eg bt3c) take a few seconds to enable when they are loading firmware so we need to wait a bit longer.
Patch from Iain Hibbert, at his request.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file hci_unit.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.4 | 14-Sep-2006 |
yamt | sync with head.
|
1.1.6.3 | 11-Aug-2006 |
yamt | sync with head
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file hci_unit.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file hci_unit.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.9 | 24-Mar-2008 |
yamt | sync with head.
|
1.1.2.8 | 21-Jan-2008 |
yamt | sync with head
|
1.1.2.7 | 07-Dec-2007 |
yamt | sync with head
|
1.1.2.6 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.5 | 27-Oct-2007 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file hci_unit.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.6.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.2.6.1 | 17-Jul-2006 |
rpaulo | file hci_unit.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.2.4.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.2.2.1 | 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.3.12.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.3.10.2 | 17-Jun-2007 |
ad | - Increase the number of thread priorities from 128 to 256. How the space is set up is to be revisited. - Implement soft interrupts as kernel threads. A generic implementation is provided, with hooks for fast-path MD code that can run the interrupt threads over the top of other threads executing in the kernel. - Split vnode::v_flag into three fields, depending on how the flag is locked (by the interlock, by the vnode lock, by the file system). - Miscellaneous locking fixes and improvements.
|
1.3.10.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.3.6.1 | 15-Apr-2007 |
yamt | sync with head.
|
1.4.12.1 | 14-Oct-2007 |
yamt | sync with head.
|
1.4.10.3 | 23-Mar-2008 |
matt | sync with HEAD
|
1.4.10.2 | 09-Jan-2008 |
matt | sync with HEAD
|
1.4.10.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.4.8.3 | 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.4.8.2 | 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.4.8.1 | 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.5.4.3 | 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.5.4.2 | 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.5.4.1 | 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.5.2.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.8.6.1 | 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.9.6.3 | 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.9.6.2 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.9.6.1 | 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.9.2.1 | 24-Mar-2008 |
keiichi | sync with head.
|
1.10.2.1 | 18-May-2008 |
yamt | sync with head.
|
1.11.6.1 | 27-Jun-2008 |
simonb | Sync with head.
|
1.11.4.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.11.2.1 | 04-May-2009 |
yamt | sync with head.
|
1.13.26.1 | 10-Aug-2014 |
tls | Rebase.
|
1.13.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.14.42.1 | 02-Apr-2021 |
thorpej | config_found_ia() -> config_found() w/ CFARG_IATTR.
|
1.15.8.1 | 05-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.19 | 28-Nov-2015 |
plunky | add in PSMs defined in later versions of specification
|
1.18 | 05-Aug-2014 |
rtr | branches: 1.18.4; split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.17 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.16 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.15 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.14 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.13 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.12 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.11 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.10 | 06-Feb-2011 |
plunky | branches: 1.10.14; 1.10.18; 1.10.28; respond to L2CAP Information requests
|
1.9 | 13-Sep-2009 |
pooka | branches: 1.9.4; 1.9.6; 1.9.8; Wipe out the last vestiges of POOL_INIT with one swift stroke. In most cases, use a proper constructor. For proplib, give a local equivalent of POOL_INIT for the kernel object implementation. This way the code structure can be preserved, and a local link set is not hazardous anyway (unless proplib is split to several modules, but that'll be the day).
tested by booting a kernel in qemu and compile-testing i386/ALL
|
1.8 | 08-Sep-2008 |
gmcgarry | Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h preprocessor macros.
|
1.7 | 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.6 | 03-Nov-2007 |
plunky | branches: 1.6.16; 1.6.20; 1.6.22; 1.6.26; "struct callout" -> callout_t don't use callout_reset() do use callout_destroy()
|
1.5 | 21-Apr-2007 |
plunky | branches: 1.5.6; 1.5.8; 1.5.12; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.4 | 12-Mar-2007 |
plunky | clean up the mess that is the channel state, now lc_state is channel state lc_flags is channel flags
|
1.3 | 05-Mar-2007 |
plunky | branches: 1.3.2; 1.3.4; remove extraneous prototype
|
1.2 | 01-Oct-2006 |
plunky | branches: 1.2.2; 1.2.4; 1.2.8; fix silent dependencies (uintN_t)
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.12; 1.1.14; 1.1.16; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.16.1 | 22-Oct-2006 |
yamt | sync with head
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file l2cap.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.12.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file l2cap.h was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file l2cap.h was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file l2cap.h was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.5 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file l2cap.h was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.8.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.2.4.3 | 07-May-2007 |
yamt | sync with head.
|
1.2.4.2 | 24-Mar-2007 |
yamt | sync with head.
|
1.2.4.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.2.2.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.3.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.3.2.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.3.2.1 | 13-Mar-2007 |
ad | Sync with head.
|
1.5.12.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.5.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.5.6.1 | 04-Nov-2007 |
jmcneill | Sync with HEAD.
|
1.6.26.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.6.22.2 | 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.6.22.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.6.20.2 | 16-Sep-2009 |
yamt | sync with head
|
1.6.20.1 | 04-May-2009 |
yamt | sync with head.
|
1.6.16.1 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.9.8.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.9.6.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.9.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.10.28.1 | 10-Aug-2014 |
tls | Rebase.
|
1.10.18.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.10.14.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.10.14.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.18.4.1 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.10 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.9 | 05-Aug-2008 |
plunky | branches: 1.9.38; 1.9.54; adjust message for previous change
|
1.8 | 05-Aug-2008 |
plunky | drop packets that exceed the negotiated MTU
|
1.7 | 10-Nov-2007 |
plunky | branches: 1.7.14; 1.7.18; 1.7.20; 1.7.24; use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.6 | 21-Apr-2007 |
plunky | branches: 1.6.6; 1.6.8; 1.6.12; 1.6.14; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.5 | 30-Mar-2007 |
plunky | be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.4 | 20-Mar-2007 |
plunky | discard inbound packets if the channel is not open
|
1.3 | 15-Mar-2007 |
plunky | remove C++ style comments
|
1.2 | 07-Mar-2007 |
plunky | branches: 1.2.2; 1.2.4; 1.2.6; add validity check for inbound packets
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.18; 1.1.20; 1.1.24; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.24.2 | 04-Sep-2008 |
skrll | Sync with netbsd-4.
|
1.1.24.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.1.20.4 | 07-May-2007 |
yamt | sync with head.
|
1.1.20.3 | 15-Apr-2007 |
yamt | sync with head.
|
1.1.20.2 | 24-Mar-2007 |
yamt | sync with head.
|
1.1.20.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.1.18.2 | 20-Aug-2008 |
bouyer | Pull up following revision(s) (requested by plunky in ticket #1176): sys/netbt/l2cap_lower.c: revision 1.8 drop packets that exceed the negotiated MTU
|
1.1.18.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file l2cap_lower.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file l2cap_lower.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file l2cap_lower.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file l2cap_lower.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.4 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.3 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file l2cap_lower.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.6.2 | 29-Mar-2007 |
reinoud | Pullup to -current
|
1.2.6.1 | 18-Mar-2007 |
reinoud | First attempt to bring branch in sync with HEAD
|
1.2.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.2.2.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.2.2.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.6.14.1 | 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.6.12.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.6.8.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.6.6.1 | 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.7.24.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.7.20.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.7.18.1 | 04-May-2009 |
yamt | sync with head.
|
1.7.14.1 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.9.54.1 | 10-Aug-2014 |
tls | Rebase.
|
1.9.38.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.7 | 13-Sep-2009 |
pooka | Wipe out the last vestiges of POOL_INIT with one swift stroke. In most cases, use a proper constructor. For proplib, give a local equivalent of POOL_INIT for the kernel object implementation. This way the code structure can be preserved, and a local link set is not hazardous anyway (unless proplib is split to several modules, but that'll be the day).
tested by booting a kernel in qemu and compile-testing i386/ALL
|
1.6 | 24-Apr-2008 |
ad | branches: 1.6.2; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.5 | 03-Nov-2007 |
plunky | branches: 1.5.16; 1.5.18; "struct callout" -> callout_t don't use callout_reset() do use callout_destroy()
|
1.4 | 09-Jul-2007 |
ad | branches: 1.4.6; 1.4.8; 1.4.12; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.3 | 21-Apr-2007 |
plunky | Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.2 | 12-Mar-2007 |
ad | branches: 1.2.2; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.18; 1.1.20; 1.1.24; 1.1.26; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.26.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.1.24.3 | 01-Jul-2007 |
ad | Adapt to callout API change.
|
1.1.24.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.1.24.1 | 13-Mar-2007 |
ad | Sync with head.
|
1.1.20.2 | 07-May-2007 |
yamt | sync with head.
|
1.1.20.1 | 24-Mar-2007 |
yamt | sync with head.
|
1.1.18.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file l2cap_misc.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file l2cap_misc.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file l2cap_misc.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file l2cap_misc.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.4 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.3 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file l2cap_misc.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.2.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.4.12.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.4.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.4.6.1 | 04-Nov-2007 |
jmcneill | Sync with HEAD.
|
1.5.18.1 | 18-May-2008 |
yamt | sync with head.
|
1.5.16.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.6.2.1 | 16-Sep-2009 |
yamt | sync with head
|
1.22 | 24-Dec-2022 |
andvar | s/Reqest/Request/ and adding apostrophe for don't and didn't in comments.
|
1.21 | 13-Mar-2022 |
andvar | s/hander/handler/ and s/hader/header/ in comments and documentation.
|
1.20 | 29-Feb-2020 |
maxv | pass the address of the field, instead of relying on it being the first field of the structure/union, no functional change, discussed with plunky@
|
1.19 | 21-Aug-2018 |
plunky | branches: 1.19.6;
Result of audit to check that mbuf length is checked before m_copydata() and that any data supposedly copied out is valid before use.
prompted by maxv@, I have checked every usage of m_copydata() and made the following corrections
hci_event.c: hci_event_command_compl() check that the packet does contain enough data for there to be a status code before noting possible failures.
hci_event_num_compl_pkts() check that the packet does contain data to cover the stated number of handle/num pairs
l2cap_signal.c: l2cap_recv_signal() just ignore packets with not enough data rather than trying to reject them (may not have cmd.ident)
l2cap_recv_command_rej() check we have a valid reason and/or data before use
|
1.18 | 04-Oct-2016 |
joerg | branches: 1.18.14; 1.18.16; The last named argument of a variadic function shall not be default promoted according to ISO C.
|
1.17 | 28-Nov-2015 |
plunky | branches: 1.17.2; note recent spec additions to L2CAP Info command regarding fixed channels
|
1.16 | 09-Feb-2013 |
christos | branches: 1.16.14; CID/90001: missing va_end()
|
1.15 | 29-Nov-2011 |
plunky | branches: 1.15.8; Handle some ``Quality of Service'' configuration options, to help devices requesting them blindly succeed in connecting.
should fix a problem analysed by Nat Sloss on current-users
|
1.14 | 27-Jul-2011 |
plunky | branches: 1.14.2;
cleanup some DIAGNOSTIC and KASSERT code
- remove #ifdef DIAGNOSTIC, so that we won't act differently
- handle the cases where a Bluetooth adapter sends invalid packet data (I've not seen this, but it is not impossible)
- use KASSERT for actual impossible situations (to catch bad future development)
|
1.13 | 17-Jul-2011 |
joerg | Retire varargs.h support. Move machine/stdarg.h logic into MI sys/stdarg.h and expect compiler to provide proper builtins, defaulting to the GCC interface. lint still has a special fallback. Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and derive va_list as required by standards.
|
1.12 | 06-Feb-2011 |
plunky | respond to L2CAP Information requests
|
1.11 | 17-Nov-2010 |
plunky | branches: 1.11.2; 1.11.4; do not produce an error when connections are closed normally
for L2CAP sockets, this solves an irritating error message from sdpd(8), which can now differentiate between normal closure and error.
|
1.10 | 25-Sep-2009 |
plunky | branches: 1.10.4; When the special L2CAP_PSM_ANY value is used for listening sockets, select the next unused PSM from the dynamic range (0x1001->)
|
1.9 | 10-Nov-2007 |
plunky | branches: 1.9.18; use more device_t and device_xxx() accessors
make bluetooth stack keep device_t instead of softc pointer as device is not necessarily part of softc, and pass device_t to driver callbacks. hci_devname is no longer required.
|
1.8 | 16-May-2007 |
plunky | branches: 1.8.6; 1.8.8; 1.8.12; 1.8.14; use the sizeof the header, not the pointer to the header
(this fixes a problem with architectures where a pointer is not 4 octets)
|
1.7 | 21-Apr-2007 |
plunky | Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.6 | 15-Mar-2007 |
plunky | remove C++ style comments
|
1.5 | 12-Mar-2007 |
plunky | branches: 1.5.2; clean up the mess that is the channel state, now lc_state is channel state lc_flags is channel flags
|
1.4 | 05-Mar-2007 |
plunky | branches: 1.4.2; 1.4.4; add extra validity check for inbound requests
|
1.3 | 07-Dec-2006 |
plunky | branches: 1.3.2; Do not use the output buffer to store data unless we mean it to go in the packet, as there is a problem with overwriting information while we still need it (opt->length in particular) which causes connections to fail.
|
1.2 | 11-Sep-2006 |
plunky | branches: 1.2.2; 1.2.4; Endian issues:
hci_event.c: - Convert memo->response.clock_offset to host-endian.
hci_ioctl.c: - printf format tweak (size_t)
hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message.
l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian.
from scw@
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.14; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file l2cap_signal.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.12.2 | 12-Jan-2007 |
ad | Sync with head.
|
1.1.12.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.1.10.1 | 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file l2cap_signal.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.3 | 14-Sep-2006 |
yamt | sync with head.
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file l2cap_signal.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file l2cap_signal.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.5 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file l2cap_signal.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.4.3 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.2.4.2 | 23-May-2007 |
pavel | Pull up following revision(s) (requested by plunky in ticket #660): sys/netbt/l2cap_signal.c: revision 1.8 use the sizeof the header, not the pointer to the header (this fixes a problem with architectures where a pointer is not 4 octets)
|
1.2.4.1 | 17-Dec-2006 |
riz | branches: 1.2.4.1.2; Pull up following revision(s) (requested by plunky in ticket #277): sys/netbt/l2cap_signal.c: revision 1.3 Do not use the output buffer to store data unless we mean it to go in the packet, as there is a problem with overwriting information while we still need it (opt->length in particular) which causes connections to fail.
|
1.2.4.1.2.2 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.2.4.1.2.1 | 04-Jun-2007 |
wrstuden | Update to today's netbsd-4.
|
1.2.2.1 | 10-Dec-2006 |
yamt | sync with head.
|
1.3.2.4 | 17-May-2007 |
yamt | sync with head.
|
1.3.2.3 | 07-May-2007 |
yamt | sync with head.
|
1.3.2.2 | 24-Mar-2007 |
yamt | sync with head.
|
1.3.2.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.4.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.4.2.3 | 08-Jun-2007 |
ad | Sync with head.
|
1.4.2.2 | 10-Apr-2007 |
ad | Sync with head.
|
1.4.2.1 | 13-Mar-2007 |
ad | Sync with head.
|
1.5.2.1 | 18-Mar-2007 |
reinoud | First attempt to bring branch in sync with HEAD
|
1.8.14.1 | 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.8.12.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.8.8.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.8.6.1 | 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.9.18.1 | 11-Mar-2010 |
yamt | sync with head
|
1.10.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.11.4.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.11.2.1 | 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.14.2.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.14.2.1 | 17-Apr-2012 |
yamt | sync with head
|
1.15.8.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.15.8.1 | 25-Feb-2013 |
tls | resync with head
|
1.16.14.2 | 05-Oct-2016 |
skrll | Sync with HEAD
|
1.16.14.1 | 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.17.2.1 | 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.18.16.2 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.18.16.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.18.14.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.19.6.1 | 29-Feb-2020 |
ad | Sync with head.
|
1.37 | 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.36 | 28-Jan-2019 |
martin | branches: 1.36.36; Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.35 | 02-May-2015 |
rtr | branches: 1.35.10; 1.35.18; make connect syscall use sockaddr_big and modify pr_{send,connect} nam parameter type from buf * to sockaddr *.
final commit for parameter type changes to protocol user requests
* bump kernel version to 7.99.15 for parameter type changes to pr_{send,connect}
|
1.34 | 26-Apr-2015 |
rtr | remove pr_generic from struct pr_usrreqs and all implementations of pr_generic in protocols.
bump to 7.99.13
approved by rmind@
|
1.33 | 24-Apr-2015 |
rtr | make accept, getsockname and getpeername syscalls use sockaddr_big and modify pr_{accept,sockname,peername} nam parameter type from mbuf * to sockaddr *.
* retained use of mbuftypes[MT_SONAME] for now. * bump to netbsd version 7.99.12 for parameter type change.
patch posted to tech-net@ 2015/04/19
|
1.32 | 03-Apr-2015 |
rtr | * change pr_bind to accept struct sockaddr * instead of struct mbuf * * update protocol bind implementations to use/expect sockaddr * instead of mbuf * * introduce sockaddr_big struct for storage of addr data passed via sys_bind; sockaddr_big is of sufficient size and alignment to accommodate all addr data sizes received. * modify sys_bind to allocate sockaddr_big instead of using an mbuf. * bump kernel version to 7.99.9 for change to pr_bind() parameter type.
Patch posted to tech-net@ http://mail-index.netbsd.org/tech-net/2015/03/15/msg005004.html
The choice to use a new structure sockaddr_big has been retained since changing sockaddr_storage size would lead to unnecessary ABI change. The use of the new structure does not preclude future work that increases the size of sockaddr_storage and at that time sockaddr_big may be trivially replaced.
Tested by mrg@ and myself, discussed with rmind@, posted to tech-net@
|
1.31 | 09-Aug-2014 |
rtr | branches: 1.31.2; 1.31.4; 1.31.6; 1.31.10; split PRU_CONNECT2 & PRU_PURGEIF function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented (for PRU_CONNECT2 only)
- replace calls to pr_generic() with req = PRU_CONNECT2 with calls to pr_connect2()
- replace calls to pr_generic() with req = PRU_PURGEIF with calls to pr_purgeif()
put common code from unp_connect2() (used by unp_connect() into unp_connect1() and call out to it when needed
patch only briefly reviewed by rmind@
|
1.30 | 08-Aug-2014 |
rtr | split PRU_RCVD function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_RCVD with calls to pr_rcvd()
|
1.29 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.28 | 05-Aug-2014 |
rtr | revert the removal of struct lwp * parameter from bind, listen and connect user requests.
this should resolve the issue relating to nfs client hangs presented recently by wiz on current-users@
|
1.27 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.26 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.25 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.24 | 23-Jul-2014 |
rtr | split PRU_SENDOOB and PRU_RCVOOB function out of pr_generic() usrreq switches and put into separate functions xxx_sendoob(struct socket *, struct mbuf *, struct mbuf *) xxx_recvoob(struct socket *, struct mbuf *, int)
- always KASSERT(solocked(so)) even if request is not implemented
- replace calls to pr_generic() with req = PRU_{SEND,RCV}OOB with calls to pr_{send,recv}oob() respectively.
there is still some tweaking of m_freem(m) and m_freem(control) to come for consistency. not performed with this commit for clarity.
reviewed by rmind
|
1.23 | 09-Jul-2014 |
rtr | * split PRU_ACCEPT function out of pr_generic() usrreq switches and put into a separate function xxx_accept(struct socket *, struct mbuf *)
note: future cleanup will take place to remove struct mbuf parameter type and replace it with a more appropriate type.
patch reviewed by rmind
|
1.22 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.21 | 07-Jul-2014 |
rtr | * sprinkle KASSERT(solocked(so)); in all pr_stat() functions. * fix remaining inconsistent struct socket parameter names.
|
1.20 | 07-Jul-2014 |
rtr | backout change that made pr_stat return EOPNOTSUPP for protocols that were not filling in struct stat.
decision made after further discussion with rmind and investigation of how other operating systems behave. soo_stat() is doing just enough to be able to call what gets returned valid and thus justifys a return of success.
additional review will be done to determine of the pr_stat functions that were already returning EOPNOTSUPP can be considered successful with what soo_stat() is doing.
|
1.19 | 07-Jul-2014 |
rtr | * have pr_stat return EOPNOTSUPP consistently for all protocols that do not fill in struct stat instead of returning success.
* in pr_stat remove all checks for non-NULL so->so_pcb except where the pcb is actually used (i.e. cases where we don't return EOPNOTSUPP).
proposed on tech-net@
|
1.18 | 06-Jul-2014 |
rtr | * split PRU_SENSE functionality out of xxx_usrreq() switches and place into separate xxx_stat(struct socket *, struct stat *) functions. * replace calls using pr_generic with req == PRU_SENSE with pr_stat().
further change will follow that cleans up the pattern used to extract the pcb and test for its presence.
reviewed by rmind
|
1.17 | 01-Jul-2014 |
rtr | fix parameter types in pr_ioctl, called xx_control() functions and remove abuse of pointer to struct mbuf type.
param2 changed to u_long type and uses parameter name 'cmd' (ioctl command) param3 changed to void * type and uses parameter name 'data' param4 changed to struct ifnet * and uses parameter name 'ifp' param5 has been removed (formerly struct lwp *) and uses of 'l' have been replaced with curlwp from curproc(9).
callers have had (now unnecessary) casts to struct mbuf * removed, called code has had (now unnecessary) casts to u_long, void * and struct ifnet * respectively removed.
reviewed by rmind@
|
1.16 | 22-Jun-2014 |
rtr | * split PRU_CONTROL functionality out of xxx_userreq() switches and place into separate xxx_ioctl() functions. * place KASSERT(req != PRU_CONTROL) inside xxx_userreq() as it is now inappropriate for req = PRU_CONTROL in xxx_userreq(). * replace calls to pr_generic() with req = PRU_CONTROL with pr_ioctl(). * remove & fixup references to PRU_CONTROL xxx_userreq() function comments. * fix various comments references for xxx_userreq() that mentioned PRU_CONTROL as xxx_userreq() no longer handles the request.
a further change will follow to fix parameter and naming inconsistencies retained from original code.
Reviewed by rmind@
|
1.15 | 20-May-2014 |
rmind | Adjust PR_WRAP_USRREQS() to include the attach/detach functions. We still need the kernel-lock for some corner cases.
|
1.14 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.13 | 19-May-2014 |
rmind | l2cap_detach1: fix gcc warning for non-DIAGNOSTIC case.
|
1.12 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.11 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.10 | 29-Aug-2013 |
rmind | branches: 1.10.2; Remove SS_ISCONFIRMING, it is unused and TP4 will not come back.
|
1.9 | 06-Aug-2008 |
plunky | branches: 1.9.28; 1.9.38; 1.9.44; Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.8 | 24-Apr-2008 |
ad | branches: 1.8.2; 1.8.4; 1.8.8; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.7 | 21-Apr-2007 |
plunky | branches: 1.7.28; 1.7.30; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.6 | 31-Mar-2007 |
plunky | change declaration for protosw.h const symbolic strings to static, so that they can be used by more than one source file without causing duplicate definitions.
|
1.5 | 30-Mar-2007 |
plunky | be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.4 | 05-Mar-2007 |
plunky | branches: 1.4.2; 1.4.4; return ENOPROTOOPT when protocol options are not known
|
1.3 | 16-Nov-2006 |
christos | branches: 1.3.2; 1.3.4; 1.3.8; __unused removal on arguments; approved by core.
|
1.2 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.12; 1.1.14; 1.1.16; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.16.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.1.16.1 | 22-Oct-2006 |
yamt | sync with head
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file l2cap_socket.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.12.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file l2cap_socket.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file l2cap_socket.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file l2cap_socket.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file l2cap_socket.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.8.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.3.4.3 | 07-May-2007 |
yamt | sync with head.
|
1.3.4.2 | 15-Apr-2007 |
yamt | sync with head.
|
1.3.4.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.3.2.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.4.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.4.2.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.4.2.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.7.30.1 | 18-May-2008 |
yamt | sync with head.
|
1.7.28.2 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.7.28.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.8.8.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.8.4.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.8.2.1 | 04-May-2009 |
yamt | sync with head.
|
1.9.44.2 | 18-May-2014 |
rmind | sync with head
|
1.9.44.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.9.38.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.9.38.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.9.28.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.10.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.31.10.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.31.6.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.31.4.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.31.4.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.31.2.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.35.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.35.10.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1175): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/sctp_usrreq.c 1.14 sys/netinet/tcp_usrreq.c 1.223 sys/netinet6/raw_ip6.c 1.173 sys/netinet6/sctp6_usrreq.c 1.17 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.36.36.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.19 | 12-Dec-2016 |
maya | acknowleg -> acknowledg, proceedure -> procedure. only comments were changed.
from miod
|
1.18 | 05-Aug-2014 |
rtr | branches: 1.18.4; 1.18.8; split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.17 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.16 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.15 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.14 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.13 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.12 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.11 | 04-Jan-2010 |
plunky | branches: 1.11.22; 1.11.26; 1.11.36; prevent local socket address from being changed after socket is in use (connect or listen)
|
1.10 | 25-Sep-2009 |
plunky | When the special L2CAP_PSM_ANY value is used for listening sockets, select the next unused PSM from the dynamic range (0x1001->)
|
1.9 | 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.8 | 29-Apr-2007 |
msaitoh | branches: 1.8.28; 1.8.32; 1.8.34; 1.8.38; fix typos
|
1.7 | 21-Apr-2007 |
plunky | Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.6 | 06-Apr-2007 |
plunky | rework ordering of error conditions for setopt, prefer to return EINVAL rather than EBUSY.
|
1.5 | 30-Mar-2007 |
plunky | be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.4 | 15-Mar-2007 |
plunky | remove C++ style comments
|
1.3 | 12-Mar-2007 |
plunky | branches: 1.3.2; clean up the mess that is the channel state, now lc_state is channel state lc_flags is channel flags
|
1.2 | 05-Mar-2007 |
plunky | branches: 1.2.2; 1.2.4; return ENOPROTOOPT when protocol options are not known
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.18; 1.1.20; 1.1.24; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.24.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.1.20.4 | 07-May-2007 |
yamt | sync with head.
|
1.1.20.3 | 15-Apr-2007 |
yamt | sync with head.
|
1.1.20.2 | 24-Mar-2007 |
yamt | sync with head.
|
1.1.20.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.1.18.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file l2cap_upper.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file l2cap_upper.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file l2cap_upper.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file l2cap_upper.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.3 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file l2cap_upper.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.2.2.3 | 08-Jun-2007 |
ad | Sync with head.
|
1.2.2.2 | 10-Apr-2007 |
ad | Sync with head.
|
1.2.2.1 | 13-Mar-2007 |
ad | Sync with head.
|
1.3.2.1 | 18-Mar-2007 |
reinoud | First attempt to bring branch in sync with HEAD
|
1.8.38.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.8.34.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.8.32.2 | 11-Mar-2010 |
yamt | sync with head
|
1.8.32.1 | 04-May-2009 |
yamt | sync with head.
|
1.8.28.1 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.11.36.1 | 10-Aug-2014 |
tls | Rebase.
|
1.11.26.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.11.22.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.11.22.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.18.8.1 | 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.18.4.1 | 05-Feb-2017 |
skrll | Sync with HEAD
|
1.20 | 07-Sep-2025 |
andvar | Fix various typos, mainly in comments.
|
1.19 | 28-May-2022 |
andvar | fix various typos in comments, mainly origional->original, extened->extended, incomming->incoming.
|
1.18 | 08-Aug-2014 |
rtr | split PRU_RCVD function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_RCVD with calls to pr_rcvd()
|
1.17 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.16 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.15 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.14 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.13 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.12 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.11 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.10 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.9 | 13-Sep-2009 |
pooka | branches: 1.9.22; 1.9.26; 1.9.36; Wipe out the last vestiges of POOL_INIT with one swift stroke. In most cases, use a proper constructor. For proplib, give a local equivalent of POOL_INIT for the kernel object implementation. This way the code structure can be preserved, and a local link set is not hazardous anyway (unless proplib is split to several modules, but that'll be the day).
tested by booting a kernel in qemu and compile-testing i386/ALL
|
1.8 | 08-Sep-2008 |
gmcgarry | Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h preprocessor macros.
|
1.7 | 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.6 | 20-Nov-2007 |
plunky | branches: 1.6.14; 1.6.18; 1.6.20; 1.6.24; allow listening to channel RFCOMM_CHANNEL_ANY, which means that we should allocate the first available channel at the given device address.
|
1.5 | 03-Nov-2007 |
plunky | branches: 1.5.2; struct callout => callout_t
|
1.4 | 03-Nov-2007 |
plunky | "struct callout" -> callout_t don't use callout_reset() do use callout_destroy()
|
1.3 | 21-Apr-2007 |
plunky | branches: 1.3.6; 1.3.8; 1.3.12; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.2 | 01-Oct-2006 |
plunky | branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10; 1.2.16; fix silent dependencies (uintN_t)
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.12; 1.1.14; 1.1.16; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.16.1 | 22-Oct-2006 |
yamt | sync with head
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file rfcomm.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.12.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file rfcomm.h was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file rfcomm.h was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file rfcomm.h was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.6 | 07-Dec-2007 |
yamt | sync with head
|
1.1.2.5 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file rfcomm.h was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.16.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.2.10.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.2.8.1 | 08-Jun-2007 |
ad | Sync with head.
|
1.2.4.1 | 07-May-2007 |
yamt | sync with head.
|
1.2.2.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.3.12.2 | 21-Nov-2007 |
bouyer | Sync with HEAD
|
1.3.12.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.3.8.2 | 09-Jan-2008 |
matt | sync with HEAD
|
1.3.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.3.6.2 | 21-Nov-2007 |
joerg | Sync with HEAD.
|
1.3.6.1 | 04-Nov-2007 |
jmcneill | Sync with HEAD.
|
1.5.2.1 | 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.6.24.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.6.20.2 | 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.6.20.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.6.18.2 | 16-Sep-2009 |
yamt | sync with head
|
1.6.18.1 | 04-May-2009 |
yamt | sync with head.
|
1.6.14.1 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.9.36.1 | 10-Aug-2014 |
tls | Rebase.
|
1.9.26.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.9.22.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.9 | 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.8 | 09-Jul-2014 |
rtr | branches: 1.8.26; 1.8.28; * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.7 | 21-Aug-2011 |
plunky | branches: 1.7.12; 1.7.26; fix comment typo
|
1.6 | 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.5 | 24-Apr-2008 |
ad | branches: 1.5.2; 1.5.4; 1.5.8; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.4 | 03-Nov-2007 |
plunky | branches: 1.4.16; 1.4.18; "struct callout" -> callout_t don't use callout_reset() do use callout_destroy()
|
1.3 | 21-Apr-2007 |
plunky | branches: 1.3.6; 1.3.8; 1.3.12; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.2 | 15-Mar-2007 |
plunky | remove C++ style comments
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.18; 1.1.20; 1.1.24; 1.1.26; 1.1.28; 1.1.30; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.30.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.1.28.1 | 18-Mar-2007 |
reinoud | First attempt to bring branch in sync with HEAD
|
1.1.26.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.1.24.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.1.24.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.1.20.2 | 07-May-2007 |
yamt | sync with head.
|
1.1.20.1 | 24-Mar-2007 |
yamt | sync with head.
|
1.1.18.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file rfcomm_dlc.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file rfcomm_dlc.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file rfcomm_dlc.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file rfcomm_dlc.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.4 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.3 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file rfcomm_dlc.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.12.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.3.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.3.6.1 | 04-Nov-2007 |
jmcneill | Sync with HEAD.
|
1.4.18.1 | 18-May-2008 |
yamt | sync with head.
|
1.4.16.2 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.4.16.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.5.8.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.5.4.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.5.2.1 | 04-May-2009 |
yamt | sync with head.
|
1.7.26.1 | 10-Aug-2014 |
tls | Rebase.
|
1.7.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.8.28.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.8.26.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.30 | 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.29 | 09-Feb-2024 |
andvar | branches: 1.29.2; fix spelling mistakes, mainly in comments and log messages.
|
1.28 | 05-Dec-2021 |
msaitoh | s/commmand/command/ in comment.
|
1.27 | 29-Feb-2020 |
maxv | pass the address of the field, instead of relying on it being the first field of the structure/union, no functional change, discussed with plunky@
|
1.26 | 23-Feb-2020 |
plunky | fix reversed logic for Remote Port Negotiation, pointed out by maxv@
|
1.25 | 22-Dec-2018 |
maxv | branches: 1.25.6; Replace M_ALIGN and MH_ALIGN by m_align.
|
1.24 | 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.23 | 05-Aug-2014 |
rtr | branches: 1.23.26; 1.23.28; split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.22 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.21 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.20 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.19 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.18 | 27-Jul-2011 |
plunky | branches: 1.18.12; 1.18.26;
cleanup some DIAGNOSTIC and KASSERT code
- remove #ifdef DIAGNOSTIC, so that we won't act differently
- handle the cases where a Bluetooth adapter sends invalid packet data (I've not seen this, but it is not impossible)
- use KASSERT for actual impossible situations (to catch bad future development)
|
1.17 | 17-Nov-2010 |
plunky | do not produce an error when connections are closed normally
for L2CAP sockets, this solves an irritating error message from sdpd(8), which can now differentiate between normal closure and error.
|
1.16 | 03-Jan-2010 |
plunky | branches: 1.16.4; when receiving a MCC PN response, the max frame size that the remote party requests must be less than the one we asked for which will not be greater than the max acceptable value so no need to test for that but make sure that it is not smaller than minimum acceptable value.
|
1.15 | 13-Sep-2009 |
pooka | Wipe out the last vestiges of POOL_INIT with one swift stroke. In most cases, use a proper constructor. For proplib, give a local equivalent of POOL_INIT for the kernel object implementation. This way the code structure can be preserved, and a local link set is not hazardous anyway (unless proplib is split to several modules, but that'll be the day).
tested by booting a kernel in qemu and compile-testing i386/ALL
|
1.14 | 06-Aug-2008 |
plunky | branches: 1.14.4; 1.14.10; 1.14.12; Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.13 | 24-Apr-2008 |
ad | branches: 1.13.2; 1.13.4; 1.13.8; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.12 | 31-Jan-2008 |
plunky | branches: 1.12.6; 1.12.8; do not destroy session callout until the session is definitely finished with, otherwise trying to stop it will cause a panic
|
1.11 | 03-Nov-2007 |
plunky | branches: 1.11.2; "struct callout" -> callout_t don't use callout_reset() do use callout_destroy()
|
1.10 | 09-Jul-2007 |
ad | branches: 1.10.6; 1.10.8; 1.10.12; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.9 | 21-Apr-2007 |
plunky | Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.8 | 06-Apr-2007 |
plunky | add const attribute to the CRC table
|
1.7 | 15-Mar-2007 |
plunky | remove C++ style comments
|
1.6 | 12-Mar-2007 |
ad | branches: 1.6.2; 1.6.4; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
1.5 | 05-Mar-2007 |
plunky | branches: 1.5.2; whitespace
|
1.4 | 16-Nov-2006 |
christos | branches: 1.4.2; 1.4.4; 1.4.8; __unused removal on arguments; approved by core.
|
1.3 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.2 | 11-Sep-2006 |
plunky | branches: 1.2.2; hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator.
rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator.
from scw@
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.14; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file rfcomm_session.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.12.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.1.10.1 | 14-Sep-2006 |
riz | Pull up following revision(s) (requested by plunky in ticket #161): sys/dev/bluetooth/btdev.h: revision 1.4 distrib/sets/lists/comp/mi: revision 1.922 usr.sbin/postinstall/postinstall: revision 1.25 sys/netbt/hci_unit.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.4 usr.sbin/sdpd/profile.c: revision 1.2 usr.sbin/btdevctl/btdevctl.c: revision 1.2 share/man/man4/Makefile: revision 1.405 distrib/sets/lists/man/mi: revision 1.930 distrib/sets/lists/etc/mi: revision 1.176 usr.sbin/sdpd/profile.c: revision 1.3 usr.sbin/btdevctl/btdevctl.c: revision 1.3 etc/MAKEDEV.tmpl: revision 1.62 distrib/sets/lists/base/mi: revision 1.650 usr.sbin/btdevctl/btdevctl.h: revision 1.2 usr.bin/sdpquery/sdpquery.1: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.2 usr.sbin/btdevctl/btdevctl.8: revision 1.3 usr.bin/sdpquery/search.c: revision 1.2 usr.sbin/sdpd/Makefile: revision 1.2 sys/dev/bluetooth/Makefile: revision 1.3 usr.sbin/btdevctl/cfg.c: file removal sys/netbt/files.netbt: revision 1.4 usr.sbin/btdevctl/sdp.c: revision 1.1 sys/dev/bluetooth/bthidev.c: revision 1.3 etc/bluetooth/Makefile: revision 1.3 sys/dev/pcmcia/files.pcmcia: revision 1.51 sys/dev/bluetooth/bthidev.c: revision 1.4 sys/dev/bluetooth/bthidev.h: revision 1.3 usr.sbin/btdevctl/dev.c: file removal sys/dev/bluetooth/files.bluetooth: revision 1.10 sys/arch/i386/conf/GENERIC: revision 1.777 share/man/man4/ubt.4: revision 1.6 share/man/man4/bthub.4: revision 1.3 sys/netbt/hci.h: revision 1.5 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.202 lib/libsdp/sdp.h: revision 1.2 usr.sbin/btdevctl/print.c: revision 1.1 share/man/man4/bthidev.4: revision 1.5 share/man/man4/btdev.4: file removal usr.sbin/btdevctl/print.c: revision 1.2 sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.205 usr.sbin/btdevctl/Makefile: revision 1.2 sys/dev/usb/files.usb: revision 1.70 sys/netbt/l2cap_signal.c: revision 1.2 sys/netbt/hci_link.c: revision 1.4 sys/dev/bluetooth/bthub.c: revision 1.3 share/man/man4/btsco.4: revision 1.5 sys/netbt/hci_link.c: revision 1.5 share/man/man4/btdev.4: revision 1.4 sys/dev/bluetooth/btkbd.c: revision 1.3 sys/dev/bluetooth/btdev.c: file removal sys/netbt/hci_event.c: revision 1.2 sys/dev/bluetooth/btsco.h: revision 1.2 etc/mtree/special: revision 1.101 sys/dev/bluetooth/btsco.c: revision 1.3 sys/conf/majors: revision 1.27 usr.sbin/sdpd/hf.c: revision 1.1 sys/dev/bluetooth/btsco.c: revision 1.4 share/man/man5/rc.conf.5: revision 1.107 sys/dev/bluetooth/btdev.c: revision 1.2 etc/rc.d/btdevctl: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.1 etc/rc.d/btdevctl: revision 1.3 etc/bluetooth/btdevctl.conf: revision 1.1 usr.sbin/btdevctl/hid.c: file removal sys/arch/i386/conf/GENERIC: revision 1.781 sys/dev/bluetooth/btdev.h: revision 1.3 Make btdev default count explicit Fix typo in variable name update to bluetooth device attachment: remove pseudo-device btdev(4) and inherent limitations add bthub(4) which autoconfigures at bluetooth controllers as they are enabled. bluetooth devices now attach here. btdevctl(8) and its cache is updated to handle new semantics etc/rc.d/btdevctl is updated to configure devices from a list in /etc/bluetooth/btdevctl.conf also include service name in dictionary being sent to kernel. (this is not used just yet, but it might be in the future and it will be easier if we dont have to provide code to handle its absence) clarify the CAVEAT section somewhat Add service discovery support for the Handsfree profile Replace static 'FreeBSD' string with operating system name gleaned from uname(3) Halt the callout on detach btsco.c: - sco_getopt(..., SO_SCO_MTU, ...) expects the address of a uint16_t, not an int. So change sc_mtu's type to uint16_t. - Try a little harder to ensure btsco_round_blocksize() does not return zero. Prevents a subsequent panic in audio_init_ringbuffer(). from scw@ Endian issues: hci_event.c: - Convert memo->response.clock_offset to host-endian. hci_ioctl.c: - printf format tweak (size_t) hci_link.c: - Convert memo->response.clock_offset from host-endian. - Tweak a DIAGNOSTIC message. l2cap_signal.c: - In l2cap_recv_config_req(), rp->scid is little-endian so make sure we convert from host-endian. from scw@ hci_link.c: - In hci_link_free(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. rfcomm_session.c: - In rfcomm_session_recv_mcc_nsc(), do not unlink items from a LIST queue within a LIST_FOREACH() iterator. from scw@ guard against a possible situation where the list of l2cap channels is changed when the bluetooth code is not expecting it to be. During a disconnect, we can detach the channel that is being disconnected, but its not really safe to detach any others. Print explicit 64-bit types using the format macros from int_fmtio.h. Unbreaks the build for our LP64 ports, where "long long" typically is not 64 bits.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file rfcomm_session.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.3 | 14-Sep-2006 |
yamt | sync with head.
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file rfcomm_session.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file rfcomm_session.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.6 | 04-Feb-2008 |
yamt | sync with head.
|
1.1.2.5 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file rfcomm_session.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.2.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.2.2.1 | 22-Oct-2006 |
yamt | sync with head
|
1.4.8.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.4.4.4 | 07-May-2007 |
yamt | sync with head.
|
1.4.4.3 | 15-Apr-2007 |
yamt | sync with head.
|
1.4.4.2 | 24-Mar-2007 |
yamt | sync with head.
|
1.4.4.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.4.2.2 | 03-Jan-2010 |
jdc | Pull up revision 1.16 (requested by plunky in ticket #1372).
when receiving a MCC PN response, the max frame size that the remote party requests must be less than the one we asked for which will not be greater than the max acceptable value so no need to test for that but make sure that it is not smaller than minimum acceptable value.
|
1.4.2.1 | 19-Jul-2007 |
liamjfoy | branches: 1.4.2.1.4; Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.4.2.1.4.1 | 03-Jan-2010 |
jdc | Pull up revision 1.16 (requested by plunky in ticket #1372).
when receiving a MCC PN response, the max frame size that the remote party requests must be less than the one we asked for which will not be greater than the max acceptable value so no need to test for that but make sure that it is not smaller than minimum acceptable value.
|
1.5.2.4 | 01-Jul-2007 |
ad | Adapt to callout API change.
|
1.5.2.3 | 08-Jun-2007 |
ad | Sync with head.
|
1.5.2.2 | 10-Apr-2007 |
ad | Sync with head.
|
1.5.2.1 | 13-Mar-2007 |
ad | Sync with head.
|
1.6.4.1 | 18-Mar-2007 |
reinoud | First attempt to bring branch in sync with HEAD
|
1.6.2.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.10.12.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.10.8.2 | 23-Mar-2008 |
matt | sync with HEAD
|
1.10.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.10.6.1 | 04-Nov-2007 |
jmcneill | Sync with HEAD.
|
1.11.2.1 | 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.12.8.1 | 18-May-2008 |
yamt | sync with head.
|
1.12.6.2 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.12.6.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.13.8.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.13.4.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.13.2.3 | 11-Mar-2010 |
yamt | sync with head
|
1.13.2.2 | 16-Sep-2009 |
yamt | sync with head
|
1.13.2.1 | 04-May-2009 |
yamt | sync with head.
|
1.14.12.1 | 21-Apr-2010 |
matt | sync to netbsd-5
|
1.14.10.1 | 03-Jan-2010 |
jdc | Pull up revision 1.16 (requested by plunky in ticket #1221).
when receiving a MCC PN response, the max frame size that the remote party requests must be less than the one we asked for which will not be greater than the max acceptable value so no need to test for that but make sure that it is not smaller than minimum acceptable value.
|
1.14.4.1 | 03-Jan-2010 |
jdc | Pull up revision 1.16 (requested by plunky in ticket #1221).
when receiving a MCC PN response, the max frame size that the remote party requests must be less than the one we asked for which will not be greater than the max acceptable value so no need to test for that but make sure that it is not smaller than minimum acceptable value.
|
1.16.4.1 | 05-Mar-2011 |
rmind | sync with head
|
1.18.26.1 | 10-Aug-2014 |
tls | Rebase.
|
1.18.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.23.28.2 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.23.28.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.23.26.2 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.23.26.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.25.6.1 | 29-Feb-2020 |
ad | Sync with head.
|
1.29.2.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.39 | 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.38 | 28-Jan-2019 |
martin | branches: 1.38.36; Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.37 | 02-May-2015 |
rtr | branches: 1.37.10; 1.37.18; make connect syscall use sockaddr_big and modify pr_{send,connect} nam parameter type from buf * to sockaddr *.
final commit for parameter type changes to protocol user requests
* bump kernel version to 7.99.15 for parameter type changes to pr_{send,connect}
|
1.36 | 26-Apr-2015 |
rtr | remove pr_generic from struct pr_usrreqs and all implementations of pr_generic in protocols.
bump to 7.99.13
approved by rmind@
|
1.35 | 24-Apr-2015 |
rtr | make accept, getsockname and getpeername syscalls use sockaddr_big and modify pr_{accept,sockname,peername} nam parameter type from mbuf * to sockaddr *.
* retained use of mbuftypes[MT_SONAME] for now. * bump to netbsd version 7.99.12 for parameter type change.
patch posted to tech-net@ 2015/04/19
|
1.34 | 03-Apr-2015 |
rtr | * change pr_bind to accept struct sockaddr * instead of struct mbuf * * update protocol bind implementations to use/expect sockaddr * instead of mbuf * * introduce sockaddr_big struct for storage of addr data passed via sys_bind; sockaddr_big is of sufficient size and alignment to accommodate all addr data sizes received. * modify sys_bind to allocate sockaddr_big instead of using an mbuf. * bump kernel version to 7.99.9 for change to pr_bind() parameter type.
Patch posted to tech-net@ http://mail-index.netbsd.org/tech-net/2015/03/15/msg005004.html
The choice to use a new structure sockaddr_big has been retained since changing sockaddr_storage size would lead to unnecessary ABI change. The use of the new structure does not preclude future work that increases the size of sockaddr_storage and at that time sockaddr_big may be trivially replaced.
Tested by mrg@ and myself, discussed with rmind@, posted to tech-net@
|
1.33 | 09-Aug-2014 |
rtr | branches: 1.33.2; 1.33.4; 1.33.6; 1.33.10; split PRU_CONNECT2 & PRU_PURGEIF function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented (for PRU_CONNECT2 only)
- replace calls to pr_generic() with req = PRU_CONNECT2 with calls to pr_connect2()
- replace calls to pr_generic() with req = PRU_PURGEIF with calls to pr_purgeif()
put common code from unp_connect2() (used by unp_connect() into unp_connect1() and call out to it when needed
patch only briefly reviewed by rmind@
|
1.32 | 08-Aug-2014 |
rtr | split PRU_RCVD function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_RCVD with calls to pr_rcvd()
|
1.31 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.30 | 05-Aug-2014 |
rtr | revert the removal of struct lwp * parameter from bind, listen and connect user requests.
this should resolve the issue relating to nfs client hangs presented recently by wiz on current-users@
|
1.29 | 31-Jul-2014 |
rtr | release mbuf on failure of PRU_SEND
|
1.28 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.27 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.26 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.25 | 23-Jul-2014 |
rtr | split PRU_SENDOOB and PRU_RCVOOB function out of pr_generic() usrreq switches and put into separate functions xxx_sendoob(struct socket *, struct mbuf *, struct mbuf *) xxx_recvoob(struct socket *, struct mbuf *, int)
- always KASSERT(solocked(so)) even if request is not implemented
- replace calls to pr_generic() with req = PRU_{SEND,RCV}OOB with calls to pr_{send,recv}oob() respectively.
there is still some tweaking of m_freem(m) and m_freem(control) to come for consistency. not performed with this commit for clarity.
reviewed by rmind
|
1.24 | 09-Jul-2014 |
rtr | * split PRU_ACCEPT function out of pr_generic() usrreq switches and put into a separate function xxx_accept(struct socket *, struct mbuf *)
note: future cleanup will take place to remove struct mbuf parameter type and replace it with a more appropriate type.
patch reviewed by rmind
|
1.23 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.22 | 07-Jul-2014 |
rtr | * sprinkle KASSERT(solocked(so)); in all pr_stat() functions. * fix remaining inconsistent struct socket parameter names.
|
1.21 | 07-Jul-2014 |
rtr | backout change that made pr_stat return EOPNOTSUPP for protocols that were not filling in struct stat.
decision made after further discussion with rmind and investigation of how other operating systems behave. soo_stat() is doing just enough to be able to call what gets returned valid and thus justifys a return of success.
additional review will be done to determine of the pr_stat functions that were already returning EOPNOTSUPP can be considered successful with what soo_stat() is doing.
|
1.20 | 07-Jul-2014 |
rtr | * have pr_stat return EOPNOTSUPP consistently for all protocols that do not fill in struct stat instead of returning success.
* in pr_stat remove all checks for non-NULL so->so_pcb except where the pcb is actually used (i.e. cases where we don't return EOPNOTSUPP).
proposed on tech-net@
|
1.19 | 06-Jul-2014 |
rtr | * split PRU_SENSE functionality out of xxx_usrreq() switches and place into separate xxx_stat(struct socket *, struct stat *) functions. * replace calls using pr_generic with req == PRU_SENSE with pr_stat().
further change will follow that cleans up the pattern used to extract the pcb and test for its presence.
reviewed by rmind
|
1.18 | 01-Jul-2014 |
rtr | fix parameter types in pr_ioctl, called xx_control() functions and remove abuse of pointer to struct mbuf type.
param2 changed to u_long type and uses parameter name 'cmd' (ioctl command) param3 changed to void * type and uses parameter name 'data' param4 changed to struct ifnet * and uses parameter name 'ifp' param5 has been removed (formerly struct lwp *) and uses of 'l' have been replaced with curlwp from curproc(9).
callers have had (now unnecessary) casts to struct mbuf * removed, called code has had (now unnecessary) casts to u_long, void * and struct ifnet * respectively removed.
reviewed by rmind@
|
1.17 | 22-Jun-2014 |
rtr | * split PRU_CONTROL functionality out of xxx_userreq() switches and place into separate xxx_ioctl() functions. * place KASSERT(req != PRU_CONTROL) inside xxx_userreq() as it is now inappropriate for req = PRU_CONTROL in xxx_userreq(). * replace calls to pr_generic() with req = PRU_CONTROL with pr_ioctl(). * remove & fixup references to PRU_CONTROL xxx_userreq() function comments. * fix various comments references for xxx_userreq() that mentioned PRU_CONTROL as xxx_userreq() no longer handles the request.
a further change will follow to fix parameter and naming inconsistencies retained from original code.
Reviewed by rmind@
|
1.16 | 20-May-2014 |
rmind | Adjust PR_WRAP_USRREQS() to include the attach/detach functions. We still need the kernel-lock for some corner cases.
|
1.15 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.14 | 19-May-2014 |
martin | Make it compile without options DIAGNOSTIC by removing a variable only set once and only tested once in an assert.
|
1.13 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.12 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.11 | 29-Aug-2013 |
rmind | branches: 1.11.2; Remove SS_ISCONFIRMING, it is unused and TP4 will not come back.
|
1.10 | 06-Aug-2008 |
plunky | branches: 1.10.28; 1.10.38; 1.10.44; Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.9 | 24-Apr-2008 |
ad | branches: 1.9.2; 1.9.4; 1.9.8; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.8 | 15-Oct-2007 |
plunky | branches: 1.8.18; 1.8.20; for PRU_ATTACH, we should make sure that so_pcb is not allocated when there is any error
|
1.7 | 21-Apr-2007 |
plunky | branches: 1.7.6; 1.7.8; 1.7.10; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.6 | 31-Mar-2007 |
plunky | change declaration for protosw.h const symbolic strings to static, so that they can be used by more than one source file without causing duplicate definitions.
|
1.5 | 30-Mar-2007 |
plunky | be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.4 | 05-Mar-2007 |
plunky | branches: 1.4.2; 1.4.4; return ENOPROTOOPT when protocol options are not known
|
1.3 | 16-Nov-2006 |
christos | branches: 1.3.2; 1.3.4; 1.3.8; __unused removal on arguments; approved by core.
|
1.2 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.12; 1.1.14; 1.1.16; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.16.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.1.16.1 | 22-Oct-2006 |
yamt | sync with head
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file rfcomm_socket.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.12.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file rfcomm_socket.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file rfcomm_socket.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file rfcomm_socket.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.5 | 27-Oct-2007 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file rfcomm_socket.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.8.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.3.4.3 | 07-May-2007 |
yamt | sync with head.
|
1.3.4.2 | 15-Apr-2007 |
yamt | sync with head.
|
1.3.4.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.3.2.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.4.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.4.2.3 | 23-Oct-2007 |
ad | Sync with head.
|
1.4.2.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.4.2.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.7.10.1 | 18-Oct-2007 |
yamt | sync with head.
|
1.7.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.7.6.1 | 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.8.20.1 | 18-May-2008 |
yamt | sync with head.
|
1.8.18.2 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.8.18.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.9.8.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.9.4.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.9.2.1 | 04-May-2009 |
yamt | sync with head.
|
1.10.44.2 | 18-May-2014 |
rmind | sync with head
|
1.10.44.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.10.38.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.10.38.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.10.28.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.11.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.33.10.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.33.6.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.33.4.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.33.4.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.33.2.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.37.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.37.10.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1175): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/sctp_usrreq.c 1.14 sys/netinet/tcp_usrreq.c 1.223 sys/netinet6/raw_ip6.c 1.173 sys/netinet6/sctp6_usrreq.c 1.17 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.38.36.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.24 | 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.23 | 03-Sep-2018 |
riastradh | branches: 1.23.36; Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.22 | 16-Nov-2014 |
plunky | branches: 1.22.18; 1.22.20; since rfcomm_attach_pcb may be called from (soft) interrupt context (for incoming connections), use kmem_intr_()
|
1.21 | 08-Aug-2014 |
rtr | branches: 1.21.2; split PRU_RCVD function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_RCVD with calls to pr_rcvd()
|
1.20 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.19 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.18 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.17 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.16 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.15 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.14 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.13 | 04-Jan-2010 |
plunky | branches: 1.13.22; 1.13.26; 1.13.36; prevent local socket address from being changed after socket is in use (connect or listen)
|
1.12 | 22-Nov-2009 |
mbalmer | more s/the the/the/
|
1.11 | 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.10 | 20-Nov-2007 |
plunky | branches: 1.10.14; 1.10.18; 1.10.20; 1.10.24; allow listening to channel RFCOMM_CHANNEL_ANY, which means that we should allocate the first available channel at the given device address.
|
1.9 | 20-Nov-2007 |
plunky | when listening, don't attach to the 'any' address unless we wanted to listen to the 'any' address.
|
1.8 | 03-Nov-2007 |
plunky | branches: 1.8.2; "struct callout" -> callout_t don't use callout_reset() do use callout_destroy()
|
1.7 | 09-Jul-2007 |
ad | branches: 1.7.6; 1.7.8; 1.7.12; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.6 | 21-Apr-2007 |
plunky | Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.5 | 06-Apr-2007 |
plunky | rework ordering of error conditions for setopt, prefer to return EINVAL rather than EBUSY.
|
1.4 | 30-Mar-2007 |
plunky | be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.3 | 06-Mar-2007 |
plunky | branches: 1.3.2; 1.3.4; don't reset MTU when invalid value is given
|
1.2 | 05-Mar-2007 |
plunky | return ENOPROTOOPT when protocol options are not known
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.18; 1.1.20; 1.1.24; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.24.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.1.20.3 | 07-May-2007 |
yamt | sync with head.
|
1.1.20.2 | 15-Apr-2007 |
yamt | sync with head.
|
1.1.20.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.1.18.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.1.14.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.1.14.1 | 19-Jun-2006 |
rpaulo | file rfcomm_upper.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file rfcomm_upper.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file rfcomm_upper.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file rfcomm_upper.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.5 | 07-Dec-2007 |
yamt | sync with head
|
1.1.2.4 | 15-Nov-2007 |
yamt | sync with head.
|
1.1.2.3 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file rfcomm_upper.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.3.2.3 | 01-Jul-2007 |
ad | Adapt to callout API change.
|
1.3.2.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.3.2.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.7.12.2 | 21-Nov-2007 |
bouyer | Sync with HEAD
|
1.7.12.1 | 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.7.8.2 | 09-Jan-2008 |
matt | sync with HEAD
|
1.7.8.1 | 06-Nov-2007 |
matt | sync with HEAD
|
1.7.6.2 | 21-Nov-2007 |
joerg | Sync with HEAD.
|
1.7.6.1 | 04-Nov-2007 |
jmcneill | Sync with HEAD.
|
1.8.2.1 | 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.10.24.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.10.20.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.10.18.2 | 11-Mar-2010 |
yamt | sync with head
|
1.10.18.1 | 04-May-2009 |
yamt | sync with head.
|
1.10.14.1 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.13.36.1 | 10-Aug-2014 |
tls | Rebase.
|
1.13.26.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.13.22.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.13.22.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.21.2.1 | 18-Nov-2014 |
snj | Pull up following revision(s) (requested by plunky in ticket #248): sys/netbt/rfcomm_upper.c: revision 1.22 since rfcomm_attach_pcb may be called from (soft) interrupt context (for incoming connections), use kmem_intr_()
|
1.22.20.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.22.18.1 | 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.23.36.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.11 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.10 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.9 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.8 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.7 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.6 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.5 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.4 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.3 | 06-Aug-2008 |
plunky | branches: 1.3.38; 1.3.44; 1.3.54; Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.2 | 26-Jul-2006 |
tron | branches: 1.2.6; 1.2.56; 1.2.60; 1.2.62; 1.2.66; Bluetooth fixes by Iain Hibbert: - Enable listening and incoming connections for SCO links.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file sco.h was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.3 | 11-Aug-2006 |
yamt | sync with head
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file sco.h was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file sco.h was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file sco.h was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.66.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.2.62.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.2.60.1 | 04-May-2009 |
yamt | sync with head.
|
1.2.56.1 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.2.6.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.2.6.1 | 26-Jul-2006 |
rpaulo | file sco.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.3.54.1 | 10-Aug-2014 |
tls | Rebase.
|
1.3.44.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.3.38.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.39 | 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.38 | 28-Jan-2019 |
martin | branches: 1.38.36; Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.37 | 02-May-2015 |
rtr | branches: 1.37.10; 1.37.18; make connect syscall use sockaddr_big and modify pr_{send,connect} nam parameter type from buf * to sockaddr *.
final commit for parameter type changes to protocol user requests
* bump kernel version to 7.99.15 for parameter type changes to pr_{send,connect}
|
1.36 | 26-Apr-2015 |
rtr | remove pr_generic from struct pr_usrreqs and all implementations of pr_generic in protocols.
bump to 7.99.13
approved by rmind@
|
1.35 | 24-Apr-2015 |
rtr | make accept, getsockname and getpeername syscalls use sockaddr_big and modify pr_{accept,sockname,peername} nam parameter type from mbuf * to sockaddr *.
* retained use of mbuftypes[MT_SONAME] for now. * bump to netbsd version 7.99.12 for parameter type change.
patch posted to tech-net@ 2015/04/19
|
1.34 | 03-Apr-2015 |
rtr | * change pr_bind to accept struct sockaddr * instead of struct mbuf * * update protocol bind implementations to use/expect sockaddr * instead of mbuf * * introduce sockaddr_big struct for storage of addr data passed via sys_bind; sockaddr_big is of sufficient size and alignment to accommodate all addr data sizes received. * modify sys_bind to allocate sockaddr_big instead of using an mbuf. * bump kernel version to 7.99.9 for change to pr_bind() parameter type.
Patch posted to tech-net@ http://mail-index.netbsd.org/tech-net/2015/03/15/msg005004.html
The choice to use a new structure sockaddr_big has been retained since changing sockaddr_storage size would lead to unnecessary ABI change. The use of the new structure does not preclude future work that increases the size of sockaddr_storage and at that time sockaddr_big may be trivially replaced.
Tested by mrg@ and myself, discussed with rmind@, posted to tech-net@
|
1.33 | 09-Aug-2014 |
rtr | branches: 1.33.2; 1.33.4; 1.33.6; 1.33.10; split PRU_CONNECT2 & PRU_PURGEIF function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented (for PRU_CONNECT2 only)
- replace calls to pr_generic() with req = PRU_CONNECT2 with calls to pr_connect2()
- replace calls to pr_generic() with req = PRU_PURGEIF with calls to pr_purgeif()
put common code from unp_connect2() (used by unp_connect() into unp_connect1() and call out to it when needed
patch only briefly reviewed by rmind@
|
1.32 | 08-Aug-2014 |
rtr | split PRU_RCVD function out of pr_generic() usrreq switches and put into separate functions
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_RCVD with calls to pr_rcvd()
|
1.31 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.30 | 05-Aug-2014 |
rtr | revert the removal of struct lwp * parameter from bind, listen and connect user requests.
this should resolve the issue relating to nfs client hangs presented recently by wiz on current-users@
|
1.29 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.28 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.27 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.26 | 23-Jul-2014 |
rtr | split PRU_SENDOOB and PRU_RCVOOB function out of pr_generic() usrreq switches and put into separate functions xxx_sendoob(struct socket *, struct mbuf *, struct mbuf *) xxx_recvoob(struct socket *, struct mbuf *, int)
- always KASSERT(solocked(so)) even if request is not implemented
- replace calls to pr_generic() with req = PRU_{SEND,RCV}OOB with calls to pr_{send,recv}oob() respectively.
there is still some tweaking of m_freem(m) and m_freem(control) to come for consistency. not performed with this commit for clarity.
reviewed by rmind
|
1.25 | 09-Jul-2014 |
rtr | * split PRU_ACCEPT function out of pr_generic() usrreq switches and put into a separate function xxx_accept(struct socket *, struct mbuf *)
note: future cleanup will take place to remove struct mbuf parameter type and replace it with a more appropriate type.
patch reviewed by rmind
|
1.24 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.23 | 07-Jul-2014 |
rtr | * sprinkle KASSERT(solocked(so)); in all pr_stat() functions. * fix remaining inconsistent struct socket parameter names.
|
1.22 | 07-Jul-2014 |
rtr | backout change that made pr_stat return EOPNOTSUPP for protocols that were not filling in struct stat.
decision made after further discussion with rmind and investigation of how other operating systems behave. soo_stat() is doing just enough to be able to call what gets returned valid and thus justifys a return of success.
additional review will be done to determine of the pr_stat functions that were already returning EOPNOTSUPP can be considered successful with what soo_stat() is doing.
|
1.21 | 07-Jul-2014 |
rtr | * have pr_stat return EOPNOTSUPP consistently for all protocols that do not fill in struct stat instead of returning success.
* in pr_stat remove all checks for non-NULL so->so_pcb except where the pcb is actually used (i.e. cases where we don't return EOPNOTSUPP).
proposed on tech-net@
|
1.20 | 06-Jul-2014 |
rtr | * split PRU_SENSE functionality out of xxx_usrreq() switches and place into separate xxx_stat(struct socket *, struct stat *) functions. * replace calls using pr_generic with req == PRU_SENSE with pr_stat().
further change will follow that cleans up the pattern used to extract the pcb and test for its presence.
reviewed by rmind
|
1.19 | 01-Jul-2014 |
rtr | fix parameter types in pr_ioctl, called xx_control() functions and remove abuse of pointer to struct mbuf type.
param2 changed to u_long type and uses parameter name 'cmd' (ioctl command) param3 changed to void * type and uses parameter name 'data' param4 changed to struct ifnet * and uses parameter name 'ifp' param5 has been removed (formerly struct lwp *) and uses of 'l' have been replaced with curlwp from curproc(9).
callers have had (now unnecessary) casts to struct mbuf * removed, called code has had (now unnecessary) casts to u_long, void * and struct ifnet * respectively removed.
reviewed by rmind@
|
1.18 | 22-Jun-2014 |
rtr | * split PRU_CONTROL functionality out of xxx_userreq() switches and place into separate xxx_ioctl() functions. * place KASSERT(req != PRU_CONTROL) inside xxx_userreq() as it is now inappropriate for req = PRU_CONTROL in xxx_userreq(). * replace calls to pr_generic() with req = PRU_CONTROL with pr_ioctl(). * remove & fixup references to PRU_CONTROL xxx_userreq() function comments. * fix various comments references for xxx_userreq() that mentioned PRU_CONTROL as xxx_userreq() no longer handles the request.
a further change will follow to fix parameter and naming inconsistencies retained from original code.
Reviewed by rmind@
|
1.17 | 20-May-2014 |
rmind | Adjust PR_WRAP_USRREQS() to include the attach/detach functions. We still need the kernel-lock for some corner cases.
|
1.16 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.15 | 19-May-2014 |
martin | Make it compile without options DIAGNOSTIC by removing a variable only set once and only tested once in an assert.
|
1.14 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.13 | 18-May-2014 |
rmind | Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon.
Bump for struct protosw. Welcome to 6.99.62!
|
1.12 | 29-Aug-2013 |
rmind | branches: 1.12.2; Remove SS_ISCONFIRMING, it is unused and TP4 will not come back.
|
1.11 | 06-Aug-2008 |
plunky | branches: 1.11.28; 1.11.38; 1.11.44; Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.10 | 24-Apr-2008 |
ad | branches: 1.10.2; 1.10.4; 1.10.8; Merge the socket locking patch:
- Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions.
With much feedback from matt@ and plunky@.
|
1.9 | 21-Apr-2007 |
plunky | branches: 1.9.28; 1.9.30; Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API.
- L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key)
- for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails.
- mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set.
- It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug)
- bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options
- btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it)
|
1.8 | 31-Mar-2007 |
plunky | change declaration for protosw.h const symbolic strings to static, so that they can be used by more than one source file without causing duplicate definitions.
|
1.7 | 30-Mar-2007 |
plunky | be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.6 | 05-Mar-2007 |
plunky | branches: 1.6.2; 1.6.4; return ENOPROTOOPT when protocol options are not known
|
1.5 | 16-Nov-2006 |
christos | branches: 1.5.2; 1.5.4; 1.5.8; __unused removal on arguments; approved by core.
|
1.4 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.3 | 28-Aug-2006 |
plunky | branches: 1.3.2; 1.3.4; 1.3.6; add newline to (debug) printf
|
1.2 | 26-Jul-2006 |
tron | Bluetooth fixes by Iain Hibbert: - Enable listening and incoming connections for SCO links.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file sco_socket.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.4 | 03-Sep-2006 |
yamt | sync with head.
|
1.1.6.3 | 11-Aug-2006 |
yamt | sync with head
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file sco_socket.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file sco_socket.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file sco_socket.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.3.6.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.3.6.1 | 22-Oct-2006 |
yamt | sync with head
|
1.3.4.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.3.4.1 | 28-Aug-2006 |
rpaulo | file sco_socket.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.3.2.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.5.8.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.5.4.3 | 07-May-2007 |
yamt | sync with head.
|
1.5.4.2 | 15-Apr-2007 |
yamt | sync with head.
|
1.5.4.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.5.2.1 | 19-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by plunky in ticket #744): sys/netbt/l2cap_lower.c: revision 1.6 sys/dev/bluetooth/btdev.h: revision 1.6 sys/netbt/sco_socket.c: revision 1.9 sys/netbt/rfcomm_upper.c: revision 1.3 sys/netbt/l2cap_socket.c: revision 1.7 sys/netbt/rfcomm_upper.c: revision 1.5 lib/libusbhid/usbhid.h: revision 1.5 sys/netbt/rfcomm_upper.c: revision 1.6 usr.sbin/btdevctl/btdevctl.c: revision 1.4 usr.sbin/btdevctl/btdevctl.h: revision 1.3 usr.sbin/btdevctl/btdevctl.8: revision 1.4 sys/netbt/rfcomm_session.c: revision 1.5 sys/netbt/hci.h: revision 1.10 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.6 sys/netbt/hci_link.c: revision 1.11 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.7 usr.bin/rfcomm_sppd/rfcomm_sppd.c: revision 1.8 sys/dev/bluetooth/btsco.c: revision 1.14 sys/netbt/rfcomm_session.c: revision 1.9 usr.sbin/btdevctl/sdp.c: revision 1.2 share/man/man9/bluetooth.9: revision 1.2 usr.sbin/btdevctl/sdp.c: revision 1.3 sys/dev/bluetooth/bthidev.c: revision 1.8 sys/netbt/l2cap.h: revision 1.4 sys/netbt/rfcomm.h: revision 1.3 sys/netbt/l2cap.h: revision 1.5 sys/netbt/l2cap_misc.c: revision 1.3 share/man/man4/bluetooth.4: revision 1.5 lib/libusbhid/usbhid.3: revision 1.11 sys/netbt/bluetooth.h: revision 1.5 share/man/man4/bthidev.4: revision 1.8 sys/netbt/rfcomm_dlc.c: revision 1.3 usr.sbin/btdevctl/print.c: revision 1.8 sys/netbt/rfcomm_socket.c: revision 1.7 sys/netbt/l2cap_signal.c: revision 1.4 sys/netbt/l2cap_signal.c: revision 1.5 sys/netbt/l2cap_signal.c: revision 1.7 sys/netbt/hci_event.c: revision 1.6 usr.bin/rfcomm_sppd/rfcomm_sppd.1: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.3 sys/netbt/l2cap_lower.c: revision 1.2 usr.sbin/btdevctl/db.c: revision 1.3 sys/netbt/l2cap_upper.c: revision 1.6 lib/libusbhid/descr.c: revision 1.5 sys/netbt/l2cap_upper.c: revision 1.7 sys/netbt/l2cap_lower.c: revision 1.4 Add 'service level' security for L2CAP and RFCOMM connections, following the Linux (BlueZ) API. - L2CAP or RFCOMM connections can require the baseband radio link mode be any of: authenticated (devices are paired) encrypted (implies authentication) secured (encryption, plus generate new link key) - for sockets, the mode is set using setsockopt(2) and the socket connection will be aborted if the mode change fails. - mode settings will be applied during connection establishment, and for safety, we enter a wait state and will only proceed when the mode settings are successfuly set. - It is possible to change the mode on already open connections, but not possible to guarantee that data already queued (from either end) will not be delivered. (this is a feature, not a bug) - bthidev(4) and rfcomm_sppd(1) support "auth", "encrypt" and "secure" options - btdevctl(8) by default enables "auth" for HIDs, and "encrypt" for keyboards (which are required to support it) - ALSO INCLUDES OTHER MINOR FIXES
|
1.6.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.6.2.2 | 08-Jun-2007 |
ad | Sync with head.
|
1.6.2.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.9.30.1 | 18-May-2008 |
yamt | sync with head.
|
1.9.28.2 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.9.28.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.10.8.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.10.4.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.10.2.1 | 04-May-2009 |
yamt | sync with head.
|
1.11.44.2 | 18-May-2014 |
rmind | sync with head
|
1.11.44.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.11.38.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.11.38.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.11.28.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.12.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.33.10.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.33.6.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.33.4.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.33.4.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.33.2.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1676): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/tcp_usrreq.c 1.223 via patch sys/netinet6/raw_ip6.c 1.173 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.37.18.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.37.10.1 | 29-Jan-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #1175): sys/net/link_proto.c 1.37 sys/netatalk/ddp_usrreq.c 1.72 sys/netbt/hci_socket.c 1.46 sys/netbt/l2cap_socket.c 1.36 sys/netbt/rfcomm_socket.c 1.38 sys/netbt/sco_socket.c 1.38 sys/netinet/sctp_usrreq.c 1.14 sys/netinet/tcp_usrreq.c 1.223 sys/netinet6/raw_ip6.c 1.173 sys/netinet6/sctp6_usrreq.c 1.17 sys/netinet6/udp6_usrreq.c 1.146 sys/netmpls/mpls_proto.c 1.32 sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all sendoob() functions are expted to free both passed mbuf chains.
|
1.38.36.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.16 | 05-Aug-2014 |
rtr | split PRU_SEND function out of pr_generic() usrreq switches and put into separate functions
xxx_send(struct socket *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_SEND with calls to pr_send()
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_send() PRUs
- l2cap_send() -> l2cap_send_pcb() - sco_send() -> sco_send_pcb() - rfcomm_send() -> rfcomm_send_pcb()
patch reviewed by rmind
|
1.15 | 31-Jul-2014 |
rtr | split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *) xxx_shutdown(struct socket *) xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented - replace calls to pr_generic() with req = PRU_{DISCONNECT,SHUTDOWN,ABORT} with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() -> {l2cap,sco,rfcomm}_disconnect_pcb() - {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1() - unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
|
1.14 | 30-Jul-2014 |
rtr | split PRU_CONNECT function out of pr_generic() usrreq switches and put into seaparate functions
xxx_listen(struct socket *, struct mbuf *)
- always KASSERT(solocked(so)) and KASSERT(nam != NULL) - replace calls to pr_generic() with req = PRU_CONNECT with pr_connect() - rename existin {l2cap,sco,rfcomm}_connect() to {l2cap,sco,rfcomm}_connect_pcb() respectively to permit naming consistency with other protocols functions. - drop struct lwp * parameter from unp_connect() and at_pcbconnect() and use curlwp instead where appropriate.
patch reviewed by rmind
|
1.13 | 24-Jul-2014 |
rtr | split PRU_BIND and PRU_LISTEN function out of pr_generic() usrreq switches and put into separate functions xxx_bind(struct socket *, struct mbuf *) xxx_listen(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req = PRU_BIND with call to pr_bind()
- replace calls to pr_generic() with req = PRU_LISTEN with call to pr_listen()
- drop struct lwp * parameter from at_pcbsetaddr(), in_pcbbind() and unp_bind() and always use curlwp.
rename existing functions that operate on PCB for consistency (and to free up their names for xxx_{bind,listen}() PRUs
- l2cap_{bind,listen}() -> l2cap_{bind,listen}_pcb() - sco_{bind,listen}() -> sco_{bind,listen}_pcb() - rfcomm_{bind,listen}() -> rfcomm_{bind,listen}_pcb()
patch reviewed by rmind
welcome to netbsd 6.99.48
|
1.12 | 09-Jul-2014 |
rtr | * split PRU_PEERADDR and PRU_SOCKADDR function out of pr_generic() usrreq switches and put into separate functions xxx_{peer,sock}addr(struct socket *, struct mbuf *).
- KASSERT(solocked(so)) always in new functions even if request is not implemented
- KASSERT(pcb != NULL) and KASSERT(nam) if the request is implemented and not for tcp.
* for tcp roll #ifdef KPROF and #ifdef DEBUG code from tcp_usrreq() into easier to cut & paste functions tcp_debug_capture() and tcp_debug_trace()
- functions provided by rmind - remaining use of PRU_{PEER,SOCK}ADDR #define to be removed in a future commit.
* rename netbt functions to permit consistency of pru function names (as has been done with other requests already split out).
- l2cap_{peer,sock}addr() -> l2cap_{peer,sock}_addr_pcb() - rfcomm_{peer,sock}addr() -> rfcomm_{peer,sock}_addr_pcb() - sco_{peer,sock}addr() -> sco_{peer,sock}_addr_pcb()
* split/refactor do_sys_getsockname(lwp, fd, which, nam) into two functions do_sys_get{peer,sock}name(fd, nam).
- move PRU_PEERADDR handling into do_sys_getpeername() from do_sys_getsockname() - have svr4_stream directly call do_sys_get{sock,peer}name() respectively instead of providing `which' & fix a DPRINTF string that incorrectly wrote "getpeername" when it meant "getsockname" - fix sys_getpeername() and sys_getsockname() to call do_sys_get{sock,peer}name() without `which' and `lwp' & adjust comments - bump kernel version for removal of lwp & which parameters from do_sys_getsockname()
note: future cleanup to remove struct mbuf * abuse in xxx_{peer,sock}name() still to come, not done in this commit since it is easier to do post split.
patch reviewed by rmind
welcome to 6.99.47
|
1.11 | 20-May-2014 |
rmind | netbt: rename some attach/detach functions to have _pcb suffix, so we could use standard attach/detach naming for pr_usrreq functions. No functional change.
|
1.10 | 19-May-2014 |
rmind | - Split off PRU_ATTACH and PRU_DETACH logic into separate functions. - Replace malloc with kmem and eliminate M_PCB while here. - Sprinkle more asserts.
|
1.9 | 04-Jan-2010 |
plunky | branches: 1.9.22; 1.9.26; 1.9.36; prevent local socket address from being changed after socket is in use (connect or listen)
|
1.8 | 06-Aug-2008 |
plunky | Convert socket options code to use a sockopt structure instead of laying everything into an mbuf.
approved by core
|
1.7 | 16-Mar-2008 |
plunky | branches: 1.7.4; 1.7.6; 1.7.10; we always know the bdaddr and type of a link when creating it, so pass them to the _alloc() function and let it set them.
|
1.6 | 30-Mar-2007 |
plunky | branches: 1.6.10; 1.6.26; 1.6.30; be more explicit and consistent in use of KASSERT with pointers, test against NULL
|
1.5 | 05-Mar-2007 |
plunky | branches: 1.5.2; 1.5.4; return ENOPROTOOPT when protocol options are not known
|
1.4 | 16-Nov-2006 |
christos | branches: 1.4.4; __unused removal on arguments; approved by core.
|
1.3 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.2 | 27-Aug-2006 |
plunky | branches: 1.2.2; 1.2.4; 1.2.6; BluetootH SCO Audio update.
Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent.
Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program.
Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access.
Fix incoming connection handling for btsco(4) and SCO sockets.
Fix documentation to reflect the new world order.
|
1.1 | 19-Jun-2006 |
gdamore | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; Initial import of bluetooth stack on behalf of Iain Hibbert. (plunky@, NetBSD Foundation Membership still pending.) This stack was written by Iain under sponsorship from Itronix Inc.
The stack includes support for rfcomm networking (networking via your bluetooth enabled cell phone), hid devices (keyboards/mice), and headsets.
Drivers for both PCMCIA and USB bluetooth controllers are included.
|
1.1.10.1 | 07-Sep-2006 |
tron | Pull up following revision(s) (requested by plunky in ticket #81): sys/netbt/sco_upper.c: revision 1.2 usr.sbin/btconfig/btconfig.c: revision 1.3 sys/netbt/hci_ioctl.c: revision 1.3 usr.sbin/btconfig/btconfig.8: revision 1.4 usr.sbin/btdevctl/btdevctl.8: revision 1.2 sys/netbt/files.netbt: revision 1.3 sys/netbt/bt_proto.c: revision 1.2 share/man/man4/ubt.4: revision 1.4 usr.sbin/btdevctl/cfg.c: revision 1.3 sys/netbt/hci.h: revision 1.4 share/man/man4/bluetooth.4: revision 1.2 share/man/man4/btsco.4: revision 1.4 sys/dev/bluetooth/btsco.c: revision 1.2 sys/netbt/bt_sysctl.c: revision 1.2 BluetootH SCO Audio update. Provide an ioctl to set the SCO mtu value in the controller and place limits in the SCO code such that only packets of this size may be sent. Move the mtu option from btsco(4) and btdevctl(8), to the btconfig(8) program. Remove temporary BLUETOOTH_SCO kernel option, and enable SCO socket access. Fix incoming connection handling for btsco(4) and SCO sockets. Fix documentation to reflect the new world order.
|
1.1.8.2 | 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.1.8.1 | 19-Jun-2006 |
gdamore | file sco_upper.c was added on branch gdamore-uart on 2006-07-13 17:49:58 +0000
|
1.1.6.3 | 03-Sep-2006 |
yamt | sync with head.
|
1.1.6.2 | 26-Jun-2006 |
yamt | sync with head.
|
1.1.6.1 | 19-Jun-2006 |
yamt | file sco_upper.c was added on branch yamt-pdpolicy on 2006-06-26 12:53:57 +0000
|
1.1.4.2 | 22-Jun-2006 |
chap | Complete a sync sys/ with head.
|
1.1.4.1 | 19-Jun-2006 |
chap | file sco_upper.c was added on branch chap-midi on 2006-06-22 03:39:50 +0000
|
1.1.2.5 | 17-Mar-2008 |
yamt | sync with head.
|
1.1.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.1.2.3 | 30-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 | 21-Jun-2006 |
yamt | sync with head.
|
1.1.2.1 | 19-Jun-2006 |
yamt | file sco_upper.c was added on branch yamt-lazymbuf on 2006-06-21 15:10:51 +0000
|
1.2.6.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.2.6.1 | 22-Oct-2006 |
yamt | sync with head
|
1.2.4.2 | 09-Sep-2006 |
rpaulo | sync with head
|
1.2.4.1 | 27-Aug-2006 |
rpaulo | file sco_upper.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:58:39 +0000
|
1.2.2.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.4.4.2 | 15-Apr-2007 |
yamt | sync with head.
|
1.4.4.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.5.4.1 | 11-Jul-2007 |
mjf | Sync with head.
|
1.5.2.1 | 10-Apr-2007 |
ad | Sync with head.
|
1.6.30.2 | 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.6.30.1 | 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.6.26.1 | 24-Mar-2008 |
keiichi | sync with head.
|
1.6.10.1 | 23-Mar-2008 |
matt | sync with HEAD
|
1.7.10.1 | 19-Oct-2008 |
haad | Sync with HEAD.
|
1.7.6.1 | 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.7.4.2 | 11-Mar-2010 |
yamt | sync with head
|
1.7.4.1 | 04-May-2009 |
yamt | sync with head.
|
1.9.36.1 | 10-Aug-2014 |
tls | Rebase.
|
1.9.26.1 | 28-Aug-2013 |
rmind | Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way.
|
1.9.22.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|