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
parent
483325d0f0
commit
0d8338ceb8
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue