Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-07-23 | [gprs] BSSGP: Fix null pointer dereference | Harald Welte | 1 | -2/+3 | |
Zecke has found this using "make CC="clang --analyze" | |||||
2010-07-03 | gprs/llc: Don't check FCS in gprs_llc_hdr_dump | Sylvain Munaut | 1 | -2/+2 | |
The FCS isn't computed yet (because of ciphering). It _will_ be tested and reported as wrong later in the code so we can just display it here and let the latter code report the error if any. Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2010-07-03 | [SGSN] Some IEs in ATTACH REQUEST can be longer in 24.008 | Harald Welte | 1 | -1/+3 | |
The original length checks were based on 04.08, but 24.008 allows longer IEs. | |||||
2010-07-03 | [SGSN] Initial work on GMM authentication and ciphering | Harald Welte | 1 | -9/+103 | |
2010-07-02 | [SGSN] LLC: only copy Kc if algorithm != GPRS_ALGO_GEA0 | Harald Welte | 1 | -1/+2 | |
The caller currently has set the Kc pointer to NULL, this fix avoids crashing at the callee. | |||||
2010-07-02 | [SGSN] use GPRS_ALGO_GEA0 instead of '0' | Harald Welte | 1 | -6/+11 | |
2010-07-02 | [SGSN] LLC: Make sure we calculate FCS after decryption | Harald Welte | 1 | -10/+5 | |
2010-07-02 | [SGSN] Use libosmocore GPRS encryption plugins from LLC layer | Harald Welte | 1 | -8/+88 | |
This adds the bits that call into libosmocore (and its plugins) to implement GPRS (LLC) encryption. | |||||
2010-07-02 | [SGSN] Call libosmocore helper to load cipher plugins | Harald Welte | 2 | -0/+8 | |
2010-07-02 | [SGSN] remove bogus debug statement | Harald Welte | 1 | -1/+0 | |
2010-07-02 | [SGSN] SM: Properly parse APN and PCO Optional IE in PDP CTX ACT REQ | Harald Welte | 1 | -2/+8 | |
2010-07-02 | [SGSN] Print AP name and PDP address of each PDP context | Harald Welte | 1 | -1/+70 | |
2010-07-02 | [SGSN] Correctly pass IMSI of MM ctx to GTP/GGSN | Harald Welte | 1 | -1/+27 | |
2010-07-02 | [SGSN] SNDCP: Subtract SNDCP header from fragment length | Harald Welte | 1 | -2/+3 | |
We don't want to store too many bytes as we would otherwise create too large re-assembled packets.. | |||||
2010-07-02 | [SGSN] SNDCP: SN-PDUs need a 16bit length field | Harald Welte | 1 | -1/+2 | |
The BSSGP LLC-PDU IE can have up ot 16bit length, so subtracting the LLC header the SN-PDU can still have almost a length field close to 0xffff | |||||
2010-07-02 | [SGSN] SNDCP: re-set total number of fragment length | Harald Welte | 1 | -1/+7 | |
2010-07-02 | [SGSN] Send poper SM and GMM STATUS in case we have no MM CTX | Harald Welte | 1 | -1/+2 | |
2010-07-02 | [SNDCP] some more defragmentation debug statements | Harald Welte | 1 | -11/+9 | |
2010-07-02 | [SGSN] SNDCP defrag: use correct length, don't include LLC FCS | Harald Welte | 1 | -3/+4 | |
The LLC layer tells us the PDU length, and we have to use it in SNDCP rather than to re-calculate it if we want to avoid copying the CRC24 into the defrag elements. | |||||
2010-07-02 | [SGSN] SNDCP: Actually copy the payload data in the defrag queue entry | Harald Welte | 1 | -0/+2 | |
Prior to this patch our defragmented messages always consisted of 00-bytes | |||||
2010-07-02 | [SGSN] Remove old dead code | Harald Welte | 1 | -17/+14 | |
2010-07-02 | [SGSN] Only increment PDP CTX ACT count after check for retransmission | Harald Welte | 1 | -2/+4 | |
2010-07-02 | [SGSN] Account for re-transmitted PDP CTX ACT REQ | Harald Welte | 1 | -2/+11 | |
In case our PDP CTX ACT ACK gets lost on the Gb or Um link, the MS re-transmits the PDP CTX ACT REQ. We have to ACK it again instead of REJecting it.. | |||||
2010-07-02 | [SGSN] SNDCP: Fix off-by-one error missing last segment in defrag | Harald Welte | 1 | -1/+1 | |
When we defragment the segments from the defrage queue, we have to iterate all the way up to (and including) the last segment number that we have received. | |||||
2010-07-01 | [SGSN] SNDCP: more verbose defragmentation debugging | Harald Welte | 1 | -2/+8 | |
2010-07-01 | [SGSN] Fix segfault when passing re-assembled SN-PDU to GMM | Harald Welte | 3 | -8/+10 | |
sgsn_rx_sndcp_ud_ind() can no longer make the assumption that msgb_bcid() is valid, as this is only true for an un-fragmented SN-PDU. So instead, we now store the RAID in the SNDCP Entity and pass it as an explicit argument to sgsn_rx_sndcp_ud_ind(). | |||||
2010-07-01 | [SGSN] SNDCP: fix off-by-one error during defragmentation | Harald Welte | 1 | -1/+1 | |
2010-07-01 | [SGSN] SNDCP: Initialize defrag list header | Harald Welte | 1 | -0/+1 | |
2010-07-01 | [SGSN] GMM: Complete value_string for GMM cause values | Harald Welte | 1 | -4/+21 | |
2010-07-01 | [SGSN] SNDCP: use llist_for_each_entry_safe() when cleaning frag queue | Harald Welte | 1 | -2/+2 | |
2010-07-01 | [SGSN] Fix TLLI (re)assignments | Harald Welte | 2 | -16/+21 | |
Once The TLLI (or P-TMSI of which it is derived) change has been confirmed by the MS, we need to unassign the old TLLI but keep the new TLLI _without_ re-setting the LLC entity structure such as VUsend /VUrecv counters. | |||||
2010-07-01 | [SGSN] Fix segfault when doing PS PAGING | Harald Welte | 1 | -1/+1 | |
The 'bssgp_paging_info' contains a pointer to the P-TMSI, and not the P-TMSI itself. The reason is that it is an optional BSSGP IE. | |||||
2010-07-01 | [SGSN] Add VTY interface for SNDCP | Harald Welte | 5 | -68/+159 | |
2010-06-30 | [SGSN] BSSGP: Print TLLI as hex value like everwhere else | Harald Welte | 1 | -1/+1 | |
2010-06-28 | [SGSN] Deactivate SNDCP entity on PDP CTX DEACT CONFIRM | Harald Welte | 1 | -0/+3 | |
Otherwise we will end up leaking memory in the SNDCP layer... | |||||
2010-06-28 | [SGSN] MM: Properly communicate TLLI changes / unassignment to LLC | Harald Welte | 1 | -3/+9 | |
2010-06-28 | [SGSN] LLC: properly free LLC entities at TLLI unassignment | Harald Welte | 1 | -0/+7 | |
2010-06-28 | [SGSN] Deactivate all PDP contexts on GPRS DETACH | Harald Welte | 1 | -0/+10 | |
2010-06-28 | [SGSN] Fix segfault ar PDP CTX DEACT time | Harald Welte | 1 | -0/+1 | |
We need to call rate_ctr_group_free() on the per-PDPctx-counters | |||||
2010-06-23 | gprs: Fix LOGP misuse and specify LOGL_NOTICE as region. | Holger Hans Peter Freyther | 1 | -1/+2 | |
2010-06-14 | [GPRS] Add comment on GTP being defined in 29.060 / 09.060 | Harald Welte | 1 | -0/+1 | |
2010-06-10 | [gprs] bssgp: Fix LLC PDU length encoding in BSSGP. | Sylvain Munaut | 1 | -1/+1 | |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2010-06-10 | [gprs] sndcp: Fix call to msgb_alloc_headroom to have both head&tail room | Sylvain Munaut | 1 | -2/+2 | |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2010-06-10 | [grps] Fix GTP data_ind call back message creation | Sylvain Munaut | 1 | -1/+1 | |
We'll need to push data both before and after, so make sure there is both headroom & tailroom Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2010-06-10 | [GPSR] SGSN: Keep traffic counters for each PDP context | Harald Welte | 4 | -3/+31 | |
2010-06-10 | [GPRS] BSSGP/SGSN: Implement Gb-Interface Paging | Harald Welte | 2 | -6/+97 | |
We now have a function that generates BSSGP PS and CS paging request. It is called from the libgtp code when we receive a GTP packet from the GGSN for a MM context that is in SUSPEND state. We then issue a PS paging request to the Cell with the BVCI where the last RA update was being performed. TODO: We still don't enqueue the GTP packet (and transmit it on paging complete), and we don't rate-limit the paging requests, i.e. every GTP packet will trigger another paging request. We probably also need some kind of logic that marks the phone as UNREGISTERED if it doesn't respond to paging requests for some time. | |||||
2010-06-10 | [GPRS] SGSN: fix typo | Harald Welte | 1 | -1/+1 | |
2010-06-09 | [GPRS] SGSN: Pass BSSGP SUSPEND/RESUME up to GMM and alter MMCTX state | Harald Welte | 2 | -4/+64 | |
2010-06-09 | [GPRS] GMM/SM: Improve error handling by sending STATUS messages | Harald Welte | 1 | -9/+60 | |
2010-06-09 | [GPRS] Drop all PDP contexts not present in PDP CTX STATUS IE at RA UPD | Harald Welte | 1 | -0/+66 | |