summaryrefslogtreecommitdiff
path: root/src/net_structrw.c
diff options
context:
space:
mode:
authorSimon Howard2012-10-28 10:41:45 +0000
committerSimon Howard2012-10-28 10:41:45 +0000
commit501b13786b024388b3cd7a21c8be8501dbfffb02 (patch)
treeb4b213c71284b7eaadb576ee7bdbf4a4f780fbb5 /src/net_structrw.c
parentf7ecbd1449871a448daa7b96ce121f3fe9d19aed (diff)
downloadchocolate-doom-501b13786b024388b3cd7a21c8be8501dbfffb02.tar.gz
chocolate-doom-501b13786b024388b3cd7a21c8be8501dbfffb02.tar.bz2
chocolate-doom-501b13786b024388b3cd7a21c8be8501dbfffb02.zip
Add functions for network signature requests. These request the signed
messages from the master server, to be used at the start and end of recording a secure demo. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2535
Diffstat (limited to 'src/net_structrw.c')
-rw-r--r--src/net_structrw.c32
1 files changed, 26 insertions, 6 deletions
diff --git a/src/net_structrw.c b/src/net_structrw.c
index bba08212..818766e4 100644
--- a/src/net_structrw.c
+++ b/src/net_structrw.c
@@ -321,31 +321,51 @@ void NET_WriteFullTiccmd(net_packet_t *packet, net_full_ticcmd_t *cmd, boolean l
}
}
-boolean NET_ReadSHA1Sum(net_packet_t *packet, sha1_digest_t digest)
+static boolean NET_ReadBlob(net_packet_t *packet, uint8_t *buf, size_t len)
{
unsigned int b;
int i;
- for (i=0; i<sizeof(sha1_digest_t); ++i)
+ for (i=0; i<len; ++i)
{
if (!NET_ReadInt8(packet, &b))
{
return false;
}
- digest[i] = b;
+ buf[i] = b;
}
return true;
}
-void NET_WriteSHA1Sum(net_packet_t *packet, sha1_digest_t digest)
+static void NET_WriteBlob(net_packet_t *packet, uint8_t *buf, size_t len)
{
int i;
- for (i=0; i<sizeof(sha1_digest_t); ++i)
+ for (i=0; i<len; ++i)
{
- NET_WriteInt8(packet, digest[i]);
+ NET_WriteInt8(packet, buf[i]);
}
}
+boolean NET_ReadSHA1Sum(net_packet_t *packet, sha1_digest_t digest)
+{
+ return NET_ReadBlob(packet, digest, sizeof(sha1_digest_t));
+}
+
+void NET_WriteSHA1Sum(net_packet_t *packet, sha1_digest_t digest)
+{
+ NET_WriteBlob(packet, digest, sizeof(sha1_digest_t));
+}
+
+boolean NET_ReadPRNGSeed(net_packet_t *packet, prng_seed_t seed)
+{
+ return NET_ReadBlob(packet, seed, sizeof(prng_seed_t));
+}
+
+void NET_WritePRNGSeed(net_packet_t *packet, prng_seed_t seed)
+{
+ NET_WriteBlob(packet, seed, sizeof(prng_seed_t));
+}
+