9 import System.IO |
9 import System.IO |
10 import Control.Concurrent |
10 import Control.Concurrent |
11 import qualified Control.Exception as Exception |
11 import qualified Control.Exception as Exception |
12 import Control.Monad |
12 import Control.Monad |
13 import qualified Data.Map as Map |
13 import qualified Data.Map as Map |
14 import Data.Maybe |
14 import Monad |
|
15 import Maybe |
15 import System.Log.Logger |
16 import System.Log.Logger |
16 import Data.Time |
17 import Data.Time |
17 ------------------------ |
18 ------------------------ |
18 import CoreTypes |
19 import CoreTypes |
19 import Utils |
20 import Utils |
20 |
21 |
21 localAddressList = ["127.0.0.1", "0:0:0:0:0:0:0:1", "0:0:0:0:0:ffff:7f00:1"] |
22 localAddressList = ["127.0.0.1", "0:0:0:0:0:0:0:1", "0:0:0:0:0:ffff:7f00:1"] |
22 |
23 |
23 fakeDbConnection serverInfo = forever $ do |
24 fakeDbConnection serverInfo = do |
24 q <- readChan $ dbQueries serverInfo |
25 q <- readChan $ dbQueries serverInfo |
25 case q of |
26 case q of |
26 CheckAccount clUid _ clHost -> do |
27 CheckAccount clUid _ clHost -> do |
27 writeChan (coreChan serverInfo) $ ClientAccountInfo (clUid, |
28 writeChan (coreChan serverInfo) $ ClientAccountInfo (clUid, |
28 if clHost `elem` localAddressList then Admin else Guest) |
29 if clHost `elem` localAddressList then Admin else Guest) |
29 ClearCache -> return () |
30 ClearCache -> return () |
30 SendStats {} -> return () |
31 SendStats {} -> return () |
|
32 |
|
33 fakeDbConnection serverInfo |
31 |
34 |
32 |
35 |
33 #if defined(OFFICIAL_SERVER) |
36 #if defined(OFFICIAL_SERVER) |
34 pipeDbConnectionLoop queries coreChan hIn hOut accountsCache = |
37 pipeDbConnectionLoop queries coreChan hIn hOut accountsCache = |
35 Exception.handle (\(e :: Exception.IOException) -> warningM "Database" (show e) >> return accountsCache) $ |
38 Exception.handle (\(e :: Exception.IOException) -> warningM "Database" (show e) >> return accountsCache) $ |