# 福建项目:个别功能端sapp有重启现象 | ID | Creation Date | Assignee | Status | |----|----------------|----------|--------| | OMPUB-563 | 2022-07-21T10:49:51.000+0800 | 刘学利 | 已关闭 | --- IP 192.168.25.1,大概几个小时重启一次,core文件:/opt/tsg/sapp/core.226553**liuxueli** commented on *2022-07-21T13:19:26.679+0800*: * 查看core现场,DNS解析层处理长度标识跨包的逻辑存在问题导致SAPP重启: ** 版本: *** sapp-4.2.87.846204e-1.el7.x86_64 *** dns-2.1.2.20270fa-1.x86_64  ** 栈信息如下: *** {code:java} Program terminated with signal 11, Segmentation fault. #0  0x00007ffeca35f552 in get_dns_hdr_info (dns_hdr=dns_hdr@entry=0x7ff8fefc8ed0, payload=payload@entry=0x7fea80787da8
) at /usr/src/debug/dns-2.1.2.20270fa-Linux/libraries/src_0/src/dns.cpp:1052 1052        dns_hdr->qr = tmp->qr; Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.6-13.el7.x86_64 elfutils-libelf-0.168-8.el7.x86_64 elfutils-libs-0.168-8.el7.x86_64 file-libs-5.11-33.el7.x86_64 glibc-2.17-196.el7.x86_64 libMESA_field_stat-1.0.2.6d45eed-1.x86_64 libMESA_field_stat2-2.10.11.b2095aa-1.el7.x86_64 libMESA_handle_logger-2.0.8.f76af2f-1.x86_64 libMESA_htable-3.10.12.cf4ccfc-1.x86_64 libMESA_jump_layer-1.0.9.1b30b6d-1.x86_64 libMESA_prof_load-1.0.6.c6da36a-1.x86_64 libMV_Sketch-1.1.3.20220118.5473791-1.x86_64 libattr-2.4.46-12.el7.x86_64 libbreakpad_mini-1.0.7.c421107-1.x86_64 libcap-2.22-9.el7.x86_64 libcjson-1.7.11.93ffba0-1.x86_64 libdocumentanalyze-2.0.7.eb1f13b-1.x86_64 libgcc-4.8.5-16.el7.x86_64 libgcrypt-1.5.3-14.el7.x86_64 libgpg-error-1.12-3.el7.x86_64 libmaatframe-3.5.3.dd86ba5-1.x86_64 libpcap-1.5.3-9.el7.x86_64 librulescan-2.2.4.865219d-1.x86_64 libselinux-2.5-11.el7.x86_64 libstdc++-4.8.5-16.el7.x86_64 libtsglua-1.0.8.0dbf2e6-1.x86_64 mrzcpd-4.4.11.ad801d9-1.el7.x86_64 numactl-libs-2.0.9-6.el7_2.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 pcre-8.32-17.el7.x86_64 systemd-libs-219-42.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-17.el7.x86_64 (gdb) bt #0  0x00007ffeca35f552 in get_dns_hdr_info (dns_hdr=dns_hdr@entry=0x7ff8fefc8ed0, payload=payload@entry=0x7fea80787da8
) at /usr/src/debug/dns-2.1.2.20270fa-Linux/libraries/src_0/src/dns.cpp:1052 #1  0x00007ffeca360c01 in parse_dns_protocol (a_stream=a_stream@entry=0x7fff58a6e06c, opstate=3 '\003', payload=0x7fea80787da8
, payload_len=payload_len@entry=918, pme=pme@entry=0x7fecba5e76cc, thread_seq=thread_seq@entry=32, a_packet=a_packet@entry=0x7fea807880ea)     at /usr/src/debug/dns-2.1.2.20270fa-Linux/libraries/src_0/src/dns.cpp:1839 #2  0x00007ffeca361514 in DNS_TCP_ENTRY (a_tcp=0x7fff58a6e06c, pme=0x7fecba5e76cc, thread_seq=32, a_packet=0x7fea807880ea) at /usr/src/debug/dns-2.1.2.20270fa-Linux/libraries/src_0/src/dns.cpp:2113 #3  0x000000000042f2d7 in plugin_call_streamentry (type=type@entry=2, pFunInfo=pFunInfo@entry=0x7fecba5e76b4, a_stream=a_stream@entry=0x7fff58a6e06c, transport_hdr=transport_hdr@entry=0x0, thread_seq=thread_seq@entry=32, a_packet=a_packet@entry=0x7fea807880ea)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/callapp.c:308 #4  0x000000000042f950 in stream_process (a_stream=a_stream@entry=0x7fff58a6e06c, this_iphdr=0x7fea807880ea, transport_hdr=0x7fea807880fe, raw_pkt=0x7feddd1abfb4, funnum=, pfunAarry=pfunAarry@entry=0x806760 , apme=apme@entry=0x7feddbf045b4, opstate=opstate@entry=0x7fff58a6e088 "\003\003")     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/callapp.c:587 #5  0x000000000042fc77 in stream_process_tcp (a_tcp=a_tcp@entry=0x7fff58a6e06c, this_iphdr=, transport_hdr=, raw_pkt=raw_pkt@entry=0x7feddd1abfb4, apme=apme@entry=0x7feddbf045b4, popstate=popstate@entry=0x7fff58a6e088 "\003\003")     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/callapp.c:803 #6  0x0000000000432d88 in tcp_deal_unorder (pindex=pindex@entry=0x7fff58a6e04c, a_tcp=a_tcp@entry=0x7fff58a6e06c, rcv=rcv@entry=0x7fee52fd1274, orderflag=orderflag@entry=0, snd=) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_tcp.c:2130 #7  0x0000000000434387 in tcp_free_stream (pindex=0x7fff58a6e04c, this_ip_hdr=this_ip_hdr@entry=0x0, transport_hdr=transport_hdr@entry=0x0, raw_pkt=raw_pkt@entry=0x0) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_tcp.c:1309 #8  0x000000000043dcc1 in del_stream_by_time (plist=plist@entry=0x7ffff2fa82cc, current_drive_index=current_drive_index@entry=0x7fff58bbef4c) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/stream_manage.c:643 #9  0x000000000043dd75 in lrustream (pindex=pindex@entry=0x7fff58bbef4c) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/stream_manage.c:670 #10 0x0000000000435a5e in deal_tcp_stream (offset_to_raw_pkt_hdr=, raw_pkt=0x7ff8feffcd40, tcplen=231, this_tcphdr=0x7f55b119169a, this_iphdr=0x7f55b1191686, pindex=) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_tcp.c:2886 #11 dealtcppkt (pfindex=, this_iphdr=0x7f55b1191686, this_tcphdr=0x7f55b119169a, thread_num=thread_num@entry=32, routedir=routedir@entry=0 '\000', tcpdatalen=231, raw_packet=raw_packet@entry=0x7ff8feffcd40, offset_to_raw_pkt_hdr=)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_tcp.c:3039 #12 0x00000000004365c8 in dealipv4tcppkt (pfindex=pfindex@entry=0x7ff8feffcd20, this_iphdr=, thread_num=thread_num@entry=32, routedir=routedir@entry=0 '\000', raw_pkt=raw_pkt@entry=0x7ff8feffcd40, offset_to_raw_pkt_hdr=)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_tcp.c:3079 #13 0x000000000043cccf in process_ipv4_pkt (pfindex=0x7ff8feffcd20, pfindex@entry=0x7ff8feffbdf0, a_packet=, thread_num=thread_num@entry=32, routedir=routedir@entry=0 '\000', raw_pkt=raw_pkt@entry=0x7ff8feffcd40, offset_to_raw_pkt_hdr=32597)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_udp.c:926 #14 0x0000000000430bb5 in ipv4_entry (pfstream_pr=pfstream_pr@entry=0x7ff8feffbf40, this_layer_data=this_layer_data@entry=0x7f55b1191686, thread_num=32, routedir=routedir@entry=0 '\000', raw_pkt=, offset_to_raw_pkt_hdr=)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_ipv4.c:766 #15 0x0000000000443569 in gtp_entry (pfstream_pr=pfstream_pr@entry=0x7ff8feffc1a0, this_layer_data=this_layer_data@entry=0x7f55b1191672, thread_num=thread_num@entry=32, routedir=routedir@entry=0 '\000', raw_pkt=raw_pkt@entry=0x7ff8feffcd40, offset_to_raw_pkt_hdr=offset_to_raw_pkt_hdr@entry=42)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_gprs_tunnel.c:164 #16 0x000000000043c283 in dealipv4udppkt (pindex=pindex@entry=0x7ff8feffc180, this_iphdr=0x7f55b119165e, thread_num=thread_num@entry=32, routedir=routedir@entry=0 '\000', raw_pkt=raw_pkt@entry=0x7ff8feffcd40, offset_to_raw_pkt_hdr=)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_udp.c:695 #17 0x000000000043ceee in process_ipv4_pkt (pfindex=pfindex@entry=0x7ff8feffc180, a_packet=, thread_num=thread_num@entry=32, routedir=routedir@entry=0 '\000', raw_pkt=raw_pkt@entry=0x7ff8feffcd40, offset_to_raw_pkt_hdr=14) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_udp.c:931 #18 0x0000000000430bb5 in ipv4_entry (pfstream_pr=, this_layer_data=this_layer_data@entry=0x7f55b119165e, thread_num=thread_num@entry=32, routedir=routedir@entry=0 '\000', raw_pkt=, offset_to_raw_pkt_hdr=)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_ipv4.c:766 #19 0x000000000043b363 in eth_entry (fstream_pr=fstream_pr@entry=0x0, this_layer_hdr=0x7f55b1191650, thread_num=thread_num@entry=32, dir=, raw_pkt=raw_pkt@entry=0x7ff8feffcd40, offset_to_raw_pkt_hdr=offset_to_raw_pkt_hdr@entry=0)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_ethernet.c:174 #20 0x0000000000428207 in mesa_default_pkt_cb (p_raw_pkt=0x7ff8feffcd40, dir=, thread_num=32) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/packet_io/packet_io.c:649 #21 0x00000000004a51c1 in marsio4_pkt_hand (dir=0 '\000', raw_pkt=0x7ff8feffcd40, rx_buff=0x7f55b11914c0, tid=32) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/packet_io/packet_io_marsio.c:646 #22 marsio4_process_packet (tid=tid@entry=32, raw_pkt=raw_pkt@entry=0x7ff8feffcd40) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/packet_io/packet_io_marsio.c:682 #23 0x00000000004a5bb0 in marsio4_worker (arg=) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/packet_io/packet_io_marsio.c:848 #24 0x00007ffff79ade25 in start_thread () from /lib64/libpthread.so.0 #25 0x00007ffff5c0a34d in clone () from /lib64/libc.so.6 (gdb) f 6 #6  0x0000000000432d88 in tcp_deal_unorder (pindex=pindex@entry=0x7fff58a6e04c, a_tcp=a_tcp@entry=0x7fff58a6e06c, rcv=rcv@entry=0x7fee52fd1274, orderflag=orderflag@entry=0, snd=) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_tcp.c:2130 2130                            ret=stream_process_tcp(a_tcp,pakiet->this_ip_hdr,pakiet->this_tcp_hdr,&(pakiet->raw_pkt),&(pdetail_pr->apme),&(a_tcp->opstate)); (gdb) p a_tcp->addr.pkttype $1 = 4 '\004' (gdb) pakiet Undefined command: "pakiet".  Try "help". (gdb) p *pakiet $2 = {next = 0x0, prev = 0x0, this_ip_hdr = 0x7fea807880ea, this_tcp_hdr = 0x7fea807880fe, tcpdata = 0x7fea8078811e, tcpdatalen = 32, urg_ptr = 0, fin = 0 '\000', urg = 0 '\000', rst = 0 '\000', ip_reassemble_pkt = 0 '\000', seq = 3584222785, ack = 0, ipfrag_list = 0x0, raw_pkt = {magic_num = 4058174404,      offset_to_raw_pkt_hdr = 74, low_layer_type = ADDR_TYPE_MAC, __lib_raw_pkt_len = 138, raw_pkt_len = 138, hd_hash = 0, __lib_raw_pkt_data = 0x7f43f828f450, raw_pkt_data = 0x7fea807880b4, raw_pkt_ts = {tv_sec = 0, tv_usec = 0}, io_lib_pkt_reference = 0x7f43f828f2c0, route_dir = 0, device_index = 2, is_overlay_pkt = 0,      vlan_flipping_couple = {0, 0}, mac_flipping_enable = 0 '\000', diagnose_error_to_dump = 0 '\000', overlay_layer_bytes = 0 '\000', drop_current_pkt_flag = 0 '\000'}} (gdb) p *a_tcp->ptcpdetail  $3 = {pdata = 0x7fea8078811e, datalen = 32, lostlen = 1, serverpktnum = 6, clientpktnum = 4, serverbytes = 32, clientbytes = 888, createtime = 1658361013, lastmtime = 1658361013} (gdb) f 3 #3  0x000000000042f2d7 in plugin_call_streamentry (type=type@entry=2, pFunInfo=pFunInfo@entry=0x7fecba5e76b4, a_stream=a_stream@entry=0x7fff58a6e06c, transport_hdr=transport_hdr@entry=0x0, thread_seq=thread_seq@entry=32, a_packet=a_packet@entry=0x7fea807880ea)     at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/callapp.c:308 308            rec=((STREAM_CB_FUN_T)pFunInfo->pfun)(a_stream,&(pFunInfo->pAppInfo),thread_seq, a_packet); (gdb) f 2 #2  0x00007ffeca361514 in DNS_TCP_ENTRY (a_tcp=0x7fff58a6e06c, pme=0x7fecba5e76cc, thread_seq=32, a_packet=0x7fea807880ea) at /usr/src/debug/dns-2.1.2.20270fa-Linux/libraries/src_0/src/dns.cpp:2113 2113                state=parse_dns_protocol(a_tcp, a_tcp->opstate, payload, payload_len, pme, thread_seq, a_packet); (gdb) p *a_tcp->ptcpdetail  $4 = {pdata = 0x7fea8078811e, datalen = 32, lostlen = 1, serverpktnum = 6, clientpktnum = 4, serverbytes = 32, clientbytes = 888, createtime = 1658361013, lastmtime = 1658361013} (gdb) p payload_len $5 = 918 (gdb) l 2108                    MESA_handle_runtime_log(g_dns_proto_info.logger, RLOG_LV_DEBUG, "TCP_ENTRY", 2109                                        "tuple4: %s PKT size(S: %d/C: %d) is too bigger", printaddr(&a_tcp->addr, thread_seq), tcp_detail->serverbytes, tcp_detail->clientbytes); 2110                    return APP_STATE_GIVEME; 2111                } 2112             2113                state=parse_dns_protocol(a_tcp, a_tcp->opstate, payload, payload_len, pme, thread_seq, a_packet); 2114                break; 2115            case OP_STATE_CLOSE: 2116                state=parse_dns_protocol(a_tcp, a_tcp->opstate, payload, payload_len, pme, thread_seq, a_packet); 2117                break; (gdb) p *context $6 = {business_pme = 0x0, session_state = 0, skip_len = 2} (gdb) p *tcp_detail value has been optimized out (gdb) p payload $7 = (gdb) p payload_len $8 = 918 (gdb) p tcp_detail->datalen value has been optimized out (gdb) p *a_tcp->ptcpdetail  $9 = {pdata = 0x7fea8078811e, datalen = 32, lostlen = 1, serverpktnum = 6, clientpktnum = 4, serverbytes = 32, clientbytes = 888, createtime = 1658361013, lastmtime = 1658361013} (gdb) f 6 #6  0x0000000000432d88 in tcp_deal_unorder (pindex=pindex@entry=0x7fff58a6e04c, a_tcp=a_tcp@entry=0x7fff58a6e06c, rcv=rcv@entry=0x7fee52fd1274, orderflag=orderflag@entry=0, snd=) at /usr/src/debug/sapp-4.2.87.846204e-Linux/executable/src_0/src/dealpkt/deal_tcp.c:2130 2130                            ret=stream_process_tcp(a_tcp,pakiet->this_ip_hdr,pakiet->this_tcp_hdr,&(pakiet->raw_pkt),&(pdetail_pr->apme),&(a_tcp->opstate)); (gdb) l 2125    #endif                     2126                            tmpktype=a_tcp->addr.pkttype; 2127                            //a_tcp->addr.pkttype=tmpktype|PKT_TYPE_TCPUNORDER|a_tcp->pfather->addr.pkttype;     2128                            a_tcp->addr.pkttype=PKT_TYPE_TCPREORDER; 2129                            //ret=stream_process_tcp(a_tcp,pakiet->data,&(pdetail->apme),&(a_tcp->opstate)); 2130                            ret=stream_process_tcp(a_tcp,pakiet->this_ip_hdr,pakiet->this_tcp_hdr,&(pakiet->raw_pkt),&(pdetail_pr->apme),&(a_tcp->opstate)); 2131                            a_tcp->addr.pkttype=tmpktype;     2132    #if (0 == HIGH_PERF) 2133                            raw_frags_list_free_stream(a_tcp->threadnum, a_tcp); 2134    #endif                     (gdb) p* pakiet $10 = {next = 0x0, prev = 0x0, this_ip_hdr = 0x7fea807880ea, this_tcp_hdr = 0x7fea807880fe, tcpdata = 0x7fea8078811e, tcpdatalen = 32, urg_ptr = 0, fin = 0 '\000', urg = 0 '\000', rst = 0 '\000', ip_reassemble_pkt = 0 '\000', seq = 3584222785, ack = 0, ipfrag_list = 0x0, raw_pkt = {magic_num = 4058174404,      offset_to_raw_pkt_hdr = 74, low_layer_type = ADDR_TYPE_MAC, __lib_raw_pkt_len = 138, raw_pkt_len = 138, hd_hash = 0, __lib_raw_pkt_data = 0x7f43f828f450, raw_pkt_data = 0x7fea807880b4, raw_pkt_ts = {tv_sec = 0, tv_usec = 0}, io_lib_pkt_reference = 0x7f43f828f2c0, route_dir = 0, device_index = 2, is_overlay_pkt = 0,      vlan_flipping_couple = {0, 0}, mac_flipping_enable = 0 '\000', diagnose_error_to_dump = 0 '\000', overlay_layer_bytes = 0 '\000', drop_current_pkt_flag = 0 '\000'}} (gdb) p *pakiet $11 = {next = 0x0, prev = 0x0, this_ip_hdr = 0x7fea807880ea, this_tcp_hdr = 0x7fea807880fe, tcpdata = 0x7fea8078811e, tcpdatalen = 32, urg_ptr = 0, fin = 0 '\000', urg = 0 '\000', rst = 0 '\000', ip_reassemble_pkt = 0 '\000', seq = 3584222785, ack = 0, ipfrag_list = 0x0, raw_pkt = {magic_num = 4058174404,      offset_to_raw_pkt_hdr = 74, low_layer_type = ADDR_TYPE_MAC, __lib_raw_pkt_len = 138, raw_pkt_len = 138, hd_hash = 0, __lib_raw_pkt_data = 0x7f43f828f450, raw_pkt_data = 0x7fea807880b4, raw_pkt_ts = {tv_sec = 0, tv_usec = 0}, io_lib_pkt_reference = 0x7f43f828f2c0, route_dir = 0, device_index = 2, is_overlay_pkt = 0,      vlan_flipping_couple = {0, 0}, mac_flipping_enable = 0 '\000', diagnose_error_to_dump = 0 '\000', overlay_layer_bytes = 0 '\000', drop_current_pkt_flag = 0 '\000'}} (gdb) p *a_tcp $12 = {addr = {addrtype = 1 '\001', addrlen = 12 '\f', pkttype = 4 '\004', pktipfragtype = 0 '\000', __pad = "\000\000\000", {tuple4_v4 = 0x7ff16a822134, tuple4_v6 = 0x7ff16a822134, ipv4 = 0x7ff16a822134, ipv6 = 0x7ff16a822134, vlan = 0x7ff16a822134, mac = 0x7ff16a822134, gre = 0x7ff16a822134, tcp = 0x7ff16a822134,        udp = 0x7ff16a822134, pppoe_ses = 0x7ff16a822134, l2tp = 0x7ff16a822134, pptp = 0x7ff16a822134, mimac = 0x7ff16a822134, gtp = 0x7ff16a822134, mpls = 0x7ff16a822134, vxlan = 0x7ff16a822134, paddr = 0x7ff16a822134}}, pfather = 0x7feddb5ae594, type = 1 '\001', threadnum = 32 ' ', dir = 3 '\003', curdir = 1 '\001',    opstate = 3 '\003', pktstate = 3 '\003', routedir = 0 '\000', stream_state = 1 '\001', hash_index = 35907, stream_index = 45483, {ptcpdetail = 0x7feddbf04554, pudpdetail = 0x7feddbf04554, pdetail = 0x7feddbf04554}} (gdb) p *a_tcp->ptcpdetail  $13 = {pdata = 0x7fea8078811e, datalen = 32, lostlen = 1, serverpktnum = 6, clientpktnum = 4, serverbytes = 32, clientbytes = 888, createtime = 1658361013, lastmtime = 1658361013} (gdb) p *(struct tcpdetail *)a_tcp->ptcpdetail $14 = {pdata = 0x7fea8078811e, datalen = 32, lostlen = 1, serverpktnum = 6, clientpktnum = 4, serverbytes = 32, clientbytes = 888, createtime = 1658361013, lastmtime = 1658361013} (gdb) p ((struct tcpdetail *)a_tcp->ptcpdetail)->datalen  $15 = 32 (gdb)  {code} --- **zhangzhihan** commented on *2022-07-21T15:26:15.128+0800*: IP 192.168.25.2 ,也有重启的现场,core文件:/opt/tsg/sapp/core.28786 --- **liuxueli** commented on *2022-08-01T09:43:50.190+0800*: * 已更新,连续运行48小时,暂无重启。 --- **gitlab** commented on *2022-08-01T15:28:15.301+0800*: [刘学利|https://git.mesalab.cn/liuxueli] mentioned this issue in [a merge request|https://git.mesalab.cn/MESA_Platform/dns/-/merge_requests/28] of [MESA Platform / dns|https://git.mesalab.cn/MESA_Platform/dns] on branch [bugfix-OMPUB-563|https://git.mesalab.cn/MESA_Platform/dns/-/tree/bugfix-OMPUB-563]:{quote}OMPUB-563: 处理长度标识跨包的逻辑存在问题: 1)区分数据包方向导致偏移的长度出现负值导致访问越界,2)错误使用累计传输长度作为单包长度限制判断导致部分请求与应答未正常解析{quote} --- **gitlab** commented on *2022-08-01T15:28:18.313+0800*: [刘学利|https://git.mesalab.cn/liuxueli] mentioned this issue in [a commit|https://git.mesalab.cn/MESA_Platform/dns/-/commit/fa0ebd48e689499d495852915c16d15a206c134e] of [MESA Platform / dns|https://git.mesalab.cn/MESA_Platform/dns] on branch [bugfix-OMPUB-563|https://git.mesalab.cn/MESA_Platform/dns/-/tree/bugfix-OMPUB-563]:{quote}OMPUB-563: 处理长度标识跨包的逻辑存在问题: 1)区分数据包方向导致偏移的长度出现负值导致访问越界,2)错误使用累计传输长度作为单包长度限制判断导致部分请求与应答未正常解析{quote} --- **gitlab** commented on *2022-08-01T16:59:26.278+0800*: [刘学利|https://git.mesalab.cn/liuxueli] mentioned this issue in [a commit|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/commit/ba31aaf503fd17cc01df4b8a6a5f9aee4f0c236c] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-22.08-firewall-v1|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-22.08-firewall-v1]:{quote}更新: tsg_master、app_sketch_local、dns、ssl、bgp、libmaatframe、app_proto_identify, 新增或修复:{quote} --- **gitlab** commented on *2022-08-01T17:00:16.325+0800*: [刘学利|https://git.mesalab.cn/liuxueli] mentioned this issue in [a merge request|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/merge_requests/844] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-22.08-firewall-v1|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-22.08-firewall-v1]:{quote}更新: tsg_master、app_sketch_local、dns、ssl、bgp、libmaatframe、app_proto_identify, 新增或修复:{quote} --- **gitlab** commented on *2022-08-01T17:10:49.425+0800*: [刘学利|https://git.mesalab.cn/liuxueli] mentioned this issue in [a commit|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/commit/79895af8ea3e565b38ecbc6784d2cfaefc7c8c6b] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-22.08-firewall-v1|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-22.08-firewall-v1]:{quote}更新: tsg_master、app_sketch_local、dns、ssl、bgp、libmaatframe、app_proto_identify, 新增或修复:{quote} --- **gitlab** commented on *2022-08-01T17:11:19.957+0800*: [刘学利|https://git.mesalab.cn/liuxueli] mentioned this issue in [a merge request|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/merge_requests/845] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-22.08-firewall-v1|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-22.08-firewall-v1]:{quote}更新: tsg_master、app_sketch_local、dns、ssl、bgp、libmaatframe、app_proto_identify, 新增或修复:{quote} --- **gitlab** commented on *2022-08-04T09:45:41.226+0800*: [刘学利|https://git.mesalab.cn/liuxueli] mentioned this issue in [a commit|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/commit/111f13724e253f7a6cb6addb2a49c99710d379d6] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-22.07-firewall-v4|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-22.07-firewall-v4]:{quote}更新dns、ssl、libmaatframe,修复:{quote} --- **gitlab** commented on *2022-08-04T09:47:40.932+0800*: [刘学利|https://git.mesalab.cn/liuxueli] mentioned this issue in [a merge request|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/merge_requests/853] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-22.07-firewall-v4|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-22.07-firewall-v4]:{quote}更新dns、ssl、libmaatframe,修复:{quote} --- **gitlab** commented on *2024-01-08T09:37:46.509+0800*: [莫迪凯|https://git.mesalab.cn/modikai] mentioned this issue in [a commit|https://git.mesalab.cn/modikai/sapp-dns-protocol/-/commit/fa0ebd48e689499d495852915c16d15a206c134e] of [莫迪凯 / sapp-dns-protocol|https://git.mesalab.cn/modikai/sapp-dns-protocol]:{quote}OMPUB-563: 处理长度标识跨包的逻辑存在问题: 1)区分数据包方向导致偏移的长度出现负值导致访问越界,2)错误使用累计传输长度作为单包长度限制判断导致部分请求与应答未正常解析{quote} --- ## Attachments