亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? test.hpp

?? mysql-5.0.24源碼包
?? HPP
字號:
// test.hpp#ifndef yaSSL_TEST_HPP#define yaSSL_TEST_HPP#include "runtime.hpp"#include "openssl/ssl.h"   /* openssl compatibility test */#include <stdio.h>#include <stdlib.h>#include <assert.h>#ifdef _WIN32    #include <winsock2.h>    #include <process.h>    #define SOCKET_T unsigned int#else    #include <string.h>    #include <unistd.h>    #include <netinet/in.h>    #include <arpa/inet.h>    #include <sys/ioctl.h>    #include <sys/time.h>    #include <sys/types.h>    #include <sys/socket.h>    #include <pthread.h>    #define SOCKET_T int#endif /* _WIN32 */#if !defined(_SOCKLEN_T) && (defined(__MACH__) || defined(_WIN32))    typedef int socklen_t;#endif// HPUX doesn't use socklent_t for third parameter to accept#if !defined(__hpux)    typedef socklen_t* ACCEPT_THIRD_T;#else    typedef int*       ACCEPT_THIRD_T;// HPUX does not define _POSIX_THREADS as it's not _fully_ implemented#ifndef _POSIX_THREADS#define _POSIX_THREADS#endif#endif#ifndef _POSIX_THREADS    typedef unsigned int  THREAD_RETURN;    typedef unsigned long THREAD_TYPE;    #define YASSL_API __stdcall#else    typedef void*         THREAD_RETURN;    typedef pthread_t     THREAD_TYPE;    #define YASSL_API #endifstruct tcp_ready {#ifdef _POSIX_THREADS    pthread_mutex_t mutex_;    pthread_cond_t  cond_;    bool            ready_;   // predicate    tcp_ready() : ready_(false)    {        pthread_mutex_init(&mutex_, 0);        pthread_cond_init(&cond_, 0);    }    ~tcp_ready()    {        pthread_mutex_destroy(&mutex_);        pthread_cond_destroy(&cond_);    }#endif};    struct func_args {    int    argc;    char** argv;    int    return_code;    tcp_ready* signal_;    func_args(int c = 0, char** v = 0) : argc(c), argv(v) {}    void SetSignal(tcp_ready* p) { signal_ = p; }};typedef THREAD_RETURN YASSL_API THREAD_FUNC(void*);void start_thread(THREAD_FUNC, func_args*, THREAD_TYPE*);void join_thread(THREAD_TYPE);// yaSSLconst char* const    yasslIP   = "127.0.0.1";const unsigned short yasslPort = 11111;// clientconst char* const cert = "../certs/client-cert.pem";const char* const key  = "../certs/client-key.pem";const char* const certSuite = "../../certs/client-cert.pem";const char* const keySuite  = "../../certs/client-key.pem";const char* const certDebug = "../../../certs/client-cert.pem";const char* const keyDebug  = "../../../certs/client-key.pem";// serverconst char* const svrCert = "../certs/server-cert.pem";const char* const svrKey  = "../certs/server-key.pem";const char* const svrCert2 = "../../certs/server-cert.pem";const char* const svrKey2  = "../../certs/server-key.pem";const char* const svrCert3 = "../../../certs/server-cert.pem";const char* const svrKey3  = "../../../certs/server-key.pem";// server dsaconst char* const dsaCert = "../certs/dsa-cert.pem";const char* const dsaKey  = "../certs/dsa512.der";const char* const dsaCert2 = "../../certs/dsa-cert.pem";const char* const dsaKey2  = "../../certs/dsa512.der";const char* const dsaCert3 = "../../../certs/dsa-cert.pem";const char* const dsaKey3  = "../../../certs/dsa512.der";// CA const char* const caCert  = "../certs/ca-cert.pem";const char* const caCert2 = "../../certs/ca-cert.pem";const char* const caCert3 = "../../../certs/ca-cert.pem";using namespace yaSSL;inline void err_sys(const char* msg){    printf("yassl error: %s\n", msg);    exit(EXIT_FAILURE);}inline void store_ca(SSL_CTX* ctx){    // To allow testing from serveral dirs    if (SSL_CTX_load_verify_locations(ctx, caCert, 0) != SSL_SUCCESS)        if (SSL_CTX_load_verify_locations(ctx, caCert2, 0) != SSL_SUCCESS)            if (SSL_CTX_load_verify_locations(ctx, caCert3, 0) != SSL_SUCCESS)                err_sys("failed to use certificate: certs/cacert.pem");    // load client CA for server verify    if (SSL_CTX_load_verify_locations(ctx, cert, 0) != SSL_SUCCESS)        if (SSL_CTX_load_verify_locations(ctx, certSuite, 0) != SSL_SUCCESS)            if (SSL_CTX_load_verify_locations(ctx, certDebug,0) != SSL_SUCCESS)                err_sys("failed to use certificate: certs/client-cert.pem");}// clientinline void set_certs(SSL_CTX* ctx){    store_ca(ctx);    // To allow testing from serveral dirs    if (SSL_CTX_use_certificate_file(ctx, cert, SSL_FILETYPE_PEM)        != SSL_SUCCESS)        if (SSL_CTX_use_certificate_file(ctx, certSuite, SSL_FILETYPE_PEM)            != SSL_SUCCESS)            if (SSL_CTX_use_certificate_file(ctx, certDebug, SSL_FILETYPE_PEM)                != SSL_SUCCESS)                err_sys("failed to use certificate: certs/client-cert.pem");        // To allow testing from several dirs    if (SSL_CTX_use_PrivateKey_file(ctx, key, SSL_FILETYPE_PEM)         != SSL_SUCCESS)          if (SSL_CTX_use_PrivateKey_file(ctx, keySuite, SSL_FILETYPE_PEM)            != SSL_SUCCESS)                 if (SSL_CTX_use_PrivateKey_file(ctx,keyDebug,SSL_FILETYPE_PEM)                    != SSL_SUCCESS)                     err_sys("failed to use key file: certs/client-key.pem");}// serverinline void set_serverCerts(SSL_CTX* ctx){    store_ca(ctx);    // To allow testing from serveral dirs    if (SSL_CTX_use_certificate_file(ctx, svrCert, SSL_FILETYPE_PEM)        != SSL_SUCCESS)        if (SSL_CTX_use_certificate_file(ctx, svrCert2, SSL_FILETYPE_PEM)            != SSL_SUCCESS)            if (SSL_CTX_use_certificate_file(ctx, svrCert3, SSL_FILETYPE_PEM)                != SSL_SUCCESS)                err_sys("failed to use certificate: certs/server-cert.pem");        // To allow testing from several dirs    if (SSL_CTX_use_PrivateKey_file(ctx, svrKey, SSL_FILETYPE_PEM)         != SSL_SUCCESS)          if (SSL_CTX_use_PrivateKey_file(ctx, svrKey2, SSL_FILETYPE_PEM)            != SSL_SUCCESS)                 if (SSL_CTX_use_PrivateKey_file(ctx, svrKey3,SSL_FILETYPE_PEM)                    != SSL_SUCCESS)                     err_sys("failed to use key file: certs/server-key.pem");}// dsa serverinline void set_dsaServerCerts(SSL_CTX* ctx){    store_ca(ctx);    // To allow testing from serveral dirs    if (SSL_CTX_use_certificate_file(ctx, dsaCert, SSL_FILETYPE_PEM)        != SSL_SUCCESS)        if (SSL_CTX_use_certificate_file(ctx, dsaCert2, SSL_FILETYPE_PEM)            != SSL_SUCCESS)            if (SSL_CTX_use_certificate_file(ctx, dsaCert3, SSL_FILETYPE_PEM)                != SSL_SUCCESS)                err_sys("failed to use certificate: certs/dsa-cert.pem");        // To allow testing from several dirs    if (SSL_CTX_use_PrivateKey_file(ctx, dsaKey, SSL_FILETYPE_ASN1)         != SSL_SUCCESS)          if (SSL_CTX_use_PrivateKey_file(ctx, dsaKey2, SSL_FILETYPE_ASN1)            != SSL_SUCCESS)                 if (SSL_CTX_use_PrivateKey_file(ctx, dsaKey3,SSL_FILETYPE_ASN1)                    != SSL_SUCCESS)                     err_sys("failed to use key file: certs/dsa512.der");}inline void set_args(int& argc, char**& argv, func_args& args){    argc = args.argc;    argv = args.argv;    args.return_code = -1; // error state}inline void tcp_socket(SOCKET_T& sockfd, sockaddr_in& addr){    sockfd = socket(AF_INET, SOCK_STREAM, 0);    memset(&addr, 0, sizeof(addr));    addr.sin_family = AF_INET;    addr.sin_port = htons(yasslPort);    addr.sin_addr.s_addr = inet_addr(yasslIP);}inline void tcp_connect(SOCKET_T& sockfd){    sockaddr_in addr;    tcp_socket(sockfd, addr);    if (connect(sockfd, (const sockaddr*)&addr, sizeof(addr)) != 0)        err_sys("tcp connect failed");}inline void tcp_listen(SOCKET_T& sockfd){    sockaddr_in addr;    tcp_socket(sockfd, addr);    if (bind(sockfd, (const sockaddr*)&addr, sizeof(addr)) != 0)        err_sys("tcp bind failed");    if (listen(sockfd, 3) != 0)        err_sys("tcp listen failed");}inline void tcp_accept(SOCKET_T& sockfd, int& clientfd, func_args& args){    tcp_listen(sockfd);    sockaddr_in client;    socklen_t client_len = sizeof(client);#if defined(_POSIX_THREADS) && defined(NO_MAIN_DRIVER)    // signal ready to tcp_accept    tcp_ready& ready = *args.signal_;    pthread_mutex_lock(&ready.mutex_);    ready.ready_ = true;    pthread_cond_signal(&ready.cond_);    pthread_mutex_unlock(&ready.mutex_);#endif    clientfd = accept(sockfd, (sockaddr*)&client, (ACCEPT_THIRD_T)&client_len);    if (clientfd == -1)        err_sys("tcp accept failed");}inline void showPeer(SSL* ssl){    X509* peer = SSL_get_peer_certificate(ssl);    if (peer) {        char* issuer  = X509_NAME_oneline(X509_get_issuer_name(peer), 0, 0);        char* subject = X509_NAME_oneline(X509_get_subject_name(peer), 0, 0);        printf("peer's cert info:\n");        printf("issuer : %s\n", issuer);        printf("subject: %s\n", subject);        free(subject);        free(issuer);    }    else        printf("peer has no cert!\n");}inline DH* set_tmpDH(SSL_CTX* ctx){    static unsigned char dh512_p[] =    {      0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89,0xD0,0xE4,0xAF,0x75,      0x6F,0x4C,0xCA,0x92,0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F,      0xED,0x94,0xEF,0x9C,0x8A,0x44,0x03,0xED,0x57,0x46,0x50,0xD3,      0x69,0x99,0xDB,0x29,0xD7,0x76,0x27,0x6B,0xA2,0xD3,0xD4,0x12,      0xE2,0x18,0xF4,0xDD,0x1E,0x08,0x4C,0xF6,0xD8,0x00,0x3E,0x7C,      0x47,0x74,0xE8,0x33,    };    static unsigned char dh512_g[] =    {      0x02,    };    DH* dh;    if ( (dh = DH_new()) ) {        dh->p = BN_bin2bn(dh512_p, sizeof(dh512_p), 0);        dh->g = BN_bin2bn(dh512_g, sizeof(dh512_g), 0);    }    if (!dh->p || !dh->g) {        DH_free(dh);        dh = 0;    }    SSL_CTX_set_tmp_dh(ctx, dh);    return dh;}#endif // yaSSL_TEST_HPP

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久在线免费观看| 老司机一区二区| 风间由美性色一区二区三区| 日韩精品一区二区三区视频在线观看 | 亚洲欧洲成人自拍| 91网站在线观看视频| 一区二区久久久| 欧美一区二区三区视频| 精品一区二区三区免费播放| 久久免费看少妇高潮| www.av精品| 午夜私人影院久久久久| 日韩欧美123| 丰满亚洲少妇av| 亚洲一区二区av电影| 91精品国产色综合久久不卡蜜臀 | 麻豆国产一区二区| 久久综合国产精品| 91亚洲大成网污www| 日韩中文字幕1| 国产日韩影视精品| 在线免费精品视频| 精品影院一区二区久久久| 欧美国产精品一区二区三区| 欧美在线观看一区二区| 久久爱www久久做| 国产精品久久久久久久久搜平片| 91美女蜜桃在线| 蜜乳av一区二区| 国产精品蜜臀在线观看| 欧美久久久久中文字幕| 国产91精品露脸国语对白| 五月天精品一区二区三区| 久久免费的精品国产v∧| 91国偷自产一区二区三区观看| 日韩二区在线观看| 亚洲色图制服诱惑| 精品日韩99亚洲| 91福利视频久久久久| 久久不见久久见免费视频1| 亚洲已满18点击进入久久| wwwwww.欧美系列| 天堂成人国产精品一区| 国产精品久久久久一区二区三区共| 欧美日韩的一区二区| 99在线热播精品免费| 久久99精品久久久久久国产越南 | 中文字幕五月欧美| 欧美一激情一区二区三区| www.欧美色图| 国产一区二区伦理| 日韩精品亚洲专区| 亚洲综合激情网| 亚洲人成伊人成综合网小说| 2欧美一区二区三区在线观看视频| 色噜噜偷拍精品综合在线| 国产精品亚洲一区二区三区在线 | 久久综合狠狠综合久久综合88| 91黄色免费看| a在线欧美一区| 国产宾馆实践打屁股91| 老汉av免费一区二区三区 | 亚洲免费观看在线观看| 国产丝袜欧美中文另类| 日韩亚洲欧美综合| 欧美日韩精品免费| 欧美视频在线观看一区二区| 亚洲一卡二卡三卡四卡五卡| 亚洲免费观看高清| 国产精品国产自产拍高清av | 亚洲一区二区三区在线| 亚洲欧美欧美一区二区三区| 国产精品看片你懂得| 久久久久久久精| 久久久久成人黄色影片| 26uuu精品一区二区| 成人av影院在线| 成人免费高清在线观看| 成人动漫一区二区在线| av在线播放成人| 91国内精品野花午夜精品| 欧美亚洲综合网| 欧美人狂配大交3d怪物一区| 欧美日韩高清在线播放| 欧美日本一区二区| 日韩欧美高清在线| 精品奇米国产一区二区三区| 久久在线免费观看| 91久久免费观看| 欧美日韩精品二区第二页| 欧美日韩一区不卡| 欧美大尺度电影在线| 久久久久综合网| 中文字幕一区二区三区不卡在线 | 一区二区三国产精华液| 亚洲一区二区视频| 免费成人av在线播放| 韩国女主播一区| 成人avav影音| 日本欧美在线看| 韩国中文字幕2020精品| 国产精品亚洲成人| 色欧美片视频在线观看在线视频| 欧美在线不卡一区| 欧美成人精品1314www| 国产三级欧美三级日产三级99| 国产精品久久午夜| 婷婷成人激情在线网| 国产一区二区主播在线| 99久免费精品视频在线观看| 欧美精品 日韩| 91在线码无精品| 欧美午夜电影一区| 精品福利视频一区二区三区| 国产精品动漫网站| 日韩精品欧美精品| av电影天堂一区二区在线| 欧美日韩一区三区| 国产欧美日本一区二区三区| 亚洲亚洲精品在线观看| 国产麻豆视频精品| 在线观看一区二区视频| 精品久久国产97色综合| 亚洲精品欧美在线| 日韩欧美成人一区| 亚洲伦理在线免费看| 老鸭窝一区二区久久精品| 色综合欧美在线| 精品国产一区久久| 亚洲第一综合色| 成人动漫一区二区三区| 日韩久久精品一区| 亚洲自拍偷拍欧美| 成人免费视频视频在线观看免费| 欧洲精品一区二区三区在线观看| 精品电影一区二区| 日韩一区欧美二区| 91在线观看一区二区| 日韩一级高清毛片| 亚洲在线观看免费| 99久久久久久| 久久久久久久电影| 久久超碰97中文字幕| 在线91免费看| 亚洲一区二区在线播放相泽| 91在线云播放| 中文字幕在线视频一区| 国产高清亚洲一区| 精品成a人在线观看| 美女视频网站黄色亚洲| 精品视频在线免费观看| 樱花影视一区二区| 91在线视频在线| 综合久久综合久久| 国产成人av自拍| 久久久不卡影院| 国产综合久久久久久鬼色| 日韩精品中文字幕一区| 日韩av中文在线观看| 制服丝袜亚洲网站| 日韩精彩视频在线观看| 欧美日韩一区二区欧美激情 | 免费一级片91| 51午夜精品国产| 青青草国产成人av片免费| 精品视频色一区| 视频在线在亚洲| 欧美一区二区三区四区五区| 天堂影院一区二区| 欧美精品色综合| 美女视频网站黄色亚洲| 精品三级在线观看| 国产福利一区二区三区| 国产婷婷色一区二区三区四区| 中文字幕的久久| 成人av免费网站| 亚洲欧美日韩电影| 欧美日韩国产综合一区二区三区| 亚洲亚洲精品在线观看| 欧美二区在线观看| 久久亚洲综合色一区二区三区 | 日本aⅴ亚洲精品中文乱码| 91精品国产综合久久小美女| 免费在线观看不卡| 2017欧美狠狠色| 国产91对白在线观看九色| 亚洲男同性视频| 欧美日韩成人综合| 久久se这里有精品| 中文字幕中文字幕一区二区 | 亚洲人成网站色在线观看| 欧美性受xxxx| 久久精品国产亚洲a| 国产欧美一区二区精品仙草咪| 成人一级片网址| 亚洲国产色一区| 26uuuu精品一区二区| 91蜜桃在线观看| 日本不卡一区二区三区 | 欧美白人最猛性xxxxx69交|