Kevin Redon
ff5db6e81e
ensure the local asn1c library is used
...
Change-Id: Icc91c8f422965fec9c247aa9006e993c15f86d93
2018-10-12 14:09:04 +02:00
Harald Welte
5a3613a57f
bankd: Ignore IPA CCM and don't terminate if we receive it
...
The IPA multiplex has a built-in sub-protocol called "CCM", which
we are not implemnting so far. We still don't implement it, but
at least we don't terminate the TCP connection anymore if any such
unsupported IPA CCM is received.
Change-Id: Ibf7bf2aa973c3f7503479c35adfdc135d7165618
2018-10-12 14:04:19 +02:00
Harald Welte
43ab79f8c2
remove libasn1c dependency and use asn1c without libasn1c
...
TODO: re-introduce talloc integration for asn1 runtime
Change-Id: I2140509c5359727f304470249be2a726b9a8deb1
2018-10-03 23:34:21 +02:00
Harald Welte
8f893ff208
bankd: Add FIXME to the main thread
...
Change-Id: I5d36afdf2417023d09e7029244e2e649f08266b2
2018-10-03 23:23:44 +02:00
Harald Welte
7b41d9c863
bankd: Remove second \n after PC/SC OK statements
...
Change-Id: I80cc727d0260599d8114b1050f04cf17977944f2
2018-10-03 23:15:10 +02:00
Harald Welte
150d6d6788
bankd: more timeout/retry handling, including resolving slotmap
...
Change-Id: I6541456700d2615a391d8163424b3e39561a29c0
2018-10-03 23:13:21 +02:00
Harald Welte
694df83f35
bankd: Implement re-opening/connecting to card/reader
...
Change-Id: I5f4b12a76f82776cfd929bd56a4a1f0d4217be65
2018-10-03 22:47:52 +02:00
Harald Welte
31c9eca75a
bankd_main: Set the pthread name for easier debugging
...
Change-Id: Ib1bf2b392ee161ba0d2d01bec927c2c0293a8f3b
2018-10-03 21:03:34 +02:00
Harald Welte
f94b9ee67b
bankd: Initialize logging early.
...
In case libosmocore wants to log e.g. a failure to bind the port,
we must have initialized logging before that point.
Change-Id: I86e805a66da6269748e6bd3164e5c0342e014f77
2018-09-25 15:04:21 +02:00
Harald Welte
9ebbacc801
correctly use asn1c API: PDU pointers must be NULL when calling decoder
...
If the pointers are != NULL, asn1c assumes their memory has already been
allocated, rather than dynamically allocating storage for it.
Change-Id: I6b78be75d8927f032ca4051520a3053b3fbf9e13
2018-09-24 17:46:05 +02:00
Harald Welte
e1176cf510
bankd: Print error messages in more error cases during IPA read
...
Change-Id: I5b9720688ebda8ad37109c0cd32e8804678f46ac
2018-09-24 14:54:58 +02:00
Harald Welte
f1dd16291e
bankd: Add app_comp_id to use repro_util helpers
...
Change-Id: Ie981388220ed0612e427d076f8741fec73e6026b
2018-09-24 14:54:23 +02:00
Harald Welte
3e689874ff
bankd: Handle errors during PC/SC open/connect
...
Change-Id: I304b4f73433d6027409aeef7faf04d4e8acd2e54
2018-09-24 14:52:56 +02:00
Harald Welte
fd47119111
use msb->l2h as pointer to the RSPRO part inside msgb
...
Change-Id: Ib8d02047ec64178f9ee235534dab3d9bf4ead296
2018-09-24 14:52:17 +02:00
Harald Welte
e72e57383d
bankd: Add hack for hard-coded slotmap
...
As we don't yet have any software that would dynamically install
slot mappings into bankd, let's add a bunch of them as compiled-in
defaults during bankd_init(). This must of course be removed once
the dynamic slot mapping configuration from remsim-server exists.
Change-Id: I04d6ed68c9b9bfb559a41c705884cce4394ea926
2018-09-23 19:31:55 +02:00
Harald Welte
796a7492c7
bankd: Add code to handle TPDUs in rx and tx direction
...
Change-Id: Icb35ad28939392e75a17b732834d9d570452164f
2018-09-23 19:31:28 +02:00
Harald Welte
57593f0ce9
bankd_main: Missing state transition to BW_ST_CONN_CLIENT_MAPPED_CARD
...
After we opened the card, we need to transition in this state.
Change-Id: I2de62045bae6313620e81b24d883cec9e4b6017f
2018-09-23 19:30:31 +02:00
Harald Welte
48865c284b
bankd_main: Fix SCardConnect(): Needs dwActiveProtocol output param
...
Change-Id: I4d07d75966afbf4af7ac592ecdef61074a329186
2018-09-23 19:30:07 +02:00
Harald Welte
45c948cc10
bankd_pcsc: Add CSV based mapping of bank-id/slot-nr to PC/SC reader name
...
In the PC/SC world, each slot is associated with a string name. In the
bankd for PC/SC readers, we need to establish a mapping which
bank_id/slot_nr maps to which given string name. We use a minimalistic
CSV file for defining those mappings. The file is read only once at
bankd startup time.
Change-Id: Ifd2caab670625e2e3fbc57b966dce2f43b690417
2018-09-23 19:29:51 +02:00
Harald Welte
af61473729
bankd: Resolve slot mapping after client identifies itself.
...
If mapping cannot be resolved, transition to new
BW_ST_CONN_CLIENT_WAIT_MAP state
Change-Id: I27b4bc301a784712808881a40636e9299816fe72
2018-08-17 22:10:05 +02:00
Harald Welte
371d026c6b
RSPRO: Use ClientSlot in ConnectClientReq, ConfigClientReq
...
Change-Id: I33b44009eea338627b0ccbe69b9e4114e4fb85d8
2018-08-16 15:30:41 +02:00
Harald Welte
415e8f66ce
bankd: Re-initialize client.peer_addr when recycling the thread
...
Change-Id: I56ed45bda4323326c42283f160f4b99a4138add1
2018-08-16 14:47:38 +02:00
Harald Welte
ceb3e68fab
bankd: Include worker state and file/line in LOGW output
...
Change-Id: I00974d7f567ec1d3142727d455549c76ec974a03
2018-08-16 14:47:11 +02:00
Harald Welte
d6dfb8c045
bankd: use getnameinfo() to print client IP/port on connect
...
Change-Id: Ia721f993b4e4c0addf429fbd6179d7d379c0ccd0
2018-08-16 14:46:53 +02:00
Harald Welte
cce2aadbb3
bankd: Add client.id to bankd_worker
...
Change-Id: I1461f626b579d92621df21b53bbbe8062fb97d72
2018-08-16 14:44:37 +02:00
Harald Welte
7f684a0021
bankd: Don't consume 100% CPU in main thread
...
Change-Id: I4586a4c00fcdd4540f84caa005d2f116a63aa59c
2018-08-16 14:43:50 +02:00
Harald Welte
12534e776d
bankd: Actually create + listen to a socket
...
Change-Id: I3b6a2b8bd74afafe9575ab00a7f3738a8fac0861
2018-08-15 23:37:29 +02:00
Harald Welte
8d85829821
bankd: Log worker number; Add formal state + state transition function
...
Change-Id: Ib18e3ad79657e9423a1c1ac75438abcd2e4fdbbd
2018-08-15 23:36:46 +02:00
Harald Welte
77911b0091
Add initial remsim-bankd skeleton
...
This is not a complete program yet, but a rough initial skeleton with
the key data structures in place, as well as the thread / locking model
in place.
Change-Id: I5ad5a1a4918b8eacdaeb7e709ff05dc056346752
2018-08-15 08:56:31 +02:00