[ 
https://jira.codehaus.org/browse/CONTINUUM-2501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=362164#comment-362164
 ] 

Brent N Atkinson commented on CONTINUUM-2501:
---------------------------------------------

The fix provided will likely be unacceptable for most applications. My 
understanding is that this works around handshake issues by limiting the 
protocols attempted to only the specified list. This means that it will only 
attempt SSLv3, which will make servers limited to SSLv3 work, but for servers 
not supporting it (it isn't secure and it is often disabled) it will break.

I will attempt to confirm this locally. My suspicion is that this issue is 
server-configuration specific   and we probably won't want to use this 
technique to address it.

> Exception while downloading pom from https url
> ----------------------------------------------
>
>                 Key: CONTINUUM-2501
>                 URL: https://jira.codehaus.org/browse/CONTINUUM-2501
>             Project: Continuum
>          Issue Type: Bug
>          Components: Core system
>    Affects Versions: 1.2.3, 1.3.6, 1.4.0 (Beta), 1.4.1
>            Reporter: Vlado Pesov
>            Assignee: Brent N Atkinson
>            Priority: Minor
>             Fix For: 1.5.0
>
>         Attachments: EasySSLSocketFactory.patch
>
>
> The exception is because the http client cannot handle certificates for SSLv3 
> protocol, so this support must be explicitly enabled. Here is the exception:
> Could not download the URL: https://xxxxxx:*****@hostname.com/project/pom.xml
> javax.net.ssl.SSLException: Connection has been shutdown: 
> javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
>        at com.sun.net.ssl.internal.ssl.
>  SSLSocketImpl.checkEOF(SSLSocketImpl.java:1267)
>         at 
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1279)
>         at 
> com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:43)
>         at 
> org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:87)
>         at 
> org.apache.http.impl.io.AbstractSessionOutputBuffer.flush(AbstractSessionOutputBuffer.java:94)
>         at 
> org.apache.http.impl.AbstractHttpClientConnection.doFlush(AbstractHttpClientConnection.java:171)
>         at 
> org.apache.http.impl.SocketHttpClientConnection.close(SocketHttpClientConnection.java:192)
>         at 
> org.apache.http.impl.conn.DefaultClientConnection.close(DefaultClientConnection.java:161)
>         at 
> org.apache.http.impl.conn.AbstractPooledConnAdapter.close(AbstractPooledConnAdapter.java:158)
>         at 
> org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
>         at 
> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:410)
>         at 
> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
>         at 
> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
>         at 
> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
>         at 
> org.apache.maven.continuum.project.builder.AbstractContinuumProjectBuilder.createMetadataFile(AbstractContinuumProjectBuilder.java:122)
>         at 
> org.apache.maven.continuum.project.builder.AbstractContinuumProjectBuilder.createMetadataFile(AbstractContinuumProjectBuilder.java:244)
>         at 
> org.apache.maven.continuum.project.builder.maven.MavenTwoContinuumProjectBuilder.readModules(MavenTwoContinuumProjectBuilder.java:149)
>         at 
> org.apache.maven.continuum.project.builder.maven.MavenTwoContinuumProjectBuilder.buildProjectsFromMetadata(MavenTwoContinuumProjectBuilder.java:124)
>         at 
> org.apache.maven.continuum.core.action.CreateProjectsFromMetadataAction.execute(CreateProjectsFromMetadataAction.java:152)
>         at 
> org.apache.maven.continuum.DefaultContinuum.executeAction(DefaultContinuum.java:2759)
>         at 
> org.apache.maven.continuum.DefaultContinuum.executeAddProjectsFromMetadataActivity(DefaultContinuum.java:1569)
>         at 
> org.apache.maven.continuum.DefaultContinuum.executeAddProjectsFromMetadataActivity(DefaultContinuum.java:1815)
>         at 
> org.apache.maven.continuum.DefaultContinuum.addMavenTwoProject(DefaultContinuum.java:1365)
>         at 
> org.apache.maven.continuum.web.action.AddMavenTwoProjectAction.doExecute(AddMavenTwoProjectAction.java:109)
>         at 
> org.apache.maven.continuum.web.action.AddMavenProjectAction.execute(AddMavenProjectAction.java:189)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
>         at 
> org.apache.struts2.interceptor.BackgroundProcess$1.run(BackgroundProcess.java:56)
>         at java.lang.Thread.run(Thread.java:619)
>  Caused by: javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
>         at 
> com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)
>         at 
> com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
>         at 
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1694)
>         at 
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:939)
>         at 
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1120)
>         at 
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:623)
>         at 
> com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
>         at 
> org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:87)
>         at 
> org.apache.http.impl.io.AbstractSessionOutputBuffer.flush(AbstractSessionOutputBuffer.java:94)
>         at 
> org.apache.http.impl.AbstractHttpClientConnection.doFlush(AbstractHttpClientConnection.java:171)
>         at 
> org.apache.http.impl.AbstractHttpClientConnection.flush(AbstractHttpClientConnection.java:176)
>         at 
> org.apache.http.impl.conn.AbstractClientConnAdapter.flush(AbstractClientConnAdapter.java:221)
>         at 
> org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:240)
>         at 
> org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:119)
>         ... 23 more



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to