packages feed

gitit 0.3 → 0.3.1

raw patch · 4 files changed

+22/−21 lines, 4 filesdep +SHAdep −Crypto

Dependencies added: SHA

Dependencies removed: Crypto

Files

Gitit.hs view
@@ -39,15 +39,15 @@ import Data.List (intersect, intersperse, intercalate, sort, nub, sortBy, isSuffixOf) import Data.Maybe (fromMaybe, fromJust, mapMaybe, isNothing) import Data.ByteString.UTF8 (fromString)+import qualified Data.ByteString.Lazy.UTF8 as L (fromString) import qualified Data.Map as M import Data.Ord (comparing)-import qualified Data.Digest.SHA512 as SHA512 (hash)+import Data.Digest.Pure.SHA (sha512, showDigest) import Paths_gitit import Text.Pandoc import Text.Pandoc.ODT (saveOpenDocumentAsODT) import Text.Pandoc.Definition (processPandoc) import Text.Pandoc.Shared (HTMLMathMethod(..), substitute)-import Data.ByteString.Internal (c2w) import Data.Char (isAlphaNum, isAlpha) import Codec.Binary.UTF8.String (decodeString) import Control.Monad.Reader@@ -58,7 +58,7 @@ import Text.Highlighting.Kate  gititVersion :: String-gititVersion = "0.3"+gititVersion = "0.3.1"  main :: IO () main = do@@ -899,20 +899,21 @@                                                 if revision == "HEAD" then "edit" else "revert"                                  else Nothing   let buttons    = ulist ! [theclass "tabs"] << mapMaybe linkForTab (pgTabs layout)-  let userbox    = case user of-                        Just u   -> anchor ! [href ("/_logout?" ++ urlEncodeVars [("destination", page)])] << -                                    ("Logout " ++ u)-                        Nothing  -> (anchor ! [href ("/_login?" ++ urlEncodeVars [("destination", page)])] <<-                                     "Login") +++ primHtml "&nbsp;&bull;&nbsp;" +++-                                    anchor ! [href ("/_register?" ++ urlEncodeVars [("destination", page)])] <<-                                     "Get an account"+  let userbox    = thediv ! [identifier "userbox"] <<+                   case user of+                        Just u   -> [ anchor ! [href ("/_logout?" ++ urlEncodeVars [("destination", page)])] << +                                    ("Logout " ++ u) ]+                        Nothing  -> [ anchor ! [href ("/_login?" ++ urlEncodeVars [("destination", page)])] <<+                                     "Login"+                                    , primHtml "&nbsp;&bull;&nbsp;"+                                    , anchor ! [href ("/_register?" ++ urlEncodeVars [("destination", page)])] <<+                                      "Get an account" ]   let messages = pMessages params   let htmlMessages = if null messages                         then noHtml                         else ulist ! [theclass "messages"] << map (li <<) messages   let body' = body << thediv ! [identifier "container"] <<-                        [ thediv ! [identifier "userbox"] << userbox-                        , thediv ! [identifier "sidebar"] <<+                        [ thediv ! [identifier "sidebar"] <<                           [ thediv ! [identifier "logo"] <<                                anchor ! [href "/", title "Go to top page"] <<                                 case wikiLogo cfg of@@ -920,6 +921,7 @@                                      Just f  -> image ! [src f]                           , sitenav                           , tools ]+                        , userbox                         , thediv ! [identifier "maincol"] <<                           [ thediv ! [theclass "pageControls"] << buttons                           , thediv ! [identifier "content"] << @@ -954,7 +956,7 @@   let pword = pPassword params   let destination = pDestination params   cfg <- query GetConfig-  let passwordHash = SHA512.hash $ map c2w $ passwordSalt cfg ++ pword+  let passwordHash = showDigest $ sha512 $ L.fromString $ passwordSalt cfg ++ pword   allowed <- query $ AuthUser uname passwordHash   if allowed     then do@@ -1025,7 +1027,7 @@                         , (not (null fakeField), "You do not seem human enough.") ] -- fakeField is hidden in CSS (honeypot)   if null errors      then do-       let passwordHash = SHA512.hash $ map c2w $ passwordSalt cfg ++ pword+       let passwordHash = showDigest $ sha512 $ L.fromString $ passwordSalt cfg ++ pword        update $ AddUser uname (User { uUsername = uname, uPassword = passwordHash, uEmail = email })        loginUser "/" (params { pUsername = uname, pPassword = pword })      else formattedPage (defaultPageLayout { pgShowPageTools = False, pgTabs = [], pgTitle = "Register for an account" }) 
Gitit/State.hs view
@@ -33,7 +33,6 @@ import HAppS.State import HAppS.Data import GHC.Conc (STM)-import Codec.Utils (Octet)  -- | Data structure for information read from config file. data Config = Config {@@ -86,7 +85,7 @@  data User = User {   uUsername :: String,-  uPassword :: [Octet],  -- password stored as MD5 hash+  uPassword :: String,    -- password stored as SHA512 hash   uEmail    :: String } deriving (Show,Read,Typeable,Data) @@ -138,7 +137,7 @@ delUser :: MonadState AppState m => String -> m () delUser name = modUsers $ M.delete name -authUser :: MonadReader AppState m => String -> [Octet] -> m Bool+authUser :: MonadReader AppState m => String -> String -> m Bool authUser name pass = do   users' <- askUsers   case M.lookup name users' of
css/screen.css view
@@ -248,7 +248,7 @@ 	padding: 0; } -#userbox  { float: right; font-weight: bold; margin: 1em; }+#userbox  { text-align: right; font-weight: bold; margin: 1em 1em 0 0; } #logo { min-height: 50px; } #sidebar  { width: 12em; float: left; margin-right: 10px; } #sidebar fieldset {@@ -267,7 +267,7 @@   line-height: 1.5em; } #sidebar ul li { color: #888; }-#maincol { position: absolute; margin-left: 13em; margin-top: 1em; padding-top: 2em; margin-right: 0; }+#maincol { position: absolute; margin-left: 13em; margin-top: 1em; padding-top: 0; margin-right: 0; } #content { border: 1px solid #ccc; background-color: #fff; padding: 1em; font-size: 110%; line-height: 150%; } #pageControls { } div#toc {
gitit.cabal view
@@ -1,5 +1,5 @@ name:                gitit-version:             0.3+version:             0.3.1 Cabal-version:       >= 1.2 build-type:          Simple synopsis:            Wiki using HAppS, git, and pandoc.@@ -46,7 +46,7 @@                      network, old-time, highlighting-kate, bytestring,                      utf8-string, HAppS-Server >= 0.9.3 && < 0.9.4,                      HAppS-State >= 0.9.3 && < 0.9.4,-                     HAppS-Data >= 0.9.3 && < 0.9.4, Crypto, HTTP+                     HAppS-Data >= 0.9.3 && < 0.9.4, SHA > 1, HTTP   if impl(ghc >= 6.10)     build-depends:   base >= 4, syb   ghc-options:       -Wall -threaded