2013-02-13 3 views
6

JIRA와 인터페이스하기 위해 CRUD 어플리케이션을 작성했습니다. cabal-dev가 모든 것을 해결하지 못하기 때문에 haskell 환경을 업그레이드했습니다. 결과적으로 JIRA와 인터페이스하는 코드를 사용하려고 할 때마다이 오류가 발생하여 몇 가지 문제가 발생했습니다.변경 사항은 어디에 있습니까?

Spike: HandshakeFailed (Error_Misc "user error (unexpected type received. expecting 
handshake and got: Alert [(AlertLevel_Warning,UnrecognizedName)])") 

약간의 인터넷 검색 결과를 얻은 후에는 tls 또는 tls를 사용하는 http-conduit과 관련이 있다고 생각합니다.

나는 현재 이전에 내가 정확히 오래된가 없어 설치를 확실하지 tls-0.9.11http-conduit >= 1.5 && < 1.7를 (사용 된 tls-1.1.2http-conduit-1.8.7.1 을 사용하고 있습니다.

을 나는 휴식이 일어나고 믿는 곳입니다

manSettings :: ManagerSettings 
manSettings = def { managerCheckCerts = \ _ _ _-> return CertificateUsageAccept } 

모양이 같습니다.

manSettings :: ManagerSettings 
manSettings = def { managerCheckCerts = \ _ _ -> return CertificateUsageAccept } 

여기가

initialRequest :: forall (m :: * -> *). URI -> IO (Request m,Manager) 
initialRequest uri = do 
    initReq <- parseUrl uri -- let the server tell you what the request header 
          -- should look like 
    manager <- newManager manSettings -- a Manager manages http connections 
            -- we mod the settings to handle 
            -- the SSL cert. See manSettings below. 
    return (modReq initReq,manager) 
     where modReq initReq = applyBasicAuth username password initReq 

내가 뭔가를 왼쪽있어 알려줘 사용하는 코드입니다. 이 시점에서 지금과 그 사이에 무슨 일이 일어 났는지 나는 확신 할 수 없다.

답변

4

오류 소스에 대해서는 추측 할 만하지만 매우 가능성은 낮습니다. managerCheckCerts는 인증서 패키지를 사용하여 인증서의 유효성을 검사하기 만하면됩니다. 표시되는 오류 메시지는 tls 자체에서 오는 것으로 보이며 데이터 전송에 실패를 나타냅니다. 버그 리포트를 tls와 함께 제출하는 것이 좋습니다. 먼저 tls를 단독으로 사용하고 동일한 실패를 증명하는 데 실패한 단일 HTTPS 호출로 문제를 좁히는 것이 좋습니다.

+0

내가 협곡을 좁힐 수 있는지 먼저 살펴 보겠습니다. –