| History log of /src/sys/netbt/rfcomm_dlc.c |
| Revision | | Date | Author | Comments |
| 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)
|