openbsc.git branch jerlbeck/wip/gprs-patching updated. 0.13.0-877-gfc37625

gitosis at gitosis at
Tue Jan 13 16:23:12 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, jerlbeck/wip/gprs-patching has been updated
  discards  2eb4ee28fce464f60231209d4cacfa18400ac9a6 (commit)
  discards  11c8dcd10f3fd98f054ef2918d49798274ffbfd8 (commit)
  discards  f09050db39ea04dfa67e3595a3b41f7a59661c03 (commit)
  discards  872b45b49b8620d114d38cfb7d170f78b316e24b (commit)
  discards  f17c812f882a37bda959118cace5c9c2a1cc3d62 (commit)
  discards  f75a490a5bc0d36803593add58a7fc8f1368c7d0 (commit)
  discards  829f83d5e77d59706e39268f73109db1321ee6e8 (commit)
  discards  6fc9f67182d4c77e77d51dc89f5b1a8e19df7431 (commit)
  discards  84063c3aaf55626231ba2a392d52709919a33ee1 (commit)
  discards  339e30b1401efe55b7412876bfb1ced493a5f0fa (commit)
  discards  fee76dc614eb42e341bf2f7604c0735b59830f37 (commit)
  discards  b331205e1d4ad569563900520632b4d3493be721 (commit)
  discards  d1e0a4229184ee84114060c0ab0f948689a32917 (commit)
  discards  78318bc48628e616e06f3ae4a852816576fa32e0 (commit)
  discards  861ae1d2e82e19432bdec6659df1b0f092ba6b92 (commit)
  discards  0e73459fb2d544f09f6819560477ba63a8216912 (commit)
  discards  27f69157b043394425e4a885be646d8e6439d62b (commit)
  discards  285ee97c76471cef0f4af747b3357f794785ca6d (commit)
  discards  af3014f08ec7412ad54b90252579adc86b9ae99c (commit)
  discards  343b6c9bc5eb60ec838351c3a72ce13cc5e0eb51 (commit)
  discards  35961439f25e09653ebd0192634235d397914b95 (commit)
  discards  d52aa3ae5ceef7ef3a943c0d9835d08c7bea06cb (commit)
  discards  1ce3ecbb31b5883bd72c56ac4b280e094bfe5ccf (commit)
  discards  bbb44231295c3d0dc03c2461e4660028956be03e (commit)
  discards  12173e836bef5821e8ac95cbb2a84b76ca295c45 (commit)
  discards  c82af7ed9b976783fdc6245e1e6bd86527529d79 (commit)
  discards  0bededf3fe61fe25af2c130e47ebb0f2cd2a36c4 (commit)
  discards  ed2e4de87f8e6468592146df63e92fe63cae5d6d (commit)
  discards  f0c08a363f6c8e84dcc4117c7108ff27159fa50a (commit)
  discards  9c344c709536551f2a632d4872c26a7a1c32b685 (commit)
  discards  af2030b4ff24914fe62a8149447f7c914f62185d (commit)
  discards  997ec59c14f6d5a68cf344d4a4e96d304d8578dc (commit)
  discards  a278ef42ac38d3f2945c27763063d6ace84d29f1 (commit)
  discards  09ebc580c02c361076d1df9678913b800eb441da (commit)
  discards  75973f7cf58d9011666a264f1a60f0c31f4a76fc (commit)
       via  fc376259e0a306d41e17cab43de7c2a4796f9aba (commit)
       via  bf5805ff4d5e0433185811a359baccc2e73f32ce (commit)
       via  f567963a36a541a46bd226632c7368c3d507c064 (commit)
       via  147cf8a851eedf117450541ba068ced3f802f1dc (commit)
       via  d06b20c0a9e171ba9143d73e882c44c3b9b0744d (commit)
       via  93a0fcd78a9e2d0c7fdf9ad90be3f41619ce5c2e (commit)
       via  c7c48fa68cd9e4790c9883b0f6031bd73a2dd737 (commit)
       via  8dec82b096df85227171eea0d34cf6cfbea3724e (commit)
       via  50a0d6984536691466b6154288ddc83f1defae9c (commit)
       via  249a5375c66e1d3560218eeedbc7a1c524673275 (commit)
       via  bd4d5bb2c921e7e6333019fda885430ebd3aa3df (commit)
       via  a5b9ea754883d2d7a547ba4b2da7c3fb8c40efc0 (commit)
       via  f47dc130732e3a29fc729d9f859231646c5cac6c (commit)
       via  43e71d624c7be3cce2cec7cb419f8b4129977a9e (commit)
       via  f1393090b4a164bb480f45cce9f8ab54b1bc6089 (commit)
       via  1636e5f607325fb2cf0fa39c7c51eea0df49a9a3 (commit)
       via  9c420d46836a7bee7dbb74b75763c92a7ee1d6ad (commit)
       via  a5a1af953fefa425b7a1611dab0ab67f8fe9285d (commit)
       via  9d3c9d60d842bf053a1481703c9615bac0312295 (commit)
       via  4fc87b30c4dda8c6897b148bb0d9e400c8e22c4f (commit)
       via  1fcb2dca60a43cffedb9e40fca13e86a1832b7b4 (commit)
       via  866eb9fbc5711a66538fb5da2ac2238c9b035116 (commit)
       via  287cf4ee746ff1eb49eea52858de7304b1735b87 (commit)
       via  df61af7043081b1a20646dec088677b09d67fa78 (commit)
       via  a77c6904227149fdea29b8ed27ac3dddf2e9cf47 (commit)
       via  b13a67d78b35170fed891413569b203c8b63c8a5 (commit)
       via  48abb3007302f2dab329e301bbabcb75782b3a4a (commit)
       via  af5d51b0f6494f4b222880abef35cc696e52a013 (commit)
       via  1fdcbf613508ededda08689db16c2785de614d96 (commit)
       via  7c83c0e1c4670ba2c70b3093b4135f4a8ba31ed1 (commit)
       via  c3c9c3277519a1ed70f3bf4d3d5ae5872cd24c7a (commit)
       via  771f20df7863d8d805000c19db24ed1e6754e16d (commit)
       via  e2e60dac618a28a80786d9d29597852e5fab52b5 (commit)
       via  2159e39353aa5b30b8844921e5987df83b696630 (commit)
       via  c33fcd7a33d13c5cf15d0b378dc46884e7c01e59 (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 (2eb4ee28fce464f60231209d4cacfa18400ac9a6)
             N -- N -- N (fc376259e0a306d41e17cab43de7c2a4796f9aba)

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

commit fc376259e0a306d41e17cab43de7c2a4796f9aba
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Sep 30 13:53:26 2014 +0200

    sgsn: Added TODOs (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

commit bf5805ff4d5e0433185811a359baccc2e73f32ce
Author: Jacob Erlbeck <jerlbeck at>
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.
      - 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

commit f567963a36a541a46bd226632c7368c3d507c064
Author: Jacob Erlbeck <jerlbeck at>
Date:   Wed Dec 17 14:03:35 2014 +0100

    sgsn: Add PDP info to subscriber data (TODO)
      - commit message
      - raw binary representation ???
      - tests
    Sponsored-by: On-Waves ehf

commit 147cf8a851eedf117450541ba068ced3f802f1dc
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 19:11:20 2014 +0100

    sgsn: Add logging to connect_timer_cb (TODO)
      - LOGLevel ?
    Sponsored-by: On-Waves ehf

commit d06b20c0a9e171ba9143d73e882c44c3b9b0744d
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Jan 13 11:56:28 2015 +0100

    gprs: Fix GSUP msgb freeing
    Currently the code relies on the lower layers (socket read) to free
    the msgb after the callbacks have been processed linke it is being
    done in the NS layer. Unfortunately the IPA client connection
    implementation does this differently so the current msgb handling in
    the GSUP related code in broken at the moment and leaks msgbs.
    This patch adds missing calls to msgb_free.
    The talloc report in sgsn_test no longer contains msgbs.
    Sponsored-by: On-Waves ehf

commit 93a0fcd78a9e2d0c7fdf9ad90be3f41619ce5c2e
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Jan 13 11:46:32 2015 +0100

    sgsn/test: Add checks and reports to detect leakage
    This commit adds talloc reports to log remaining chunks after the
    testing has been finished. It also adds explicit checks for an empty
    subscriber list.
    Sponsored-by: On-Waves ehf

commit c7c48fa68cd9e4790c9883b0f6031bd73a2dd737
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Jan 9 09:46:43 2015 +0100

    sgsn/doc: Add message definitions for PURGE_MS responses
    Currently the definitions of the message PURGE_MS_RES and
    PURGE_MS_ERR are missing in the specification.
    This patch adds those definitions.
    Sponsored-by: On-Waves ehf

commit 8dec82b096df85227171eea0d34cf6cfbea3724e
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 8 15:29:01 2015 +0100

    gprs: Support the full cancellation procedure (TODO)
      - Commit message
      - Reply to cancellation request (either with RES or ERR)
    Ticket: OW#1338
    Sponsored-by: On-Waves ehf

commit 50a0d6984536691466b6154288ddc83f1defae9c
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 8 16:23:25 2015 +0100

    gprs: Block other GSUP procedures during PURGE_MS (TODO)
      - commit message
      - move LOGGSUBSCRP fix in gprs_subscr_purge to HEAD^^
      - testing
    Ticket: OW#????
    Sponsored-by: On-Waves ehf

commit 249a5375c66e1d3560218eeedbc7a1c524673275
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 8 15:18:39 2015 +0100

    gprs: Retry PURGE_MS procedure after timeout
    Currently, when the PURGE_MS_REQ to the HLR gets lost (e.g. by a
    connection or peer failure), the expired subscriber entry will not get
    This commit adds a retry mechanism then restarts the procedure after
    a timeout (currently 10s). The maximum number of retries is limited
    (currently to 3 PURGE_MS messages). If none of these procedures is
    completed (either with success or error), the subscriber data is
    Sponsored-by: On-Waves ehf

commit bd4d5bb2c921e7e6333019fda885430ebd3aa3df
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Jan 6 16:32:41 2015 +0100

    gprs: Support PURGE MS messages (TODO)
    When a subscriber entry is going to be deleted by SGSN and when the
    subscriber info has been optained from a remote peer via GSUP, the
    peer should be informed before the entry is really deleted. For this
    purpose, MAP defines the PURGE MS procedure (see GSM 09.02, 19.1.4).
    This patch adds support for the PURGE_MS_REQ/_ERR/_RES messages and
    invokes the procedure when the subscriber entry is going to be
    removed. This only applies, if GSUP is being used, the Update
    Location procedure has been completed successfully, and the
    subscriber has not been cancelled. The removal of the entry is
    delayed until a PURGE_MS_RES or PURGE_MS_ERR message is received.
      - commit message
      - expire ununsed MM contexts (other commit)
    Ticket: OW#1338
    Sponsored-by: On-Waves ehf

commit a5b9ea754883d2d7a547ba4b2da7c3fb8c40efc0
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Jan 9 15:07:16 2015 +0100

    sgsn/test: Add test that intercepts gprs_gsup_client_send
    This test replaces gprs_gsup_client_send by a custom function, that
    emulates a GSUP remote peer by calling gprs_subscr_rx_gsup_message
    with responses for all requests. It then executes a full
    Attach/Detach cycle.
    Sponsored-by: On-Waves ehf

commit f47dc130732e3a29fc729d9f859231646c5cac6c
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Jan 6 16:32:41 2015 +0100

    gprs: Add expiry timeout for subscriber entries
    Set the expiry delay after the subscriber has been deleted (e.g. by
    freeing the MM context). If cancelled, the subscriber will be deleted
    immediately and no timeout will be set. If the expiry time is set to
    SGSN_TIMEOUT_NEVER, no timer will be started and the subscriber entry
    will be kept until it is cancelled.
    The following VTY command is added to the sgsn node:
      - subscriber-expiry-time <0-999999>    set expiry time in seconds
      - no subscriber-expiry-time            set to SGSN_TIMEOUT_NEVER
    The default is an expiry time of 0 seconds, which means that the
    subscriber entries are wiped out immediately after an MM context is
    Sponsored-by: On-Waves ehf

commit 43e71d624c7be3cce2cec7cb419f8b4129977a9e
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Jan 9 11:59:50 2015 +0100

    sgsn/test: Refactor subscriber test
    The code sequence that checks, whether a subscriber is still
    reachable for a given IMSI, is repeated several times.
    This patch puts this code sequence into a single function and adds a
    check for the IMSI after the entry has been found. In addition,
    some comments are extended.
    Sponsored-by: On-Waves ehf

commit f1393090b4a164bb480f45cce9f8ab54b1bc6089
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 8 14:13:46 2015 +0100

    sgsn/test: Fix subscriber cleanup
    Currently the subscribers are not really deleted by
    cleanup_subscr_by_imsi, but kept in RAM instead.
    This patch fixes this and adds a test to verify, that the subscriber
    is really deleted afterwards.
    Sponsored-by: On-Waves ehf

commit 1636e5f607325fb2cf0fa39c7c51eea0df49a9a3
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 8 14:08:16 2015 +0100

    gprs/test: Move subscr cleanup code into a separate function
    Refactor several occurences of the same subscriber cleanup code into
    a seperate cleanup_subscr_by_imsi function.
    Sponsored-by: On-Waves ehf

commit 9c420d46836a7bee7dbb74b75763c92a7ee1d6ad
Author: Jacob Erlbeck <jerlbeck at>
Date:   Mon Jan 5 16:20:47 2015 +0100

    gprs: Pass GMM causes related to the MSC connection
    Currently the error causes MSC_TEMP_NOTREACH, NET_FAIL, and
    CONGESTION are silently dropped to force the MS to continue. On the
    other hand, GSM 04.08/24.008, in combination with,
    require the MS to retry the attachment procedure for cause codes
    above 15 instead of disabling GPRS. All of the mentioned GMM causes
    have codes above 15, so using a REJECT message including the cause
    code is a better choice. This way, the retry algorithm based on T3311
    (15s, 5 times) and T3302 (default 12min) could be used.
    This patch modifies gprs_subscr_handle_gsup_auth_err and
    gprs_subscr_handle_gsup_upd_loc_err to proceed like when the access
    has beed denied, except that the corresponding subscriber's
    information fields are not cleared.
    This has been successfully tested which an iphone which enters a
    retry loop as it is being described in the specification.
    Sponsored-by: On-Waves ehf

commit a5a1af953fefa425b7a1611dab0ab67f8fe9285d
Author: Jacob Erlbeck <jerlbeck at>
Date:   Tue Dec 23 14:24:16 2014 +0100

    gprs: Use LOGGSUBSCRP and LOGMMCTX for logging in gprs_susbcriber.c
    To unify the layout of the logging messages in gprs_subscriber.c,
    this patch replaces each LOGP by LOGGSUBSCRP, unless a non-NULL
    pointer to a subscr is not available. In those cases, it uses
    LOGMMCTXP if a pointer to an MM context is available or LOGP
    Sponsored-by: On-Waves ehf

commit 9d3c9d60d842bf053a1481703c9615bac0312295
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Jan 8 12:02:12 2015 +0100

    gprs: Add LOGGSUBSCRP macro to log subscriber info
    This patch adds a new logging macro, that logs to DGPRS and provides
    a uniform prefix containing the IMSI without using the mm reference.
    This is an improvement over using LOGMMCTXP, since the new macro also
    provides an IMSI if no MM context is attached.
    Sponsored-by: On-Waves ehf

commit 4fc87b30c4dda8c6897b148bb0d9e400c8e22c4f
Author: Jacob Erlbeck <jerlbeck at>
Date:   Mon Jan 5 18:57:32 2015 +0100

    gprs: Let GSUP parser functions return GMM causes on errors
    Currently the GSUP message handling function in gprs_subscriber.c and
    the functions in gprs_gsup_messages.c are not consistent with respect
    to the return codes if an error happens. Albeit all error return
    codes are negative, the semantics of the absolute value are not
    clearly defined. In addition, some return codes are not passed to the
    calling function.
    This path changes these functions to always return a negated GMM
    cause value in case of errors. Return values of called parser
    functions are not longer ignored.
    Sponsored-by: On-Waves ehf

commit 1fcb2dca60a43cffedb9e40fca13e86a1832b7b4
Author: Jacob Erlbeck <jerlbeck at>
Date:   Mon Jan 5 18:38:41 2015 +0100

    gprs: Use the cause value in  GSUP error messages
    Currently always a cause with the meaning of 'access denied' is
    assumed. gprs_subscr_handle_gsup_auth_err just clears the auth
    triplets and the authorized flag before calling the update function.
    gprs_subscr_handle_gsup_upd_loc_err only clears the authorized flag
    and calls the update function. This means, that an MS will not retry
    to attach even on temporary network errors.
    This patch changes these functions to use the GSUP error cause value
    to decide, whether to clear the corresponding subscriber fields, to
    just continue with the corresponding update function, or to log,
    ignore and not pass the cause to the MS in case the error is directly
    related to the GSUP protocol. The subscriber's error_cause field is
    updated, if the update function is going to be called. The
    error_cause fielt is reset on non-error GSUP messages.
    Sponsored-by: On-Waves ehf

commit 866eb9fbc5711a66538fb5da2ac2238c9b035116
Author: Jacob Erlbeck <jerlbeck at>
Date:   Mon Jan 5 17:51:17 2015 +0100

    gprs: Pass subscriber error causes to the GMM layer
    This patch extends gsm0408_gprs_access_denied and
    gsm0408_gprs_access_cancelled to accept GMM cause codes. These are
    then passed to the MS, unless gsm0408_gprs_access_cancelled is called
    with cause 0 (no error -> updateProcedure).
    Since gsm0408_gprs_access_denied uses GMM_CAUSE_GPRS_NOTALLOWED if
    the cause is not set, and the subscriber's error_cause is never set
    (and thus always 0), the SGSN's behaviour does not change with this
    Sponsored-by: On-Waves ehf

commit 287cf4ee746ff1eb49eea52858de7304b1735b87
Author: Jacob Erlbeck <jerlbeck at>
Date:   Mon Jan 5 17:30:02 2015 +0100

    gprs: Move protocol value_strings to gsm_04_08_gprs.c
    Currently the mapping between GSM 04.08 (GPRS) protocol specific
    numbers and their textual description was put into gprs_gmm.c and not
    This commit moves the mappings to a new file gsm_04_08_gprs.c,
    renames some of them, and exports them via gsm_04_08_gprs.h.
    The following identifiers are renamed to match the corresponding type
      - gmm_cause_names -> gsm48_gmm_cause_names
      - gsm_cause_names -> gsm48_gsm_cause_names
    Sponsored-by: On-Waves ehf

commit df61af7043081b1a20646dec088677b09d67fa78
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 19:19:46 2014 +0100

    sgsn: Show GSUP client info on 'show sgsn'
    This commit adds a line to the output of 'show sgsn' if the GSUP
    client has been initialized:
      - Remote authorization: [not] connected to HOST:PORT via GSUP
    Sponsored-by: On-Waves ehf

commit a77c6904227149fdea29b8ed27ac3dddf2e9cf47
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 19:18:54 2014 +0100

    sgsn: Send PING and eventually reconnect
    Currently, the reconnect mechanism relies on gsup_client_updown_cb
    which in turn gets called based on the OS' view of connection state.
    This patch adds a timer based PING mechanism that regularly sends
    PING messages and forces a reconnect if a PONG message won't be
    received until the next PING message is scheduled. The current ping
    interval is 20s.
    Sponsored-by: On-Waves ehf

commit b13a67d78b35170fed891413569b203c8b63c8a5
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 19:15:55 2014 +0100

    sgsn: Handle incoming IPA CCM message in gsup_client_read_cb
    Currently the IPA CCM messages are not handled by the GSUP client.
    This means, that the client doesn't answer to PING and ID_GET and
    logs notices when receiving PONG or ID_ACK. At least the PING
    functionality (remotely originated PING) shall be supported.
    This patch extends gsup_client_read_cb by a call to
    ipaccess_bts_handle_ccm. Only when the return code is 0, the message
    is processed further and checked for an OSMO/GSUP message. ID_GET
    messages are answered by a dummy description, where only the
    unit_name is set to 'SGSN'.
    Sponsored-by: On-Waves ehf

commit 48abb3007302f2dab329e301bbabcb75782b3a4a
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 19:00:56 2014 +0100

    sgsn: Handle return code of ipa_client_conn_open correctly
    The ipa_client_conn_open function does not distinguish between a
    connection being already established or waiting for establishment.
    In either case, the application gets informed about the connection
    state via the updown_cb. The 'up' parameter is only set, if
    poll/select consider the socket as writable.
    This patch handles both cases equally and fully relies on the
    updown_cb to adjust the gsupc obejct state.
    Sponsored-by: On-Waves ehf

commit af5d51b0f6494f4b222880abef35cc696e52a013
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 18:50:05 2014 +0100

    sgsn: Avoid sending stale GSUP requests after reconnect
    Currently, messages are added to the tx queue even if the connection
    is down for some reason and all of these messages are eventually sent
    after a re-connect.  The MS has probably sent several Attach Requests
    while the connection was down and will continue doing so. Therefore
    these stored messages could be dropped.
    This patch clears the queue before re-connecting and also extends
    gprs_gsup_client_send to return immediately, when the connection is
    not established instead of calling ipa_client_conn_send.
    Sponsored-by: On-Waves ehf

commit 1fdcbf613508ededda08689db16c2785de614d96
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Dec 18 15:00:29 2014 +0100

    sgsn: Add automatic re-connect if the GSUP connection is down
    Currently the GSUP connection to a server is not restarted if the
    connection cannot be established or is terminated during operation.
    This commit adds a timer based connection mechanism, basically
    consisting of a timer callback that calls gsup_client_connect. The
    timer is eventually triggered (up == 0) or cleared (up != 0) by
    gsup_client_updown_cb. It adds calls to osmo_timer_del() to
    gsup_client_connect and gprs_gsup_client_destroy. The latter is now
    called instead of talloc_free in gprs_gsup_client_create on error to
    be on the safe side.
    Sponsored-by: On-Waves ehf

commit 7c83c0e1c4670ba2c70b3093b4135f4a8ba31ed1
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 18:30:41 2014 +0100

    sgsn/test: Extend tests to simulate lost GSUP requests
    This patch extends test_gmm_attach to optionally resend Attach
    Requests until the SGSN responds to it instead of calling
    OSMO_ASSERT at a few places. The test_gmm_attach_subscr_gsup_auth
    test optionally uses this feature. It is called once in either mode.
    Sponsored-by: On-Waves ehf

commit c3c9c3277519a1ed70f3bf4d3d5ae5872cd24c7a
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 18:26:09 2014 +0100

    sgsn/test: Add GMM test for a GSUP based attach procedure
    This test calls test_gmm_attach() where the mocked subscriber
    functions insert GSUP messages instead of manipulating the
    subscriber structure directly.
    Sponsored-by: On-Waves ehf

commit 771f20df7863d8d805000c19db24ed1e6754e16d
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 18:19:50 2014 +0100

    sgsn/test: Add wrapper for gprs_subscr_rx_gsup_message
    Currently, several lines of boiler plate are needed around a call to
    This patch puts all of this (including the call to
    gprs_subscr_rx_gsup_message) into a separate function.
    Sponsored-by: On-Waves ehf

commit e2e60dac618a28a80786d9d29597852e5fab52b5
Author: Jacob Erlbeck <jerlbeck at>
Date:   Fri Dec 19 18:08:48 2014 +0100

    sgsn: Add global require_update_location flag
    This flag is used to determine, whether the Update Location procedure
    shall be invoked. This is currently only set, when the 'remote'
    authorization policy is set. When the flag is set, sgsn_auth_update
    will not never be called directly by sgsn_auth_request, if an Attach
    Request procedure is pending, even if the remote connection fails for
    some reason.
    Sponsored-by: On-Waves ehf

commit 2159e39353aa5b30b8844921e5987df83b696630
Author: Jacob Erlbeck <jerlbeck at>
Date:   Wed Dec 17 13:20:08 2014 +0100

    sgsn: Replace subscr.authenticate by global require_authentication flag
    Currently the flag 'authenticate' is managed per subscriber.
    This patch replaces that flag by a global cfg.require_authentication
    flag that enables/disables the use of the Auth & Ciph procedure for
    every subscriber. The flag is set by the VTY, if and only if the
    authorization policy is 'remote'.
    The VTY command
      - update-subscriber imsi IMSI insert authenticate <0-1>
    is removed.
    Sponsored-by: On-Waves ehf

commit c33fcd7a33d13c5cf15d0b378dc46884e7c01e59
Author: Jacob Erlbeck <jerlbeck at>
Date:   Thu Dec 18 12:46:47 2014 +0100

    sgsn: Integrate the GSUP client into the SGSN
    This commit adds GSUP client configuration (via VTY), connection set
    up, and real message sending.
    The following configuration commands are added:
     - gsup remote-ip A.B.C.D            set server IP address
     - gsup remote-port PORT             set server TCP port
    Ticket: OW#1338
    Sponsored-by: On-Waves ehf


Summary of changes:

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

More information about the osmocom-commitlog mailing list