io.sockets.secure.openssl,openssl.libssl: ENUM: over syntax

The enum does the same thing as the custom syntax did and is a little
easier to understand.
modern-harvey2
Björn Lindqvist 2017-06-24 16:46:00 +02:00
parent 483325d0f0
commit 0d8338ceb8
2 changed files with 55 additions and 71 deletions

View File

@ -1,13 +1,13 @@
! Copyright (C) 2007, 2008, Slava Pestov, Elie CHAFTARI. ! Copyright (C) 2007, 2008, Slava Pestov, Elie CHAFTARI.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien alien.c-types alien.data alien.strings USING: accessors alien alien.c-types alien.data alien.enums
assocs byte-arrays classes.struct combinators alien.strings assocs byte-arrays classes.struct combinators
combinators.short-circuit destructors fry io io.backend combinators.short-circuit destructors fry io io.backend io.binary
io.binary io.buffers io.encodings.8-bit.latin1 io.encodings.utf8 io.buffers io.encodings.8-bit.latin1 io.encodings.utf8 io.files
io.files io.pathnames io.ports io.sockets io.sockets.secure io.pathnames io.ports io.sockets io.sockets.secure io.timeouts kernel
io.timeouts kernel libc locals math math.functions math.order libc locals math math.functions math.order math.parser memoize
math.parser memoize namespaces openssl openssl.libcrypto namespaces openssl openssl.libcrypto openssl.libssl random sequences
openssl.libssl random sequences sets splitting unicode ; sets splitting unicode ;
IN: io.sockets.secure.openssl IN: io.sockets.secure.openssl
GENERIC: ssl-method ( symbol -- method ) GENERIC: ssl-method ( symbol -- method )
@ -323,8 +323,8 @@ M: ssl-handle dispose*
] with-destructors ; ] with-destructors ;
: check-verify-result ( ssl-handle -- ) : check-verify-result ( ssl-handle -- )
SSL_get_verify_result dup X509_V_OK = SSL_get_verify_result X509_V_ERROR number>enum dup X509_V_ERR_OK =
[ drop ] [ verify-message certificate-verify-error ] if ; [ drop ] [ certificate-verify-error ] if ;
: x509name>string ( x509name -- string ) : x509name>string ( x509name -- string )
NID_commonName 256 <byte-array> NID_commonName 256 <byte-array>

View File

@ -1,10 +1,9 @@
! Copyright (C) 2007 Elie CHAFTARI ! Copyright (C) 2007 Elie CHAFTARI
! Portions copyright (C) 2008 Slava Pestov ! Portions copyright (C) 2008 Slava Pestov
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.destructors alien.libraries alien.parser USING: alien alien.c-types alien.destructors alien.libraries
alien.syntax assocs classes.struct combinators kernel lexer alien.parser alien.syntax classes.struct combinators kernel literals
literals namespaces openssl.libcrypto parser quotations namespaces openssl.libcrypto system ;
sequences system words ;
IN: openssl.libssl IN: openssl.libssl
@ -513,63 +512,48 @@ FUNCTION: void SSL_CTX_set_tmp_rsa_callback ( SSL_CTX* ctx, void* rsa )
! =============================================== ! ===============================================
! x509_vfy.h ! x509_vfy.h
! =============================================== ! ===============================================
<< ENUM: X509_V_ERROR
X509_V_ERR_OK
SYMBOL: verify-messages { X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 }
X509_V_ERR_UNABLE_TO_GET_CRL
H{ } clone verify-messages set-global X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE
X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE
: verify-message ( n -- word ) verify-messages get-global at ; X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY
X509_V_ERR_CERT_SIGNATURE_FAILURE
SYNTAX: X509_V_: X509_V_ERR_CRL_SIGNATURE_FAILURE
scan-token "X509_V_" prepend create-word-in X509_V_ERR_CERT_NOT_YET_VALID
scan-number X509_V_ERR_CERT_HAS_EXPIRED
[ 1quotation ( -- value ) define-inline ] X509_V_ERR_CRL_NOT_YET_VALID
[ verify-messages get set-at ] X509_V_ERR_CRL_HAS_EXPIRED
2bi ; 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_: OK 0 X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD
X509_V_: ERR_UNABLE_TO_GET_ISSUER_CERT 2 X509_V_ERR_OUT_OF_MEM
X509_V_: ERR_UNABLE_TO_GET_CRL 3 X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT
X509_V_: ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN
X509_V_: ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY
X509_V_: ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE
X509_V_: ERR_CERT_SIGNATURE_FAILURE 7 X509_V_ERR_CERT_CHAIN_TOO_LONG
X509_V_: ERR_CRL_SIGNATURE_FAILURE 8 X509_V_ERR_CERT_REVOKED
X509_V_: ERR_CERT_NOT_YET_VALID 9 X509_V_ERR_INVALID_CA
X509_V_: ERR_CERT_HAS_EXPIRED 10 X509_V_ERR_PATH_LENGTH_EXCEEDED
X509_V_: ERR_CRL_NOT_YET_VALID 11 X509_V_ERR_INVALID_PURPOSE
X509_V_: ERR_CRL_HAS_EXPIRED 12 X509_V_ERR_CERT_UNTRUSTED
X509_V_: ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 X509_V_ERR_CERT_REJECTED
X509_V_: ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 X509_V_ERR_SUBJECT_ISSUER_MISMATCH
X509_V_: ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 X509_V_ERR_AKID_SKID_MISMATCH
X509_V_: ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH
X509_V_: ERR_OUT_OF_MEM 17 X509_V_ERR_KEYUSAGE_NO_CERTSIGN
X509_V_: ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER
X509_V_: ERR_SELF_SIGNED_CERT_IN_CHAIN 19 X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION
X509_V_: ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 X509_V_ERR_KEYUSAGE_NO_CRL_SIGN
X509_V_: ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION
X509_V_: ERR_CERT_CHAIN_TOO_LONG 22 X509_V_ERR_INVALID_NON_CA
X509_V_: ERR_CERT_REVOKED 23 X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED
X509_V_: ERR_INVALID_CA 24 X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE
X509_V_: ERR_PATH_LENGTH_EXCEEDED 25 X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED
X509_V_: ERR_INVALID_PURPOSE 26 { X509_V_ERR_APPLICATION_VERIFICATION 50 } ;
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
! =============================================== ! ===============================================
! obj_mac.h ! obj_mac.h