]> gitweb.factorcode.org Git - factor.git/commitdiff
io.sockets.secure.openssl,openssl.libssl: ENUM: over syntax
authorBjörn Lindqvist <bjourne@gmail.com>
Sat, 24 Jun 2017 14:46:00 +0000 (16:46 +0200)
committerBjörn Lindqvist <bjourne@gmail.com>
Sat, 24 Jun 2017 14:46:00 +0000 (16:46 +0200)
The enum does the same thing as the custom syntax did and is a little
easier to understand.

basis/io/sockets/secure/openssl/openssl.factor
basis/openssl/libssl/libssl.factor

index 413d323aeeae1aff184f0c7f5be08745d55eff2a..d8e8079ec27fa0ce6ddb7934b5d9705a64130928 100644 (file)
@@ -1,13 +1,13 @@
 ! Copyright (C) 2007, 2008, Slava Pestov, Elie CHAFTARI.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors alien alien.c-types alien.data alien.strings
-assocs byte-arrays classes.struct combinators
-combinators.short-circuit destructors fry io io.backend
-io.binary io.buffers io.encodings.8-bit.latin1 io.encodings.utf8
-io.files io.pathnames io.ports io.sockets io.sockets.secure
-io.timeouts kernel libc locals math math.functions math.order
-math.parser memoize namespaces openssl openssl.libcrypto
-openssl.libssl random sequences sets splitting unicode ;
+USING: accessors alien alien.c-types alien.data alien.enums
+alien.strings assocs byte-arrays classes.struct combinators
+combinators.short-circuit destructors fry io io.backend io.binary
+io.buffers io.encodings.8-bit.latin1 io.encodings.utf8 io.files
+io.pathnames io.ports io.sockets io.sockets.secure io.timeouts kernel
+libc locals math math.functions math.order math.parser memoize
+namespaces openssl openssl.libcrypto openssl.libssl random sequences
+sets splitting unicode ;
 IN: io.sockets.secure.openssl
 
 GENERIC: ssl-method ( symbol -- method )
@@ -323,8 +323,8 @@ M: ssl-handle dispose*
     ] with-destructors ;
 
 : check-verify-result ( ssl-handle -- )
-    SSL_get_verify_result dup X509_V_OK =
-    [ drop ] [ verify-message certificate-verify-error ] if ;
+    SSL_get_verify_result X509_V_ERROR number>enum dup X509_V_ERR_OK =
+    [ drop ] [ certificate-verify-error ] if ;
 
 : x509name>string ( x509name -- string )
     NID_commonName 256 <byte-array>
index c7a79998490a995e61cc2996d39a8be582ca31d1..b2d5f142c325c50503de02ab102e75decc98e22a 100644 (file)
@@ -1,10 +1,9 @@
 ! 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.destructors alien.libraries alien.parser
-alien.syntax assocs classes.struct combinators kernel lexer
-literals namespaces openssl.libcrypto parser quotations
-sequences system words ;
+USING: alien alien.c-types alien.destructors alien.libraries
+alien.parser alien.syntax classes.struct combinators kernel literals
+namespaces openssl.libcrypto system ;
 
 IN: openssl.libssl
 
@@ -513,63 +512,48 @@ FUNCTION: void SSL_CTX_set_tmp_rsa_callback ( SSL_CTX* ctx, void* rsa )
 ! ===============================================
 ! x509_vfy.h
 ! ===============================================
-<<
-
-SYMBOL: verify-messages
-
-H{ } clone verify-messages set-global
-
-: verify-message ( n -- word ) verify-messages get-global at ;
-
-SYNTAX: X509_V_:
-    scan-token "X509_V_" prepend create-word-in
-    scan-number
-    [ 1quotation ( -- value ) define-inline ]
-    [ verify-messages get set-at ]
-    2bi ;
->>
-
-X509_V_: OK 0
-X509_V_: ERR_UNABLE_TO_GET_ISSUER_CERT 2
-X509_V_: ERR_UNABLE_TO_GET_CRL 3
-X509_V_: ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4
-X509_V_: ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5
-X509_V_: ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6
-X509_V_: ERR_CERT_SIGNATURE_FAILURE 7
-X509_V_: ERR_CRL_SIGNATURE_FAILURE 8
-X509_V_: ERR_CERT_NOT_YET_VALID 9
-X509_V_: ERR_CERT_HAS_EXPIRED 10
-X509_V_: ERR_CRL_NOT_YET_VALID 11
-X509_V_: ERR_CRL_HAS_EXPIRED 12
-X509_V_: ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13
-X509_V_: ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14
-X509_V_: ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15
-X509_V_: ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16
-X509_V_: ERR_OUT_OF_MEM 17
-X509_V_: ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18
-X509_V_: ERR_SELF_SIGNED_CERT_IN_CHAIN 19
-X509_V_: ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20
-X509_V_: ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21
-X509_V_: ERR_CERT_CHAIN_TOO_LONG 22
-X509_V_: ERR_CERT_REVOKED 23
-X509_V_: ERR_INVALID_CA 24
-X509_V_: ERR_PATH_LENGTH_EXCEEDED 25
-X509_V_: ERR_INVALID_PURPOSE 26
-X509_V_: ERR_CERT_UNTRUSTED 27
-X509_V_: ERR_CERT_REJECTED 28
-X509_V_: ERR_SUBJECT_ISSUER_MISMATCH 29
-X509_V_: ERR_AKID_SKID_MISMATCH 30
-X509_V_: ERR_AKID_ISSUER_SERIAL_MISMATCH 31
-X509_V_: ERR_KEYUSAGE_NO_CERTSIGN 32
-X509_V_: ERR_UNABLE_TO_GET_CRL_ISSUER 33
-X509_V_: ERR_UNHANDLED_CRITICAL_EXTENSION 34
-X509_V_: ERR_KEYUSAGE_NO_CRL_SIGN 35
-X509_V_: ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36
-X509_V_: ERR_INVALID_NON_CA 37
-X509_V_: ERR_PROXY_PATH_LENGTH_EXCEEDED 38
-X509_V_: ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39
-X509_V_: ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40
-X509_V_: ERR_APPLICATION_VERIFICATION 50
+ENUM: X509_V_ERROR
+    X509_V_ERR_OK
+    { X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 }
+    X509_V_ERR_UNABLE_TO_GET_CRL
+    X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE
+    X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE
+    X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY
+    X509_V_ERR_CERT_SIGNATURE_FAILURE
+    X509_V_ERR_CRL_SIGNATURE_FAILURE
+    X509_V_ERR_CERT_NOT_YET_VALID
+    X509_V_ERR_CERT_HAS_EXPIRED
+    X509_V_ERR_CRL_NOT_YET_VALID
+    X509_V_ERR_CRL_HAS_EXPIRED
+    X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD
+    X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD
+    X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD
+    X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD
+    X509_V_ERR_OUT_OF_MEM
+    X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT
+    X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN
+    X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY
+    X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE
+    X509_V_ERR_CERT_CHAIN_TOO_LONG
+    X509_V_ERR_CERT_REVOKED
+    X509_V_ERR_INVALID_CA
+    X509_V_ERR_PATH_LENGTH_EXCEEDED
+    X509_V_ERR_INVALID_PURPOSE
+    X509_V_ERR_CERT_UNTRUSTED
+    X509_V_ERR_CERT_REJECTED
+    X509_V_ERR_SUBJECT_ISSUER_MISMATCH
+    X509_V_ERR_AKID_SKID_MISMATCH
+    X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH
+    X509_V_ERR_KEYUSAGE_NO_CERTSIGN
+    X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER
+    X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION
+    X509_V_ERR_KEYUSAGE_NO_CRL_SIGN
+    X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION
+    X509_V_ERR_INVALID_NON_CA
+    X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED
+    X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE
+    X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED
+    { X509_V_ERR_APPLICATION_VERIFICATION 50 } ;
 
 ! ===============================================
 ! obj_mac.h