Hello,

- v3: patch 6 was breaking patch 9. Small optimization in patch 5
- v2: Applied comments from Daniel Wagner on patches 2, 3, 5, 6, 8 and 19

Here is the preliminary logic for Connect/Disconnect for P2P Peers.
What it does:
- Provide DBus Connect/Disconnect method for Peer object
- connects a peer properly ONLY when the peer ends up as a group client*
- Using WPS PBC only (no Agent required since PIN is not supported yet)
- disconnect a peer proerly ONLY when the peer was a group client*

What's next:
- Add support for group ownership properly (gsupplicant and wifi plugin)
- Add support for WPS PIN (Agent API upgrade)

It's probably hidding many bugs, so this is still very much experimental.

Note: you need the very latest git trunk version of wpa_supplicant to get this
working, plus this patch for it: 
http://lists.shmoo.com/pipermail/hostap/2014-July/030616.html

Most of the patches don't mess with the other features, so it should not 
generate
collateral damage. Only patches 19-20 have some implications though I did not 
get
any error while testing.

(*: ConnMan sets the go intent to 7 by default, so for testing: make sure the
other end as a higher go intent. At least for now.)

Tomasz Bursztyka (32):
  gsupplicant: Use StopFind instead of Flush to detect P2P support
  gsupplicant: Check whether or not a peer support WPS PBC
  gsupplicant: Add a function to set the P2P device name
  gsupplicant: Always call peer_lost callback when removing a peer
  gsupplicant: Add P2P group related signal handlers
  gsupplicant: Add support for peer PropertiesChanged signal
  gsupplicant: Add PeerJoined and PeerDisconnected group signals
    handlers
  gsupplicant: Add a callback and helpers to get peer's status
  gsupplicant: Relate the connecting peer with the newly started group
  gsupplicant: Provide an accessor for a peer to get it's group
    interface
  gsupplicant: Add function to connect/disconnect a peer
  peer: Make a relation between a peer and a device
  peer: Add a function to get the peer identifier
  peer: Add the ability to register/unregister a peer driver
  peer: Add a reference counting mechanism for peer objects
  dbus: Factorize pending reply generic functions out of service.c
  peer: Fix peers list change notification
  peer: Add the basic logic for peer state handling
  dhcp: Make dhcp running on ipconfig so network is optional
  dhcp: Make possible to provide user data when starting dhcp
  peer: Basic integration of ipconfig within a peer
  peer: Add DBus support for peer's ipconfig object
  peer: Connect and Disconnect methods implementation
  peer: Add the notion of sub-device used when connected.
  wifi: Technology driver registration returns 0 on success
  wifi: Set the proper P2P device name if P2P is supported
  wifi: Provide a peer driver to connect/disconnect a peer
  wifi: Handle incoming p2p device chicken and egg problem
  wifi: Support peer's state changed when connecting or being notified
  wifi: Set the sub-device for the connecting peer
  test: Improve p2p test script to handle Peer's signal plus fixes
  client: Add suport for connecting and disconnecting a peer

 Makefile.am               |   5 +-
 client/commands.c         |  33 ++-
 client/dbus_helpers.c     |   2 +-
 gsupplicant/gsupplicant.h |  44 +++-
 gsupplicant/supplicant.c  | 654 +++++++++++++++++++++++++++++++++++++++++++++-
 include/dbus.h            |   3 +
 include/peer.h            |  41 ++-
 plugins/wifi.c            | 304 +++++++++++++++++++--
 src/connman.h             |  11 +-
 src/dbus.c                |  32 +++
 src/dhcp.c                | 373 +++++++++++++-------------
 src/network.c             |  22 +-
 src/peer.c                | 509 +++++++++++++++++++++++++++++++++---
 src/service.c             |  37 +--
 test/p2p-on-supplicant    |  33 ++-
 15 files changed, 1791 insertions(+), 312 deletions(-)

-- 
1.8.5.5

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to