summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjim@bo <jim@bo>2018-06-21 20:05:50 -0400
committerjim@bo <jim@bo>2018-06-21 20:05:50 -0400
commit1391b2d5f332dbfc1e7e7fd2b7ff725caf785994 (patch)
treeb2e50e87f5bd1a3ba6b974ef23c5ee5dd5ea6446
parent2054427bb756c7b14056551b9bb3968a6c630187 (diff)
PacketRequest deserialize should match serialize
-rwxr-xr-xg5
-rw-r--r--src/Data/PacketQueue.hs5
-rw-r--r--src/Network/Tox/Crypto/Transport.hs2
3 files changed, 7 insertions, 5 deletions
diff --git a/g b/g
index 4b8e922a..e0d5c2b4 100755
--- a/g
+++ b/g
@@ -2,6 +2,7 @@
2 2
3rootname=$(cat /etc/debian_chroot 2>/dev/null) 3rootname=$(cat /etc/debian_chroot 2>/dev/null)
4echo $PATH | grep '\.stack' >/dev/null && rootname="stack" 4echo $PATH | grep '\.stack' >/dev/null && rootname="stack"
5BUILDB=build/b
5 6
6warn="-freverse-errors -fwarn-unused-imports -Wmissing-signatures -fdefer-typed-holes" 7warn="-freverse-errors -fwarn-unused-imports -Wmissing-signatures -fdefer-typed-holes"
7exts="-XOverloadedStrings -XRecordWildCards" 8exts="-XOverloadedStrings -XRecordWildCards"
@@ -19,7 +20,7 @@ if [ "$rootname" == "stretch" ]
19 then 20 then
20 echo "Building with cryptonite backport. (chroot = $rootname)" 21 echo "Building with cryptonite backport. (chroot = $rootname)"
21 defs="$defs -DCRYPTONITE_BACKPORT -icryptonite-backport" 22 defs="$defs -DCRYPTONITE_BACKPORT -icryptonite-backport"
22 warn="build/b/cbits/cryptonite_salsa.o build/b/cbits/cryptonite_xsalsa.o $warn" 23 warn="$BUILDB/cbits/cryptonite_salsa.o $BUILDB/cbits/cryptonite_xsalsa.o $warn"
23 fi 24 fi
24 25
25root=${0%/*} 26root=${0%/*}
@@ -35,6 +36,6 @@ ghc -threaded \
35 -iPresence \ 36 -iPresence \
36 -iArchive \ 37 -iArchive \
37 -isrc \ 38 -isrc \
38 build/b/Presence/monitortty.o \ 39 $BUILDB/Presence/monitortty.o \
39 $warn \ 40 $warn \
40 "$@" 41 "$@"
diff --git a/src/Data/PacketQueue.hs b/src/Data/PacketQueue.hs
index 8182706e..b5d8a756 100644
--- a/src/Data/PacketQueue.hs
+++ b/src/Data/PacketQueue.hs
@@ -220,11 +220,12 @@ getRequested getExtra pktoq snum ns = do
220 toIndex = (`mod` qsize (pktoOutPQ pktoq)) 220 toIndex = (`mod` qsize (pktoOutPQ pktoq))
221 221
222 toPNums :: Word32 -> [Word8] -> [Word32] 222 toPNums :: Word32 -> [Word8] -> [Word32]
223 toPNums snum ns = reverse . snd $ foldl doOne ((snum - 1),[]) ns 223 toPNums snum ns = reverse . snd $ foldl doOne (snum,[]) ns
224 where 224 where
225 doOne :: (Word32,[Word32]) -> Word8 -> (Word32,[Word32]) 225 doOne :: (Word32,[Word32]) -> Word8 -> (Word32,[Word32])
226 doOne (addend,as) 0 = (addend+255,as) 226 doOne (addend,as) 0 = (addend+255,as)
227 doOne (addend,as) x = (addend,(fromIntegral x + addend):as) 227 doOne (addend,as) x = let y = fromIntegral x + addend
228 in (y,y:as)
228 229
229peekPacket :: STM extra -> PacketOutQueue extra msg wire fromwire -> msg -> STM (Maybe (wire,Word32)) 230peekPacket :: STM extra -> PacketOutQueue extra msg wire fromwire -> msg -> STM (Maybe (wire,Word32))
230peekPacket getExtra q@(PacketOutQueue { pktoInPQ, pktoOutPQ, pktoPacketNo, pktoToWireIO, pktoToWire }) msg 231peekPacket getExtra q@(PacketOutQueue { pktoInPQ, pktoOutPQ, pktoPacketNo, pktoToWireIO, pktoToWire }) msg
diff --git a/src/Network/Tox/Crypto/Transport.hs b/src/Network/Tox/Crypto/Transport.hs
index 67950854..678bb16d 100644
--- a/src/Network/Tox/Crypto/Transport.hs
+++ b/src/Network/Tox/Crypto/Transport.hs
@@ -185,7 +185,7 @@ data CryptoData = CryptoData
185 , bufferEnd :: Word32 185 , bufferEnd :: Word32
186 -- | [data] (TODO See Note [Padding]) 186 -- | [data] (TODO See Note [Padding])
187 , bufferData :: CryptoMessage 187 , bufferData :: CryptoMessage
188 } 188 } deriving (Eq,Show)
189 189
190{- 190{-
191Note [Padding] 191Note [Padding]