diff options
Diffstat (limited to 'src/Network/BitTorrent/Core/PeerId.hs')
-rw-r--r-- | src/Network/BitTorrent/Core/PeerId.hs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/Network/BitTorrent/Core/PeerId.hs b/src/Network/BitTorrent/Core/PeerId.hs index 8deb854a..f30308d4 100644 --- a/src/Network/BitTorrent/Core/PeerId.hs +++ b/src/Network/BitTorrent/Core/PeerId.hs | |||
@@ -30,7 +30,7 @@ module Network.BitTorrent.Core.PeerId | |||
30 | , defaultVersionNumber | 30 | , defaultVersionNumber |
31 | 31 | ||
32 | -- * Decoding | 32 | -- * Decoding |
33 | , clientInfo | 33 | , fingerprint |
34 | ) where | 34 | ) where |
35 | 35 | ||
36 | import Control.Applicative | 36 | import Control.Applicative |
@@ -175,7 +175,7 @@ defaultClientId = "HS" | |||
175 | -- package. Version is taken from .cabal file. | 175 | -- package. Version is taken from .cabal file. |
176 | defaultVersionNumber :: ByteString | 176 | defaultVersionNumber :: ByteString |
177 | defaultVersionNumber = BS.take 4 $ BC.pack $ foldMap show $ | 177 | defaultVersionNumber = BS.take 4 $ BC.pack $ foldMap show $ |
178 | versionBranch $ ciVersion libClientInfo | 178 | versionBranch $ ciVersion libFingerprint |
179 | 179 | ||
180 | {----------------------------------------------------------------------- | 180 | {----------------------------------------------------------------------- |
181 | -- Generation | 181 | -- Generation |
@@ -294,23 +294,23 @@ parseImpl = f . BC.unpack | |||
294 | -- peer id uses unknown coding style then client info returned is | 294 | -- peer id uses unknown coding style then client info returned is |
295 | -- 'def'. | 295 | -- 'def'. |
296 | -- | 296 | -- |
297 | clientInfo :: PeerId -> ClientInfo | 297 | fingerprint :: PeerId -> Fingerprint |
298 | clientInfo pid = either (const def) id $ runGet getCI (getPeerId pid) | 298 | fingerprint pid = either (const def) id $ runGet getCI (getPeerId pid) |
299 | where | 299 | where |
300 | getCI = do | 300 | getCI = do |
301 | leading <- BS.w2c <$> getWord8 | 301 | leading <- BS.w2c <$> getWord8 |
302 | case leading of | 302 | case leading of |
303 | '-' -> ClientInfo <$> getAzureusImpl <*> getAzureusVersion | 303 | '-' -> Fingerprint <$> getAzureusImpl <*> getAzureusVersion |
304 | 'M' -> ClientInfo <$> pure IMainline <*> getMainlineVersion | 304 | 'M' -> Fingerprint <$> pure IMainline <*> getMainlineVersion |
305 | 'e' -> ClientInfo <$> getBitCometImpl <*> getBitCometVersion | 305 | 'e' -> Fingerprint <$> getBitCometImpl <*> getBitCometVersion |
306 | 'F' -> ClientInfo <$> getBitCometImpl <*> getBitCometVersion | 306 | 'F' -> Fingerprint <$> getBitCometImpl <*> getBitCometVersion |
307 | c -> do | 307 | c -> do |
308 | c1 <- w2c <$> lookAhead getWord8 | 308 | c1 <- w2c <$> lookAhead getWord8 |
309 | if c1 == 'P' | 309 | if c1 == 'P' |
310 | then do | 310 | then do |
311 | _ <- getWord8 | 311 | _ <- getWord8 |
312 | ClientInfo <$> pure IOpera <*> getOperaVersion | 312 | Fingerprint <$> pure IOpera <*> getOperaVersion |
313 | else ClientInfo <$> pure (getShadowImpl c) <*> getShadowVersion | 313 | else Fingerprint <$> pure (getShadowImpl c) <*> getShadowVersion |
314 | 314 | ||
315 | getMainlineVersion = do | 315 | getMainlineVersion = do |
316 | str <- BC.unpack <$> getByteString 7 | 316 | str <- BC.unpack <$> getByteString 7 |