add boolan support

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12944 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2003-10-03 00:28:29 +00:00
parent 67522cdee3
commit 8b8bcb8c9b
11 changed files with 112 additions and 0 deletions

View File

@@ -132,6 +132,19 @@ der_put_length (unsigned char *p, size_t len, size_t val, size_t *size)
}
}
int
der_put_boolean(unsigned char *p, size_t len, const int *data, size_t *size)
{
if(len < 1)
return ASN1_OVERFLOW;
if(*data != 0)
*p = 0xff;
else
*p = 0;
*size = 1;
return 0;
}
int
der_put_general_string (unsigned char *p, size_t len,
const heim_general_string *str, size_t *size)
@@ -225,6 +238,30 @@ der_put_length_and_tag (unsigned char *p, size_t len, size_t len_val,
return 0;
}
int
encode_boolean (unsigned char *p, size_t len, const int *data,
size_t *size)
{
size_t ret = 0;
size_t l;
int e;
e = der_put_boolean (p, len, data, &l);
if(e)
return e;
p -= l;
len -= l;
ret += l;
e = der_put_length_and_tag (p, len, l, UNIV, PRIM, UT_Boolean, &l);
if (e)
return e;
p -= l;
len -= l;
ret += l;
*size = ret;
return 0;
}
int
encode_integer (unsigned char *p, size_t len, const int *data, size_t *size)
{