Closed Bug 937894 Opened 11 years ago Closed 11 years ago

[B2G][MMS] Unable to send MMS without having manually input MMS port value (AT&T SIM)

Categories

(Core :: DOM: Device Interfaces, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
1.3 Sprint 5 - 11/22
blocking-b2g 1.3+
Tracking Status
firefox28 --- fixed

People

(Reporter: nkot, Assigned: bevis)

References

Details

(Keywords: regression)

Attachments

(2 files)

Description: Using AT&T SIM, the user is unable to send MMS until they manually input MMS port value (80). This issue been Repro Steps: 1) Updated Buri to BuildID: 20131112040207 2) Enable Data in Settings 3) Open Messages app 4) Create a new MMS (any attachment - I use image from gallery) 5) Tap Send ==> It keeps spinning but message will never be sent 6) Once confirmed that MMS cannot be sent manually input MMS port value: Setting --> Cell&Data --> Message settings --> input 80 into MMS port field --> OK 7) Open Messages app and send out new MMS Actual: The MMS cannot be sent until the user manually input MMS port value (once set the MMS can be sent successfully) Expected: The MMS can be sent without having to modify messages settings Environmental Variables: Device: Buri 1.3 BuildID: 20131112040207 Gaia: a013d01d3a0ddee76f60e61f8306d280c10aafbf Gecko: 581d180a37f3 Version: 28.0a1 Firmware Version: 20131104 Notes: does not happening on V1.2 - the user is able to send MMS with no issue Repro frequency: 100% Logcat will be provided
blocking-b2g: --- → koi?
Attached file logcat
attaching logcat (with debug_enable_mms.sh) Similar issue had been reported and fixed earlier in July,2013 see bug 898202
blocking-b2g: koi? → 1.3?
From the log, the port is set to -1. However, it shall be protected by the following snippet: let port = this.mmsPort; if (port == -1) { <-- -1 shall be modified to 80 before log is printed. port = 80; if (DEBUG) debug("getProxyInfo: port is not valid. Set to defult (80)."); } let proxyInfo = gpps.newProxyInfo("http", this.mmsProxy, port, Ci.nsIProxyInfo.TRANSPARENT_PROXY_RESOLVES_HOST, -1, null); if (DEBUG) debug("getProxyInfo: " + JSON.stringify(proxyInfo)); 11-12 16:46:49.870: I/Gecko(140): -@- MmsService: getProxyInfo: {"host":"wireless.cingular.com","port":-1,"type":"http","flags":1,"resolveFlags":0,"failoverTimeout":1800,"failoverProxy":null,"TRANSPARENT_PROXY_RESOLVES_HOST":1}
Assignee: nobody → btseng
Root cause found, The protection is invalid because: 1. default value of "ril.mms.mmsport" is 0 if not set: - This can be checked from /data/b2g/mozilla/xxxx.default/prefs.js: - And the value is user_pref("ril.mms.mmsport", 0); 2. From the implementation in nsProtocolProxyService::NewProxyInfo(): http://dxr.mozilla.org/mozilla-central/source/netwerk/base/src/nsProtocolProxyService.cpp#1181 - if (aPort <= 0) aPort = -1; - The turn 0 to -1. Hi Gene, I would like to change it to |if (port <= 0)| to protect this instead. Do you have better suggestion?
Flags: needinfo?(gene.lian)
1. Treat port <= 0 as invalid port because - normally port is non-negative and port 0 is reserved according to http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml: - "ril.mms.mmsport" is set to 0 if not available the original protection is useless. - nsProtocolProxyService::NewProxyInfo will set port to -1 if port <= 0; 2. Clean up unused constants.
Attachment #831357 - Flags: review?(gene.lian)
Flags: needinfo?(gene.lian)
Target Milestone: --- → 1.3 Sprint 5 - 11/22
Attachment #831357 - Flags: review?(gene.lian) → review+
Nice catch! Bevis! Really appreciate your help! :)
Component: Gaia::SMS → DOM: Device Interfaces
Product: Firefox OS → Core
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Blocking regression, so setting to 1.3+
blocking-b2g: 1.3? → 1.3+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: