[PATCH][ModemManager/libwmc/utils.c] more uml290 magic for ya
- From: "M. I. Spozta" <mispozta gmail com>
- To: networkmanager-list gnome org
- Subject: [PATCH][ModemManager/libwmc/utils.c] more uml290 magic for ya
- Date: Wed, 21 Mar 2012 09:07:45 -0700
Greetings,
I found this monster amidst my packet capture output. It must have
something to do with text messaging because 900080004008 is in there
(00000018 - 00000023 - one of the free text message numbers vzw uses to
send account info, etc). The message was spread across three packets due
to wMaxPacketSize of 0x200:
00000000: 41 54 2a 57 4d 43 3d c8 56 86 7d 22 7d 20 7d 20
00000010: 7d 20 7d 20 7d 20 7d 20 39 30 30 30 38 30 30 30
00000020: 34 30 30 38 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
00000030: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
00000040: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
00000050: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
00000060: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
00000070: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
00000080: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
00000090: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
000000a0: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
000000b0: 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20
000000c0: 7d 20 7d 20 7d 20 7d 20 7d 24 7d 20 7d 20 7d 20
000000d0: 31 39 30 33 37 30 32 39 39 32 30 7d 20 7d 20 7d
000000e0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000f0: 20 7d 20 7d 20 7d 20 7d 20 7d 2a 7d 20 7d 20 7d
00000100: 20 50 4f 55 4e 44 5f 44 41 54 41 7d 20 7d 20 7d
00000110: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000120: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000130: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000140: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000150: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000160: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000170: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000180: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000190: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001a0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001b0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001c0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001d0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001e0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001f0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000000: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000010: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000020: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000030: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000040: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000050: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000060: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000070: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000080: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000090: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000a0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000b0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000c0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000d0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000e0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000f0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000100: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000110: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000120: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000130: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000140: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000150: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000160: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000170: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000180: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000190: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001a0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001b0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001c0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001d0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001e0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000001f0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000000: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000010: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000020: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000030: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000040: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000050: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000060: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000070: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000080: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
00000090: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000a0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000b0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000c0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000d0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000e0: 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d 20 7d
000000f0: 20 7d 20 5b 7d 3c 0d
609 0s escaped
3 (< 0x20 !0) escaped
612 total escaped
37 non-zero and non-escaped bytes from c8 to 5b (before the crc bytes)
inclusive
length of message:
before encapsulation 649
after encapsulation 1232
nearly 90% longer after escaping
1232 / 649 = 1.898305085
Perhaps callers of uml290_wmc_encapsulate() should be advised to pass a
buffer about twice the length of the data to be encapsulated by default.
Here's presumably the response, 2.065 seconds later:
00000000: c8 56 00 00 00 00 30 30 7e
I can email you the capture file if you'd like the context. I don't
think this message is properly formatted for use with git diff so don't
try to push with it. Haven't figgured out that part yet...
diff --git a/libwmc/src/utils.c b/libwmc/src/utils.c
index 36dff6a..059038c 100644
--- a/libwmc/src/utils.c
+++ b/libwmc/src/utils.c
@@ -254,7 +254,7 @@ uml290_wmc_encapsulate (char *inbuf,
estimated_out_len = cmd_len + strlen (AT_WMC_PREFIX);
estimated_out_len += 3; /* CRC + trailer */
- estimated_out_len += cmd_len * 1.3; /* escaping */
+ estimated_out_len += cmd_len * 2.0; /* escaping 2.0 - "Escaped
from Sanity" */
wmc_return_val_if_fail (outbuf_len > estimated_out_len, 0);
memcpy (outbuf, AT_WMC_PREFIX, strlen (AT_WMC_PREFIX));
Miguel
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]