Rename a function
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 7b22bc5..2b3c092 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1529,8 +1529,10 @@
}
#endif /* POLARSSL_X509_CRL_PARSE_C */
-// Equal == 0, inequal == 1
-static int x509_name_cmp( const void *s1, const void *s2, size_t len )
+/*
+ * Like memcmp, but case-insensitive and always returns -1 if different
+ */
+static int x509_memcasecmp( const void *s1, const void *s2, size_t len )
{
size_t i;
unsigned char diff;
@@ -1550,12 +1552,16 @@
continue;
}
- return( 1 );
+ return( -1 );
}
return( 0 );
}
+/*
+ * Return 1 if match, 0 if not
+ * TODO: inverted return value!
+ */
static int x509_wildcard_verify( const char *cn, x509_buf *name )
{
size_t i;
@@ -1577,7 +1583,7 @@
return( 0 );
if( cn_len - cn_idx == name->len - 1 &&
- x509_name_cmp( name->p + 1, cn + cn_idx, name->len - 1 ) == 0 )
+ x509_memcasecmp( name->p + 1, cn + cn_idx, name->len - 1 ) == 0 )
{
return( 1 );
}
@@ -1859,7 +1865,7 @@
while( cur != NULL )
{
if( cur->buf.len == cn_len &&
- x509_name_cmp( cn, cur->buf.p, cn_len ) == 0 )
+ x509_memcasecmp( cn, cur->buf.p, cn_len ) == 0 )
break;
if( cur->buf.len > 2 &&
@@ -1880,7 +1886,7 @@
if( OID_CMP( OID_AT_CN, &name->oid ) )
{
if( name->val.len == cn_len &&
- x509_name_cmp( name->val.p, cn, cn_len ) == 0 )
+ x509_memcasecmp( name->val.p, cn, cn_len ) == 0 )
break;
if( name->val.len > 2 &&