quick fix to build with old warp-tls
Debian stable's warp-tls is too old to support the new https feature well, so only use http with that old version. Note that the webapp still depends on warp-tls, because the TLSSettings type is used.
This commit is contained in:
parent
411b7faaac
commit
06218428c7
3 changed files with 16 additions and 3 deletions
|
@ -22,6 +22,9 @@ buildFlags = filter (not . null)
|
|||
#else
|
||||
#warning Building without the webapp. You probably need to install Yesod..
|
||||
#endif
|
||||
#ifdef WITH_WEBAPP_HTTPS
|
||||
, "Webapp-https"
|
||||
#endif
|
||||
#ifdef WITH_PAIRING
|
||||
, "Pairing"
|
||||
#else
|
||||
|
|
|
@ -74,11 +74,15 @@ browserProc url = proc "xdg-open" [url]
|
|||
runWebApp :: Maybe TLSSettings -> Maybe HostName -> Wai.Application -> (SockAddr -> IO ()) -> IO ()
|
||||
runWebApp tlssettings h app observer = withSocketsDo $ do
|
||||
sock <- getSocket h
|
||||
void $ forkIO $
|
||||
(maybe runSettingsSocket (\ts -> runTLSSocket ts) tlssettings)
|
||||
webAppSettings sock app
|
||||
void $ forkIO $ run webAppSettings sock app
|
||||
sockaddr <- fixSockAddr <$> getSocketName sock
|
||||
observer sockaddr
|
||||
where
|
||||
#ifdef WITH_WEBAPP_HTTPS
|
||||
run = (maybe runSettingsSocket (\ts -> runTLSSocket ts) tlssettings)
|
||||
#else
|
||||
run = runSettingsSocket
|
||||
#endif
|
||||
|
||||
fixSockAddr :: SockAddr -> SockAddr
|
||||
#ifdef __ANDROID__
|
||||
|
|
|
@ -43,6 +43,9 @@ Flag Assistant
|
|||
Flag Webapp
|
||||
Description: Enable git-annex webapp
|
||||
|
||||
Flag Webapp-https
|
||||
Description: Enable git-annex webapp https
|
||||
|
||||
Flag Pairing
|
||||
Description: Enable pairing
|
||||
|
||||
|
@ -180,6 +183,9 @@ Executable git-annex
|
|||
blaze-builder, crypto-api, hamlet, clientsession,
|
||||
template-haskell, data-default, aeson, network-conduit
|
||||
CPP-Options: -DWITH_WEBAPP
|
||||
if flag(Webapp) && flag (Webapp-https)
|
||||
Build-Depends: warp-tls (>= 1.4)
|
||||
CPP-Options: -DWITH_WEBAPP_HTTPS
|
||||
|
||||
if flag(Pairing)
|
||||
Build-Depends: network-multicast, network-info
|
||||
|
|
Loading…
Reference in a new issue