Catch issues with bad MMSC URIs, add validation

Fixes #2202
// FREEBIE
This commit is contained in:
Jake McGinty
2014-12-16 15:55:41 -08:00
parent 44a4570870
commit e650349bb7
3 changed files with 80 additions and 22 deletions

View File

@@ -47,16 +47,20 @@ public class OutgoingMmsConnection extends MmsConnection {
protected HttpUriRequest constructRequest(boolean useProxy)
throws IOException
{
HttpPostHC4 request = new HttpPostHC4(apn.getMmsc());
request.addHeader("Accept", "*/*, application/vnd.wap.mms-message, application/vnd.wap.sic");
request.addHeader("x-wap-profile", "http://www.google.com/oha/rdf/ua-profile-kila.xml");
request.addHeader("Content-Type", "application/vnd.wap.mms-message");
request.setEntity(new ByteArrayEntityHC4(mms));
if (useProxy) {
HttpHost proxy = new HttpHost(apn.getProxy(), apn.getPort());
request.setConfig(RequestConfig.custom().setProxy(proxy).build());
try {
HttpPostHC4 request = new HttpPostHC4(apn.getMmsc());
request.addHeader("Accept", "*/*, application/vnd.wap.mms-message, application/vnd.wap.sic");
request.addHeader("x-wap-profile", "http://www.google.com/oha/rdf/ua-profile-kila.xml");
request.addHeader("Content-Type", "application/vnd.wap.mms-message");
request.setEntity(new ByteArrayEntityHC4(mms));
if (useProxy) {
HttpHost proxy = new HttpHost(apn.getProxy(), apn.getPort());
request.setConfig(RequestConfig.custom().setProxy(proxy).build());
}
return request;
} catch (IllegalArgumentException iae) {
throw new IOException(iae);
}
return request;
}
public void sendNotificationReceived(boolean usingMmsRadio, boolean useProxyIfAvailable)