{"push_id":561245156,"size":11,"distinct_size":11,"ref":"refs/heads/master","head":"4b2d02d0372ae5dc88d97b06f5cfa92841cbf036","before":"925c57fb545b072159a831bff852c92795704dfe","commits":[{"sha":"555b2e5ac128211edffa34a586fe5f548eb3acba","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"sgsn: Don't allow mmctx == NULL in sgsn_update_subscriber_data\n\nCurrently, sgsn_update_subscriber_data can be called with mmctx ==\nNULL and will find and associate the right context (if present) based\non the subscriber's IMSI. This will not happen in regular use\nany more, since sgsn_update_subscriber_data will only be called when\nsubscribers are used (auth mode 'remote') and in this case\ngprs_subscr_get_or_create_by_mmctx will already be called by\nsgsn_auth_request. Therefore, MM context and subscriber are always\nassociated except for some test cases and experimental VTY usage.\nThe current implementation of sgsn_update_subscriber_data also causes\nadditional complexity for the deletion on MM contexts to avoid a\nipossible double-free MM contexts.\n\nThis commit removes the MM context <-> subscriber association code\nfrom sgsn_update_subscriber_data. That function must always be called\nwith mmctx != NULL, now. To avoid problems with VTY and test usage,\nthe calling subscriber function now only call\nsgsn_update_subscriber_data when mmctx != NULL, since the purpose of\nthat function is to update that state of an existing MM context after\nsubscriber data has been changed.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/555b2e5ac128211edffa34a586fe5f548eb3acba"},{"sha":"e671d254cbc294f87620c2938eb6fa2883253fcb","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"sgsn: Add sgsn_mm_ctx_cleanup_free for safe shutdown\n\nCurrently the MM context cleanup code is distributed over several\nfunctions. sgsn_mm_ctx_free not only frees data structure but also\neventually stops the timer and does the subscriber clean-up.\nmm_ctx_cleanup_free (gprs_gmm.c) cleans up the PDP contexts and\nunassign the TLLI.\n\nThis commit moves the cleanup code from both functions into a new\nunifying function sgsn_mm_ctx_cleanup_free that cares about the\nclean-up of all related sub-systems.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/e671d254cbc294f87620c2938eb6fa2883253fcb"},{"sha":"e988ae471d8e699a4045d77048986570349203fa","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"gprs: Don't use subscr->keep_in_ram in normal operation\n\nCurrently the keep_in_ram flag is explicitely reset in\ngprs_subscr_cleanup to cover the case, that the VTY 'create'\nsub-command has been used to create the subscriber entry.\n\nThis commit completely removes keep_in_ram handling from\ngprs_subscriber.c and adds a VTY 'destroy' sub-command to reset the\nflag and remove the entry. So 'create' and 'destroy' can be used to\nmanager sticky entries that are kept even when a location\ncancellation is done.\n\nAdded VTY command:\n\n- update-subscriber imsi IMSI destroy\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/e988ae471d8e699a4045d77048986570349203fa"},{"sha":"929acdf6bf4ef25c8cc587a6aa48651696348881","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"gprs: Handle PURGE MS ERR/RES without subscr\n\nCurrently the subscr entry is no longer present, when PURGE MS\nERROR/RESULT arrives. In this case, an unspecific notice is logged\n('unknown IMSI'). This clutters up the logfile with notices even in\nperfectly normal operation.\n\nThis commit changes the code path that is used when a subscr cannot\nbe found for an incoming GSUP message. A check for PURGE MS RESULT\nand ERROR is added and gprs_subscr_handle_gsup_purge_no_subscr is\ncalled for these messages instead of gprs_subscr_handle_unknown_imsi.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/929acdf6bf4ef25c8cc587a6aa48651696348881"},{"sha":"8000e0ea509c5a4488a5d1878f465418d32b7fdb","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"gprs: Support cancellation type\n\nThe cancellation type that is part of the UpdateCancellation message\nis currently ignored.\n\nThis patch adds the missing glue between the existing GSUP and GMM\nsupport. If the type is not present or has the value updateProcedure\nthe subcriber and MM context are siliently removed. Otherwise, a\nmessage with cause 'implicitly detached' is sent to the MS. Since the\nreal cause is not known (the specification neither added a cause IE\nnor defined a static cause value), the MS may get the real cause in\nthe following AttachRej.\n\nAdded VTY commands:\n\n- update-subscriber imsi IMSI cancel update-procedure\n- update-subscriber imsi IMSI cancel subscription-withdraw\n\nthe old form without the cause is no longer supported.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/8000e0ea509c5a4488a5d1878f465418d32b7fdb"},{"sha":"07f6e36ab42380f9a4c1af058c3021cb0e945dc4","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"gprs: Send GSUP error reply for requests without IMSI\n\nCurrently gprs_subscr_rx_gsup_message returns immediately after it\ndetects that an IMSI has not been given in the received GSUP message.\nWhile this is ok for responses (result or error), a request should\nalways be answered.\n\nThis commit adds code to reply with a corresponding error message\n(\"Invalid mandatory information\") when it receives a request without\nan IMSI.\n\nNote that the generated error message will not contain an IMSI either.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/07f6e36ab42380f9a4c1af058c3021cb0e945dc4"},{"sha":"466cedd052427254d5f90b4bd02795129b2c60a4","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"sgsn/test: Add tests for PurgeMs responses\n\nCurrently there are not any test cases for PurgeMS GSUP messages in\ntest_subscriber_gsup.\n\nThis commit adds tests for incoming PurgeMSResult and -Error\nmessages.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/466cedd052427254d5f90b4bd02795129b2c60a4"},{"sha":"85ba655788b49dc83e33109368f81b7c3ea0b090","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"gprs/test: Fix GSUP Purge MS response messages\n\nCurrently the message types for these message types are wrong.\n\nThis patch inserts the correct message types.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/85ba655788b49dc83e33109368f81b7c3ea0b090"},{"sha":"9ff82892da2b58ba344b2f6e70256d08947b9c34","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"gprs: Use 'Network failure' as default cause\n\nThis commit adds a check after a GSUP message has been decoded\nwhether it is an error message and does not contain a cause value.\nIf his is the case, the cause value is set to 'Network failure', so\nthat this cause if effectively the default value for error messages.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/9ff82892da2b58ba344b2f6e70256d08947b9c34"},{"sha":"baf0f94a7dd858eba37548253959747838b1cc16","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"sgsn/test: Add checks for subscr->error_cause\n\nThis commits adds a few asserts that check the value of\nsubscr->error_cause after a GSUP message has been received.\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/baf0f94a7dd858eba37548253959747838b1cc16"},{"sha":"4b2d02d0372ae5dc88d97b06f5cfa92841cbf036","author":{"email":"bc4099e8129048574af98275fa037a1c852d38db@sysmocom.de","name":"Jacob Erlbeck"},"message":"sgsn/test: Fix memory leak in test_subscriber_gsup\n\nCurrently the MM context is not deleted when a GSUP location\ncancellation message is processed, because the real\nsgsn_update_subscriber_data function has been wrapped to a dummy\nimplementation.\n\nThis commit adds an explicit call to sgsn_mm_ctx_cleanup_free which\nalso unassigns the LLME, so the call to gprs_llgmm_assign is removed.\n\nIt also adds an assertion to check that there are no talloc'ed blocks\nleft in tall_bsc_ctx.\n\nAddresses:\n== 372 bytes in 1 blocks are possibly lost in loss record 7 of 9\n==    at 0x402A17C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)\n==    by 0x4059FB8: _talloc_zero (talloc.c:354)\n==    by 0x8055B82: sgsn_mm_ctx_alloc (gprs_sgsn.c:167)\n==    by 0x804A336: alloc_mm_ctx (sgsn_test.c:140)\n==    by 0x804B24D: test_subscriber_gsup (sgsn_test.c:503)\n==    by 0x804EC99: main (sgsn_test.c:1853)\n\nSponsored-by: On-Waves ehf","distinct":true,"url":"https://api.github.com/repos/osmocom/openbsc/commits/4b2d02d0372ae5dc88d97b06f5cfa92841cbf036"}]}