123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- // Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- #ifndef _SSL_CODE_H_
- #define _SSL_CODE_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "ssl3.h"
- #include "tls1.h"
- #include "x509_vfy.h"
- /* Used in SSL_set_shutdown()/SSL_get_shutdown(); */
- # define SSL_SENT_SHUTDOWN 1
- # define SSL_RECEIVED_SHUTDOWN 2
- # define SSL_VERIFY_NONE 0x00
- # define SSL_VERIFY_PEER 0x01
- # define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
- # define SSL_VERIFY_CLIENT_ONCE 0x04
- /*
- * The following 3 states are kept in ssl->rlayer.rstate when reads fail, you
- * should not need these
- */
- # define SSL_ST_READ_HEADER 0xF0
- # define SSL_ST_READ_BODY 0xF1
- # define SSL_ST_READ_DONE 0xF2
- # define SSL_NOTHING 1
- # define SSL_WRITING 2
- # define SSL_READING 3
- # define SSL_X509_LOOKUP 4
- # define SSL_ASYNC_PAUSED 5
- # define SSL_ASYNC_NO_JOBS 6
- # define SSL_ERROR_NONE 0
- # define SSL_ERROR_SSL 1
- # define SSL_ERROR_WANT_READ 2
- # define SSL_ERROR_WANT_WRITE 3
- # define SSL_ERROR_WANT_X509_LOOKUP 4
- # define SSL_ERROR_SYSCALL 5/* look at error stack/return value/errno */
- # define SSL_ERROR_ZERO_RETURN 6
- # define SSL_ERROR_WANT_CONNECT 7
- # define SSL_ERROR_WANT_ACCEPT 8
- # define SSL_ERROR_WANT_ASYNC 9
- # define SSL_ERROR_WANT_ASYNC_JOB 10
- /* Message flow states */
- typedef enum {
- /* No handshake in progress */
- MSG_FLOW_UNINITED,
- /* A permanent error with this connection */
- MSG_FLOW_ERROR,
- /* We are about to renegotiate */
- MSG_FLOW_RENEGOTIATE,
- /* We are reading messages */
- MSG_FLOW_READING,
- /* We are writing messages */
- MSG_FLOW_WRITING,
- /* Handshake has finished */
- MSG_FLOW_FINISHED
- } MSG_FLOW_STATE;
- /* SSL subsystem states */
- typedef enum {
- TLS_ST_BEFORE,
- TLS_ST_OK,
- DTLS_ST_CR_HELLO_VERIFY_REQUEST,
- TLS_ST_CR_SRVR_HELLO,
- TLS_ST_CR_CERT,
- TLS_ST_CR_CERT_STATUS,
- TLS_ST_CR_KEY_EXCH,
- TLS_ST_CR_CERT_REQ,
- TLS_ST_CR_SRVR_DONE,
- TLS_ST_CR_SESSION_TICKET,
- TLS_ST_CR_CHANGE,
- TLS_ST_CR_FINISHED,
- TLS_ST_CW_CLNT_HELLO,
- TLS_ST_CW_CERT,
- TLS_ST_CW_KEY_EXCH,
- TLS_ST_CW_CERT_VRFY,
- TLS_ST_CW_CHANGE,
- TLS_ST_CW_NEXT_PROTO,
- TLS_ST_CW_FINISHED,
- TLS_ST_SW_HELLO_REQ,
- TLS_ST_SR_CLNT_HELLO,
- DTLS_ST_SW_HELLO_VERIFY_REQUEST,
- TLS_ST_SW_SRVR_HELLO,
- TLS_ST_SW_CERT,
- TLS_ST_SW_KEY_EXCH,
- TLS_ST_SW_CERT_REQ,
- TLS_ST_SW_SRVR_DONE,
- TLS_ST_SR_CERT,
- TLS_ST_SR_KEY_EXCH,
- TLS_ST_SR_CERT_VRFY,
- TLS_ST_SR_NEXT_PROTO,
- TLS_ST_SR_CHANGE,
- TLS_ST_SR_FINISHED,
- TLS_ST_SW_SESSION_TICKET,
- TLS_ST_SW_CERT_STATUS,
- TLS_ST_SW_CHANGE,
- TLS_ST_SW_FINISHED
- } OSSL_HANDSHAKE_STATE;
- #ifdef __cplusplus
- }
- #endif
- #endif
|