1a74702c6SGeorge Wang/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ 255cd0b38SDmitri Tikhonov#include <assert.h> 355cd0b38SDmitri Tikhonov#include <stdio.h> 455cd0b38SDmitri Tikhonov#include <stdlib.h> 555cd0b38SDmitri Tikhonov#include <string.h> 65392f7a3SLiteSpeed Tech#include <sys/queue.h> 755cd0b38SDmitri Tikhonov 855cd0b38SDmitri Tikhonov#include "lsquic.h" 955cd0b38SDmitri Tikhonov#include "lsquic_int_types.h" 105392f7a3SLiteSpeed Tech#include "lsquic_hash.h" 1155cd0b38SDmitri Tikhonov#include "lsquic_conn.h" 1255cd0b38SDmitri Tikhonov 1355cd0b38SDmitri Tikhonov#include "lsquic_qlog.h" 1455cd0b38SDmitri Tikhonov 1555cd0b38SDmitri Tikhonov#define LSQUIC_LOGGER_MODULE LSQLM_NOMODULE 1655cd0b38SDmitri Tikhonov#include "lsquic_logger.h" 1755cd0b38SDmitri Tikhonov 1855cd0b38SDmitri Tikhonov 1955cd0b38SDmitri Tikhonovint 2055cd0b38SDmitri Tikhonovmain (void) 2155cd0b38SDmitri Tikhonov{ 229b4d33c7SDmitri Tikhonov lsquic_global_init(LSQUIC_GLOBAL_CLIENT | LSQUIC_GLOBAL_CLIENT); 2355cd0b38SDmitri Tikhonov lsquic_log_to_fstream(stderr, LLTS_HHMMSSMS); 2455cd0b38SDmitri Tikhonov lsquic_set_log_level("debug"); 2555cd0b38SDmitri Tikhonov 2655cd0b38SDmitri Tikhonov lsquic_qlog_create_connection(0, NULL, NULL); 2755cd0b38SDmitri Tikhonov struct in_addr local_addr = {.s_addr = htonl(0x0a000001),}; 2855cd0b38SDmitri Tikhonov struct sockaddr_in local = 2955cd0b38SDmitri Tikhonov { 3055cd0b38SDmitri Tikhonov .sin_family = AF_INET, 3155cd0b38SDmitri Tikhonov .sin_port = htons(12345), 3255cd0b38SDmitri Tikhonov .sin_addr = local_addr, 3355cd0b38SDmitri Tikhonov }; 3455cd0b38SDmitri Tikhonov struct in_addr peer_addr = {.s_addr = htonl(0x0a000002),}; 3555cd0b38SDmitri Tikhonov struct sockaddr_in peer = 3655cd0b38SDmitri Tikhonov { 3755cd0b38SDmitri Tikhonov .sin_family = AF_INET, 3855cd0b38SDmitri Tikhonov .sin_port = htons(443), 3955cd0b38SDmitri Tikhonov .sin_addr = peer_addr, 4055cd0b38SDmitri Tikhonov }; 41fb3e20e0SDmitri Tikhonov lsquic_cid_t cid; memset(&cid, 0, sizeof(cid)); 425392f7a3SLiteSpeed Tech lsquic_qlog_create_connection(&cid, (const struct sockaddr *)&local, 4355cd0b38SDmitri Tikhonov (const struct sockaddr *)&peer); 4455cd0b38SDmitri Tikhonov 455392f7a3SLiteSpeed Tech lsquic_qlog_packet_rx(&cid, NULL, NULL, 0); 465392f7a3SLiteSpeed Tech lsquic_qlog_hsk_completed(&cid); 477483dee0SDmitri Tikhonov lsquic_qlog_sess_resume(&cid); 485392f7a3SLiteSpeed Tech lsquic_qlog_check_certs(&cid, NULL, 0); 495392f7a3SLiteSpeed Tech 505392f7a3SLiteSpeed Tech lsquic_qlog_version_negotiation(&cid, NULL, NULL); 515392f7a3SLiteSpeed Tech lsquic_qlog_version_negotiation(&cid, "proposed", NULL); 525392f7a3SLiteSpeed Tech lsquic_qlog_version_negotiation(&cid, "proposed", "Q035"); 535392f7a3SLiteSpeed Tech lsquic_qlog_version_negotiation(&cid, "proposed", "Q046"); 545392f7a3SLiteSpeed Tech lsquic_qlog_version_negotiation(&cid, "agreed", "Q044"); 555392f7a3SLiteSpeed Tech lsquic_qlog_version_negotiation(&cid, "agreed", "Q098"); 565392f7a3SLiteSpeed Tech lsquic_qlog_version_negotiation(&cid, "something else", "Q098"); 5755cd0b38SDmitri Tikhonov return 0; 5855cd0b38SDmitri Tikhonov} 59