str = PRVM_G_STRING( OFS_PARM2 );
masknr = (int)PRVM_G_FLOAT( OFS_PARM0 );
- if( masknr >= 0 && masknr <= SERVERLIST_ANDMASKCOUNT )
+ if( masknr >= 0 && masknr < SERVERLIST_ANDMASKCOUNT )
mask = &serverlist_andmasks[masknr];
- else if( masknr >= 512 && masknr - 512 <= SERVERLIST_ORMASKCOUNT )
+ else if( masknr >= 512 && masknr - 512 < SERVERLIST_ORMASKCOUNT )
mask = &serverlist_ormasks[masknr - 512 ];
else
{
VM_SAFEPARMCOUNT( 4, VM_M_setserverlistmasknumber );
masknr = (int)PRVM_G_FLOAT( OFS_PARM0 );
- if( masknr >= 0 && masknr <= SERVERLIST_ANDMASKCOUNT )
+ if( masknr >= 0 && masknr < SERVERLIST_ANDMASKCOUNT )
mask = &serverlist_andmasks[masknr];
- else if( masknr >= 512 && masknr - 512 <= SERVERLIST_ORMASKCOUNT )
+ else if( masknr >= 512 && masknr - 512 < SERVERLIST_ORMASKCOUNT )
mask = &serverlist_ormasks[masknr - 512 ];
else
{
s = PRVM_G_STRING( OFS_PARM0 );
VM_CheckEmptyString( prog, s );
- if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, keyfp, sizeof(keyfp), NULL, 0, NULL))
+ if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, keyfp, sizeof(keyfp), NULL, 0, NULL, NULL))
PRVM_G_INT( OFS_RETURN ) = PRVM_SetTempString( prog, keyfp );
else
PRVM_G_INT( OFS_RETURN ) = OFS_NULL;
s = PRVM_G_STRING( OFS_PARM0 );
VM_CheckEmptyString( prog, s );
- if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, idfp, sizeof(idfp), NULL))
+ if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, idfp, sizeof(idfp), NULL, NULL))
PRVM_G_INT( OFS_RETURN ) = PRVM_SetTempString( prog, idfp );
else
PRVM_G_INT( OFS_RETURN ) = OFS_NULL;
}
+static void VM_M_crypto_getidstatus(prvm_prog_t *prog)
+{
+ lhnetaddress_t addr;
+ const char *s;
+ qboolean issigned;
+
+ VM_SAFEPARMCOUNT(1,VM_M_crypto_getidstatus);
+
+ s = PRVM_G_STRING( OFS_PARM0 );
+ VM_CheckEmptyString( prog, s );
+
+ if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, NULL, 0, NULL, &issigned))
+ PRVM_G_FLOAT( OFS_RETURN ) = issigned ? 2 : 1;
+ else
+ PRVM_G_FLOAT( OFS_RETURN ) = 0;
+}
static void VM_M_crypto_getencryptlevel(prvm_prog_t *prog)
{
lhnetaddress_t addr;
s = PRVM_G_STRING( OFS_PARM0 );
VM_CheckEmptyString( prog, s );
- if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, NULL, 0, &aeslevel))
+ if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, NULL, 0, &aeslevel, NULL))
PRVM_G_INT( OFS_RETURN ) = PRVM_SetTempString(prog, aeslevel ? va(vabuf, sizeof(vabuf), "%d AES128", aeslevel) : "0");
else
PRVM_G_INT( OFS_RETURN ) = OFS_NULL;
NULL, // #640
VM_M_crypto_getmyidstatus, // #641 float(float i) crypto_getmyidstatus
VM_coverage, // #642
+VM_M_crypto_getidstatus, // #643 float(string addr) crypto_getidstatus
NULL
};