summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHung-ying Tyan <tyanh@google.com>2010-12-16 20:46:50 +0800
committerHung-ying Tyan <tyanh@google.com>2010-12-16 20:46:50 +0800
commit58ee2acba8953814cc4bf65d2f28f7dd498b5779 (patch)
tree00bb9d5ae633bf92712b03088cc3ad483dff7284
parent4ea442b49c2f44c180346fe780a2b8c9766b587b (diff)
downloadframeworks_base-58ee2acba8953814cc4bf65d2f28f7dd498b5779.zip
frameworks_base-58ee2acba8953814cc4bf65d2f28f7dd498b5779.tar.gz
frameworks_base-58ee2acba8953814cc4bf65d2f28f7dd498b5779.tar.bz2
Check port in create peer's SIP profile.
SipURI returns port -1 when port is not present in the URI. Don't call SipProfile.Builder.setPort() when that happens. Bug: 3291248 Change-Id: I8e608cbc56ea82862df55fdba885f6a864db83ab
-rw-r--r--voip/java/android/net/sip/SipProfile.java2
-rw-r--r--voip/java/com/android/server/sip/SipSessionGroup.java10
2 files changed, 7 insertions, 5 deletions
diff --git a/voip/java/android/net/sip/SipProfile.java b/voip/java/android/net/sip/SipProfile.java
index 4029ed0..f8fd2b7 100644
--- a/voip/java/android/net/sip/SipProfile.java
+++ b/voip/java/android/net/sip/SipProfile.java
@@ -177,7 +177,7 @@ public class SipProfile implements Parcelable, Serializable, Cloneable {
*/
public Builder setPort(int port) throws IllegalArgumentException {
if ((port > 65535) || (port < 1000)) {
- throw new IllegalArgumentException("incorrect port arugment");
+ throw new IllegalArgumentException("incorrect port arugment: " + port);
}
mProfile.mPort = port;
return this;
diff --git a/voip/java/com/android/server/sip/SipSessionGroup.java b/voip/java/com/android/server/sip/SipSessionGroup.java
index 30ddfb5..edf8b52 100644
--- a/voip/java/com/android/server/sip/SipSessionGroup.java
+++ b/voip/java/com/android/server/sip/SipSessionGroup.java
@@ -1333,10 +1333,12 @@ class SipSessionGroup implements SipListener {
SipURI uri = (SipURI) address.getURI();
String username = uri.getUser();
if (username == null) username = ANONYMOUS;
- return new SipProfile.Builder(username, uri.getHost())
- .setPort(uri.getPort())
- .setDisplayName(address.getDisplayName())
- .build();
+ int port = uri.getPort();
+ SipProfile.Builder builder =
+ new SipProfile.Builder(username, uri.getHost())
+ .setDisplayName(address.getDisplayName());
+ if (port > 0) builder.setPort(port);
+ return builder.build();
} catch (IllegalArgumentException e) {
throw new SipException("createPeerProfile()", e);
} catch (ParseException e) {