This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-commitlog@lists.osmocom.org/.
gitosis at osmocom.org gitosis at osmocom.orgThis is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)". The branch, master has been updated via 02ab91e6a73e16da51918b52548a0f4be4c6a0f6 (commit) via a0b6efb3685ea90190cfbd9423a74c181ea4f12f (commit) via f951a01bb227e524eb369051c95fbebace7570d0 (commit) via f6e7d99d54cc75fdc19433011afb5eaaa8a2a002 (commit) via c4f9bf3142f54b63174f653b07103dd6ab36b1ae (commit) via 80d07e30c76f2bd72ee382b4b7941262c1d5865d (commit) via 106f547733450afda1ddbd7e886dc8c902fed4d4 (commit) via 144b8b1ca77f628ea4cf87ff903b7e79f0abf9dd (commit) via 423f8bfa027d544867dcf7afc188a8ea5221e2bc (commit) via 0c06f98ced2b70801147eb52d6596079e473dfc9 (commit) via b1c074f62c1d04138b751f71e3b07fbb0a521898 (commit) via abdf02b9b988a816201b4530f36f709ca4c146ac (commit) via a790456f1b826ea204f47c4aa4973dc777d00d2a (commit) via 0074a77424c95d2d7d0608dc0dfabc1948e62fe0 (commit) via 93eae8ec78d145cf87b7858ebee60c72da7a2d20 (commit) from 3911880b68ddd92c9dd89d6ac20c26807e33f905 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://cgit.osmocom.org/openbsc/commit/?id=02ab91e6a73e16da51918b52548a0f4be4c6a0f6 commit 02ab91e6a73e16da51918b52548a0f4be4c6a0f6 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Wed Nov 12 09:53:45 2014 +0100 sgsn: Cross-link gsm_subscriber and sgsn_mm_ctx To implement subscriber based authorization a data structure is needed that keeps the subscriber data. The MSC already uses a similar struct named gsm_subscriber whose implementation is split into a generic part (allocation, retrieval, reference counting, list maintenance) and MSC related parts. For GPRS, only the generic part will be used and specific fields may be added when needed. This patch adds a field mm to struct gsm_subscriber that will be used by the SGSN to store a reference to the current MM context (or NULL if there is none). This also adds a field subscr to struct sgsn_mm_ctx that reversely points to a gsm_subscriber (or NULL if there is none). Either both fields are NULL or both fields are non-NULL. Note that subscr is being reference counted. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=a0b6efb3685ea90190cfbd9423a74c181ea4f12f commit a0b6efb3685ea90190cfbd9423a74c181ea4f12f Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Thu Nov 13 10:48:39 2014 +0100 sgsn: Remove explicit sgsn_instance parameters Currently the function in sgsn_auth.c either have an sgsn_config or an sgsn_instance parameter. Since then global sgsn variable is already being used in that file and since other parts of the SGSN related code also rely on a global sgsn singleton, these parameters pretend to provide a flexibility that is not really supported. Therefore this patch removes these parameters except for the ACL related functions, which do not call code that uses the sgsn variable. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=f951a01bb227e524eb369051c95fbebace7570d0 commit f951a01bb227e524eb369051c95fbebace7570d0 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Fri Nov 7 14:17:44 2014 +0100 sgsn: Refactor sgsn_auth to separate request and authorization Currently the authorization is done in sgsn_auth_request for ACL based authorization. This doesn't match the way remote authorization would work, so that there is a second call to sgsn_auth_state already present in sgsn_auth_update. This patch removes the autorization check completely from sgsn_auth_request which in turn calls sgsn_auth_update directly now. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=f6e7d99d54cc75fdc19433011afb5eaaa8a2a002 commit f6e7d99d54cc75fdc19433011afb5eaaa8a2a002 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Thu Nov 6 15:43:10 2014 +0100 sgsn: Don't assign a new P-TMSI if one is pending Currently every time an RA Update Req or an Attach Req is processed, a new P-TMSI is allocated. When an MS issues another of these messages before it has completed the first procedure, old_ptmsi is replaced by ptmsi (and thus lost) and ptmsi is replaced by the newly allocated P-TMSI. This can confuse the gbproxy, which can loose track of the logical link then. At least a Blackberry emits a double set of RA Upd Req messages from time to time which may be just 20ms apart. This patch adds a check whether mm->ptmsi or mm->old_ptmsi are set. If both are set, the P-TMSI is not re-allocated. This is only the case, when the Complete message has not been received yet, since that message will reset old_ptmsi. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=c4f9bf3142f54b63174f653b07103dd6ab36b1ae commit c4f9bf3142f54b63174f653b07103dd6ab36b1ae Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Nov 11 08:55:13 2014 +0100 sgsn: Don't send XID reset after Detach Accept Currently when a Detach Accept is received for an unknown TLLI (which is in general the case afer the SGSN has requested the detachment), an XID reset is sent to the BSS, causing a BSSGP Status message. This happens in gsm0408_rcv_gmm. This patch moves the corresponding call to gprs_llgmm_reset downwards so that it is not being called in that case. Addresses: SGSN->BSS TLLI: 0xd75b91d9 SAPI: LLGMM, UI (DTAP) (GMM) Detach Request BSS->SGSN TLLI: 0xd75b91d9 SAPI: LLGMM, UI (DTAP) (GMM) Detach Accept SGSN->BSS TLLI: 0xd75b91d9 SAPI: LLGMM, U, XID (Reset, IOV-UI) BSS->SGSN TLLI: --- BSSGP STATUS (Unknown MS) Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=80d07e30c76f2bd72ee382b4b7941262c1d5865d commit 80d07e30c76f2bd72ee382b4b7941262c1d5865d Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Thu Nov 6 13:43:41 2014 +0100 sgsn: Cleanup after RA Update Reject / Attach Reject Currently, the LLME is not cleaned up after sending an RA Update Reject. This happens after entering a routing area from outside, since in that case the SGSN sends an RA Update Reject (implicitly detached) which causes the MS to restart the attach procedure. The LLME is also not updated if an Attach Request with message errors (encoding, invalid MI type) is received or if an MM context cannot be allocated. This patch changes gsm48_rx_gmm_ra_upd_req and gsm48_rx_gmm_att_req to unassign the LLME or free the MM context (if available) after a Reject message has been sent. Ticket: OW#1324 Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=106f547733450afda1ddbd7e886dc8c902fed4d4 commit 106f547733450afda1ddbd7e886dc8c902fed4d4 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Nov 4 10:08:37 2014 +0100 sgsn: Add 'acl-only' authentication policy Currently the VTY 'auth-policy' command results in setting or clearing the acl_enabled flag. This also enables the matching of the MCC/MNC prefix of the IMSI. This patch adds an additional policy 'acl-only' which disables the MCC/MNC matching and relies on the ACL only. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=144b8b1ca77f628ea4cf87ff903b7e79f0abf9dd commit 144b8b1ca77f628ea4cf87ff903b7e79f0abf9dd Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Nov 4 11:15:01 2014 +0100 sgsn/test: Add VTY tests for the SGSN This patch adds some basic SGSN tests to vty_test_runner.py: - check for config tree nodes - check specific show commands Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=423f8bfa027d544867dcf7afc188a8ea5221e2bc commit 423f8bfa027d544867dcf7afc188a8ea5221e2bc Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Fri Oct 24 18:09:54 2014 +0200 sgsn: Make authorization asynchronous Currently the authorization of an IMSI is done by checking ACLs synchronously which is not feasible when the subscriber data has to be retrieved from an external source. This patch changes this by using a callback when the information is available. This is also done when only ACL are checked, in this case the callback is invoked from within sgsn_auth_request(). The callback function sgsn_update_subscriber_data calls sgsn_auth_update which in turn calls either gsm0408_gprs_access_granted or gsm0408_gprs_access_denied. gsm48_gmm_authorize is extended by a call to sgsn_auth_request when IMSI and IMEI are available but the auth_state is unknown. The change has been successfully tested with single phones (E71 and IPhone 5c). Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=0c06f98ced2b70801147eb52d6596079e473dfc9 commit 0c06f98ced2b70801147eb52d6596079e473dfc9 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Wed Oct 29 22:12:20 2014 +0100 sgsn: Move IMSI authorization to gsm48_gmm_authorize Currently the IMSI is only checked immediately when an Attach Request is received that contains an IMSI IE. If it contains a P-TMSI instead, access is always granted. This commit moves the IMSI check to gsm48_gmm_authorize where it is applied when IMSI and IMEI have been acquired. This fixes the authorization when the Attach Accept doesn't contain an IMSI. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=b1c074f62c1d04138b751f71e3b07fbb0a521898 commit b1c074f62c1d04138b751f71e3b07fbb0a521898 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Fri Oct 31 12:27:11 2014 +0100 sgsn: Fix LLME leak when forcing a reattach Currently when forceing a reattach by sending a Detach Request (reattach), the SGSN waits for the Detach Accept until it frees the MM context (if present) and the LLME. If that message gets lost or isn't sent by the MS, the LLME is never freed if it isn't bound to an MM context. This patch adds code to free the MM context/LLME when forcing a reattachment. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=abdf02b9b988a816201b4530f36f709ca4c146ac commit abdf02b9b988a816201b4530f36f709ca4c146ac Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Fri Oct 31 12:20:49 2014 +0100 sgsn: Split gsm0408_gprs_force_reattach into 2 functions This patch replaces gsm0408_gprs_force_reattach(msg, mmctx) by two functions - gsm0408_gprs_force_reattach(mmctx) - gsm0408_gprs_force_reattach_oldmsg(msg) The old function basically consists of the code of the two new functions, where the code path selected depends on mmctx == NULL, which is harder to maintain, less obvious to use, and not consistent with many other SGSN functions. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=a790456f1b826ea204f47c4aa4973dc777d00d2a commit a790456f1b826ea204f47c4aa4973dc777d00d2a Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Mon Nov 3 10:12:52 2014 +0100 sgsn: Call mm_ctx_cleanup_free to deregister MM context Currently the MM context isn't always removed when it is de-registered (mmctx_timer_cb), mm_state is set to GMM_DEREGISTERED instead. This can lead to left-over MM contexts which are only cleaned up if the MS reattaches. This patch replaces all of these assignments by a call to mm_ctx_cleanup_free. Ticket: OW#1324 Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=0074a77424c95d2d7d0608dc0dfabc1948e62fe0 commit 0074a77424c95d2d7d0608dc0dfabc1948e62fe0 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Oct 28 16:23:46 2014 +0100 sgsn: Cleanup GMM state transitions Currently the GMM state is set to GMM-REGISTERED when an Attach Accept or a RA Update Accept message is sent, even if a new P-TMSI is included. In this case 04.08 requires (see 4.7.3.1.3 and 4.7.5.1.3), that the state is set to GMM-COMMON-PROCEDURE-INITIATED when the Accept is sent. When the Complete is received, the SGSN shall set the state to GMM-REGISTERED. This patch modifies the state updates accordingly. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=93eae8ec78d145cf87b7858ebee60c72da7a2d20 commit 93eae8ec78d145cf87b7858ebee60c72da7a2d20 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Oct 28 12:23:29 2014 +0100 sgsn: Reorganize and fix gsm48_gmm_authorize Currently the order of the 'if' clauses in gsm48_gmm_authorize doesn't match the order in which the conditional parts are entered. This makes it difficult to maintain. In addition the t3350_mode is not stored in every path, so that this information is lost when the identification procedure is started. Since the default value coincidentally is GMM_T3350_MODE_ATT, this doesn't hurt for Attach Requests which are the only messages that initially trigger the authentication yet. This patch changes the order of the 'if' clause to match the processing order, it removes the t3350_mode parameter entirely and introduces a mm->pending_req field. The latter must be set when the request that causes the authorization before calling gsm48_gmm_authorize. The gprs_t3350_mode enum is extended by GMM_T3350_MODE_NONE (value 0, which is the default) to make it possible to detect related initialisation errors or race conditions. Sponsored-by: On-Waves ehf ----------------------------------------------------------------------- Summary of changes: openbsc/include/openbsc/gprs_gmm.h | 5 +- openbsc/include/openbsc/gprs_sgsn.h | 35 ++- openbsc/include/openbsc/gsm_subscriber.h | 4 + openbsc/include/openbsc/sgsn.h | 8 +- openbsc/src/gprs/gprs_gmm.c | 264 +++++++++++++++++------ openbsc/src/gprs/gprs_sgsn.c | 8 +- openbsc/src/gprs/sgsn_auth.c | 102 ++++++++- openbsc/src/gprs/sgsn_main.c | 4 +- openbsc/src/gprs/sgsn_vty.c | 25 ++- openbsc/tests/sgsn/sgsn_test.c | 352 ++++++++++++++++++++++++++++++- openbsc/tests/sgsn/sgsn_test.ok | 10 + openbsc/tests/vty_test_runner.py | 69 ++++++ 12 files changed, 792 insertions(+), 94 deletions(-) hooks/post-receive -- The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)