openbsc.git branch master updated. 0.13.0-755-g02ab91e

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.org
Fri Nov 14 09:52:11 UTC 2014


This 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)



More information about the osmocom-commitlog mailing list