Index: archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
===================================================================
--- archiva-base/archiva-configuration/src/main/mdo/configuration.mdo	(revision 614371)
+++ archiva-base/archiva-configuration/src/main/mdo/configuration.mdo	(working copy)
@@ -334,6 +334,15 @@
             The Password for this repository.
           </description>
         </field>
+	<field>
+	  <name>timeout</name>
+	  <version>1.0.1+</version>
+	  <type>int</type>
+	  <description>
+	    Timeout in seconds for connections to this repository
+	  </description>
+	  <defaultValue>60</defaultValue>
+	</field>
       </fields>
     </class>
     <class>
Index: archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/WagonDelegate.java
===================================================================
--- archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/WagonDelegate.java	(revision 614371)
+++ archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/WagonDelegate.java	(working copy)
@@ -97,6 +97,15 @@
         return delegate.supportsDirectoryCopy();
     }
 
+    public void setTimeout(int val)
+    {
+    }
+
+    public int getTimeout()
+    {
+        return 0;
+    }
+
     public Repository getRepository()
     {
         return delegate.getRepository();
Index: archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
===================================================================
--- archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java	(revision 614371)
+++ archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java	(working copy)
@@ -21,6 +21,7 @@
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.ConfigurationNames;
@@ -64,6 +65,8 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.net.URLClassLoader;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -79,7 +82,7 @@
  * @version $Id$
  * @plexus.component role-hint="default"
  */
-public class DefaultRepositoryProxyConnectors
+public class  DefaultRepositoryProxyConnectors
     extends AbstractLogEnabled
     implements RepositoryProxyConnectors, RegistryListener, Initializable
 {
@@ -828,6 +831,12 @@
             {
                 getLogger().debug( "No authentication for remote repository needed" );
             }
+            
+            //Convert seconds to milliseconds
+            int timeoutInMilliseconds = remoteRepository.getRepository().getTimeout() * 1000;
+            
+            //Set timeout
+            wagon.setTimeout(timeoutInMilliseconds);
 
             Repository wagonRepository = new Repository( remoteRepository.getId(), remoteRepository.getURL().toString() );
             if ( networkProxy != null )
Index: archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf
===================================================================
--- archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf	(revision 614371)
+++ archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/remoteRepositoryForm.jspf	(working copy)
@@ -23,5 +23,6 @@
 <ww:textfield name="repository.url" label="URL" size="50" required="true"/>
 <ww:textfield name="repository.username" label="Username" size="25" required="false"/>
 <ww:password name="repository.password" label="Password" size="25" required="false"/>
+<ww:textfield name="repository.timeout" label="Timeout in seconds" size="3" required="false"/>
 <ww:select list="#@java.util.LinkedHashMap@{'default' : 'Maven 2.x Repository', 'legacy' : 'Maven 1.x Repository'}"
            name="repository.layout" label="Type"/>
Index: archiva-web/archiva-webapp/pom.xml
===================================================================
--- archiva-web/archiva-webapp/pom.xml	(revision 614371)
+++ archiva-web/archiva-webapp/pom.xml	(working copy)
@@ -125,7 +125,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-http-lightweight</artifactId>
+      <artifactId>wagon-http</artifactId>
       <scope>runtime</scope>
     </dependency>
     <dependency>
Index: pom.xml
===================================================================
--- pom.xml	(revision 614371)
+++ pom.xml	(working copy)
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.apache.maven.archiva</groupId>
     <artifactId>archiva-parent</artifactId>
-    <version>2-SNAPSHOT</version>
+    <version>2</version>
     <relativePath>../archiva-parent/pom.xml</relativePath>
   </parent>
   <name>Archiva</name>
@@ -436,6 +436,12 @@
         <groupId>org.apache.maven.shared</groupId>
         <artifactId>maven-app-configuration-web</artifactId>
         <version>1.0</version>
+        <exclusions>
+            <exclusion>
+            <groupId>org.apache.maven.wagon</groupId>
+            <artifactId>wagon-http-lightweight</artifactId>
+            </exclusion>
+        </exclusions>
       </dependency>
       <dependency>
         <groupId>org.apache.maven.shared</groupId>
@@ -671,7 +677,7 @@
       </dependency>
       <dependency>
         <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-http-lightweight</artifactId>
+        <artifactId>wagon-http</artifactId>
         <version>${wagon.version}</version>
       </dependency>
       <dependency>
@@ -873,7 +879,7 @@
   </profiles>
   <properties>
     <maven.version>2.0.5</maven.version>
-    <wagon.version>1.0-beta-2</wagon.version>
+    <wagon.version>1.0-rc1-SNAPSHOT</wagon.version>
     <redback.version>1.0-alpha-4</redback.version>
   </properties>
   <distributionManagement>

