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, jerlbeck/wip/gprs-patching has been updated discards c93f898e6de4dfc3328b206cd2b8724c6c133215 (commit) discards 6d1dc3c02f5a2839e998c7ec1275270d49b9db9e (commit) discards d49b478c9b91a14daf37de826533fb793827939e (commit) discards c09bee263d257e6f7ac574a542057c2181cd5da8 (commit) discards 1fcb88a3db244830c07f28dcde6467ba3ac9239d (commit) discards 5b98e682e5985fe60a9ebdaae8134a305021ff25 (commit) discards 418c164fa36acbe33b2ec75eccbbba551f62a844 (commit) discards f12e41de7dc441f8c2837f792853511a0e038ddb (commit) discards 3191e00c847cd780d220aa7c9b50c2a5906217a4 (commit) discards e0e0217321efd2d1103d9fa4e73a7a116fa83c6e (commit) discards b460f57502f7a0cc21a5171f877d9528c144c7f7 (commit) discards 3245dbc7a695da12e88991918f73dc8abea8c3fe (commit) discards b88c41d64c2b2df18fc578f996f00cdd76f222af (commit) discards 56e655632df54283b3634e2a2e2dac96710830ff (commit) discards 79a481bfc005283221f300b01efdefad4dcdb9d3 (commit) discards 8e2148ab0ec232b50484c01876316f1417822bde (commit) discards a312c4bb27e6dd1fa03e78138370d583570380d6 (commit) discards 81b6311deaaac6fe97ba11eee94dc922b6b16e14 (commit) discards 5bc648f29af30528349aaabcce8c962210a7b50f (commit) discards db483b72f1c8e2c397f88baa05b6b53f76362a04 (commit) discards 7d8e8b9a13b3b2ea8404581f980869b711617e2e (commit) discards 2c00b904bb31f807c501c26addcc046ca8496521 (commit) discards f9330da55561d3cad6220e8c0a6dea53990309fc (commit) via f61013282c9aee2287bc901261c025f55cc34399 (commit) via d568ce8d2e751553edb2e39c101a813572720b5b (commit) via 90a1647f413b5113f9e3e0fd8dabf78a00e984c9 (commit) via a14c0882329fbb1bf139bc5d9945758c3d06d575 (commit) via 56f869d67f8ae3160a5821df28b688f8b16beace (commit) via 25a2b945cee417df29ce14d8b92744416db2611b (commit) via b7def117ed68d8e99e1488bab2dbcb80ea60b2e6 (commit) via 42ae521031e8d705baf5132471d51780310fb787 (commit) via 66789456de5982e1caa053a59037cc45cd853d8a (commit) via 6d65e861ac5d955ed3746ea513b41a4600bd6ed7 (commit) via e4537ac238e033dc04606139489ee94571fcb991 (commit) via 6a41825bd4f3d222bae2bf34593c50dcda671882 (commit) via ad30d8d3b3af86a789e42ab3804f14aba98c43e0 (commit) via 49ac6fcf3bd39aa6f1fa19fb199de6e45bf1e2f6 (commit) via c11c6b97f6c20739a39edc10cf5988c2583b951e (commit) via 40415c5655d5f5b67c557f733f0c47b2d60eae88 (commit) via be35395defcd81d7661365b97c072711e0e55d23 (commit) via a00c3bd090b024f116c6e134b668cade04b535c1 (commit) via 62a432c7db59c3004a9fc3272d46a6cc9c4269aa (commit) via 584bf98d87497381ea30526d73899d3a5542eb61 (commit) via b8242b0c2422a948fdce005558fc8e5738555ff0 (commit) via acc28f5fa7b9c1ad607bddb47429a04a068c14ef (commit) via 3911880b68ddd92c9dd89d6ac20c26807e33f905 (commit) via cdd4302c6dde84693a16b33362a75061480333cd (commit) via 27cb4d57e049b173fb4cacc78b947f70c691c111 (commit) via 94ef1c0da9a80869256e6a5966d1f1571955c813 (commit) via 41108680293f703da976efe64ea8388ef7a2cd7e (commit) via 0d8ac0eac0a919cb2620d94e661d60b2a96501d3 (commit) via 054bc24e6dc700d4b8e8eec647cbead63454671e (commit) via 74b2028167ddf04a867ae9f269bfa3435c93f252 (commit) This update added new revisions after undoing existing revisions. That is to say, the old revision is not a strict subset of the new revision. This situation occurs when you --force push a change and generate a repository containing something like this: * -- * -- B -- O -- O -- O (c93f898e6de4dfc3328b206cd2b8724c6c133215) \ N -- N -- N (f61013282c9aee2287bc901261c025f55cc34399) When this happens we assume that you've already had alert emails for all of the O revisions, and so we here report only the revisions in the N branch from the common base, B. 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=f61013282c9aee2287bc901261c025f55cc34399 commit f61013282c9aee2287bc901261c025f55cc34399 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Nov 11 14:01:48 2014 +0100 sgsn: Add VTY commands to manage subscriber cache This adds the following commands to the ENABLE node: - show subscriber cache - update-subscriber imsi IMSI insert authorized (0|1) - update-subscriber imsi IMSI cancel These commands are mainly testing tools and maintenance helpers. The update commands work asynchronously and can be used to complete a pending update request or to terminate an existing connection. Note that the subscriber cache is not stored persistently and will always be empty after an SGSN restart. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=d568ce8d2e751553edb2e39c101a813572720b5b commit d568ce8d2e751553edb2e39c101a813572720b5b Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Nov 11 14:47:38 2014 +0100 sgsn: Add gsm0408_gprs_access_cancelled (TODO) This function is called to delete an established MM context without invoking a detach procedure that could disable the GPRS functionality of the MS until the next power cycle. It is called when a subscriber is cancelled. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=90a1647f413b5113f9e3e0fd8dabf78a00e984c9 commit 90a1647f413b5113f9e3e0fd8dabf78a00e984c9 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Wed Nov 12 10:18:09 2014 +0100 sgsn: Integrate subscriber handling into the SGSN (TODO) This commit adds a new authorization policy 'remote' and uses the subscriber cache for authorization when this policy is being used. Note that there is no remote backend implemented yet. TODO: - tests Ticket: OW#???? Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=a14c0882329fbb1bf139bc5d9945758c3d06d575 commit a14c0882329fbb1bf139bc5d9945758c3d06d575 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Wed Nov 12 10:12:11 2014 +0100 sgsn: Add gprs_subscriber.c (TODO) This adds GPRS specific functions for gsm_subscriber objects. The sgsn_update_subscriber_data callback is extended by a parameter that passes a reference to a gsm_subscriber. TODO: - tests Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=56f869d67f8ae3160a5821df28b688f8b16beace commit 56f869d67f8ae3160a5821df28b688f8b16beace Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Wed Nov 12 09:53:45 2014 +0100 sgsn: Extend gsm_subscriber and sgsn_mm_ctx by references This 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=25a2b945cee417df29ce14d8b92744416db2611b commit 25a2b945cee417df29ce14d8b92744416db2611b 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 (TODO) 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 now calls sgsn_auth_update directly. TODO: - Use sgsn_instance instead of config as parameter - more commit message text Ticket: OW#???? Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=b7def117ed68d8e99e1488bab2dbcb80ea60b2e6 commit b7def117ed68d8e99e1488bab2dbcb80ea60b2e6 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 (TODO) Currently every time a RA Update Req or an Attach Req is processed, a new P-TMSI is alocated. 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 not both set. If both are set, the P-TMSI is not re-allocated. This is only the case, if the Complete message has not been received since that resets old_ptmsi. TODO: - Test case Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=42ae521031e8d705baf5132471d51780310fb787 commit 42ae521031e8d705baf5132471d51780310fb787 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Sep 30 13:53:26 2014 +0200 sgsn: Added TODOs (TODO) TODO: - fix and remove TODOs - add test cases for Detach(reattach) - add test cases for PDP context deletion (OW#1311) - add test cases for Cancel pending timer in sgsn_mm_ctx_free - remove this commit Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=66789456de5982e1caa053a59037cc45cd853d8a commit 66789456de5982e1caa053a59037cc45cd853d8a Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Fri Oct 17 10:08:02 2014 +0200 sgsn: Do not die in _bssgp_tx_dl_ud on TLLI mismatch (TODO) Currently an OSMO_ASSERT fails, if the message's and the mmctx's TLLIs do not match. This commit turns the assertion into an ERROR log message and uses the default values for IMSI, DRX, and RA CAP instead of the MM context values in this case. TODO: - find the real source for the problem - add test cases derived from what is being described in the ticket Ticket: OW#1322 Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=6d65e861ac5d955ed3746ea513b41a4600bd6ed7 commit 6d65e861ac5d955ed3746ea513b41a4600bd6ed7 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=e4537ac238e033dc04606139489ee94571fcb991 commit e4537ac238e033dc04606139489ee94571fcb991 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 cleanup 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=6a41825bd4f3d222bae2bf34593c50dcda671882 commit 6a41825bd4f3d222bae2bf34593c50dcda671882 Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Tue Nov 4 12:44:15 2014 +0100 sgsn: Notify an affected MM context if an ACL rule is removed Currently if an ACL access rule is removed, MS already attached are not affected until they try to reattach to the SGSN. This patch extends sgsn_acl_del to re-authenticate an MM context if it matches the IMSI. Sponsored-by: On-Waves ehf http://cgit.osmocom.org/openbsc/commit/?id=ad30d8d3b3af86a789e42ab3804f14aba98c43e0 commit ad30d8d3b3af86a789e42ab3804f14aba98c43e0 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=49ac6fcf3bd39aa6f1fa19fb199de6e45bf1e2f6 commit 49ac6fcf3bd39aa6f1fa19fb199de6e45bf1e2f6 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=c11c6b97f6c20739a39edc10cf5988c2583b951e commit c11c6b97f6c20739a39edc10cf5988c2583b951e 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=40415c5655d5f5b67c557f733f0c47b2d60eae88 commit 40415c5655d5f5b67c557f733f0c47b2d60eae88 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=be35395defcd81d7661365b97c072711e0e55d23 commit be35395defcd81d7661365b97c072711e0e55d23 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=a00c3bd090b024f116c6e134b668cade04b535c1 commit a00c3bd090b024f116c6e134b668cade04b535c1 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 patch 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=62a432c7db59c3004a9fc3272d46a6cc9c4269aa commit 62a432c7db59c3004a9fc3272d46a6cc9c4269aa 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=584bf98d87497381ea30526d73899d3a5542eb61 commit 584bf98d87497381ea30526d73899d3a5542eb61 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=b8242b0c2422a948fdce005558fc8e5738555ff0 commit b8242b0c2422a948fdce005558fc8e5738555ff0 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 http://cgit.osmocom.org/openbsc/commit/?id=acc28f5fa7b9c1ad607bddb47429a04a068c14ef commit acc28f5fa7b9c1ad607bddb47429a04a068c14ef Author: Jacob Erlbeck <jerlbeck at sysmocom.de> Date: Thu Oct 30 17:15:43 2014 +0100 gbproxy: Reset TLLIs when the link_info is found by IMSI/P-TMSI Currently when the MS does a re-attach without doing a proper detach first, the gbproxy uses the old local TLLI if patching and the keep mode are enabled. This leads to a failing attachment procedure when TLLI patching is also enabled. This patch changes gbproxy_update_link_state_ul to reset all TLLIs within the link_info if the message contains an unknown TLLI and an MI. This is generally the case with Attach Request messages. The gbproxy_get_link_info_ul gets an additional tlli_is_invalid output parameter that is set, when a TLLI was present but not found. This value is then used instead of checking tlli.current == 0 to handle e.g. Attach Requests when a link_info was already present for the P-TMSI/IMSI used in such a request. Ticket: OW#1324 Sponsored-by: On-Waves ehf ----------------------------------------------------------------------- Summary of changes: openbsc/contrib/systemd/osmo-bsc.service | 2 +- openbsc/include/openbsc/gprs_gmm.h | 1 + openbsc/include/openbsc/gprs_sgsn.h | 14 ++++ openbsc/src/gprs/gb_proxy_tlli.c | 27 ++++--- openbsc/src/gprs/gprs_gmm.c | 33 ++++++++- openbsc/src/gprs/gprs_sgsn.c | 9 +-- openbsc/src/gprs/gprs_subscriber.c | 105 +++++++++++++++++++++++---- openbsc/src/gprs/sgsn_auth.c | 16 ++++- openbsc/src/gprs/sgsn_vty.c | 120 +++++++++++++++++++++++++++++++ openbsc/src/libbsc/abis_nm.c | 4 +- openbsc/src/libbsc/bsc_ctrl_commands.c | 5 ++ openbsc/tests/ctrl_test_runner.py | 20 ++++++ openbsc/tests/vty_test_runner.py | 3 + 13 files changed, 319 insertions(+), 40 deletions(-) hooks/post-receive -- The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)