bug 50589
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
index 5c6bbf4..e9fb7bd 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
@@ -65,6 +65,7 @@
MainPreferencePage.digitalSignature.message = You have chosen to disable digital signature \
checks for downloaded archives. Note that unsigned archives may \
contain software that can harm your computer.
+MainPreferencePage.invalidPort = Port must be a number in the range 0-65535
UpdateSettingsPreferencePage.description=Settings for automatic feature update
UpdateSettingsPreferencePage.label=Address &Mappings URL:
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
index 5785455..a17b33a 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
@@ -181,6 +181,26 @@
httpProxyPortText = new Text(group, SWT.SINGLE | SWT.BORDER);
httpProxyPortText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ // Validation of port field
+ httpProxyPortText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ try {
+ int num = Integer.valueOf(httpProxyPortText.getText())
+ .intValue();
+ if (0 <= num && num <= 0xFFFF) {
+ // port is valid
+ MainPreferencePage.this.setValid(true);
+ setErrorMessage(null);
+ return;
+ }
+
+ // port is invalid
+ } catch (NumberFormatException nfe) {
+ }
+ MainPreferencePage.this.setValid(false);
+ setErrorMessage(UpdateUI.getString("MainPreferencePage.invalidPort")); //$NON-NLS-1$
+ }
+ });
enableHttpProxy.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {