we could add a function checking the ATR validity
also before updating the (conditional) checksum we should check if
it is actually present in the ATR
Change-Id: Id1084abdf2318e96c22f8e69cc1ef161b12ef5ea
the TDPU response data size can be up to 256.
this length cannot be stored in a uint8_t, which would cause the
length to become 0, no data being send, and the reader reset the
card because of misbehaviour of the card (i.e. no/malformed
response leading to the timeout of the waiting time).
Change-Id: Id38f9e597ffff242e89ea3dd9fbdf0c9f444cc03
The rspro_server_conn might be a static member of a different struct
and hence not suitable as a talloc context.
Change-Id: I9fd78d558f791d452f2a5279f1af13fd596c1cd6
What we're doing is actually legal: We copy the full size of the
destination array, and then overwrite the last byte with NUL. However,
gcc isn't smart enough to see that:
libusb_util.c:162:5: warning: ‘strncpy’ specified bound 20 equals destination size [-Wstringop-truncation]
strncpy(out[out_idx].path, path, sizeof(out[out_idx].path));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Let's copy one byte less to make it happy.
Change-Id: Iae13f7a4cf89230f308eb0183d993d7c31024907
RPM post-build-checks found some issue and marks these as error:
[ 31s] I: Program returns random data in a function
[ 31s] E: osmo-remsim no-return-in-nonvoid-function main.c:49
Change-Id: I18705488d0ef8a445004e6a7e81dd2483afb9bdb
simtrace2-remsim_client.c combines simtrace2-remsim and
remsim_client.c.
it compiles but is short of sending the modem APDU from simtrace2
cardem to bankd.
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
This was more or less a copy+paste of other related code we already
have for other IPA based protocols in libosmo*.
Change-Id: I21ade32fec3c1badfcf6bc9cd4ec845efed138e0
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
If the pointers are != NULL, asn1c assumes their memory has already been
allocated, rather than dynamically allocating storage for it.
Change-Id: I6b78be75d8927f032ca4051520a3053b3fbf9e13
I suspect there may be some bugs in the handling of DEFAULT values
in asn1c (or maybe I don't understand them fully?), so let's simply
make the version field a normal ASN.1 field.
Change-Id: I08077e715a901dfa5193855be7040d550f6fc2e8
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