From 56a96fbf7c32f998840edd0e5c2ce690b95ed5ca Mon Sep 17 00:00:00 2001 From: Sebastien Vincent Date: Tue, 21 Dec 2010 10:41:01 +0000 Subject: [PATCH] Update ice4j.jar that now supports UPnP candidates harvesting. Note that UPnP is not enabled by default for the moment (it can be enabled in the advanced tab of your Jabber account). --- build.xml | 1 + ide/eclipse/.classpath | 1 + ide/nbproject/project.xml | 2 +- lib/installer-exclude/ice4j.jar | Bin 296638 -> 299843 bytes .../weupnp-0.1.2-SNAPSHOT.jar | Bin 0 -> 25786 bytes resources/languages/resources.properties | 1 + .../impl/netaddr/NetaddrActivator.java | 13 ++++++++ .../impl/netaddr/netaddr.manifest.mf | 2 ++ .../jabber/IceUdpTransportManager.java | 10 ++++++ .../impl/protocol/jabber/JabberAccountID.java | 13 ++++++++ .../jabberaccregwizz/FirstWizardPage.java | 19 +++++++++++ .../jabberaccregwizz/IceConfigPanel.java | 30 ++++++++++++++++++ .../JabberAccountRegistration.java | 27 +++++++++++++++- .../JabberAccountRegistrationWizard.java | 3 ++ .../protocol/ProtocolProviderFactory.java | 5 +++ 15 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 lib/installer-exclude/weupnp-0.1.2-SNAPSHOT.jar diff --git a/build.xml b/build.xml index 2f29b0d36..f6d7cc99e 100644 --- a/build.xml +++ b/build.xml @@ -1222,6 +1222,7 @@ javax.swing.event, javax.swing.border"/> + diff --git a/ide/eclipse/.classpath b/ide/eclipse/.classpath index 3e1ae6a99..0a56fee96 100644 --- a/ide/eclipse/.classpath +++ b/ide/eclipse/.classpath @@ -66,5 +66,6 @@ + diff --git a/ide/nbproject/project.xml b/ide/nbproject/project.xml index bf5bd3859..6a8d6e84a 100644 --- a/ide/nbproject/project.xml +++ b/ide/nbproject/project.xml @@ -123,7 +123,7 @@ src lib/felix.jar:lib/jdic-all.jar:lib/bundle/junit.jar:lib/bundle/log4j.jar:lib/bundle/commons-logging.jar:lib/installer-exclude/concurrent.jar:lib/installer-exclude/dict4j.jar:lib/installer-exclude/dnsjava.jar:lib/installer-exclude/jain-sip-api.jar:lib/installer-exclude/jain-sip-ri.jar:lib/installer-exclude/jain-sdp.jar:lib/installer-exclude/jcalendar-1.3.2.jar:lib/installer-exclude/jdic_misc.jar:lib/installer-exclude/jdom.jar:lib/installer-exclude/jmf.jar:lib/installer-exclude/jml-1.0b5.jar:lib/installer-exclude/joscar-client.jar:lib/installer-exclude/joscar-common.jar:lib/installer-exclude/joscar-protocol.jar:lib/installer-exclude/jsocks-klea.jar:lib/installer-exclude/jspeex.jar:lib/installer-exclude/junit.jar:lib/installer-exclude/log4j-1.2.8.jar:lib/installer-exclude/nist-sdp-1.0.jar:lib/installer-exclude/rome-0.9.jar:lib/installer-exclude/smack.jar:lib/installer-exclude/smackx.jar:lib/installer-exclude/ymsg_network_v0_67.jar:lib/installer-exclude/fmj.jar:lib/installer-exclude/jna.jar:lib/installer-exclude/lti-civil-no_s_w_t.jar:lib/installer-exclude/swing-worker-1.2.jar:lib/os-specific/linux/installer-exclude/jmf.jar:lib/os-specific/linux/jdic_stub.jar:lib/os-specific/mac/OrangeExtensions.jar:lib/os-specific/mac/growl4j.jar:lib/os-specific/mac/jdic_stub.jar:lib/os-specific/mac/installer-exclude/jmf.jar:lib/os-specific/mac/installer-exclude/dock.jar:lib/os-specific/windows/jdic_stub.jar:lib/os-specific/windows/installer-exclude/jmf.jar:lib/os-specific/windows/installer-exclude/sound.jar:lib/installer-exclude/aclibico-2.1.jar:lib/installer-exclude/jdic_misc.jar:lib/installer-exclude/pircbot.jar:lib/os-specific/solaris/jdic_stub.jar:lib/os-specific/solaris/installer-exclude/jmf.jar:lib/installer-exclude/jsch-0.1.36.jar:lib/installer-exclude/apache-ant-1.7.0.jar:lib/installer-exclude/izpack-shortcut-link.jar:lib/installer-exclude/jfontchooser-1.0.5.jar:lib/installer-exclude/laf-widget.jar:lib/installer-exclude/transparency.jar:lib/installer-exclude/zrtp4j-light.jar:lib/installer-exclude/lcrypto-jdk16-143.jar:lib/installer-exclude/otr4j.jar:lib/installer-exclude/profiler4j-1.0-beta3-SC.jar:lib/installer-exclude/httpcore-4.0.1.jar:lib/installer-exclude/httpclient-4.0.1.jar:lib/installer-exclude/json-20090723.jar:lib/installer-exclude/ice4j.jar:lib/installer-exclude/dhcp4java-1.00.jar:lib/installer-exclude/jmdns.jar:lib/installer-exclude/jmyspell-core.jar:lib/installer-exclude/jnsapi.jar:lib/installer-exclude/mac_widgets-0.9.5.jar:lib/installer-exclude/forms-1.2.1.jar + mode="compile">lib/felix.jar:lib/jdic-all.jar:lib/bundle/junit.jar:lib/bundle/log4j.jar:lib/bundle/commons-logging.jar:lib/installer-exclude/concurrent.jar:lib/installer-exclude/dict4j.jar:lib/installer-exclude/dnsjava.jar:lib/installer-exclude/jain-sip-api.jar:lib/installer-exclude/jain-sip-ri.jar:lib/installer-exclude/jain-sdp.jar:lib/installer-exclude/jcalendar-1.3.2.jar:lib/installer-exclude/jdic_misc.jar:lib/installer-exclude/jdom.jar:lib/installer-exclude/jmf.jar:lib/installer-exclude/jml-1.0b5.jar:lib/installer-exclude/joscar-client.jar:lib/installer-exclude/joscar-common.jar:lib/installer-exclude/joscar-protocol.jar:lib/installer-exclude/jsocks-klea.jar:lib/installer-exclude/jspeex.jar:lib/installer-exclude/junit.jar:lib/installer-exclude/log4j-1.2.8.jar:lib/installer-exclude/nist-sdp-1.0.jar:lib/installer-exclude/rome-0.9.jar:lib/installer-exclude/smack.jar:lib/installer-exclude/smackx.jar:lib/installer-exclude/ymsg_network_v0_67.jar:lib/installer-exclude/fmj.jar:lib/installer-exclude/jna.jar:lib/installer-exclude/lti-civil-no_s_w_t.jar:lib/installer-exclude/swing-worker-1.2.jar:lib/os-specific/linux/installer-exclude/jmf.jar:lib/os-specific/linux/jdic_stub.jar:lib/os-specific/mac/OrangeExtensions.jar:lib/os-specific/mac/growl4j.jar:lib/os-specific/mac/jdic_stub.jar:lib/os-specific/mac/installer-exclude/jmf.jar:lib/os-specific/mac/installer-exclude/dock.jar:lib/os-specific/windows/jdic_stub.jar:lib/os-specific/windows/installer-exclude/jmf.jar:lib/os-specific/windows/installer-exclude/sound.jar:lib/installer-exclude/aclibico-2.1.jar:lib/installer-exclude/jdic_misc.jar:lib/installer-exclude/pircbot.jar:lib/os-specific/solaris/jdic_stub.jar:lib/os-specific/solaris/installer-exclude/jmf.jar:lib/installer-exclude/jsch-0.1.36.jar:lib/installer-exclude/apache-ant-1.7.0.jar:lib/installer-exclude/izpack-shortcut-link.jar:lib/installer-exclude/jfontchooser-1.0.5.jar:lib/installer-exclude/laf-widget.jar:lib/installer-exclude/transparency.jar:lib/installer-exclude/zrtp4j-light.jar:lib/installer-exclude/lcrypto-jdk16-143.jar:lib/installer-exclude/otr4j.jar:lib/installer-exclude/profiler4j-1.0-beta3-SC.jar:lib/installer-exclude/httpcore-4.0.1.jar:lib/installer-exclude/httpclient-4.0.1.jar:lib/installer-exclude/json-20090723.jar:lib/installer-exclude/ice4j.jar:lib/installer-exclude/dhcp4java-1.00.jar:lib/installer-exclude/jmdns.jar:lib/installer-exclude/jmyspell-core.jar:lib/installer-exclude/jnsapi.jar:lib/installer-exclude/mac_widgets-0.9.5.jar:lib/installer-exclude/forms-1.2.1.jar:lib/installer-exclude/weupnp-0.1.2-SNAPSHOT.jar classes 1.5 diff --git a/lib/installer-exclude/ice4j.jar b/lib/installer-exclude/ice4j.jar index b1fb9cadaaa6c186471419d0221e59cd5215ae81..f3a64a36d8ce4983ab81982aebd507f91c873bc5 100644 GIT binary patch delta 26174 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 q_;azQa(&XKIbrD8B4*Y|(X$H(+ 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�-x(YqpR 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 XK85+J7j8MXoh06_jf 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 if this provider would use UPnP (if available), + * false otherwise + */ + public boolean isUPNPEnabled() + { + return getAccountPropertyBoolean( + ProtocolProviderFactory.IS_USE_UPNP, + false); + } } diff --git a/src/net/java/sip/communicator/plugin/jabberaccregwizz/FirstWizardPage.java b/src/net/java/sip/communicator/plugin/jabberaccregwizz/FirstWizardPage.java index 537216085..a9d1a6562 100644 --- a/src/net/java/sip/communicator/plugin/jabberaccregwizz/FirstWizardPage.java +++ b/src/net/java/sip/communicator/plugin/jabberaccregwizz/FirstWizardPage.java @@ -199,6 +199,8 @@ public void commitPage() for (JingleNodeDescriptor descriptor : jingleNodes) registration.addJingleNodes(descriptor); + registration.setUseUPNP(iceConfigPanel.isUseUPNP()); + nextPageIdentifier = SUMMARY_PAGE_IDENTIFIER; this.isCommitted = true; @@ -316,6 +318,16 @@ public void loadAccount(ProtocolProviderService protocolProvider) iceConfigPanel.setAutoDiscoverStun(isUseAutoDiscoverStun); + String useDefaultStun + = accountProperties.get( + ProtocolProviderFactory.USE_DEFAULT_STUN_SERVER); + boolean isUseDefaultStun = Boolean.parseBoolean( + (useDefaultStun != null && + useDefaultStun.length() != 0) ? + useDefaultStun : "true"); + + iceConfigPanel.setUseDefaultStunServer(isUseDefaultStun); + for (int i = 0; i < StunServerDescriptor.MAX_STUN_SERVER_COUNT; i ++) { StunServerDescriptor stunServer @@ -363,6 +375,13 @@ public void loadAccount(ProtocolProviderService protocolProvider) iceConfigPanel.addJingleNodes(jn); } + String useUPNP = + accountProperties.get(ProtocolProviderFactory.IS_USE_UPNP); + boolean isUseUPNP = Boolean.parseBoolean( + (useUPNP != null && useUPNP.length() != 0) ? useUPNP : "false"); + + iceConfigPanel.setUseUPNP(isUseUPNP); + this.isServerOverridden = accountID.getAccountPropertyBoolean( ProtocolProviderFactory.IS_SERVER_OVERRIDDEN, diff --git a/src/net/java/sip/communicator/plugin/jabberaccregwizz/IceConfigPanel.java b/src/net/java/sip/communicator/plugin/jabberaccregwizz/IceConfigPanel.java index 8c4852b7c..93b7baa74 100644 --- a/src/net/java/sip/communicator/plugin/jabberaccregwizz/IceConfigPanel.java +++ b/src/net/java/sip/communicator/plugin/jabberaccregwizz/IceConfigPanel.java @@ -77,6 +77,12 @@ public class IceConfigPanel private final JCheckBox jnAutoDiscoverBox = new SIPCommCheckBox( Resources.getString("plugin.jabberaccregwizz.AUTO_DISCOVER_JN")); + /** + * The check box allowing the user to choose to use JingleNodes. + */ + private final JCheckBox upnpBox = new SIPCommCheckBox( + Resources.getString("plugin.jabberaccregwizz.USE_UPNP")); + /** * The table model for our additional stun servers table. */ @@ -110,8 +116,11 @@ public IceConfigPanel() jnBox.setSelected(true); jnAutoDiscoverBox.setSelected(true); + //upnpBox.setSelected(true); + JPanel checkBoxPanel = new TransparentPanel(new GridLayout(0, 1)); checkBoxPanel.add(iceBox); + checkBoxPanel.add(upnpBox); checkBoxPanel.add(autoDiscoverBox); checkBoxPanel.add(defaultStunBox); @@ -1251,4 +1260,25 @@ protected void modifyJingleNodes(JingleNodeDescriptor jingleNode) } } } + + /** + * Indicates if UPnP should be used for this account. + * @return true if UPnP should be used for this account, otherwise + * returns false + */ + protected boolean isUseUPNP() + { + return iceBox.isSelected(); + } + + /** + * Sets the useUPNP property. + * @param isUseUPNP true to indicate that UPNP should be used for + * this account, false - otherwise. + */ + protected void setUseUPNP(boolean isUseUPNP) + { + upnpBox.setSelected(isUseUPNP); + } + } diff --git a/src/net/java/sip/communicator/plugin/jabberaccregwizz/JabberAccountRegistration.java b/src/net/java/sip/communicator/plugin/jabberaccregwizz/JabberAccountRegistration.java index dcb37ce65..914fd81c6 100755 --- a/src/net/java/sip/communicator/plugin/jabberaccregwizz/JabberAccountRegistration.java +++ b/src/net/java/sip/communicator/plugin/jabberaccregwizz/JabberAccountRegistration.java @@ -120,6 +120,11 @@ public class JabberAccountRegistration private List additionalJingleNodes = new ArrayList(); + /** + * Indicates if UPnP should be used. + */ + private boolean isUseUPNP = false; + /** * Returns the password of the jabber registration account. * @return the password of the jabber registration account. @@ -404,7 +409,7 @@ public boolean isAutoDiscoverJingleNodes() } /** - * Sets the useJingleNodes/tt> property. + * Sets the useJingleNodes property. * * @param isUseJingleNodes true to indicate that Jingle Nodes * should be used for this account, false - otherwise. @@ -457,4 +462,24 @@ public List getAdditionalJingleNodes() { return additionalJingleNodes; } + + /** + * Indicates if UPnP should be used for this account. + * @return true if UPnP should be used for this account, otherwise + * returns false + */ + public boolean isUseUPNP() + { + return isUseUPNP; + } + + /** + * Sets the useUPNP property. + * @param isUseUPNP true to indicate that UPnP should be used for + * this account, false - otherwise. + */ + public void setUseUPNP(boolean isUseUPNP) + { + this.isUseUPNP = isUseUPNP; + } } diff --git a/src/net/java/sip/communicator/plugin/jabberaccregwizz/JabberAccountRegistrationWizard.java b/src/net/java/sip/communicator/plugin/jabberaccregwizz/JabberAccountRegistrationWizard.java index b8abbee84..6d694807b 100644 --- a/src/net/java/sip/communicator/plugin/jabberaccregwizz/JabberAccountRegistrationWizard.java +++ b/src/net/java/sip/communicator/plugin/jabberaccregwizz/JabberAccountRegistrationWizard.java @@ -312,6 +312,9 @@ public ProtocolProviderService installAccount( JingleNodeDescriptor.JN_PREFIX + serverIndex); } + accountProperties.put(ProtocolProviderFactory.IS_USE_UPNP, + String.valueOf(registration.isUseUPNP())); + if (isModification) { providerFactory.modifyAccount( protocolProvider, diff --git a/src/net/java/sip/communicator/service/protocol/ProtocolProviderFactory.java b/src/net/java/sip/communicator/service/protocol/ProtocolProviderFactory.java index 7ddaf4591..60910ae52 100644 --- a/src/net/java/sip/communicator/service/protocol/ProtocolProviderFactory.java +++ b/src/net/java/sip/communicator/service/protocol/ProtocolProviderFactory.java @@ -324,6 +324,11 @@ public abstract class ProtocolProviderFactory public static final String AUTO_DISCOVER_JINGLE_NODES = "AUTO_DISCOVER_JINGLE_NODES"; + /** + * Indicates if UPnP should be used with ICE. + */ + public static final String IS_USE_UPNP = "UPNP_ENABLED"; + /** * Address used to reach voicemail box, by services able to * subscribe for voicemail new messages notifications.