sys/src/libventi: implement vtsha1 and vtsha1check functions

front
David du Colombier 2019-09-06 11:55:18 -07:00
parent 63ae9ed53a
commit cb091e7539
3 changed files with 33 additions and 0 deletions

View File

@ -380,6 +380,10 @@ int vtwritepacket(VtConn*, uchar score[VtScoreSize], uint type, Packet *p);
int vtsync(VtConn*);
int vtping(VtConn*);
/* sha1 */
void vtsha1(uchar score[VtScoreSize], uchar*, int);
int vtsha1check(uchar score[VtScoreSize], uchar*, int);
/*
* Data blocks and block cache.
*/

View File

@ -24,6 +24,7 @@ OFILES=\
scorefmt.$O\
send.$O\
server.$O\
sha1.$O\
srvhello.$O\
strdup.$O\
string.$O\

28
sys/src/libventi/sha1.c Normal file
View File

@ -0,0 +1,28 @@
#include <u.h>
#include <libc.h>
#include <venti.h>
#include <libsec.h>
void
vtsha1(uchar score[VtScoreSize], uchar *p, int n)
{
DigestState ds;
memset(&ds, 0, sizeof ds);
sha1(p, n, score, &ds);
}
int
vtsha1check(uchar score[VtScoreSize], uchar *p, int n)
{
DigestState ds;
uchar score2[VtScoreSize];
memset(&ds, 0, sizeof ds);
sha1(p, n, score2, &ds);
if(memcmp(score, score2, VtScoreSize) != 0) {
werrstr("vtsha1check failed");
return -1;
}
return 0;
}