openbsc.git branch master updated. 0.13.0-914-g4b2d02d

gitosis at gitosis at
Fri Jan 30 20:43:38 UTC 2015

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  4b2d02d0372ae5dc88d97b06f5cfa92841cbf036 (commit)
       via  baf0f94a7dd858eba37548253959747838b1cc16 (commit)
       via  9ff82892da2b58ba344b2f6e70256d08947b9c34 (commit)
       via  85ba655788b49dc83e33109368f81b7c3ea0b090 (commit)
       via  466cedd052427254d5f90b4bd02795129b2c60a4 (commit)
       via  07f6e36ab42380f9a4c1af058c3021cb0e945dc4 (commit)
       via  8000e0ea509c5a4488a5d1878f465418d32b7fdb (commit)
       via  929acdf6bf4ef25c8cc587a6aa48651696348881 (commit)
       via  e988ae471d8e699a4045d77048986570349203fa (commit)
       via  e671d254cbc294f87620c2938eb6fa2883253fcb (commit)
       via  555b2e5ac128211edffa34a586fe5f548eb3acba (commit)
      from  925c57fb545b072159a831bff852c92795704dfe (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 -----------------------------------------------------------------

commit 4b2d02d0372ae5dc88d97b06f5cfa92841cbf036
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Jan 30 11:57:25 2015 +0100

    sgsn/test: Fix memory leak in test_subscriber_gsup
    Currently the MM context is not deleted when a GSUP location
    cancellation message is processed, because the real
    sgsn_update_subscriber_data function has been wrapped to a dummy
    This commit adds an explicit call to sgsn_mm_ctx_cleanup_free which
    also unassigns the LLME, so the call to gprs_llgmm_assign is removed.
    It also adds an assertion to check that there are no talloc'ed blocks
    left in tall_bsc_ctx.
    == 372 bytes in 1 blocks are possibly lost in loss record 7 of 9
    ==    at 0x402A17C: malloc (in /usr/lib/valgrind/
    ==    by 0x4059FB8: _talloc_zero (talloc.c:354)
    ==    by 0x8055B82: sgsn_mm_ctx_alloc (gprs_sgsn.c:167)
    ==    by 0x804A336: alloc_mm_ctx (sgsn_test.c:140)
    ==    by 0x804B24D: test_subscriber_gsup (sgsn_test.c:503)
    ==    by 0x804EC99: main (sgsn_test.c:1853)
    Sponsored-by: On-Waves ehf

commit baf0f94a7dd858eba37548253959747838b1cc16
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 29 14:55:34 2015 +0100

    sgsn/test: Add checks for subscr->error_cause
    This commits adds a few asserts that check the value of
    subscr->error_cause after a GSUP message has been received.
    Sponsored-by: On-Waves ehf

commit 9ff82892da2b58ba344b2f6e70256d08947b9c34
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 29 14:17:51 2015 +0100

    gprs: Use 'Network failure' as default cause
    This commit adds a check after a GSUP message has been decoded
    whether it is an error message and does not contain a cause value.
    If his is the case, the cause value is set to 'Network failure', so
    that this cause if effectively the default value for error messages.
    Sponsored-by: On-Waves ehf

commit 85ba655788b49dc83e33109368f81b7c3ea0b090
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 29 14:15:54 2015 +0100

    gprs/test: Fix GSUP Purge MS response messages
    Currently the message types for these message types are wrong.
    This patch inserts the correct message types.
    Sponsored-by: On-Waves ehf

commit 466cedd052427254d5f90b4bd02795129b2c60a4
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 29 14:12:29 2015 +0100

    sgsn/test: Add tests for PurgeMs responses
    Currently there are not any test cases for PurgeMS GSUP messages in
    This commit adds tests for incoming PurgeMSResult and -Error
    Sponsored-by: On-Waves ehf

commit 07f6e36ab42380f9a4c1af058c3021cb0e945dc4
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 29 14:00:28 2015 +0100

    gprs: Send GSUP error reply for requests without IMSI
    Currently gprs_subscr_rx_gsup_message returns immediately after it
    detects that an IMSI has not been given in the received GSUP message.
    While this is ok for responses (result or error), a request should
    always be answered.
    This commit adds code to reply with a corresponding error message
    ("Invalid mandatory information") when it receives a request without
    an IMSI.
    Note that the generated error message will not contain an IMSI either.
    Sponsored-by: On-Waves ehf

commit 8000e0ea509c5a4488a5d1878f465418d32b7fdb
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Jan 27 14:56:40 2015 +0100

    gprs: Support cancellation type
    The cancellation type that is part of the UpdateCancellation message
    is currently ignored.
    This patch adds the missing glue between the existing GSUP and GMM
    support. If the type is not present or has the value updateProcedure
    the subcriber and MM context are siliently removed. Otherwise, a
    message with cause 'implicitly detached' is sent to the MS. Since the
    real cause is not known (the specification neither added a cause IE
    nor defined a static cause value), the MS may get the real cause in
    the following AttachRej.
    Added VTY commands:
    - update-subscriber imsi IMSI cancel update-procedure
    - update-subscriber imsi IMSI cancel subscription-withdraw
    the old form without the cause is no longer supported.
    Sponsored-by: On-Waves ehf

commit 929acdf6bf4ef25c8cc587a6aa48651696348881
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Jan 27 13:47:24 2015 +0100

    gprs: Handle PURGE MS ERR/RES without subscr
    Currently the subscr entry is no longer present, when PURGE MS
    ERROR/RESULT arrives. In this case, an unspecific notice is logged
    ('unknown IMSI'). This clutters up the logfile with notices even in
    perfectly normal operation.
    This commit changes the code path that is used when a subscr cannot
    be found for an incoming GSUP message. A check for PURGE MS RESULT
    and ERROR is added and gprs_subscr_handle_gsup_purge_no_subscr is
    called for these messages instead of gprs_subscr_handle_unknown_imsi.
    Sponsored-by: On-Waves ehf

commit e988ae471d8e699a4045d77048986570349203fa
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Jan 27 12:41:19 2015 +0100

    gprs: Don't use subscr->keep_in_ram in normal operation
    Currently the keep_in_ram flag is explicitely reset in
    gprs_subscr_cleanup to cover the case, that the VTY 'create'
    sub-command has been used to create the subscriber entry.
    This commit completely removes keep_in_ram handling from
    gprs_subscriber.c and adds a VTY 'destroy' sub-command to reset the
    flag and remove the entry. So 'create' and 'destroy' can be used to
    manager sticky entries that are kept even when a location
    cancellation is done.
    Added VTY command:
    - update-subscriber imsi IMSI destroy
    Sponsored-by: On-Waves ehf

commit e671d254cbc294f87620c2938eb6fa2883253fcb
Author: Jacob Erlbeck <jerlbeck at>
Date:   Mon Jan 26 14:43:07 2015 +0100

    sgsn: Add sgsn_mm_ctx_cleanup_free for safe shutdown
    Currently the MM context cleanup code is distributed over several
    functions. sgsn_mm_ctx_free not only frees data structure but also
    eventually stops the timer and does the subscriber clean-up.
    mm_ctx_cleanup_free (gprs_gmm.c) cleans up the PDP contexts and
    unassign the TLLI.
    This commit moves the cleanup code from both functions into a new
    unifying function sgsn_mm_ctx_cleanup_free that cares about the
    clean-up of all related sub-systems.
    Sponsored-by: On-Waves ehf

commit 555b2e5ac128211edffa34a586fe5f548eb3acba
Author: Jacob Erlbeck <jerlbeck at>
Date:   Mon Jan 26 13:52:42 2015 +0100

    sgsn: Don't allow mmctx == NULL in sgsn_update_subscriber_data
    Currently, sgsn_update_subscriber_data can be called with mmctx ==
    NULL and will find and associate the right context (if present) based
    on the subscriber's IMSI. This will not happen in regular use
    any more, since sgsn_update_subscriber_data will only be called when
    subscribers are used (auth mode 'remote') and in this case
    gprs_subscr_get_or_create_by_mmctx will already be called by
    sgsn_auth_request. Therefore, MM context and subscriber are always
    associated except for some test cases and experimental VTY usage.
    The current implementation of sgsn_update_subscriber_data also causes
    additional complexity for the deletion on MM contexts to avoid a
    ipossible double-free MM contexts.
    This commit removes the MM context <-> subscriber association code
    from sgsn_update_subscriber_data. That function must always be called
    with mmctx != NULL, now. To avoid problems with VTY and test usage,
    the calling subscriber function now only call
    sgsn_update_subscriber_data when mmctx != NULL, since the purpose of
    that function is to update that state of an existing MM context after
    subscriber data has been changed.
    Sponsored-by: On-Waves ehf


Summary of changes:
 openbsc/include/openbsc/gprs_sgsn.h |  4 +-
 openbsc/src/gprs/gprs_gmm.c         | 24 +---------
 openbsc/src/gprs/gprs_sgsn.c        | 60 +++++++++++++------------
 openbsc/src/gprs/gprs_subscriber.c  | 65 +++++++++++++++++++++++----
 openbsc/src/gprs/sgsn_vty.c         | 40 ++++++++++++++++-
 openbsc/tests/gprs/gprs_test.c      |  4 +-
 openbsc/tests/sgsn/sgsn_test.c      | 90 +++++++++++++++++++++++++++----------
 openbsc/tests/    |  5 ++-
 8 files changed, 202 insertions(+), 90 deletions(-)

The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)

More information about the osmocom-commitlog mailing list