]> gitweb.factorcode.org Git - factor.git/commitdiff
openssl.libssl: wrapped several more objects from libssl which are needed to lookup...
authorBjörn Lindqvist <bjourne@gmail.com>
Tue, 10 Sep 2013 20:41:40 +0000 (22:41 +0200)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 17 Sep 2013 00:17:47 +0000 (17:17 -0700)
basis/openssl/libssl/libssl.factor

index f50e7d7aa07cc893c50e777e2e8950d1a0d67f0d..8d24502dd7075d0512eb079ed7960fd8d389eefa 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2007 Elie CHAFTARI
 ! Portions copyright (C) 2008 Slava Pestov
 ! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.syntax combinators kernel
+USING: alien alien.c-types alien.syntax classes.struct combinators kernel
 system namespaces assocs parser lexer sequences words
 quotations math.bitwise alien.libraries literals ;
 
@@ -93,17 +93,65 @@ C-TYPE: SSL
 
 LIBRARY: libssl
 
+! ===============================================
+! asn1t.h
+! ===============================================
+
+C-TYPE: ASN1_ITEM
+
+! ===============================================
+! asn1.h
+! ===============================================
+C-TYPE: ASN1_VALUE
+TYPEDEF: ASN1_ITEM ASN1_ITEM_EXP
+
+STRUCT: ASN1_STRING
+    { length int }
+    { type int }
+    { data uchar* }
+    { flags long } ;
+
+FUNCTION: ASN1_VALUE* ASN1_item_d2i ( ASN1_VALUE** val, uchar **in, long len, ASN1_ITEM *it ) ;
+
+! ===============================================
+! ossl_typ.h
+! ===============================================
+TYPEDEF: ASN1_STRING ASN1_OCTET_STRING
+
 ! ===============================================
 ! x509.h
 ! ===============================================
 
+STRUCT: X509_EXTENSION
+    { object void* }
+    { critical void* }
+    { value ASN1_OCTET_STRING* } ;
+
 C-TYPE: X509_NAME
 C-TYPE: X509
 
 FUNCTION: int X509_NAME_get_text_by_NID ( X509_NAME* name, int nid, void* buf, int len ) ;
+FUNCTION: int X509_get_ext_by_NID ( X509* a, int nid, int lastpos ) ;
 FUNCTION: X509_NAME* X509_get_issuer_name ( X509* a ) ;
 FUNCTION: X509_NAME* X509_get_subject_name ( X509* a ) ;
 
+FUNCTION: X509_EXTENSION* X509_get_ext ( X509* a, int loc ) ;
+
+! ===============================================
+! x509v3.h
+! ===============================================
+
+STRUCT: X509V3_EXT_METHOD
+    { ext_nid int }
+    { ext_flags int }
+    { it void* } ;
+
+
+! C-TYPE: X509V3_EXT_METHOD
+
+FUNCTION: X509V3_EXT_METHOD* X509V3_EXT_get ( X509_EXTENSION* ext ) ;
+
+
 ! ===============================================
 ! ssl.h
 ! ===============================================
@@ -333,4 +381,5 @@ X509_V_: ERR_APPLICATION_VERIFICATION 50
 ! obj_mac.h
 ! ===============================================
 
-CONSTANT: NID_commonName 13
+CONSTANT: NID_commonName        13
+CONSTANT: NID_subject_alt_name  85