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 743dec4c0c80383556efac60f03d307287ecf024 (commit)
via 65fa3f73a1151e896e4c74196680b7886a3b6be6 (commit)
via 69d271376cce7d26a0469bbb948f272c399ac6c7 (commit)
via cde0bb27a14553bba2f680cd1307a5f9b3581f0e (commit)
via 058bc26e1bb1350c9077f99edd24887bb84bc8c5 (commit)
via c157ee7d2ccdb7524e76d25b22cb7eec8de9a656 (commit)
via 0f47b8fae743769a6627f8654444b4f0d665e050 (commit)
via b8fb1409d1ed18dc198b430895a74e680640c2b1 (commit)
via e1beb6f51d3822593d56e071d47e12a74f077826 (commit)
via d3cde1ecf49940fae90ec5e1d36824ee0ba17501 (commit)
via f06fe29f61c0089ca2f0c10faea18c65d5014f95 (commit)
via bf34c67f3f5f747d71f844aec9ae61d26b273d6d (commit)
via 42755785707a11c8349b86c2afb98b7bc15c85dc (commit)
via bce2061b43c1e38b766cc3738b4ad669211dc6a4 (commit)
via 9aa9991efe207f5c12bbcf655b0660e3466c02e0 (commit)
via af3d5c508c9ca3ebae9388d3e09c5d7726db4f5c (commit)
via afcf23001e600bedc51db08a22846dada9bc06b3 (commit)
via 8054799963f4b3b936d601eb4b1f5774f2c41fec (commit)
via 03b463034885e7ebb09160f6d63c05ac120a8098 (commit)
via e154d8bdd45974fa6e9408b9d543eb9e9ea94b79 (commit)
via 69e16b9ea5dc991f8373c11b9fcf45b7b1a8e940 (commit)
via 4188c30c4a6574201d62df1be818eed038608d16 (commit)
via 849d0a83e8598e0f21a3e9c5438c222d8ab417eb (commit)
via 7660ffa29fb463fc24b2ac8d735b9b345017bba6 (commit)
via 3d722450de1cf34931d95f7a748a9b6c48e933f0 (commit)
via e21e184d84d6a932b58079084d254f498599e29e (commit)
via 771573c535ae97ce7c7ed7694670e3b98eeae48a (commit)
via a071c1ccc07074272f6cb7626b781f45f85564c6 (commit)
via 9d4f46c975c3a4c92071c70ebadd6edc345581da (commit)
via 39f040d62b16b2d99352f5facd83ce098fa2f462 (commit)
via bb23dc17f8f56be836dc50c925c04a5aeaec979c (commit)
via 1610626fe9e65693c6d8743129b10ed4958ec6ea (commit)
via a2315eebf972412e122033ac036dd21bcdad5335 (commit)
via 424ffa480630a4242d2a6f6b27b9e6b1ec08d206 (commit)
via 0572ee045d1b7c29a0c34b27867b3f8669eb5038 (commit)
via f0b06d82cd6f2a340db052a2fa2e559aa75f1fa8 (commit)
via 07de92e2c0ccfa89b9498c8c49a74d0848b7b85a (commit)
from a6ddc2d99f8463edb0b5eacf080db0b5ca571efc (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=743dec4c0c80383556efac60f03d3072…
commit 743dec4c0c80383556efac60f03d307287ecf024
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
deleted.
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
deleted.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=65fa3f73a1151e896e4c74196680b788…
commit 65fa3f73a1151e896e4c74196680b7886a3b6be6
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 6 16:32:41 2015 +0100
gprs: Use PURGE MS messages
When a subscriber entry is going to be deleted by SGSN and when the
subscriber info has been obtained 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.
Note that GSM 09.02, 19.1.4.4 implies that the subscriber data is not
to be removed when the procedure fails which is not the way the
feature has been implemented.
Note that handling 'P-TMSI freezing' is not implemented.
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=69d271376cce7d26a0469bbb948f272c…
commit 69d271376cce7d26a0469bbb948f272c399ac6c7
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 15 11:50:08 2015 +0100
gprs: Implement PURGE_MS GSUP messages
This commit implements the encoding and decoding of the messages
- Purge MS Request
- Purge MS Error
- Purge MS Result
and adds corresponding tests.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=cde0bb27a14553bba2f680cd1307a5f9…
commit cde0bb27a14553bba2f680cd1307a5f9b3581f0e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=058bc26e1bb1350c9077f99edd24887b…
commit 058bc26e1bb1350c9077f99edd24887bb84bc8c5
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 13 11:46:32 2015 +0100
sgsn/test: Add checks and reports to detect subscr leakage
This commit adds talloc reports to log remaining NULL chunks after the
terminates. It also adds explicit checks for empty subscriber lists.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=c157ee7d2ccdb7524e76d25b22cb7eec…
commit c157ee7d2ccdb7524e76d25b22cb7eec8de9a656
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=0f47b8fae743769a6627f8654444b4f0…
commit 0f47b8fae743769a6627f8654444b4f0d665e050
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
destroyed.
Note that unused MM contexts are not expired yet. Therefore the
subscriber will only be expired after a successful MM detach.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=b8fb1409d1ed18dc198b430895a74e68…
commit b8fb1409d1ed18dc198b430895a74e680640c2b1
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=e1beb6f51d3822593d56e071d47e12a7…
commit e1beb6f51d3822593d56e071d47e12a74f077826
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=d3cde1ecf49940fae90ec5e1d36824ee…
commit d3cde1ecf49940fae90ec5e1d36824ee0ba17501
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=f06fe29f61c0089ca2f0c10faea18c65…
commit f06fe29f61c0089ca2f0c10faea18c65d5014f95
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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, 4.7.3.1.4 in combination with 4.7.3.1.5,
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
http://cgit.osmocom.org/openbsc/commit/?id=bf34c67f3f5f747d71f844aec9ae61d2…
commit bf34c67f3f5f747d71f844aec9ae61d26b273d6d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
otherwise.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=42755785707a11c8349b86c2afb98b7b…
commit 42755785707a11c8349b86c2afb98b7bc15c85dc
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=bce2061b43c1e38b766cc3738b4ad669…
commit bce2061b43c1e38b766cc3738b4ad669211dc6a4
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=9aa9991efe207f5c12bbcf655b0660e3…
commit 9aa9991efe207f5c12bbcf655b0660e3466c02e0
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=af3d5c508c9ca3ebae9388d3e09c5d77…
commit af3d5c508c9ca3ebae9388d3e09c5d7726db4f5c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 5 17:51:17 2015 +0100
sgsn: 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
patch.
Sponsored-by: On-Waves ehf
Conflicts:
openbsc/include/openbsc/gprs_sgsn.h
[hfreyther: Conflict due the removal of the unused
authenticate flag]
http://cgit.osmocom.org/openbsc/commit/?id=afcf23001e600bedc51db08a22846dad…
commit afcf23001e600bedc51db08a22846dada9bc06b3
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
exported.
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
names:
- gmm_cause_names -> gsm48_gmm_cause_names
- gsm_cause_names -> gsm48_gsm_cause_names
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=8054799963f4b3b936d601eb4b1f5774…
commit 8054799963f4b3b936d601eb4b1f5774f2c41fec
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=03b463034885e7ebb09160f6d63c05ac…
commit 03b463034885e7ebb09160f6d63c05ac120a8098
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:18:54 2014 +0100
gprs: 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
Conflicts:
openbsc/src/gprs/gprs_gsup_client.c
[hfreyther: Conflicts due the potential memleak fix by me. Removed
another TODO from the code as we stop the ping/pong timer]
http://cgit.osmocom.org/openbsc/commit/?id=e154d8bdd45974fa6e9408b9d543eb9e…
commit e154d8bdd45974fa6e9408b9d543eb9e9ea94b79
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:15:55 2014 +0100
gprs: 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
http://cgit.osmocom.org/openbsc/commit/?id=69e16b9ea5dc991f8373c11b9fcf45b7…
commit 69e16b9ea5dc991f8373c11b9fcf45b7b1a8e940
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:00:56 2014 +0100
gprs: 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
http://cgit.osmocom.org/openbsc/commit/?id=4188c30c4a6574201d62df1be818eed0…
commit 4188c30c4a6574201d62df1be818eed038608d16
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 18:50:05 2014 +0100
gprs: 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
[hfreyther: Replaced
while (!llist_empty(&gsupc->link->tx_queue))
llist_del(gsupc->link->tx_queue.next);
with new libosmo-abis API]
http://cgit.osmocom.org/openbsc/commit/?id=849d0a83e8598e0f21a3e9c5438c222d…
commit 849d0a83e8598e0f21a3e9c5438c222d8ab417eb
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Dec 18 15:00:29 2014 +0100
gprs: 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
http://cgit.osmocom.org/openbsc/commit/?id=7660ffa29fb463fc24b2ac8d735b9b34…
commit 7660ffa29fb463fc24b2ac8d735b9b345017bba6
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=3d722450de1cf34931d95f7a748a9b6c…
commit 3d722450de1cf34931d95f7a748a9b6c48e933f0
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=e21e184d84d6a932b58079084d254f49…
commit e21e184d84d6a932b58079084d254f498599e29e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
gprs_subscr_rx_gsup_message.
This patch puts all of this (including the call to
gprs_subscr_rx_gsup_message) into a separate function.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=771573c535ae97ce7c7ed7694670e3b9…
commit 771573c535ae97ce7c7ed7694670e3b98eeae48a
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=a071c1ccc07074272f6cb7626b781f45…
commit a071c1ccc07074272f6cb7626b781f45f85564c6
Author: Holger Hans Peter Freyther <holger(a)moiji-mobile.com>
Date: Sun Jan 18 13:22:37 2015 +0100
gprs: Remove now unused authenticate flag
This has been obsoleted by the previous commit. Remove it.
http://cgit.osmocom.org/openbsc/commit/?id=9d4f46c975c3a4c92071c70ebadd6edc…
commit 9d4f46c975c3a4c92071c70ebadd6edc345581da
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=39f040d62b16b2d99352f5facd83ce09…
commit 39f040d62b16b2d99352f5facd83ce098fa2f462
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=bb23dc17f8f56be836dc50c925c04a5a…
commit bb23dc17f8f56be836dc50c925c04a5aeaec979c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Dec 18 12:28:21 2014 +0100
gprs: Add GSUP client
This commit adds the client code to get subscriber information from a
remote server. It provides an IPA over TCP connection to transmit and
receive GSUP messages.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=1610626fe9e65693c6d8743129b10ed4…
commit 1610626fe9e65693c6d8743129b10ed4958ec6ea
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:54:39 2015 +0100
gprs: Clear GSUP message structures before decoding
Currently the message structure is not cleared before the message is
parsed which can cause information leaking between messages if the
same gprs_gsup_message object is used. Especially list elements (auth
tuples and pdp info) are not replaced by an IE, but the IE is
appended.
This patch uses the assignment operator to clear gprs_gsup_message,
gsm_auth_tuple, and gprs_gsup_pdp_info before using them. This also
replaces the use of memcpy of the latter.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=a2315eebf972412e122033ac036dd21b…
commit a2315eebf972412e122033ac036dd21bcdad5335
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:39:15 2015 +0100
gprs: Always reset auth tuples/pdp infos in gprs_gsup_decode
Currently auth tuples are always appended to the lists when
gprs_gsup_decode is called with a gsup_msg structure. This makes a
test case fail, where the same gsup_msg is used again and again
without clearing it after each use.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=424ffa480630a4242d2a6f6b27b9e6b1…
commit 424ffa480630a4242d2a6f6b27b9e6b1ec08d206
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:23:05 2015 +0100
gprs: Handle empty GSUP messages correctly
Currently, the gprs_gsup_decode function doesn't check the return
value of gprs_shift_v_fixed before using the value pointer. The
function fails, if the GSUP message length (not including IPA
headers) is 0. In this case, a segfault can happen, depending on the
value of the uninitialized 'value' pointer. The test case doesn't
trigger a segfault, but valgrind complains about reading
uninitialized data.
This patch adds a check for the return value that would return with
an error code if the shift function failed.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=0572ee045d1b7c29a0c34b27867b3f86…
commit 0572ee045d1b7c29a0c34b27867b3f8669eb5038
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 11:14:18 2015 +0100
gprs/test: Add tests for invalid GSUP messages
Currently, the tests only use valid GSUP messages. This does not
check the robustness of the parser.
This commit adds a test for truncated messages and another for
modified messages.
Thanks to Holger for the basic truncation test.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=f0b06d82cd6f2a340db052a2fa2e559a…
commit f0b06d82cd6f2a340db052a2fa2e559aa75f1fa8
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 13 11:56:28 2015 +0100
sgsn/test: Fix msgb freeing in mocked bssgp_tx_dl_ud
Currently the mocked bssgp_tx_dl_ud function used for testing in
sgsn_test.c does not free the msg as it is done by the original
function. This leads to a msgb leak in the test.
This patch fixes the test code accordingly and uncomments the
assertion that checks for left-over msgbs.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=07de92e2c0ccfa89b9498c8c49a74d08…
commit 07de92e2c0ccfa89b9498c8c49a74d0848b7b85a
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 13 11:46:32 2015 +0100
sgsn/test: Add checks and reports to detect msgb leakage
This commit adds talloc reports to log remaining chunks after the
testing has been finished. It also adds a (currently disabled) check,
that no msgbs are allocated after running the tests.
Sponsored-by: On-Waves ehf
-----------------------------------------------------------------------
Summary of changes:
openbsc/doc/sgsn-remote-protocol.txt | 12 +-
openbsc/include/openbsc/Makefile.am | 3 +-
openbsc/include/openbsc/gprs_gmm.h | 4 +-
openbsc/include/openbsc/gprs_gsup_client.h | 54 ++++
openbsc/include/openbsc/gprs_gsup_messages.h | 2 +
openbsc/include/openbsc/gprs_sgsn.h | 11 +-
openbsc/include/openbsc/gsm_04_08_gprs.h | 11 +
openbsc/include/openbsc/sgsn.h | 14 +
openbsc/src/gprs/Makefile.am | 3 +-
openbsc/src/gprs/gprs_gmm.c | 184 +++---------
openbsc/src/gprs/gprs_gsup_client.c | 285 +++++++++++++++++++
openbsc/src/gprs/gprs_gsup_messages.c | 23 +-
openbsc/src/gprs/gprs_subscriber.c | 367 ++++++++++++++++++++----
openbsc/src/gprs/gsm_04_08_gprs.c | 141 +++++++++
openbsc/src/gprs/sgsn_auth.c | 22 +-
openbsc/src/gprs/sgsn_main.c | 6 +
openbsc/src/gprs/sgsn_vty.c | 93 +++++-
openbsc/tests/gprs/gprs_test.c | 115 ++++++++
openbsc/tests/gprs/gprs_test.ok | 3 +
openbsc/tests/sgsn/Makefile.am | 6 +-
openbsc/tests/sgsn/sgsn_test.c | 408 ++++++++++++++++++++++-----
openbsc/tests/sgsn/sgsn_test.ok | 3 +
22 files changed, 1474 insertions(+), 296 deletions(-)
create mode 100644 openbsc/include/openbsc/gprs_gsup_client.h
create mode 100644 openbsc/src/gprs/gprs_gsup_client.c
create mode 100644 openbsc/src/gprs/gsm_04_08_gprs.c
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)
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 "Osmocom A-bis protcol interface library".
The branch, master has been updated
via 90878590575cdcedbaf7b8f431e0fa102d0d2e50 (commit)
from adfa01f041e3b9a515b65a732c92eabf74e2ba08 (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/libosmo-abis/commit/?id=90878590575cdcedbaf7b8f431e…
commit 90878590575cdcedbaf7b8f431e0fa102d0d2e50
Author: Holger Hans Peter Freyther <holger(a)moiji-mobile.com>
Date: Sun Jan 18 17:50:05 2015 +0100
ipa: Add API to clear the tx queue
Jacob noticed that after a re-connect old messages would be
sent. This can be the wanted behavior but add a method that
allows a caller to clear the tx queue. The implementation has
not been verified and there is no existing unit test where
I could easily add this code to.
-----------------------------------------------------------------------
Summary of changes:
include/osmocom/abis/ipa.h | 1 +
src/input/ipa.c | 14 ++++++++++++++
2 files changed, 15 insertions(+)
hooks/post-receive
--
Osmocom A-bis protcol interface library
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 e0eb96d6a712a0278ecd00b7a1a9ba9685c306bf (commit)
discards 30550cd100ef2ed127c6ac2c29b4d745fed49e35 (commit)
discards ea3cea021b59b8a6f9341faaf1081f031d04206c (commit)
discards 3bcbbebcc04a1f8a6e0557bd5701b97af7015c24 (commit)
discards 89be7c6d55347411aea23405236284f6e785eb57 (commit)
discards 30997b9dd3040058dea7dd7c427d2c3d63db7de0 (commit)
discards d41ed3277136f2a35a88a8e9f04c4a52f34e47d2 (commit)
discards c014e1ad93e620be528c6ff0cc131be08d34a8f3 (commit)
discards 427ecd1ebafe39fb95b0948b0f4b868d62186abb (commit)
via 47c7031e8374c7f62fee4302ea4542db337dd805 (commit)
via a6f76044db12fad60f40df8711d5405956c9d121 (commit)
via be80c25828ed77525f4c16c8d4355aa082b549c7 (commit)
via de0a00f169dea08e6a9382d8c0b0954ee4d4dfbc (commit)
via de07f985b57ac534764d9020bac4d2e9550f3cb1 (commit)
via bb23b837207f293b8e375f44fe5c24a1172036f5 (commit)
via 209b4e36e3e642b0986bbacf3f41c496e4a27a43 (commit)
via 4a1139a07134956d1c68472381b6bebc5d29bb93 (commit)
via 435ac559683d4813c6f4ae9896deae60dc6d7f09 (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 (e0eb96d6a712a0278ecd00b7a1a9ba9685c306bf)
\
N -- N -- N (47c7031e8374c7f62fee4302ea4542db337dd805)
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=47c7031e8374c7f62fee4302ea4542db…
commit 47c7031e8374c7f62fee4302ea4542db337dd805
Author: Jacob Erlbeck <jerlbeck(a)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
- implement age based MM context expiry
- remove this commit
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=a6f76044db12fad60f40df8711d54059…
commit a6f76044db12fad60f40df8711d5405956c9d121
Author: Jacob Erlbeck <jerlbeck(a)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=be80c25828ed77525f4c16c8d4355aa0…
commit be80c25828ed77525f4c16c8d4355aa082b549c7
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Wed Dec 17 14:03:35 2014 +0100
sgsn: Add PDP info to subscriber data (TODO)
TODO:
- commit message
- raw binary representation ???
- tests
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=de0a00f169dea08e6a9382d8c0b0954e…
commit de0a00f169dea08e6a9382d8c0b0954ee4d4dfbc
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:11:20 2014 +0100
sgsn: Add logging to connect_timer_cb (TODO)
TODO:
- LOGLevel ?
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=de07f985b57ac534764d9020bac4d2e9…
commit de07f985b57ac534764d9020bac4d2e9550f3cb1
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 15 18:51:31 2015 +0100
sgsn: Fix P-TMSI generator's distance of equal values
Currently sgsn_alloc_ptmsi uses rand() to get a new P-TMSI and then
sets to upper 2 MSB. Therefore there is no lower limit of the
distance between 2 identical P-TMSI.
This patch changes the implementation to discard any random value
above 2^30 and to generate a new random number in that case until a
fitting number is found (or a repetition limit is reached). This way,
all number below 2^30 within the PRNG's period are used.
Ticket: OW#1362
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=bb23b837207f293b8e375f44fe5c24a1…
commit bb23b837207f293b8e375f44fe5c24a1172036f5
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 15:29:01 2015 +0100
gprs: Support the full cancellation procedure
Currently no GSUP LocationCancellationResult message is sent back to
the peer (HLR), if the procedure succeeded at the SGSN's side.
This patch adds the missing message and put the whole request
handling of this procedure into a separate function.
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=209b4e36e3e642b0986bbacf3f41c496…
commit 209b4e36e3e642b0986bbacf3f41c496e4a27a43
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 15 17:50:16 2015 +0100
gprs: Don't create a subscr entry on InsertSubscriberData
Currently gprs_subscr_rx_gsup_message creates a subscriber entry if
such an entry doesn't exist for the IMSI within an
InsertSubscriberData GSUP message. This behaviour is not compliant to
GSM 09.02, 20.3.3.2 (Subscriber data management/SGSN) where it is
defined, that an error ("Unidentified subscriber") shall be returned.
This patch removes the case distinction, so that an existing
subscriber entry is required for all incoming GSUP messages.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=4a1139a07134956d1c68472381b6bebc…
commit 4a1139a07134956d1c68472381b6bebc5d29bb93
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 15 17:08:30 2015 +0100
gprs: Add replies for all GSUP requests
Currently, an incoming GSUP request message isn't answered at all if
it is not handled due to an error or missing implementation.
This patch adds GSUP error replies for these requests (and only for
requests). It also adds tests for these cases.
Note that several of these tests check for
GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL, which will have to be changed, when
the features are implemented.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=435ac559683d4813c6f4ae9896deae60…
commit 435ac559683d4813c6f4ae9896deae60dc6d7f09
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 16:23:25 2015 +0100
gprs: Block other GSUP procedures during PURGE_MS
GSM 09.02, 19.4.1.4 mandates that no other MAP procedures shall be
started until the PURGE_MS procedure has been completed.
This patch implements this by adding corresponding state and checks
to gprs_subscr_purge, gprs_subscr_location_update, and
gprs_subscr_update_auth_info. If an Update Location or a Send Auth
Info Req procedure is not started because of blocking, the retry
mechanism is aborted to shorten the blocking time. The outstanding
Purge MS procedure itself is not aborted.
Sponsored-by: On-Waves ehf
-----------------------------------------------------------------------
Summary of changes:
openbsc/include/openbsc/gprs_sgsn.h | 4 ++
openbsc/src/gprs/gprs_subscriber.c | 54 ++++++++++++----------
openbsc/tests/sgsn/sgsn_test.c | 92 +++++++++++++++++++++++++++++++++++++
openbsc/tests/sgsn/sgsn_test.ok | 1 +
4 files changed, 126 insertions(+), 25 deletions(-)
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)
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 64d0007aca0bc5f3c53aa3e710d9db6b745af36e (commit)
discards f0974ae238ee109b046051441a9599076ddcc0f0 (commit)
discards abf773d673a29b3e927e8151f9d47458bfeb9153 (commit)
discards 3586c3491555ef7e686bcbc145a64ac2d9405710 (commit)
discards 6551d3169355de7e05d94c905014ff1ec9fbf264 (commit)
discards 145d7ddb84ef36122a0bf6a539923b558d0b3928 (commit)
discards 5d2546d1597645a88ef70bcbdc706c9e8a16fb9a (commit)
discards 3ea2200407b17dac2b704979bd92cb7563d51d15 (commit)
discards 1da5e744766689acca7cf5b477a0c9bb4b900c95 (commit)
via e0eb96d6a712a0278ecd00b7a1a9ba9685c306bf (commit)
via 30550cd100ef2ed127c6ac2c29b4d745fed49e35 (commit)
via ea3cea021b59b8a6f9341faaf1081f031d04206c (commit)
via 3bcbbebcc04a1f8a6e0557bd5701b97af7015c24 (commit)
via 89be7c6d55347411aea23405236284f6e785eb57 (commit)
via 30997b9dd3040058dea7dd7c427d2c3d63db7de0 (commit)
via d41ed3277136f2a35a88a8e9f04c4a52f34e47d2 (commit)
via c014e1ad93e620be528c6ff0cc131be08d34a8f3 (commit)
via 427ecd1ebafe39fb95b0948b0f4b868d62186abb (commit)
via 523731fceba3e2b805bc2e3c1205f4a7c691bad8 (commit)
via e341cff4a0e3f1e4525be9d216fe09cdabb0111e (commit)
via cabb6cbbd299a5a48a3d8eb798f747ab6383b265 (commit)
via c940371242ec50cd2981c69a1e6667c7f80fbbef (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 (64d0007aca0bc5f3c53aa3e710d9db6b745af36e)
\
N -- N -- N (e0eb96d6a712a0278ecd00b7a1a9ba9685c306bf)
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=e0eb96d6a712a0278ecd00b7a1a9ba96…
commit e0eb96d6a712a0278ecd00b7a1a9ba9685c306bf
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 15 18:51:31 2015 +0100
sgsn: Fix P-TMSI generator's periodicity
Currently sgsn_alloc_ptmsi uses rand() to get a new P-TMSI and then
sets to upper 2 MSB. Therefore there is no lower limit of the
distance between 2 identical P-TMSI.
This patch changes the implementation to discard any random value
above 2^30 and to generate a new random number in that case until a
fitting number is found (or a repetition limit is reached). This way,
all number below 2^30 within the PRNG's period are used.
Ticket: OW#1362
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=30550cd100ef2ed127c6ac2c29b4d745…
commit 30550cd100ef2ed127c6ac2c29b4d745fed49e35
Author: Jacob Erlbeck <jerlbeck(a)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
- implement age based MM context expiry
- remove this commit
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=ea3cea021b59b8a6f9341faaf1081f03…
commit ea3cea021b59b8a6f9341faaf1081f031d04206c
Author: Jacob Erlbeck <jerlbeck(a)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=3bcbbebcc04a1f8a6e0557bd5701b97a…
commit 3bcbbebcc04a1f8a6e0557bd5701b97af7015c24
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Wed Dec 17 14:03:35 2014 +0100
sgsn: Add PDP info to subscriber data (TODO)
TODO:
- commit message
- raw binary representation ???
- tests
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=89be7c6d55347411aea23405236284f6…
commit 89be7c6d55347411aea23405236284f6e785eb57
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:11:20 2014 +0100
sgsn: Add logging to connect_timer_cb (TODO)
TODO:
- LOGLevel ?
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=30997b9dd3040058dea7dd7c427d2c3d…
commit 30997b9dd3040058dea7dd7c427d2c3d63db7de0
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 15:29:01 2015 +0100
gprs: Support the full cancellation procedure
Currently no GSUP LocationCancellationResult message is sent back to
the peer (HLR), if the procedure succeeded at the SGSN's side.
This patch adds the missing message and put the whole request
handling of this procedure into a separate function.
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=d41ed3277136f2a35a88a8e9f04c4a52…
commit d41ed3277136f2a35a88a8e9f04c4a52f34e47d2
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 15 17:50:16 2015 +0100
gprs: Don't create a subscr entry on InsertSubscriberData
Currently gprs_subscr_rx_gsup_message creates a subscriber entry if
such an entry doesn't exist for the IMSI within an
InsertSubscriberData GSUP message. This behaviour is not compliant to
GSM 09.02, 20.3.3.2 (Subscriber data management/SGSN) where it is
defined, that an error ("Unidentified subscriber") shall be returned.
This patch removes the case distinction, so that an existing
subscriber entry is required for all incoming GSUP messages.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=c014e1ad93e620be528c6ff0cc131be0…
commit c014e1ad93e620be528c6ff0cc131be08d34a8f3
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 15 17:08:30 2015 +0100
gprs: Add replies for all GSUP requests
Currently, an incoming GSUP request message isn't answered at all if
it is not handled due to an error or missing implementation.
This patch adds GSUP error replies for these requests (and only for
requests). It also adds tests for these cases.
Note that several of these tests check for
GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL, which will have to be changed, when
the features are implemented.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=427ecd1ebafe39fb95b0948b0f4b868d…
commit 427ecd1ebafe39fb95b0948b0f4b868d62186abb
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 16:23:25 2015 +0100
gprs: Block other GSUP procedures during PURGE_MS (TODO)
GSM 09.02, 19.4.1.4 mandates that no other MAP procedures shall be
started until the PURGE_MS procedure has been completed.
This patch implements this by adding corresponding state and checks
to gprs_subscr_purge, gprs_subscr_location_update, and
gprs_subscr_update_auth_info. If an Update Location or a Send Auth
Info Req procedure is not started because of blocking, the retry
mechanism is aborted to shorten the blocking time. The outstanding
Purge MS procedure itself is not aborted.
TODO:
- testing
Ticket: OW#????
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=523731fceba3e2b805bc2e3c1205f4a7…
commit 523731fceba3e2b805bc2e3c1205f4a7c691bad8
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
deleted.
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
deleted.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=e341cff4a0e3f1e4525be9d216fe09cd…
commit e341cff4a0e3f1e4525be9d216fe09cdabb0111e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 6 16:32:41 2015 +0100
gprs: Use PURGE MS messages
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.
Note that GSM 09.02, 19.1.4.4 implies that the subscriber data is not
to be removed when the procedure fails which is not the way the
feature has been implemented.
Note that handling 'P-TMSI freezing' is not implemented.
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=cabb6cbbd299a5a48a3d8eb798f747ab…
commit cabb6cbbd299a5a48a3d8eb798f747ab6383b265
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 15 11:50:08 2015 +0100
gprs: Implement PURGE_MS GSUP messages
This commit implements the encoding and decoding of the messages
- Purge MS Request
- Purge MS Error
- Purge MS Result
and adds corresponding tests.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=c940371242ec50cd2981c69a1e6667c7…
commit c940371242ec50cd2981c69a1e6667c7f80fbbef
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
-----------------------------------------------------------------------
Summary of changes:
openbsc/doc/sgsn-remote-protocol.txt | 2 +
openbsc/include/openbsc/gprs_gsup_messages.h | 6 ++
openbsc/include/openbsc/gprs_sgsn.h | 3 +-
openbsc/src/gprs/gprs_gsup_messages.c | 7 ++
openbsc/src/gprs/gprs_sgsn.c | 28 ++++++-
openbsc/src/gprs/gprs_subscriber.c | 109 ++++++++++++++++++++++-----
openbsc/tests/gprs/gprs_test.c | 23 ++++++
openbsc/tests/gprs/gprs_test.ok | 3 +
openbsc/tests/sgsn/sgsn_test.c | 63 +++++++++++++++-
9 files changed, 221 insertions(+), 23 deletions(-)
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)
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 89b5af1f8d450e039602030d06ea6b0bd62925a2 (commit)
discards 488cc66679e20973fc85c4bc9a39eacf46548f80 (commit)
discards 51d8be51f7a4c099a72a5ebc025f3daf8710918d (commit)
discards cfe222efff4a215043b6828d246b433e2faa0710 (commit)
discards 71e61686c3a469f057636eec6ff2003affdbe1c1 (commit)
discards c20303e00196a96b08d5be4e716774983ea92fce (commit)
discards 328c5c1d40aecfe2c72e352d0d6beda4b7c86f86 (commit)
discards 5355202011c9ac4a751608ecdb7d825c7f335d1e (commit)
discards 7ed031b2c876d8c2ab1471d27569131c683011ee (commit)
discards 77057d0820690d6f67716670ff94b240b370c118 (commit)
discards 157392a168916b6828676d53d943b099e0d0708d (commit)
discards 0df73b1093c7d720cc64fa967a2268a13a929c72 (commit)
discards aee0cdc4db6d34855597ebe7e09abc647d8e692e (commit)
discards 43e71d624c7be3cce2cec7cb419f8b4129977a9e (commit)
discards f1393090b4a164bb480f45cce9f8ab54b1bc6089 (commit)
discards 1636e5f607325fb2cf0fa39c7c51eea0df49a9a3 (commit)
discards 9c420d46836a7bee7dbb74b75763c92a7ee1d6ad (commit)
discards a5a1af953fefa425b7a1611dab0ab67f8fe9285d (commit)
discards 9d3c9d60d842bf053a1481703c9615bac0312295 (commit)
discards 4fc87b30c4dda8c6897b148bb0d9e400c8e22c4f (commit)
discards 1fcb2dca60a43cffedb9e40fca13e86a1832b7b4 (commit)
discards 866eb9fbc5711a66538fb5da2ac2238c9b035116 (commit)
discards 287cf4ee746ff1eb49eea52858de7304b1735b87 (commit)
discards df61af7043081b1a20646dec088677b09d67fa78 (commit)
discards a77c6904227149fdea29b8ed27ac3dddf2e9cf47 (commit)
discards b13a67d78b35170fed891413569b203c8b63c8a5 (commit)
discards 48abb3007302f2dab329e301bbabcb75782b3a4a (commit)
discards af5d51b0f6494f4b222880abef35cc696e52a013 (commit)
discards 1fdcbf613508ededda08689db16c2785de614d96 (commit)
discards 7c83c0e1c4670ba2c70b3093b4135f4a8ba31ed1 (commit)
discards c3c9c3277519a1ed70f3bf4d3d5ae5872cd24c7a (commit)
discards 771f20df7863d8d805000c19db24ed1e6754e16d (commit)
discards e2e60dac618a28a80786d9d29597852e5fab52b5 (commit)
discards 2159e39353aa5b30b8844921e5987df83b696630 (commit)
discards c33fcd7a33d13c5cf15d0b378dc46884e7c01e59 (commit)
discards fd0134c8622110678b524ebeb6d889b68d0639c7 (commit)
discards 3a6aa7f3b7e74bd7ed9089bddb81bd91cd948d81 (commit)
discards d3e7137cc2168ec99e4de7a31f481cce6a76da09 (commit)
discards 74cd902cb970e64f25456f81b1c7899b15b53c4e (commit)
discards 6a7288c1d6779bf83f005f19f12e446ca17e24b6 (commit)
via 64d0007aca0bc5f3c53aa3e710d9db6b745af36e (commit)
via f0974ae238ee109b046051441a9599076ddcc0f0 (commit)
via abf773d673a29b3e927e8151f9d47458bfeb9153 (commit)
via 3586c3491555ef7e686bcbc145a64ac2d9405710 (commit)
via 6551d3169355de7e05d94c905014ff1ec9fbf264 (commit)
via 145d7ddb84ef36122a0bf6a539923b558d0b3928 (commit)
via 5d2546d1597645a88ef70bcbdc706c9e8a16fb9a (commit)
via 3ea2200407b17dac2b704979bd92cb7563d51d15 (commit)
via 1da5e744766689acca7cf5b477a0c9bb4b900c95 (commit)
via ea5906244efac709eb1fbcbd021a285fc4cbe7b8 (commit)
via 82b3b65f217a0432ab88909f9fb29d7aa1856541 (commit)
via 5b88584b0604269b1a830f8dfe1fec7319f3cdc7 (commit)
via 4c3cf3701c217c99cdaee39d28ee0acea2e1c374 (commit)
via 6cc8140d2b32abf620d6b47cd691162728029122 (commit)
via 018d3829388438da9a7734bcd6972077c8c35090 (commit)
via d8abd5df576d0180b2f78009fbe5707094e8aef1 (commit)
via b92861ddbc4a559a6e4c82b875a2b1406f6d6279 (commit)
via 4ffbfd3e4ebf5bfb5fa4ee298d88a6b721525420 (commit)
via 1d89966270e03838fa61a15a874ceb8be34c3de3 (commit)
via 98ed3fd8089b26895ef0177f1c1f3567cc3d0871 (commit)
via 7c998bd273986d5cbd38b93523e8bfd59ec6fbae (commit)
via bf6f8f6186f4cbd757e8c72083214493a95bc60d (commit)
via e08b0de9fe2d7c0ad60a7eb6b4bdc0af2d62177c (commit)
via 0b9733bfb3d15544b867210f138367bcf7d25cf5 (commit)
via a4c1213fd7b7da144b011a7d74d28f5ba670df1a (commit)
via 46d6fcc2cc2cbf6ad034a20fc6461f5016aa0bca (commit)
via 666d4c7f68e56bc380f1028509c60cbec5eebe87 (commit)
via 7275bd4d224ec91b50c0938d31b602a3c19a9a18 (commit)
via 13266266b9a8c6518b7153b8fdea4aa2c0328ffe (commit)
via 83c3f0be610073a5fe001ba39e45d4ac1f925e4c (commit)
via 3ee9213a6d3131da085f97929051a0b0d3e65d0c (commit)
via 49bf767559c5beb4d7de145fdbabe02a9cae577f (commit)
via dfb5722cf088eca6bc3bcbb74cdf5704b5638568 (commit)
via 418f6de75d1e54405e4e5501f50b1c4b2146551c (commit)
via 18e441b66e0a974028f4042141b1a801fb5f21e0 (commit)
via 71cd89a3e591951e7efd4b7065acfa9b15177ac5 (commit)
via 91740a67cb090f0507b8c364f8f3950b73a52beb (commit)
via d390bc452c0dca5c2e455ccdcda5515204a11413 (commit)
via a6cb44ea20e173b50c8197f44f588411c25c1c31 (commit)
via 33245e2c62baf0569edc53b4d39c3344a0372eba (commit)
via 2892ebf3ea5ae575c3760fd2fca95b331f9ba9d2 (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 (89b5af1f8d450e039602030d06ea6b0bd62925a2)
\
N -- N -- N (64d0007aca0bc5f3c53aa3e710d9db6b745af36e)
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=64d0007aca0bc5f3c53aa3e710d9db6b…
commit 64d0007aca0bc5f3c53aa3e710d9db6b745af36e
Author: Jacob Erlbeck <jerlbeck(a)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
- implement age based MM context expiry
- remove this commit
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=f0974ae238ee109b046051441a959907…
commit f0974ae238ee109b046051441a9599076ddcc0f0
Author: Jacob Erlbeck <jerlbeck(a)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=abf773d673a29b3e927e8151f9d47458…
commit abf773d673a29b3e927e8151f9d47458bfeb9153
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Wed Dec 17 14:03:35 2014 +0100
sgsn: Add PDP info to subscriber data (TODO)
TODO:
- commit message
- raw binary representation ???
- tests
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=3586c3491555ef7e686bcbc145a64ac2…
commit 3586c3491555ef7e686bcbc145a64ac2d9405710
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:11:20 2014 +0100
sgsn: Add logging to connect_timer_cb (TODO)
TODO:
- LOGLevel ?
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=6551d3169355de7e05d94c905014ff1e…
commit 6551d3169355de7e05d94c905014ff1ec9fbf264
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 15:29:01 2015 +0100
gprs: Support the full cancellation procedure (TODO)
TODO:
- Commit message
- Reply to cancellation request (either with RES or ERR)
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=145d7ddb84ef36122a0bf6a539923b55…
commit 145d7ddb84ef36122a0bf6a539923b558d0b3928
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 16:23:25 2015 +0100
gprs: Block other GSUP procedures during PURGE_MS (TODO)
TODO:
- commit message
- move LOGGSUBSCRP fix in gprs_subscr_purge to HEAD^^
- testing
Ticket: OW#????
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=5d2546d1597645a88ef70bcbdc706c9e…
commit 5d2546d1597645a88ef70bcbdc706c9e8a16fb9a
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
deleted.
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
deleted.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=3ea2200407b17dac2b704979bd92cb75…
commit 3ea2200407b17dac2b704979bd92cb7563d51d15
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 6 16:32:41 2015 +0100
gprs: Support PURGE MS messages
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.
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=1da5e744766689acca7cf5b477a0c9bb…
commit 1da5e744766689acca7cf5b477a0c9bb4b900c95
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=ea5906244efac709eb1fbcbd021a285f…
commit ea5906244efac709eb1fbcbd021a285fc4cbe7b8
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 13 11:46:32 2015 +0100
sgsn/test: Add checks and reports to detect subscr leakage
This commit adds talloc reports to log remaining NULL chunks after the
terminates. It also adds explicit checks for empty subscriber lists.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=82b3b65f217a0432ab88909f9fb29d7a…
commit 82b3b65f217a0432ab88909f9fb29d7aa1856541
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=5b88584b0604269b1a830f8dfe1fec73…
commit 5b88584b0604269b1a830f8dfe1fec7319f3cdc7
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
destroyed.
Note that unused MM contexts are not expired yet. Therefore the
subscriber will only be expired after a successful MM detach.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=4c3cf3701c217c99cdaee39d28ee0ace…
commit 4c3cf3701c217c99cdaee39d28ee0acea2e1c374
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=6cc8140d2b32abf620d6b47cd6911627…
commit 6cc8140d2b32abf620d6b47cd691162728029122
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=018d3829388438da9a7734bcd6972077…
commit 018d3829388438da9a7734bcd6972077c8c35090
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=d8abd5df576d0180b2f78009fbe57070…
commit d8abd5df576d0180b2f78009fbe5707094e8aef1
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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, 4.7.3.1.4 in combination with 4.7.3.1.5,
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
http://cgit.osmocom.org/openbsc/commit/?id=b92861ddbc4a559a6e4c82b875a2b140…
commit b92861ddbc4a559a6e4c82b875a2b1406f6d6279
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
otherwise.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=4ffbfd3e4ebf5bfb5fa4ee298d88a6b7…
commit 4ffbfd3e4ebf5bfb5fa4ee298d88a6b721525420
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=1d89966270e03838fa61a15a874ceb8b…
commit 1d89966270e03838fa61a15a874ceb8be34c3de3
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=98ed3fd8089b26895ef0177f1c1f3567…
commit 98ed3fd8089b26895ef0177f1c1f3567cc3d0871
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=7c998bd273986d5cbd38b93523e8bfd5…
commit 7c998bd273986d5cbd38b93523e8bfd59ec6fbae
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 5 17:51:17 2015 +0100
sgsn: 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
patch.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=bf6f8f6186f4cbd757e8c72083214493…
commit bf6f8f6186f4cbd757e8c72083214493a95bc60d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
exported.
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
names:
- gmm_cause_names -> gsm48_gmm_cause_names
- gsm_cause_names -> gsm48_gsm_cause_names
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=e08b0de9fe2d7c0ad60a7eb6b4bdc0af…
commit e08b0de9fe2d7c0ad60a7eb6b4bdc0af2d62177c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=0b9733bfb3d15544b867210f138367bc…
commit 0b9733bfb3d15544b867210f138367bcf7d25cf5
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:18:54 2014 +0100
gprs: 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
http://cgit.osmocom.org/openbsc/commit/?id=a4c1213fd7b7da144b011a7d74d28f5b…
commit a4c1213fd7b7da144b011a7d74d28f5ba670df1a
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:15:55 2014 +0100
gprs: 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
http://cgit.osmocom.org/openbsc/commit/?id=46d6fcc2cc2cbf6ad034a20fc6461f50…
commit 46d6fcc2cc2cbf6ad034a20fc6461f5016aa0bca
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:00:56 2014 +0100
gprs: 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
http://cgit.osmocom.org/openbsc/commit/?id=666d4c7f68e56bc380f1028509c60cbe…
commit 666d4c7f68e56bc380f1028509c60cbec5eebe87
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 18:50:05 2014 +0100
gprs: 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
http://cgit.osmocom.org/openbsc/commit/?id=7275bd4d224ec91b50c0938d31b602a3…
commit 7275bd4d224ec91b50c0938d31b602a3c19a9a18
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Dec 18 15:00:29 2014 +0100
gprs: 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
http://cgit.osmocom.org/openbsc/commit/?id=13266266b9a8c6518b7153b8fdea4aa2…
commit 13266266b9a8c6518b7153b8fdea4aa2c0328ffe
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=83c3f0be610073a5fe001ba39e45d4ac…
commit 83c3f0be610073a5fe001ba39e45d4ac1f925e4c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=3ee9213a6d3131da085f97929051a0b0…
commit 3ee9213a6d3131da085f97929051a0b0d3e65d0c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
gprs_subscr_rx_gsup_message.
This patch puts all of this (including the call to
gprs_subscr_rx_gsup_message) into a separate function.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=49bf767559c5beb4d7de145fdbabe02a…
commit 49bf767559c5beb4d7de145fdbabe02a9cae577f
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=dfb5722cf088eca6bc3bcbb74cdf5704…
commit dfb5722cf088eca6bc3bcbb74cdf5704b5638568
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=418f6de75d1e54405e4e5501f50b1c4b…
commit 418f6de75d1e54405e4e5501f50b1c4b2146551c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=18e441b66e0a974028f4042141b1a801…
commit 18e441b66e0a974028f4042141b1a801fb5f21e0
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Dec 18 12:28:21 2014 +0100
gprs: Add GSUP client
This commit adds the client code to get subscriber information from a
remote server. It provides an IPA over TCP connection to transmit and
receive GSUP messages.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=71cd89a3e591951e7efd4b7065acfa9b…
commit 71cd89a3e591951e7efd4b7065acfa9b15177ac5
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:54:39 2015 +0100
gprs: Clear GSUP message structures before decoding
Currently the message structure is not cleared before the message is
parsed which can cause information leaking between messages if the
same gprs_gsup_message object is used. Especially list elements (auth
tuples and pdp info) are not replaced by an IE, but the IE is
appended.
This patch uses the assignment operator to clear gprs_gsup_message,
gsm_auth_tuple, and gprs_gsup_pdp_info before using them. This also
replaces the use of memcpy of the latter.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=91740a67cb090f0507b8c364f8f3950b…
commit 91740a67cb090f0507b8c364f8f3950b73a52beb
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:39:15 2015 +0100
gprs: Always reset auth tuples/pdp infos in gprs_gsup_decode
Currently auth tuples are always appended to the lists when
gprs_gsup_decode is called with a gsup_msg structure. This makes a
test case fail, where the same gsup_msg is used again and again
without clearing it after each use.
Ticket: OW#????
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=d390bc452c0dca5c2e455ccdcda55152…
commit d390bc452c0dca5c2e455ccdcda5515204a11413
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:23:05 2015 +0100
gprs: Handle empty GSUP messages correctly
Currently, the gprs_gsup_decode function doesn't check the return
value of gprs_shift_v_fixed before using the value pointer. The
function fails, if the GSUP message length (not including IPA
headers) is 0. In this case, a segfault can happen, depending on the
value of the uninitialized 'value' pointer. The test case doesn't
trigger a segfault, but valgrind complains about reading
uninitialized data.
This patch adds a check for the return value that would return with
an error code if the shift function failed.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=a6cb44ea20e173b50c8197f44f588411…
commit a6cb44ea20e173b50c8197f44f588411c25c1c31
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 11:14:18 2015 +0100
gprs/test: Add tests for invalid GSUP messages
Currently, the tests only use valid GSUP messages. This does not
check the robustness of the parser.
This commit adds a test for truncated messages and another for
modified messages.
Thanks to Holger for the basic truncation test.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=33245e2c62baf0569edc53b4d39c3344…
commit 33245e2c62baf0569edc53b4d39c3344a0372eba
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 13 11:56:28 2015 +0100
sgsn/test: Fix msgb freeing in mocked bssgp_tx_dl_ud
Currently the mocked bssgp_tx_dl_ud function used for testing in
sgsn_test.c does not free the msg as it is done by the original
function. This leads to a msgb leak in the test.
This patch fixes the test code accordingly and uncomments the
assertion that checks for left-over msgbs.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=2892ebf3ea5ae575c3760fd2fca95b33…
commit 2892ebf3ea5ae575c3760fd2fca95b331f9ba9d2
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 13 11:46:32 2015 +0100
sgsn/test: Add checks and reports to detect msgb leakage
This commit adds talloc reports to log remaining chunks after the
testing has been finished. It also adds a (currently disabled) check,
that no msgbs are allocated after running the tests.
Sponsored-by: On-Waves ehf
-----------------------------------------------------------------------
Summary of changes:
openbsc/src/gprs/gprs_gsup_client.c | 2 +-
openbsc/tests/sgsn/sgsn_test.c | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)
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 fc376259e0a306d41e17cab43de7c2a4796f9aba (commit)
discards bf5805ff4d5e0433185811a359baccc2e73f32ce (commit)
discards f567963a36a541a46bd226632c7368c3d507c064 (commit)
discards 147cf8a851eedf117450541ba068ced3f802f1dc (commit)
discards d06b20c0a9e171ba9143d73e882c44c3b9b0744d (commit)
discards 93a0fcd78a9e2d0c7fdf9ad90be3f41619ce5c2e (commit)
discards c7c48fa68cd9e4790c9883b0f6031bd73a2dd737 (commit)
discards 8dec82b096df85227171eea0d34cf6cfbea3724e (commit)
discards 50a0d6984536691466b6154288ddc83f1defae9c (commit)
discards 249a5375c66e1d3560218eeedbc7a1c524673275 (commit)
discards bd4d5bb2c921e7e6333019fda885430ebd3aa3df (commit)
discards a5b9ea754883d2d7a547ba4b2da7c3fb8c40efc0 (commit)
discards f47dc130732e3a29fc729d9f859231646c5cac6c (commit)
via 89b5af1f8d450e039602030d06ea6b0bd62925a2 (commit)
via 488cc66679e20973fc85c4bc9a39eacf46548f80 (commit)
via 51d8be51f7a4c099a72a5ebc025f3daf8710918d (commit)
via cfe222efff4a215043b6828d246b433e2faa0710 (commit)
via 71e61686c3a469f057636eec6ff2003affdbe1c1 (commit)
via c20303e00196a96b08d5be4e716774983ea92fce (commit)
via 328c5c1d40aecfe2c72e352d0d6beda4b7c86f86 (commit)
via 5355202011c9ac4a751608ecdb7d825c7f335d1e (commit)
via 7ed031b2c876d8c2ab1471d27569131c683011ee (commit)
via 77057d0820690d6f67716670ff94b240b370c118 (commit)
via 157392a168916b6828676d53d943b099e0d0708d (commit)
via 0df73b1093c7d720cc64fa967a2268a13a929c72 (commit)
via aee0cdc4db6d34855597ebe7e09abc647d8e692e (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 (fc376259e0a306d41e17cab43de7c2a4796f9aba)
\
N -- N -- N (89b5af1f8d450e039602030d06ea6b0bd62925a2)
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=89b5af1f8d450e039602030d06ea6b0b…
commit 89b5af1f8d450e039602030d06ea6b0bd62925a2
Author: Jacob Erlbeck <jerlbeck(a)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
- implement age based MM context expiry
- remove this commit
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=488cc66679e20973fc85c4bc9a39eacf…
commit 488cc66679e20973fc85c4bc9a39eacf46548f80
Author: Jacob Erlbeck <jerlbeck(a)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=51d8be51f7a4c099a72a5ebc025f3daf…
commit 51d8be51f7a4c099a72a5ebc025f3daf8710918d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Wed Dec 17 14:03:35 2014 +0100
sgsn: Add PDP info to subscriber data (TODO)
TODO:
- commit message
- raw binary representation ???
- tests
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=cfe222efff4a215043b6828d246b433e…
commit cfe222efff4a215043b6828d246b433e2faa0710
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:11:20 2014 +0100
sgsn: Add logging to connect_timer_cb (TODO)
TODO:
- LOGLevel ?
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=71e61686c3a469f057636eec6ff2003a…
commit 71e61686c3a469f057636eec6ff2003affdbe1c1
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=c20303e00196a96b08d5be4e71677498…
commit c20303e00196a96b08d5be4e716774983ea92fce
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=328c5c1d40aecfe2c72e352d0d6beda4…
commit 328c5c1d40aecfe2c72e352d0d6beda4b7c86f86
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=5355202011c9ac4a751608ecdb7d825c…
commit 5355202011c9ac4a751608ecdb7d825c7f335d1e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 15:29:01 2015 +0100
gprs: Support the full cancellation procedure (TODO)
TODO:
- Commit message
- Reply to cancellation request (either with RES or ERR)
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=7ed031b2c876d8c2ab1471d27569131c…
commit 7ed031b2c876d8c2ab1471d27569131c683011ee
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 16:23:25 2015 +0100
gprs: Block other GSUP procedures during PURGE_MS (TODO)
TODO:
- commit message
- move LOGGSUBSCRP fix in gprs_subscr_purge to HEAD^^
- testing
Ticket: OW#????
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=77057d0820690d6f67716670ff94b240…
commit 77057d0820690d6f67716670ff94b240b370c118
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
deleted.
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
deleted.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=157392a168916b6828676d53d943b099…
commit 157392a168916b6828676d53d943b099e0d0708d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Tue Jan 6 16:32:41 2015 +0100
gprs: Support PURGE MS messages
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.
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=0df73b1093c7d720cc64fa967a2268a1…
commit 0df73b1093c7d720cc64fa967a2268a13a929c72
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=aee0cdc4db6d34855597ebe7e09abc64…
commit aee0cdc4db6d34855597ebe7e09abc647d8e692e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
destroyed.
Note that unused MM contexts are not expired yet. Therefore the
subscriber will only be expired after a successful MM detach.
Sponsored-by: On-Waves ehf
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)
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 -----------------------------------------------------------------
http://cgit.osmocom.org/openbsc/commit/?id=fc376259e0a306d41e17cab43de7c2a4…
commit fc376259e0a306d41e17cab43de7c2a4796f9aba
Author: Jacob Erlbeck <jerlbeck(a)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=bf5805ff4d5e0433185811a359baccc2…
commit bf5805ff4d5e0433185811a359baccc2e73f32ce
Author: Jacob Erlbeck <jerlbeck(a)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=f567963a36a541a46bd226632c7368c3…
commit f567963a36a541a46bd226632c7368c3d507c064
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Wed Dec 17 14:03:35 2014 +0100
sgsn: Add PDP info to subscriber data (TODO)
TODO:
- commit message
- raw binary representation ???
- tests
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=147cf8a851eedf117450541ba068ced3…
commit 147cf8a851eedf117450541ba068ced3f802f1dc
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:11:20 2014 +0100
sgsn: Add logging to connect_timer_cb (TODO)
TODO:
- LOGLevel ?
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=d06b20c0a9e171ba9143d73e882c44c3…
commit d06b20c0a9e171ba9143d73e882c44c3b9b0744d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=93a0fcd78a9e2d0c7fdf9ad90be3f416…
commit 93a0fcd78a9e2d0c7fdf9ad90be3f41619ce5c2e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=c7c48fa68cd9e4790c9883b0f6031bd7…
commit c7c48fa68cd9e4790c9883b0f6031bd73a2dd737
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=8dec82b096df85227171eea0d34cf6cf…
commit 8dec82b096df85227171eea0d34cf6cfbea3724e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 15:29:01 2015 +0100
gprs: Support the full cancellation procedure (TODO)
TODO:
- Commit message
- Reply to cancellation request (either with RES or ERR)
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=50a0d6984536691466b6154288ddc83f…
commit 50a0d6984536691466b6154288ddc83f1defae9c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 16:23:25 2015 +0100
gprs: Block other GSUP procedures during PURGE_MS (TODO)
TODO:
- commit message
- move LOGGSUBSCRP fix in gprs_subscr_purge to HEAD^^
- testing
Ticket: OW#????
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=249a5375c66e1d3560218eeedbc7a1c5…
commit 249a5375c66e1d3560218eeedbc7a1c524673275
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
deleted.
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
deleted.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=bd4d5bb2c921e7e6333019fda885430e…
commit bd4d5bb2c921e7e6333019fda885430ebd3aa3df
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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.
TODO:
- commit message
- expire ununsed MM contexts (other commit)
Ticket: OW#1338
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=a5b9ea754883d2d7a547ba4b2da7c3fb…
commit a5b9ea754883d2d7a547ba4b2da7c3fb8c40efc0
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=f47dc130732e3a29fc729d9f85923164…
commit f47dc130732e3a29fc729d9f859231646c5cac6c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
destroyed.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=43e71d624c7be3cce2cec7cb419f8b41…
commit 43e71d624c7be3cce2cec7cb419f8b4129977a9e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=f1393090b4a164bb480f45cce9f8ab54…
commit f1393090b4a164bb480f45cce9f8ab54b1bc6089
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=1636e5f607325fb2cf0fa39c7c51eea0…
commit 1636e5f607325fb2cf0fa39c7c51eea0df49a9a3
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=9c420d46836a7bee7dbb74b75763c92a…
commit 9c420d46836a7bee7dbb74b75763c92a7ee1d6ad
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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, 4.7.3.1.4 in combination with 4.7.3.1.5,
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
http://cgit.osmocom.org/openbsc/commit/?id=a5a1af953fefa425b7a1611dab0ab67f…
commit a5a1af953fefa425b7a1611dab0ab67f8fe9285d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
otherwise.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=9d3c9d60d842bf053a1481703c9615ba…
commit 9d3c9d60d842bf053a1481703c9615bac0312295
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=4fc87b30c4dda8c6897b148bb0d9e400…
commit 4fc87b30c4dda8c6897b148bb0d9e400c8e22c4f
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=1fcb2dca60a43cffedb9e40fca13e86a…
commit 1fcb2dca60a43cffedb9e40fca13e86a1832b7b4
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=866eb9fbc5711a66538fb5da2ac2238c…
commit 866eb9fbc5711a66538fb5da2ac2238c9b035116
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
patch.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=287cf4ee746ff1eb49eea52858de7304…
commit 287cf4ee746ff1eb49eea52858de7304b1735b87
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
exported.
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
names:
- gmm_cause_names -> gsm48_gmm_cause_names
- gsm_cause_names -> gsm48_gsm_cause_names
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=df61af7043081b1a20646dec088677b0…
commit df61af7043081b1a20646dec088677b09d67fa78
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=a77c6904227149fdea29b8ed27ac3ddd…
commit a77c6904227149fdea29b8ed27ac3dddf2e9cf47
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=b13a67d78b35170fed891413569b203c…
commit b13a67d78b35170fed891413569b203c8b63c8a5
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=48abb3007302f2dab329e301bbabcb75…
commit 48abb3007302f2dab329e301bbabcb75782b3a4a
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=af5d51b0f6494f4b222880abef35cc69…
commit af5d51b0f6494f4b222880abef35cc696e52a013
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=1fdcbf613508ededda08689db16c2785…
commit 1fdcbf613508ededda08689db16c2785de614d96
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=7c83c0e1c4670ba2c70b3093b4135f4a…
commit 7c83c0e1c4670ba2c70b3093b4135f4a8ba31ed1
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=c3c9c3277519a1ed70f3bf4d3d5ae587…
commit c3c9c3277519a1ed70f3bf4d3d5ae5872cd24c7a
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=771f20df7863d8d805000c19db24ed1e…
commit 771f20df7863d8d805000c19db24ed1e6754e16d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
gprs_subscr_rx_gsup_message.
This patch puts all of this (including the call to
gprs_subscr_rx_gsup_message) into a separate function.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=e2e60dac618a28a80786d9d29597852e…
commit e2e60dac618a28a80786d9d29597852e5fab52b5
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=2159e39353aa5b30b8844921e5987df8…
commit 2159e39353aa5b30b8844921e5987df83b696630
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=c33fcd7a33d13c5cf15d0b378dc46884…
commit c33fcd7a33d13c5cf15d0b378dc46884e7c01e59
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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:
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)
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 e2e2ef39a05b6840b6670ca8e1f1d889bafffdb6 (commit)
discards b706933bd9cdf89bbe5b12d1b2541c1893a6537e (commit)
discards b9f5f4df87870041fc9e986ab841b6221e0a77f2 (commit)
discards 7ba4fa5066c39d03c6f760d0f1f618d92ef90b07 (commit)
discards 38fa6bf2cec58ec5ef3be16ec14424ed5a96674c (commit)
discards 3bf946c49d9a21dafca29b990a856e61cadaff91 (commit)
discards 3d7b2e6a26c54ebf38f9b30e00a73ec1f040e245 (commit)
discards 4872cdfa622889444854f76cc9bc4ddb97a6d0dc (commit)
discards 18391a453805bc14748bbd313273bf2b585145c7 (commit)
discards 515fdd662b120f5afc46345cd1be6592c852671b (commit)
discards c87fa1b94435a51ade34ea99b5ef39135e309275 (commit)
discards d39fe2f96d7cea3250be82abcdef6333e9422f67 (commit)
discards 33de2ebc61bad4973f64e1dc07478393cf66f783 (commit)
discards c52716e55d3ba88173c3feb47a3233c4aa69e92b (commit)
discards 52a5229ca8b55ee804a7a911512af8617e21c5da (commit)
discards 93d39583080a58fb16597ecc341a1ce32ad38d7a (commit)
discards f8f8fba629ed6b861dacb1f997c9f28d83a162e0 (commit)
discards 67014fd5657394534326c99554f89ec85970e509 (commit)
discards e8978ac39c5e96877960f0df07644efc8a0bc321 (commit)
discards 5428ff90b1260769cc918a585abdb1c292d67f7f (commit)
discards 4cd6d2a4763b2b6a2d8aa0ea73ee9e692e2ce4b0 (commit)
discards 6231ed289064f453b5d2bb56d70afe7a992dfe77 (commit)
discards 26f2c6a6846ab959d9e6f8fdf6f229ddd9ec71f7 (commit)
discards 65f35a28038ec7ed310a2fca5015b3018c5455e8 (commit)
discards 8f4fa5fc5f8225a5fb55fa2c4b12eace56b14df7 (commit)
discards 45292a23631fdb943c7aaec0dc1d1af2ce013792 (commit)
discards 424d584f82f8240c1325ca25ed186f446997de58 (commit)
discards 5c455ae7a7326c19545258a6e247fe2f6b4c3e01 (commit)
discards 3d0895483f0d543af485413dedb40294b0efd9b4 (commit)
discards 79571191f2c526e18dc1257a3273a7235582d2a6 (commit)
discards ed3d6a6020fee411cca3cb7564a4b0cbf6d8b587 (commit)
discards 9f2e178f07b7d15733e862fca7c140b1475899ee (commit)
discards 847bf670e354fbd11bedbadf63deb0577a0a380b (commit)
discards 62068f8848f5c851a06053265b311dca9042b103 (commit)
discards 2ad5544bee5062301797a86a6adb44513abe27d2 (commit)
discards 5636470b9fa12827e190f3f38386f2824edfcf61 (commit)
discards 4e8a698c1173d71f9e0ee6eef182f5884c181493 (commit)
via 2eb4ee28fce464f60231209d4cacfa18400ac9a6 (commit)
via 11c8dcd10f3fd98f054ef2918d49798274ffbfd8 (commit)
via f09050db39ea04dfa67e3595a3b41f7a59661c03 (commit)
via 872b45b49b8620d114d38cfb7d170f78b316e24b (commit)
via f17c812f882a37bda959118cace5c9c2a1cc3d62 (commit)
via f75a490a5bc0d36803593add58a7fc8f1368c7d0 (commit)
via 829f83d5e77d59706e39268f73109db1321ee6e8 (commit)
via 6fc9f67182d4c77e77d51dc89f5b1a8e19df7431 (commit)
via 84063c3aaf55626231ba2a392d52709919a33ee1 (commit)
via 339e30b1401efe55b7412876bfb1ced493a5f0fa (commit)
via fee76dc614eb42e341bf2f7604c0735b59830f37 (commit)
via b331205e1d4ad569563900520632b4d3493be721 (commit)
via d1e0a4229184ee84114060c0ab0f948689a32917 (commit)
via 78318bc48628e616e06f3ae4a852816576fa32e0 (commit)
via 861ae1d2e82e19432bdec6659df1b0f092ba6b92 (commit)
via 0e73459fb2d544f09f6819560477ba63a8216912 (commit)
via 27f69157b043394425e4a885be646d8e6439d62b (commit)
via 285ee97c76471cef0f4af747b3357f794785ca6d (commit)
via af3014f08ec7412ad54b90252579adc86b9ae99c (commit)
via 343b6c9bc5eb60ec838351c3a72ce13cc5e0eb51 (commit)
via 35961439f25e09653ebd0192634235d397914b95 (commit)
via d52aa3ae5ceef7ef3a943c0d9835d08c7bea06cb (commit)
via 1ce3ecbb31b5883bd72c56ac4b280e094bfe5ccf (commit)
via bbb44231295c3d0dc03c2461e4660028956be03e (commit)
via 12173e836bef5821e8ac95cbb2a84b76ca295c45 (commit)
via c82af7ed9b976783fdc6245e1e6bd86527529d79 (commit)
via 0bededf3fe61fe25af2c130e47ebb0f2cd2a36c4 (commit)
via ed2e4de87f8e6468592146df63e92fe63cae5d6d (commit)
via f0c08a363f6c8e84dcc4117c7108ff27159fa50a (commit)
via 9c344c709536551f2a632d4872c26a7a1c32b685 (commit)
via af2030b4ff24914fe62a8149447f7c914f62185d (commit)
via 997ec59c14f6d5a68cf344d4a4e96d304d8578dc (commit)
via a278ef42ac38d3f2945c27763063d6ace84d29f1 (commit)
via 09ebc580c02c361076d1df9678913b800eb441da (commit)
via 75973f7cf58d9011666a264f1a60f0c31f4a76fc (commit)
via fd0134c8622110678b524ebeb6d889b68d0639c7 (commit)
via 3a6aa7f3b7e74bd7ed9089bddb81bd91cd948d81 (commit)
via d3e7137cc2168ec99e4de7a31f481cce6a76da09 (commit)
via 74cd902cb970e64f25456f81b1c7899b15b53c4e (commit)
via 6a7288c1d6779bf83f005f19f12e446ca17e24b6 (commit)
via a6ddc2d99f8463edb0b5eacf080db0b5ca571efc (commit)
via f3a271fa73ea58a628a51aa310e1da20a5526f31 (commit)
via 46684dcfd2d0aadcf63f9493d0d84afe467c7193 (commit)
via 0024cee9f84c0f24b70e4bc98756702d5182a20b (commit)
via 17fb3d46ffcf48685943cc9dd4a2e80700f4fa64 (commit)
via bb06eb9d7c9c048b5297511b329f0029ecbfd9fc (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 (e2e2ef39a05b6840b6670ca8e1f1d889bafffdb6)
\
N -- N -- N (2eb4ee28fce464f60231209d4cacfa18400ac9a6)
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=2eb4ee28fce464f60231209d4cacfa18…
commit 2eb4ee28fce464f60231209d4cacfa18400ac9a6
Author: Jacob Erlbeck <jerlbeck(a)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=11c8dcd10f3fd98f054ef2918d497982…
commit 11c8dcd10f3fd98f054ef2918d49798274ffbfd8
Author: Jacob Erlbeck <jerlbeck(a)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=f09050db39ea04dfa67e3595a3b41f7a…
commit f09050db39ea04dfa67e3595a3b41f7a59661c03
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Wed Dec 17 14:03:35 2014 +0100
sgsn: Add PDP info to subscriber data (TODO)
TODO:
- commit message
- raw binary representation ???
- tests
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=872b45b49b8620d114d38cfb7d170f78…
commit 872b45b49b8620d114d38cfb7d170f78b316e24b
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 19 19:11:20 2014 +0100
sgsn: Add logging to connect_timer_cb (TODO)
TODO:
- LOGLevel ?
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=f17c812f882a37bda959118cace5c9c2…
commit f17c812f882a37bda959118cace5c9c2a1cc3d62
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=f75a490a5bc0d36803593add58a7fc8f…
commit f75a490a5bc0d36803593add58a7fc8f1368c7d0
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=829f83d5e77d59706e39268f73109db1…
commit 829f83d5e77d59706e39268f73109db1321ee6e8
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=6fc9f67182d4c77e77d51dc89f5b1a8e…
commit 6fc9f67182d4c77e77d51dc89f5b1a8e19df7431
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 15:29:01 2015 +0100
gprs: Support the full cancellation procedure (TODO)
TODO:
- Commit message
- Reply to cancellation request (either with RES or ERR)
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=84063c3aaf55626231ba2a392d527099…
commit 84063c3aaf55626231ba2a392d52709919a33ee1
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Jan 8 16:23:25 2015 +0100
gprs: Block other GSUP procedures during PURGE_MS (TODO)
TODO:
- commit message
- move LOGGSUBSCRP fix in gprs_subscr_purge to HEAD^^
- testing
Ticket: OW#????
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=339e30b1401efe55b7412876bfb1ced4…
commit 339e30b1401efe55b7412876bfb1ced493a5f0fa
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
deleted.
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
deleted.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=fee76dc614eb42e341bf2f7604c0735b…
commit fee76dc614eb42e341bf2f7604c0735b59830f37
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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.
TODO:
- commit message
- expire ununsed MM contexts (other commit)
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=b331205e1d4ad569563900520632b4d3…
commit b331205e1d4ad569563900520632b4d3493be721
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=d1e0a4229184ee84114060c0ab0f9486…
commit d1e0a4229184ee84114060c0ab0f948689a32917
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
destroyed.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=78318bc48628e616e06f3ae4a8528165…
commit 78318bc48628e616e06f3ae4a852816576fa32e0
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=861ae1d2e82e19432bdec6659df1b0f0…
commit 861ae1d2e82e19432bdec6659df1b0f092ba6b92
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=0e73459fb2d544f09f6819560477ba63…
commit 0e73459fb2d544f09f6819560477ba63a8216912
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=27f69157b043394425e4a885be646d8e…
commit 27f69157b043394425e4a885be646d8e6439d62b
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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, 4.7.3.1.4 in combination with 4.7.3.1.5,
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
http://cgit.osmocom.org/openbsc/commit/?id=285ee97c76471cef0f4af747b3357f79…
commit 285ee97c76471cef0f4af747b3357f794785ca6d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
otherwise.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=af3014f08ec7412ad54b90252579adc8…
commit af3014f08ec7412ad54b90252579adc86b9ae99c
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=343b6c9bc5eb60ec838351c3a72ce13c…
commit 343b6c9bc5eb60ec838351c3a72ce13cc5e0eb51
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=35961439f25e09653ebd0192634235d3…
commit 35961439f25e09653ebd0192634235d397914b95
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=d52aa3ae5ceef7ef3a943c0d9835d08c…
commit d52aa3ae5ceef7ef3a943c0d9835d08c7bea06cb
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
patch.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=1ce3ecbb31b5883bd72c56ac4b280e09…
commit 1ce3ecbb31b5883bd72c56ac4b280e094bfe5ccf
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
exported.
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
names:
- gmm_cause_names -> gsm48_gmm_cause_names
- gsm_cause_names -> gsm48_gsm_cause_names
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=bbb44231295c3d0dc03c2461e4660028…
commit bbb44231295c3d0dc03c2461e4660028956be03e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=12173e836bef5821e8ac95cbb2a84b76…
commit 12173e836bef5821e8ac95cbb2a84b76ca295c45
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=c82af7ed9b976783fdc6245e1e6bd865…
commit c82af7ed9b976783fdc6245e1e6bd86527529d79
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=0bededf3fe61fe25af2c130e47ebb0f2…
commit 0bededf3fe61fe25af2c130e47ebb0f2cd2a36c4
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=ed2e4de87f8e6468592146df63e92fe6…
commit ed2e4de87f8e6468592146df63e92fe63cae5d6d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=f0c08a363f6c8e84dcc4117c7108ff27…
commit f0c08a363f6c8e84dcc4117c7108ff27159fa50a
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=9c344c709536551f2a632d4872c26a7a…
commit 9c344c709536551f2a632d4872c26a7a1c32b685
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=af2030b4ff24914fe62a8149447f7c91…
commit af2030b4ff24914fe62a8149447f7c914f62185d
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=997ec59c14f6d5a68cf344d4a4e96d30…
commit 997ec59c14f6d5a68cf344d4a4e96d304d8578dc
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
gprs_subscr_rx_gsup_message.
This patch puts all of this (including the call to
gprs_subscr_rx_gsup_message) into a separate function.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=a278ef42ac38d3f2945c27763063d6ac…
commit a278ef42ac38d3f2945c27763063d6ace84d29f1
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=09ebc580c02c361076d1df9678913b80…
commit 09ebc580c02c361076d1df9678913b800eb441da
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
http://cgit.osmocom.org/openbsc/commit/?id=75973f7cf58d9011666a264f1a60f0c3…
commit 75973f7cf58d9011666a264f1a60f0c31f4a76fc
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
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
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=fd0134c8622110678b524ebeb6d889b6…
commit fd0134c8622110678b524ebeb6d889b68d0639c7
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Dec 18 12:28:21 2014 +0100
sgsn: Add GSUP client
This commit adds the client code to get subscriber information from a
remote server. It provides an IPA over TCP connection to transmit and
receive GSUP messages.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=3a6aa7f3b7e74bd7ed9089bddb81bd91…
commit 3a6aa7f3b7e74bd7ed9089bddb81bd91cd948d81
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:54:39 2015 +0100
gprs: Clear GSUP message structures before decoding
Currently the message structure is not cleared before the message is
parsed which can cause information leaking between messages if the
same gprs_gsup_message object is used. Especially list elements (auth
tuples and pdp info) are not replaced by an IE, but the IE is
appended.
This patch uses the assignment operator to clear gprs_gsup_message,
gsm_auth_tuple, and gprs_gsup_pdp_info before using them. This also
replaces the use of memcpy of the latter.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=d3e7137cc2168ec99e4de7a31f481cce…
commit d3e7137cc2168ec99e4de7a31f481cce6a76da09
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:39:15 2015 +0100
gprs: Always reset auth tuples/pdp infos in gprs_gsup_decode
Currently auth tuples are always appended to the lists when
gprs_gsup_decode is called with a gsup_msg structure. This makes a
test case fail, where the same gsup_msg is used again and again
without clearing it after each use.
Ticket: OW#????
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=74cd902cb970e64f25456f81b1c7899b…
commit 74cd902cb970e64f25456f81b1c7899b15b53c4e
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 13:23:05 2015 +0100
gprs: Handle empty GSUP messages correctly
Currently, the gprs_gsup_decode function doesn't check the return
value of gprs_shift_v_fixed before using the value pointer. The
function fails, if the GSUP message length (not including IPA
headers) is 0. In this case, a segfault can happen, depending on the
value of the uninitialized 'value' pointer. The test case doesn't
trigger a segfault, but valgrind complains about reading
uninitialized data.
This patch adds a check for the return value that would return with
an error code if the shift function failed.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=6a7288c1d6779bf83f005f19f12e446c…
commit 6a7288c1d6779bf83f005f19f12e446ca17e24b6
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 12 11:14:18 2015 +0100
gprs/test: Add tests for invalid GSUP messages
Currently, the tests only use valid GSUP messages. This does not
check the robustness of the parser.
This commit adds a test for truncated messages and another for
modified messages.
Thanks to Holger for the basic truncation test.
Sponsored-by: On-Waves ehf
-----------------------------------------------------------------------
Summary of changes:
openbsc/configure.ac | 5 +
openbsc/src/gprs/gprs_gsup_client.c | 17 ++-
openbsc/src/gprs/gprs_gsup_messages.c | 18 ++-
openbsc/src/gprs/gprs_subscriber.c | 15 ++-
openbsc/src/utils/Makefile.am | 14 ++-
openbsc/tests/gprs/gprs_test.c | 92 +++++++++++++++
openbsc/tests/sgsn/Makefile.am | 3 +-
openbsc/tests/sgsn/sgsn_test.c | 209 ++++++++++++++++++++++++++++++----
openbsc/tests/sgsn/sgsn_test.ok | 1 +
9 files changed, 330 insertions(+), 44 deletions(-)
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)
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 a6ddc2d99f8463edb0b5eacf080db0b5ca571efc (commit)
via f3a271fa73ea58a628a51aa310e1da20a5526f31 (commit)
via 46684dcfd2d0aadcf63f9493d0d84afe467c7193 (commit)
via 0024cee9f84c0f24b70e4bc98756702d5182a20b (commit)
via 17fb3d46ffcf48685943cc9dd4a2e80700f4fa64 (commit)
from bb06eb9d7c9c048b5297511b329f0029ecbfd9fc (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=a6ddc2d99f8463edb0b5eacf080db0b5…
commit a6ddc2d99f8463edb0b5eacf080db0b5ca571efc
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Fri Dec 12 15:01:37 2014 +0100
gprs: Add subscriber functions to create/handle GSUP messages
This patch extends gprs_subscr_query_auth_info and
gprs_subscr_location_update to create GSUP messages with the help of
a static gprs_subscr_tx_gsup_message function. A corresponding
gprs_subscr_rx_gsup_message is added which takes a messages, gets the
subscr, and updates it accordingly.
Sponsored-by: On-Waves ehf
[hfreyther: Added a msgb_free gprs_subscr_tx_gsup_message]
http://cgit.osmocom.org/openbsc/commit/?id=f3a271fa73ea58a628a51aa310e1da20…
commit f3a271fa73ea58a628a51aa310e1da20a5526f31
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Dec 11 16:54:14 2014 +0100
gprs: Add encoder/decoder for the Subscriber Update Protocol
This patch adds functions to encode and decode GSUP messages. This
does not include the layer 1 framing (IPA). The messages so far
supported are: send_auth_info_*, update_location_*,
location_cancellation_*.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=46684dcfd2d0aadcf63f9493d0d84afe…
commit 46684dcfd2d0aadcf63f9493d0d84afe467c7193
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Dec 15 10:16:02 2014 +0100
sgsn/doc: Add IPA default parameters
This commit adds the default protocol identifiers that should be used
for GSUP by the IPA protocol.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=0024cee9f84c0f24b70e4bc98756702d…
commit 0024cee9f84c0f24b70e4bc98756702d5182a20b
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Thu Dec 11 15:14:14 2014 +0100
sgsn/doc: Add protocol specification for remote subscriber update
This is the first version of the specification for the GPRS
Subscriber Update Protocol.
Sponsored-by: On-Waves ehf
http://cgit.osmocom.org/openbsc/commit/?id=17fb3d46ffcf48685943cc9dd4a2e807…
commit 17fb3d46ffcf48685943cc9dd4a2e80700f4fa64
Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
Date: Mon Jan 5 09:43:51 2015 +0100
sgsn: Fix VTY command error handling (Coverity)
Currently the result of the osmo_hexparse function in
update_subscr_insert_auth_triplet is not handled correctly. There is
a misplaced leading exclamation mark in a few conditional
expressions. This effectively disables the error checks, as it is
noticed by Coverity ("Missing parentheses" followed by "Logically
dead code").
This patch removes the exclamation marks.
Fixes: Coverity CID 1260435 and CID 1260434
Sponsored-by: On-Waves ehf
-----------------------------------------------------------------------
Summary of changes:
openbsc/doc/sgsn-remote-protocol.txt | 391 ++++++++++++++++++++++++++
openbsc/include/openbsc/Makefile.am | 2 +-
openbsc/include/openbsc/gprs_gsup_messages.h | 103 +++++++
openbsc/include/openbsc/gprs_sgsn.h | 1 +
openbsc/src/gprs/Makefile.am | 3 +-
openbsc/src/gprs/gprs_gsup_messages.c | 405 +++++++++++++++++++++++++++
openbsc/src/gprs/gprs_subscriber.c | 211 +++++++++++++-
openbsc/src/gprs/sgsn_vty.c | 6 +-
openbsc/tests/gprs/Makefile.am | 6 +-
openbsc/tests/gprs/gprs_test.c | 137 +++++++++
openbsc/tests/gprs/gprs_test.ok | 10 +
openbsc/tests/sgsn/Makefile.am | 2 +
openbsc/tests/sgsn/sgsn_test.c | 165 +++++++++++
openbsc/tests/sgsn/sgsn_test.ok | 1 +
14 files changed, 1430 insertions(+), 13 deletions(-)
create mode 100644 openbsc/doc/sgsn-remote-protocol.txt
create mode 100644 openbsc/include/openbsc/gprs_gsup_messages.h
create mode 100644 openbsc/src/gprs/gprs_gsup_messages.c
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)
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 "Osmocom BTS-side code (Abis, scheduling, ...)".
The branch, master has been updated
via 0d6946741c7b5697a58e7650b6e60d495a6cfb32 (commit)
from 7e10bd6401916d1768f5b2caaaae1ee35db85735 (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/osmo-bts/commit/?id=0d6946741c7b5697a58e7650b6e60d4…
commit 0d6946741c7b5697a58e7650b6e60d495a6cfb32
Author: Holger Hans Peter Freyther <holger(a)moiji-mobile.com>
Date: Sat Jan 10 18:06:29 2015 +0100
sysmobts: Check mgr->calib.bts_conn for NULL
Check the right variable for NULL.
Fixes: CID 1262214
-----------------------------------------------------------------------
Summary of changes:
src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Osmocom BTS-side code (Abis, scheduling, ...)