Commit Graph

143 Commits

Author SHA1 Message Date
Denis Kenzior 5aa8841440 smsutil: Take ton_npi into account in sr assembly 2010-06-21 15:21:40 -05:00
Denis Kenzior 36bcae5ff1 smsutil: More code cleanup
- Change the flow of the code a bit, in the case that all fragments have
  been sent and an udelivered sr arrives, we can simply remove the node
  and signal undelivered up
- We ignore temporary and temporary final status reports
2010-06-21 15:21:40 -05:00
Denis Kenzior cbc27e06b3 smsutil: Make code flow easier to understand 2010-06-21 15:21:40 -05:00
Denis Kenzior a8bd87cda9 smsutil: multiline comments to preferred style 2010-06-21 15:21:40 -05:00
Denis Kenzior 65b8cab616 smsutil: Minor code style & indentation fixes 2010-06-21 15:21:39 -05:00
Denis Kenzior d7dacd2fad smsutil: memcpy is preferable to struct assignment 2010-06-21 15:21:39 -05:00
Denis Kenzior c967766070 smsutil: Streamline flow of sr add_fragment 2010-06-21 15:21:39 -05:00
Pasi Miettinen a7372209f3 smsutil: Status report assembly 2010-06-21 10:52:27 -05:00
Yang Gu 179c14fe39 smsutil: Add a decoder for ussd pdus 2010-06-18 13:18:12 -05:00
Pasi Miettinen 475c0de92c smsutil: Add option to use delivery reports 2010-06-07 13:00:46 -05:00
Denis Kenzior 69e5a65d34 smsutil: status reports also lead with SC_ADDR 2010-06-04 14:21:57 -05:00
Denis Kenzior 4638d3ad83 smsutil: Don't overflow signed ints
We were overflowing the datatype which was causing the 31st segments to
be prepended at position 0.  This resulted in (very) long messages being
improperly concatenated
2010-06-01 10:07:18 -05:00
Inaky Perez-Gonzalez 9c107821ab smsutils: add some documentation
sms_assembly_add_fragment_backup: clarify how insertion spot is found
2010-05-28 09:23:35 -05:00
Denis Kenzior 9bb7bcd450 smsutil: add sms_decode_unpacked_stk_pdu function
Properly check the special 'packing required' sms pdus sent by SIM
toolkit.
2010-05-27 09:25:48 -05:00
Yang Gu a9cd641855 smsutil: Check that udl is less than 140 2010-05-27 07:21:28 -05:00
Denis Kenzior b0cf35c324 simutil: Add sim_encode_bcd_number 2010-05-26 09:59:14 -05:00
Denis Kenzior 795f0f3406 smsutil: Update the doc for extract_bcd_number 2010-05-26 09:17:25 -05:00
Andrzej Zaborowski ff67ee8a2e smsutil: Expose SMS timestamp encoding utility
The function can be re-used in stkutil.c, similarly to sms_decode_scts.
2010-05-25 16:52:54 -05:00
Yang Gu b20e0d2bf5 Make function decode_scts public 2010-04-02 11:00:56 -05:00
Yang Gu 8bc04ba93a Refactor: Break out semi-octet decoder
Refactor decode_scts to use this function
2010-04-02 10:58:53 -05:00
Denis Kenzior ad5b2fd26f Fix: Unnecessary initializations 2010-02-04 00:24:14 -06:00
Denis Kenzior 08b26238c1 Fix: missing break statement 2010-02-04 00:05:57 -06:00
Denis Kenzior fa433a6acc Fix: Check for \r in UCS2 alphabets 2010-02-03 23:28:41 -06:00
Marcel Holtmann 144080e749 Update copyright information 2010-01-01 17:00:10 -08:00
Denis Kenzior 955e6a61ee Style: Fix a few more occurences of if/else
See Linux coding style document for details
2009-12-17 21:45:39 -06:00
Andrzej Zaborowski a964411180 Add utility for checking if CBS topic is in range 2009-12-17 21:45:38 -06:00
Denis Kenzior 1fb5d7191e Rename sms assembly path to sms_assembly from sms
Not to interfere with sms settings storage
2009-11-05 16:42:15 -06:00
Denis Kenzior eb2c60469c Fix: Don't return NULL if message is empty
Empty SMS messages are in sms_decode_text are returned as NULL, e.g.
error.  This shouldn't be the case, empty messages should be reported
and signaled.
2009-10-16 13:19:11 -05:00
Andrzej Zaborowski 30b86c1dda Fix: Skip over empty messages 2009-10-16 11:50:42 -05:00
Denis Kenzior 9f9327e1e5 Fix: Quiet a warning on some compilers 2009-10-15 16:15:18 -05:00
Denis Kenzior 9ab5eba1da Fix: Handle empty SMSes
If an SMS is empty (e.g. nothing to unpack) then we should simply
continue on.
2009-10-02 19:26:11 -05:00
Denis Kenzior e2a4c4bee8 Use existing function for converting to iso639 2009-09-17 11:53:37 -05:00
Denis Kenzior 40ef883fe4 Add ability to expire PLMN wide messages 2009-09-10 17:40:16 -05:00
Denis Kenzior 2ade0f6b05 Handle empty topic range lists 2009-09-10 16:13:16 -05:00
Denis Kenzior c559aa42f6 Make cbs_topic_ranges_to_string work with all ids 2009-09-10 16:13:16 -05:00
Denis Kenzior 52d3c235d5 Add CBS topic range functions 2009-09-10 16:13:15 -05:00
Denis Kenzior 1acf350190 Fix make distcheck 2009-09-08 16:52:12 -05:00
Denis Kenzior 3449b2c0b5 Rework SMS fragment backup storage
The SMS address can actually contain other characters than 0-9, +, *, #,
particularly when the alphanumeric address type is used.  This is
commonly used by services such as Google or carrier specific SMS
services.

Rework the SMS address storage to simply re-use the SMS address pdu
format, which consists of up to 12 hex-encoded bytes.
2009-09-08 16:40:56 -05:00
Denis Kenzior 47bcf1ac18 Fix style issue 2009-09-08 16:40:38 -05:00
Denis Kenzior 785686ec6b Fix off by one error in assembly serialize
The proper PDU was not being written out fully
2009-09-08 16:39:16 -05:00
Andrzej Zaborowski 06ea6137a3 Write state of SMS assembly to disk and restore on startup.
This way we can continue receiving segmented messages over a reset or
crash.
2009-09-08 14:44:39 -05:00
Denis Kenzior b2bde46bfb Do supported dialect detection in sms.c 2009-09-08 12:45:04 -05:00
Aki Niemi dab84882af Use SMS national language identifier when decoding
Adds support for decoding SMSs encoded using national language single
shift and locking shift tables.
2009-09-08 14:16:24 +03:00
Andrzej Zaborowski 64ade1c7c8 Fix getting the offset into sms fragment bitmap.
Otherwise only 64 fragments fit.
2009-08-21 19:46:39 -05:00
Denis Kenzior c2144be486 Add whitespace properly 2009-08-06 17:29:55 -05:00
Andrzej Zaborowski ad6b8adebb Expose address encode/decode utilities
These can be used elsewhere, in particular for decoding the
enhanced message waiting notification ieis
2009-08-05 13:19:54 -05:00
Andrzej Zaborowski 4c3ae72b36 Add encode_bcd_number utility function 2009-08-05 13:17:08 -05:00
Marcel Holtmann feb36e2d5b Fix stupid false positive warnings about uninitialized variables
The GCC check for uninitialized variables is so useful that dealing
with the false positives is just a minor inconvenience.

The following GCC trick helps to silence them:

	#define uninitialized_var(x) x = x

This way no code obfuscation is needed to compile smoothly and the
code stays readable. And the author has to actually think about it.
2009-07-14 06:06:46 +02:00
Denis Kenzior f298b7ac98 Fix signedness warnings 2009-07-13 22:33:47 -05:00
Denis Kenzior 03c7dcf024 Fix unused variables 2009-07-13 22:33:47 -05:00
Denis Kenzior a9f776123e Add Cell Broadcast assembly utilities 2009-07-02 19:03:05 -05:00
Denis Kenzior 807201e969 Fix memory leak 2009-07-02 19:03:05 -05:00
Denis Kenzior d717908c69 Don't hardcode 2009-07-02 19:03:04 -05:00
Denis Kenzior e391d8d581 Add CBS Text converter utility 2009-07-02 19:03:04 -05:00
Denis Kenzior ac56263a57 Add cbs lang to ISO 639 conversion utility 2009-07-02 19:03:04 -05:00
Denis Kenzior 8d99a2a25f Add app-port extraction utility for CBS 2009-07-02 19:03:04 -05:00
Denis Kenzior d73dae9f2a Make sms_udh_iter work for Cell Broadcast messages 2009-07-02 19:03:04 -05:00
Denis Kenzior b1602d49e5 Add Cell Broadcast encoding / decoding utilities 2009-07-02 19:03:04 -05:00
Denis Kenzior 97d53bf0ec Add DCS decoder for Cell Broadcast 2009-07-02 19:03:04 -05:00
Denis Kenzior 17b7444b47 Make compiler happy 2009-06-22 13:22:14 -05:00
Denis Kenzior b42c2bc79f Some fixes to sms_text_prepare 2009-06-19 21:13:56 -05:00
Denis Kenzior 61a4b0fee9 Add address from string utility for SMS 2009-06-19 21:13:54 -05:00
Denis Kenzior 990ab62207 Update unit tests 2009-06-19 21:13:20 -05:00
Denis Kenzior 16118320fd Utility to create SMS, both fragmented and not 2009-06-19 21:12:37 -05:00
Denis Kenzior 492795c4c8 Add utility function 2009-06-19 21:12:19 -05:00
Denis Kenzior b49479b2b4 Minor style issue 2009-06-19 21:12:18 -05:00
Denis Kenzior 314478c756 Add a new extract_bcd_number utility 2009-06-18 04:02:10 -05:00
Denis Kenzior c892f36dc2 Return slist elements back to the allocator 2009-06-17 18:20:17 -05:00
Denis Kenzior 79e39e4016 SMS 8-Bit and 16-Bit ports are not the same 2009-06-16 16:38:47 -05:00
Denis Kenzior c5511db5c5 Add utilities for SMS re-assembly 2009-06-14 02:02:16 -05:00
Denis Kenzior f443493ddb Fix SMS Concatenation header parsing 2009-06-14 02:02:16 -05:00
Denis Kenzior 93c2a630b0 Change function signature 2009-06-14 02:02:16 -05:00
Denis Kenzior b4613217f6 Add utility to extract text SMS 2009-06-12 21:43:23 -05:00
Denis Kenzior 217def1f88 Add utility to extract datagrams 2009-06-12 21:43:21 -05:00
Denis Kenzior c25b08f402 Add utility to extract SMS concatenation info 2009-06-12 21:39:21 -05:00
Denis Kenzior 808db2173b Add utility to extract application port address 2009-06-12 21:39:19 -05:00
Denis Kenzior b71c0015e7 Add a couple new sms_udh_iter utilities 2009-06-12 21:39:17 -05:00
Denis Kenzior 2bfc1c0784 Add pretty print function for SMS addresses 2009-06-12 21:39:15 -05:00
Denis Kenzior f0954911a8 Add sms_extract_common function
Extract common attributes from the various SMS types
2009-06-12 21:39:13 -05:00
Denis Kenzior b08c403815 Make SCTS to time function const-correct 2009-06-12 21:39:11 -05:00
Denis Kenzior 618cebe6c2 Add additional sanity check 2009-06-11 23:45:03 -05:00
Denis Kenzior 370318109c Make SMS UDH iterators const-correct 2009-06-11 23:45:01 -05:00
Denis Kenzior f9f3080781 Add utility for parsing MWI SMS DCS types 2009-06-05 19:58:52 -05:00
Denis Kenzior bc6165ea8e Rename ud_len_in_octets to sms_udl_in_bytes 2009-06-05 19:58:11 -05:00
Denis Kenzior 5846688988 Rename sms utilities properly
Rename encode_sms to sms_encode
Rename decode_sms to sms_decode
2009-06-05 19:58:09 -05:00
Denis Kenzior 4f0c149162 Add SMS specific DCS decoding function 2009-06-05 19:58:06 -05:00
Denis Kenzior 41071737d0 Add utility to convert SCTS to local/remote time 2009-06-05 19:57:40 -05:00
Denis Kenzior f09683fc89 SMS-Command is also submitted with sc address 2009-06-05 19:57:03 -05:00
Denis Kenzior 5e95802699 Add User-Data-Header iterator utilities 2009-06-03 21:08:35 -05:00
Denis Kenzior 8a8dfced91 Calculation for UCS2 cases was wrong 2009-06-03 21:08:26 -05:00
Denis Kenzior 2271bca985 Squash another uninitialized warning
GCC detects that next_octet only sets oct if successful.  However,
we've already checked the length, so it should always succeed.
2009-06-01 14:05:50 -05:00
Denis Kenzior 05588ca59e Squash another uninitialized warning
GCC is smart enough to detect that oct is only set if the next_octet
function succeeds.  However, we've already checked that buf is big
enough, so it should always succeed.  Still, lets keep gcc happy
2009-06-01 14:05:48 -05:00
Denis Kenzior b45cfd389c Add a set of utility functions for parsing the fundamental SMS PDU/TPDUs. 2009-05-12 19:09:57 -07:00