Hi List and Lynxis,
I've been reading through the ns2 code more thoroughly and had some thoughts
for improvement. As we have no users yet, and the code is unreleased, we
can still make changes now.
== unused argument in ns2_recv_vc
int ns2_recv_vc(struct gprs_ns2_inst *nsi,
struct gprs_ns2_vc *nsvc,
struct msgb *msg)
The 'nsi' is not used and should be redundant, as the nsvc has a back-pointer anyway, right?
== consider using an osmo_ prefix to all symbols / types
The fact that the old code doesn't have that is a tribute to its age, and not
something we need to keep. The current code has quite a bit of 'gprs_ns2' prefixing for
types, but not for the symbols/functions. At least that inconsistency should be resolved,
so all have the same prefix, even if it is without osmo.
== const-ify input arguments
If arguments pointing to data are used read-only, let's express that by
the const qualifier. The easy ones are the likes of
"gprs_ns2_is_frgre_bind(struct gprs_ns2_vc_bind *bind)",
but there are definitely many more.
== use of msgb->dst
In several other osmocom implementations we use msgb->dst to point to the
underlying element receiving or transmitting a message. So I could imagine
ns2_recv_vc() not only without the 'nsi' argument, but also without the
'nsvc' argument, if we introduce the convention that msgb->dst would always
point to the ns-vc.
Not sure here, it has pros and cons. Just brainstorming.
== output arguments vs. return value
There are functions like gprs_ns2_find_vc_by_sockaddr() where the result
is not returned, but rather a **pointer output argument is used. What
is the rationale here? I don't understand what benefit the extra 0/1
return value gives. The only other return value is -EINVAL if the **ptr
was NULL - an error situation that wouldn't exist if we simply returned
the pointer from the function.
Regards,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi!
I with my friends-students got a task to investigate ciphering algorithm GEA3, using in GPRS/EDGE.
While communication MS and Osmocom base station (BS) we've got the LLC-message:
LLC MESSAGE (ciphered): 01C00F1840623297A594EE196714A2653D23D5A2AC52792F0434
with the following parameters:
Cipher Algorithm: GEA3
Kc_GPRS: A8FC3A996A80D000
SAPI: 1
NU: 3
IOV_UI: 0
OC: 0
After applying algorithm GEA3 we've got deciphered LLC-message:
LLC MESSAGE (deciphered): 01C00F0802012A0452F00300010017161805F4D7BF04CA 26176B
We get, calculated FCS (6B1726) using deciphered LLC-message and contained in LLC-message FCS (6B1726) are equal.
While communication MS and the real BS we've got the following LLC-message:
LLC MESSAGE (ciphered) 41C00B9299A1EB51A1AD1FE71633786B23CBD8E6D41C9F658C89C9544AF2BAAC35
with the following parameters:
Cipher Algorithm: GEA3
KC_GPRS: 8f94a69c3d9bdf48
SAPI: 1
NU: 2
IOV_UI: 0x10000000 (got from XID)
OC: from 0 to 8388608
So we tried to apply the OC parameter from 0 to 8388608 to decipher the message (other parameters were not been changed).
In every step, we calculated FCS and compared it with contained in LLC-message FCS and had no success.
Finally the question:
Can the value of IOV_UI (Osmocom BS: 0, real BS: 0x10000000) affect the deciphering, and if yes then how??
With regards, students of the telecommunication department.
Thank you for your attention!
Best regards, Sergei
----------------------------------------------------------------------
Good afternoon!
I with my friends-students got a task to investigate ciphering algorithm GEA3, using in GPRS/EDGE.
While communication MS and Osmocom base station (BS) we've got the LLC-message:
LLC MESSAGE (ciphered): 01C00F1840623297A594EE196714A2653D23D5A2AC52792F0434
with the following parameters:
Cipher Algorithm: GEA3
Kc_GPRS: A8FC3A996A80D000
SAPI: 1
NU: 3
IOV_UI: 0
OC: 0
After applying algorithm GEA3 we've got deciphered LLC-message:
LLC MESSAGE (deciphered): 01C00F0802012A0452F00300010017161805F4D7BF04CA 26176B
We get, calculated FCS (6B1726) using deciphered LLC-message and contained in LLC-message FCS (6B1726) are equal.
While communication MS and the real BS we've got the following LLC-message:
LLC MESSAGE (ciphered) 41C00B9299A1EB51A1AD1FE71633786B23CBD8E6D41C9F658C89C9544AF2BAAC35
with the following parameters:
Cipher Algorithm: GEA3
KC_GPRS: 8f94a69c3d9bdf48
SAPI: 1
NU: 2
IOV_UI: 0x10000000 (got from XID)
OC: from 0 to 8388608
So we tried to apply the OC parameter from 0 to 8388608 to decipher the message (other parameters were not been changed).
In every step, we calculated FCS and compared it with contained in LLC-message FCS and had no success.
Finally the question:
Can the value of IOV_UI (Osmocom BS: 0, real BS: 0x10000000) affect the deciphering, and if yes then how??
With regards, students of the telecommunication department.
Thank you for your attention!
Best regards, Sergei
----------------------------------------------------------------------
Dear fellow Osmocom developers,
as you all know, we've sadly had to postpone OsmoDevCon 2020 back in
April this year. At the time, we discussed to re-visit the situation
in October 2020.
While legally it is no problem at all to host an event with ~ 20
participants in Berlin/Germany (specific regulations really only start
from 50+ participants) - I'm not entirely convinced it would be the
smartest move.
Legality and public health regulations are only one part of the equation
- common sense and profound care for the key members of our community
for sure are more relevant considerations to me.
I'm not 100% in favour and not 100% against. Hence, I would like to get
your input. Should we
a) try to get an event organized on-site in Berlin? We'd have to move
to a larger venue than IN-Berlin with proper ventilation and sufficient
space so we can keep physical distance, but I think that's
manageable for sysmocom as organizer.
b) simply postpone to 2021? I'm convinced the situation will not change
significantly (in a positive way) until late April 2021, so it's not
really a "solution" as it will likely mean we have to think of late
2021 or 2022.
c) plan some kind of online conference? To be honest, I think this
model works fine for events where a single speaker wants to give
lectures to hundreds or thousands of participants. But OsmoDevCon
is much more interactive. We could record or live-stream some talks
or screencasts from home, sure. But that only captures one part of
the event. We could also try to set a date for a collaborative
mumble, or the like - for the "hallway track".
What are your thoughts? Let's avoid cross-posting the discussion to all
of the mailing lists and simply have it on openbsc(a)lists.osmocom.org.
Regards,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)