diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-01-05 18:57:32 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2015-01-18 18:22:47 +0100 |
commit | bce2061b43c1e38b766cc3738b4ad669211dc6a4 (patch) | |
tree | 0df33aa2f88e57fd4a693f531180e31a909c780f /openbsc/tests/sgsn | |
parent | 9aa9991efe207f5c12bbcf655b0660e3466c02e0 (diff) |
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
Diffstat (limited to 'openbsc/tests/sgsn')
-rw-r--r-- | openbsc/tests/sgsn/sgsn_test.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/openbsc/tests/sgsn/sgsn_test.c b/openbsc/tests/sgsn/sgsn_test.c index ef8661b12..6980a9015 100644 --- a/openbsc/tests/sgsn/sgsn_test.c +++ b/openbsc/tests/sgsn/sgsn_test.c @@ -28,6 +28,7 @@ #include <osmocom/gprs/gprs_bssgp.h> #include <osmocom/gsm/gsm_utils.h> +#include <openbsc/gsm_04_08_gprs.h> #include <osmocom/core/application.h> #include <osmocom/core/msgb.h> @@ -438,7 +439,7 @@ static void test_subscriber_gsup(void) /* Inject SendAuthInfoErr GSUP message */ rc = rx_gsup_message(send_auth_info_err, sizeof(send_auth_info_err)); - OSMO_ASSERT(rc >= 0); + OSMO_ASSERT(rc == -GMM_CAUSE_GPRS_NOTALLOWED); OSMO_ASSERT(last_updated_subscr == s1); /* Check triplets */ @@ -456,7 +457,7 @@ static void test_subscriber_gsup(void) /* Inject UpdateLocErr GSUP message */ rc = rx_gsup_message(update_location_err, sizeof(update_location_err)); - OSMO_ASSERT(rc >= 0); + OSMO_ASSERT(rc == -GMM_CAUSE_GPRS_NOTALLOWED); OSMO_ASSERT(last_updated_subscr == s1); /* Check authorization */ |