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) {