[dpdk-users] Sequence Number
Konstantinos Schoinas
ece8537 at upnet.gr
Wed Aug 15 11:22:14 CEST 2018
-------- Αρχικό μήνυμα --------
Θέμα: Sequence Number
Ημερομηνία: 2018-08-15 12:21
Αποστολέας: Konstantinos Schoinas <ece8537 at upnet.gr>
Παραλήπτης: users <users-bounces at dpdk.org>
Hello,
I am building an application blocks TLS session if i find a sepcific
forbidden Server Name Indication.
According to RFC i must make a response with Fatal Error (2)
unrecognized name(112).
When i receive the Client Hello and after i Extract the SNI and check it
against a black list i do process the client hello in order to response
to client and terminate the session.
Although i am getting a lot of retransmit packets on wireshark so i
suppose i am doing something wrong.
I think i mights have seq and ack number wrong or something.If anyone
could help i would appreciate.
Here is the process of the packet after i check for the forbidden SNI:
uint32_t client_receive_ack = ntohl(th->recv_ack);
uint32_t client_send_seq = ntohl(th->sent_seq);
th->sent_seq = th->recv_ack;
th->recv_ack = htonl(client_send_seq + ntohs(iphdr->total_length));
uint16_t l = ntohs(ssl->length)-0x02;
uint16_t ip_l = ntohs(iphdr->total_length) - l;
rte_pktmbuf_trim(m,l);
iphdr->total_length = htons(ip_l);
ssl->length = htons(2);
alert = (struct Alert *)((uint8_t *)ssl + 5);
iphdr->src_addr = dst_ip;
iphdr->dst_addr = src_ip;
th->src_port = dst_port;
th->dst_port = src_port;
ssl->type = 21; //alert message
alert->type = 2; // fatal error
alert->description = 112; // Unrecognized name
iphdr->hdr_checksum = 0;
th->cksum = 0;
iphdr->hdr_checksum = rte_ipv4_cksum(iphdr);
th->cksum = rte_ipv4_udptcp_cksum(iphdr,th);
Thanks for your time
More information about the users
mailing list