laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/28963 )
Change subject: pySim.transport: Add mechanism for handling for CAT/USAT proactive cmds
......................................................................
pySim.transport: Add mechanism for handling for CAT/USAT proactive cmds
This introduces an optional argument to the LinkBase class constructor,
where the application can pass an instance of a ProactiveHandler derived
class in order to handle the proactive commands that the LinkBase is
automatically fetching whenever the card indicates so.
Change-Id: I844504e2fc1b27ce4fc7ede20b2307e698baa0f6
---
M pySim/transport/__init__.py
1 file changed, 15 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/63/28963/1
diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py
index 9364b07..bc18b5a 100644
--- a/pySim/transport/__init__.py
+++ b/pySim/transport/__init__.py
@@ -9,11 +9,11 @@
from pySim.exceptions import *
from pySim.construct import filter_dict
-from pySim.utils import sw_match, b2h, h2b, i2h
+from pySim.utils import sw_match, b2h, h2b, i2h, Hexstr
#
# Copyright (C) 2009-2010 Sylvain Munaut <tnt(a)246tNt.com>
-# Copyright (C) 2021 Harald Welte <laforge(a)osmocom.org>
+# Copyright (C) 2021-2022 Harald Welte <laforge(a)osmocom.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -37,13 +37,22 @@
def trace_response(self, cmd, sw, resp):
pass
+class ProactiveHandler(abc.ABC):
+ """Abstract base class representing the interface of some code that handles
+ the proactive commands, as returned by the card in responses to the FETCH
+ command."""
+ @abc.abstractmethod
+ def receive_fetch(payload: Hexstr):
+ pass
class LinkBase(abc.ABC):
"""Base class for link/transport to card."""
- def __init__(self, sw_interpreter=None, apdu_tracer=None):
+ def __init__(self, sw_interpreter=None, apdu_tracer=None,
+ proactive_handler: Optional[ProactiveHandler]=None):
self.sw_interpreter = sw_interpreter
self.apdu_tracer = apdu_tracer
+ self.proactive_handler = proactive_handler
@abc.abstractmethod
def _send_apdu_raw(self, pdu: str) -> Tuple[str, str]:
@@ -137,10 +146,12 @@
"""
rv = self.send_apdu(pdu)
- if sw == '9000' and sw_match(rv[1], '91xx'):
+ while sw == '9000' and sw_match(rv[1], '91xx'):
# proactive sim as per TS 102 221 Setion 7.4.2
rv = self.send_apdu_checksw('80120000' + rv[1][2:], sw)
print("FETCH: %s", rv[0])
+ if self.proactive_handler:
+ self.proactive_handler.receive_fetch(rv[0])
if not sw_match(rv[1], sw):
raise SwMatchError(rv[1], sw.lower(), self.sw_interpreter)
return rv
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/28963
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I844504e2fc1b27ce4fc7ede20b2307e698baa0f6
Gerrit-Change-Number: 28963
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-pfcp/+/28961 )
Change subject: contrib/libosmo-pfcp.spec.in: do not disable LTO
......................................................................
contrib/libosmo-pfcp.spec.in: do not disable LTO
AFAICT, everything compiles just fine with -flto=auto.
Change-Id: I632cfd8deaaaa50f0ffba04aca4d422b7b51034e
---
M contrib/libosmo-pfcp.spec.in
1 file changed, 0 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-pfcp refs/changes/61/28961/1
diff --git a/contrib/libosmo-pfcp.spec.in b/contrib/libosmo-pfcp.spec.in
index 95dad82..d3cf821 100644
--- a/contrib/libosmo-pfcp.spec.in
+++ b/contrib/libosmo-pfcp.spec.in
@@ -1,7 +1,3 @@
-## Disable LTO for now since it breaks compilation of the tests
-## https://osmocom.org/issues/4113
-%define _lto_cflags %{nil}
-
Name: libosmo-pfcp
Version: @VERSION@
Release: 0
--
To view, visit https://gerrit.osmocom.org/c/libosmo-pfcp/+/28961
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-pfcp
Gerrit-Branch: master
Gerrit-Change-Id: I632cfd8deaaaa50f0ffba04aca4d422b7b51034e
Gerrit-Change-Number: 28961
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-pfcp/+/28960 )
Change subject: contrib/libosmo-pfcp.spec.in: do not depend on systemd
......................................................................
contrib/libosmo-pfcp.spec.in: do not depend on systemd
There is no need to do so, this project has nothing to do with systemd.
Change-Id: I57d6c46a6b9aab161f7ccfa663c26ea2e7f05e7b
---
M contrib/libosmo-pfcp.spec.in
1 file changed, 0 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-pfcp refs/changes/60/28960/1
diff --git a/contrib/libosmo-pfcp.spec.in b/contrib/libosmo-pfcp.spec.in
index 6af8319..95dad82 100644
--- a/contrib/libosmo-pfcp.spec.in
+++ b/contrib/libosmo-pfcp.spec.in
@@ -15,14 +15,10 @@
BuildRequires: libtool >= 2
BuildRequires: lksctp-tools-devel
BuildRequires: pkgconfig >= 0.20
-%if 0%{?suse_version}
-BuildRequires: systemd-rpm-macros
-%endif
BuildRequires: pkgconfig(libosmocore) >= 1.6.0
BuildRequires: pkgconfig(libosmoctrl) >= 1.6.0
BuildRequires: pkgconfig(libosmovty) >= 1.6.0
BuildRequires: pkgconfig(talloc)
-%{?systemd_requires}
%description
libosmo-pfcp: PFCP protocol encoding and decoding, and generic PFCP endpoint implementation
--
To view, visit https://gerrit.osmocom.org/c/libosmo-pfcp/+/28960
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-pfcp
Gerrit-Branch: master
Gerrit-Change-Id: I57d6c46a6b9aab161f7ccfa663c26ea2e7f05e7b
Gerrit-Change-Number: 28960
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/28957 )
Change subject: tests: make target 'check-local' depend on 'atconfig'
......................................................................
tests: make target 'check-local' depend on 'atconfig'
I believe this may be related to sporadic failures we hit on Jenkins:
test -z "atconfig" || rm -f atconfig
../../../tests/testsuite: line 987: ./atconfig: No such file or directory
make[2]: *** [Makefile:1464: clean-local] Error 1
This dependency is present in all other Osmocom projects.
Change-Id: Id9bf06392ad31e1ecc66a5bd13069a915183a76b
---
M tests/Makefile.am
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/28957/1
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 08cdc17..d1021ee 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -244,7 +244,7 @@
@echo "Not running python-based tests (determined at configure-time)"
endif
-check-local: $(BUILT_SOURCES) $(TESTSUITE)
+check-local: atconfig $(BUILT_SOURCES) $(TESTSUITE)
$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
$(MAKE) $(AM_MAKEFLAGS) python-tests
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/28957
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Id9bf06392ad31e1ecc66a5bd13069a915183a76b
Gerrit-Change-Number: 28957
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange