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