aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkevredon <kevredon@mail.tsaitgaist.info>2011-04-13 21:45:15 +0200
committerkevredon <kevredon@mail.tsaitgaist.info>2011-04-13 21:45:15 +0200
commit556c2fe9b8526a05213551f70f0d46f8e5ca1d2e (patch)
tree3cfe49f650fadd716921ac645363c6dcb184dc90
parentdb0876498a28a33b8f83c58cdf8e3d57177ec6ad (diff)
README
-rw-r--r--README54
1 files changed, 52 insertions, 2 deletions
diff --git a/README b/README
index edb64ff..adf6040 100644
--- a/README
+++ b/README
@@ -1,3 +1,53 @@
-== SIM2
+SAP is a ruby implementation of the BTSAP (Bluetooth SIM Access Profile) spec.
-You should document your project here.
+client and server share common contsants, functions, pricipiles
+this common part is defined in common.rb
+client.rb is a child of common.rb, it implements the client part of SAP
+server.rb is a child of common.rb, it implements the server part of SAP
+client.rb and server.rb do not work on there own, but are "interfaces"
+
+common.rb :
+- is contains the contanst for SAP, the method to create and parse the message,
+methods to get and send messages, and the state machine call
+- the verbosity is definied in this class in VERBOSE
+
+client.rb :
+- it implements the client side of the state machine
+- a IO to the server has to be provided
+- it provides the main functions : connect,atr,apdu,disconnect
+
+server.rb :
+- it implements the server part of the state machine
+- a IO to accept clients has to be provided
+- the main functions have to be implemented to
+
+bluetooth_client.rb :
+- it searches for bluetooth SAP servers and connects to it
+- a path to the serial port is provided
+- it used BlueZ over dbus (see file head for details)
+
+demo_client :
+- it's purpose it to test the client implementation (just the basics)
+- choose between :bt and :tcp if the head of the file
+- if :tcp is chosen, it will connect to a SAP server using a network socket
+- if :bt is chosen, it will connect to a SAP server using bluetooth
+(using bluetooth_client.rb)
+- the demo application will only connect to the server, get the ATR,
+send a single APDU, and disconnect
+
+demo_server.rb :
+- nothing implemented yet
+
+pcsc_server.rb :
+- this is a server implementation that uses a classic smart card reader to
+connect to the SIM
+- it uses a network port to listen for clients
+- the gem smartcard is used (see head for details)
+
+smartcard :
+gem smartcard 0.5.1 does not support the T=0 protocol.
+apply the patch to the gem (once extracted) and install it (use rake)
+
+STATE :
+- it does not implement the functions for the proactive SIM : power_on/off,
+reset , ...