diff options
| author | 杨威 <[email protected]> | 2024-10-11 06:08:50 +0000 |
|---|---|---|
| committer | 杨威 <[email protected]> | 2024-10-11 06:08:50 +0000 |
| commit | 70d21f28c36fc93280352c9284de6529afcbe5be (patch) | |
| tree | 4bfc3669ca0da512ceb897167feda65dcaefa1af | |
| parent | 2e35a795285499e064b91435ad90777f90419f68 (diff) | |
Rebase dev 2.0
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | conf/stellar.toml | 29 | ||||
| -rw-r--r-- | decoders/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | decoders/appid/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | decoders/appid/appid.c | 49 | ||||
| -rw-r--r-- | decoders/appid/appid_internal.h | 25 | ||||
| -rw-r--r-- | decoders/lpi/CMakeLists.txt | 12 | ||||
| -rw-r--r-- | decoders/lpi/lpi_plugin.cpp | 783 | ||||
| -rw-r--r-- | decoders/lpi/lpi_plugin.h | 227 | ||||
| -rw-r--r-- | decoders/lpi/openvpn_ident.cpp | 183 | ||||
| -rw-r--r-- | decoders/lpi/quic_ident.cpp | 237 | ||||
| -rw-r--r-- | decoders/lpi/version.map | 10 | ||||
| -rw-r--r-- | decoders/lpi_plus/.gitignore (renamed from decoders/lpi/.gitignore) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/CMakeLists.txt | 13 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/CMakeLists.txt (renamed from decoders/lpi/libprotoident/CMakeLists.txt) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/libprotoident.cc (renamed from decoders/lpi/libprotoident/libprotoident.cc) | 4 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/libprotoident.h (renamed from decoders/lpi/libprotoident/libprotoident.h) | 17 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/proto_common.cc (renamed from decoders/lpi/libprotoident/proto_common.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/proto_common.h (renamed from decoders/lpi/libprotoident/proto_common.h) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/proto_manager.cc (renamed from decoders/lpi/libprotoident/proto_manager.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/proto_manager.h (renamed from decoders/lpi/libprotoident/proto_manager.h) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_300heroes.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_300heroes.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_360safeguard.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_360safeguard.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_4d.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_4d.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_acestream.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_acestream.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_afp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_afp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_airdroid.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_airdroid.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_airmedia.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_airmedia.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_akamai.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_akamai.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_amp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_amp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_antcoin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_antcoin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_appearin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_appearin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_apple_push.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_apple_push.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ares.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ares.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_badbaidu.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_badbaidu.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_baofeng_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_baofeng_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_beam.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_beam.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_bitcoin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_bitcoin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_bitextend.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_bitextend.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_bittorrent.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_bittorrent.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_blackdesert.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_blackdesert.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_blizzard.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_blizzard.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_btsync.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_btsync.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_bwsyncandshare.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_bwsyncandshare.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_cacaoweb.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_cacaoweb.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_cgp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_cgp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_chatango.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_chatango.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_cisco_vpn.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_cisco_vpn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_clashofclans.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_clashofclans.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_classin_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_classin_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_clubbox.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_clubbox.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_cod_waw.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_cod_waw.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_conquer.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_conquer.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_crashplan.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_crashplan.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_crossfire_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_crossfire_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_cryptic.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_cryptic.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_cvs.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_cvs.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dahua_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dahua_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dash.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dash.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dell_backup.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dell_backup.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_destiny.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_destiny.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_diablo3.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_diablo3.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dianping_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dianping_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_directconnect.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_directconnect.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dnf.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dnf.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dns.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dns.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dogecoin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dogecoin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_douyu.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_douyu.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_douyu_chat.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_douyu_chat.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_duelingnetwork.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_duelingnetwork.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dvrns.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dvrns.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_dxp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_dxp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ea_games.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ea_games.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_emule.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_emule.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ethernetip.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ethernetip.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_eye.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_eye.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_facebook_turn.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_facebook_turn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_fb_message.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_fb_message.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_fbcdn_ssl.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_fbcdn_ssl.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ffxiv.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ffxiv.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_filenori.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_filenori.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_flash.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_flash.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_fliggy.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_fliggy.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_fring.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_fring.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ftpcontrol.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ftpcontrol.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ftpdata.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ftpdata.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_fuckcoin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_fuckcoin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_funshion.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_funshion.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_gamespy.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_gamespy.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_gcafe_updater.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_gcafe_updater.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_giop.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_giop.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_git.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_git.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_glupteba.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_glupteba.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_gnutella.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_gnutella.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_goku.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_goku.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_googlehangouts.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_googlehangouts.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_graalonlineera.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_graalonlineera.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_guildwars2.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_guildwars2.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_hamachi.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_hamachi.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_harveys.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_harveys.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_hearthstone.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_hearthstone.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_hola.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_hola.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_hots_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_hots_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_http.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_http.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_http_badport.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_http_badport.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_http_nonstandard.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_http_nonstandard.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_http_tunnel.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_http_tunnel.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_https.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_https.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ica.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ica.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_icep.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_icep.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_id.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_id.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_idrivesync.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_idrivesync.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ihexin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ihexin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_imap.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_imap.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_imaps.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_imaps.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_imesh.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_imesh.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_invalid.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_invalid.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_invalid_bittorrent.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_invalid_bittorrent.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_invalid_http.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_invalid_http.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_invalid_pop.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_invalid_pop.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_invalid_smtp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_invalid_smtp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ipfs.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ipfs.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ipop.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ipop.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ipsharkk.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ipsharkk.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_irc.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_irc.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_java.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_java.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_jedi.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_jedi.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_jx3online.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_jx3online.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_kakao.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_kakao.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_kankan_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_kankan_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_kaseya.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_kaseya.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_kaspersky.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_kaspersky.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_kik.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_kik.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_kingofglory_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_kingofglory_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_kuaibo.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_kuaibo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ldap.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ldap.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_lifeforge.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_lifeforge.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_line.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_line.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_litecoin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_litecoin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_llp2p.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_llp2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_maplestory_china.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_maplestory_china.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_maxicloud.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_maxicloud.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_message4u.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_message4u.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_minecraft.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_minecraft.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mitglieder.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mitglieder.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mms.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mms.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mongo.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mongo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mp2p.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mp2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_msn.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_msn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_msnc.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_msnc.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_msnv.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_msnv.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_munin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_munin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mysql.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mysql.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mystery_8000.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mystery_8000.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mystery_9000.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mystery_9000.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mystery_conn.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mystery_conn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mystery_iG.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mystery_iG.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mystery_pspr.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mystery_pspr.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mystery_rxxf.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mystery_rxxf.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mystery_symantec.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mystery_symantec.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_mzinga.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_mzinga.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_naverp2p.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_naverp2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ncsoft.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ncsoft.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ndt_tput.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ndt_tput.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_netbios.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_netbios.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_netcat_cctv.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_netcat_cctv.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_netmfp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_netmfp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_nntp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_nntp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_nntps.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_nntps.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_nofirstpkt.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_nofirstpkt.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_nomachine.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_nomachine.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_nopayload.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_nopayload.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_norton_backup.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_norton_backup.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_notes_rpc.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_notes_rpc.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_nsq.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_nsq.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_omegle.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_omegle.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_openvpn.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_openvpn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ourworld.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ourworld.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_palringo.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_palringo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_paltalk.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_paltalk.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_pandatv.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_pandatv.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_pando.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_pando.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_pathofexile.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_pathofexile.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_pdbox.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_pdbox.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_pop3.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_pop3.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_pop3s.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_pop3s.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_postgresql.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_postgresql.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_pptp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_pptp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_psn_store.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_psn_store.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_qcloud_ilvb.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_qcloud_ilvb.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_qq_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_qq_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_qqdownload.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_qqdownload.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_qqlive_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_qqlive_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_qqspeedmobile_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_qqspeedmobile_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_qvod.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_qvod.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rabbitmq.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rabbitmq.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ragnarokonline.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ragnarokonline.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_razor.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_razor.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rbls.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rbls.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rdp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rdp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_realmofthemadgod.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_realmofthemadgod.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_realvnc.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_realvnc.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rejection.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rejection.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_relay.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_relay.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_remote_manipulator.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_remote_manipulator.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_revolver_nblbt.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_revolver_nblbt.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rfb.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rfb.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rpcscan.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rpcscan.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rrtv.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rrtv.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rsync.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rsync.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rtmp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rtmp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_rtsp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_rtsp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_runescape.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_runescape.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_s7comm.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_s7comm.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_saprouter.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_saprouter.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_saszombieassault4.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_saszombieassault4.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_second_life.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_second_life.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_shoutcast.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_shoutcast.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_silkroadonline.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_silkroadonline.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_sip.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_sip.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_skyforge.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_skyforge.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_skype_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_skype_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_smb.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_smb.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_smite_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_smite_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_smtp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_smtp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_smtps.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_smtps.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_socks4.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_socks4.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_socks5.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_socks5.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_spdy.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_spdy.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_speedify.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_speedify.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_speedin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_speedin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_speedtest.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_speedtest.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_spotify.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_spotify.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ssh.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ssh.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ssjj.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ssjj.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_ssl.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_ssl.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_steam.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_steam.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_stratum.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_stratum.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_stun.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_stun.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_supl.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_supl.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_svn.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_svn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_talesrunner.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_talesrunner.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tankionline.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tankionline.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tankix.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tankix.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_taobao.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_taobao.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tds.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tds.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_teamviewer.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_teamviewer.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_telecomkey.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_telecomkey.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_telegram.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_telegram.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_telnet.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_telnet.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_telnet_exploit.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_telnet_exploit.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tencent_games.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tencent_games.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tenfivecoin.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tenfivecoin.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tensafe.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tensafe.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tera.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tera.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tetrisonline.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tetrisonline.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_thedivision.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_thedivision.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tip.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tip.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tor.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tor.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_tpkt.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_tpkt.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_trackmania.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_trackmania.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_transocks.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_transocks.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_trion.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_trion.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_trojan_win32_generic_sb.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_trojan_win32_generic_sb.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_trojan_zeroaccess.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_trojan_zeroaccess.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_twitcasting.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_twitcasting.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_twitch_irc.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_twitch_irc.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_utherverse.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_utherverse.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_vainglory.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_vainglory.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_vhdp2p.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_vhdp2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_viber.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_viber.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_vmware.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_vmware.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_vodlocker.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_vodlocker.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_vpnrobot_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_vpnrobot_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_vpnunlimited_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_vpnunlimited_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_warcraft3.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_warcraft3.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_web_junk.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_web_junk.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_webex_stun.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_webex_stun.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_weblogic.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_weblogic.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_wechat.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_wechat.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_weibo.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_weibo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_weiqi.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_weiqi.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_whatsapp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_whatsapp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_whois.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_whois.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_winmx.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_winmx.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_wizard101.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_wizard101.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_wns.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_wns.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_wow.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_wow.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_wuala.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_wuala.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_xiami.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_xiami.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_xmpp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_xmpp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_xmpps.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_xmpps.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_xunlei.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_xunlei.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_xunlei_accel.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_xunlei_accel.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_xymon.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_xymon.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_yahoo.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_yahoo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_error.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_yahoo_error.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_games.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_yahoo_games.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_webcam.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_yahoo_webcam.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_youku.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_youku.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_yy_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_yy_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_zabbix.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_zabbix.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_zero.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_zero.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_zoom_tcp.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_zoom_tcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/lpi_zynga.cc (renamed from decoders/lpi/libprotoident/tcp/lpi_zynga.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/tcp/tcp_protocols.h (renamed from decoders/lpi/libprotoident/tcp/tcp_protocols.h) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_360cn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_360cn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_360p2p.cc (renamed from decoders/lpi/libprotoident/udp/lpi_360p2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_aachen_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_aachen_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_acercloud.cc (renamed from decoders/lpi/libprotoident/udp/lpi_acercloud.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_akamai.cc (renamed from decoders/lpi/libprotoident/udp/lpi_akamai.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_akamai_transfer.cc (renamed from decoders/lpi/libprotoident/udp/lpi_akamai_transfer.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_amanda.cc (renamed from decoders/lpi/libprotoident/udp/lpi_amanda.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_apple_facetime_init.cc (renamed from decoders/lpi/libprotoident/udp/lpi_apple_facetime_init.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ard.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ard.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ares.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ares.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ark.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ark.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_arma3_server.cc (renamed from decoders/lpi/libprotoident/udp/lpi_arma3_server.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_arma_server.cc (renamed from decoders/lpi/libprotoident/udp/lpi_arma_server.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_artcp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_artcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_assettocorsa.cc (renamed from decoders/lpi/libprotoident/udp/lpi_assettocorsa.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_avast_secure_dns.cc (renamed from decoders/lpi/libprotoident/udp/lpi_avast_secure_dns.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_backweb.cc (renamed from decoders/lpi/libprotoident/udp/lpi_backweb.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_bacnet.cc (renamed from decoders/lpi/libprotoident/udp/lpi_bacnet.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_baiduyun_p2p.cc (renamed from decoders/lpi/libprotoident/udp/lpi_baiduyun_p2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_baofeng_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_baofeng_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_battlefield.cc (renamed from decoders/lpi/libprotoident/udp/lpi_battlefield.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_bjnp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_bjnp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_bmdp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_bmdp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_btsync.cc (renamed from decoders/lpi/libprotoident/udp/lpi_btsync.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_cacaoweb_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_cacaoweb_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_canon_mfnp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_canon_mfnp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_chargen_exploit.cc (renamed from decoders/lpi/libprotoident/udp/lpi_chargen_exploit.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_checkpoint_rdp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_checkpoint_rdp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_chivalry.cc (renamed from decoders/lpi/libprotoident/udp/lpi_chivalry.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_cip_io.cc (renamed from decoders/lpi/libprotoident/udp/lpi_cip_io.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_cirn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_cirn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_cisco_ipsec.cc (renamed from decoders/lpi/libprotoident/udp/lpi_cisco_ipsec.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_cisco_sslvpn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_cisco_sslvpn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_classin_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_classin_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_cloudflare_warp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_cloudflare_warp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_cod.cc (renamed from decoders/lpi/libprotoident/udp/lpi_cod.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_codmobile.cc (renamed from decoders/lpi/libprotoident/udp/lpi_codmobile.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_combatarms.cc (renamed from decoders/lpi/libprotoident/udp/lpi_combatarms.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_combatarms_p2p.cc (renamed from decoders/lpi/libprotoident/udp/lpi_combatarms_p2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_contract_wars.cc (renamed from decoders/lpi/libprotoident/udp/lpi_contract_wars.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_crossfire.cc (renamed from decoders/lpi/libprotoident/udp/lpi_crossfire.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_crossout.cc (renamed from decoders/lpi/libprotoident/udp/lpi_crossout.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_csgo.cc (renamed from decoders/lpi/libprotoident/udp/lpi_csgo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_csoriginal.cc (renamed from decoders/lpi/libprotoident/udp/lpi_csoriginal.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dahua.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dahua.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_db2.cc (renamed from decoders/lpi/libprotoident/udp/lpi_db2.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dcc.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dcc.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_demonware.cc (renamed from decoders/lpi/libprotoident/udp/lpi_demonware.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_destiny_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_destiny_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dhcp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dhcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dht_dict.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dht_dict.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dht_other.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dht_other.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_diablo2.cc (renamed from decoders/lpi/libprotoident/udp/lpi_diablo2.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dianping_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dianping_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dianshijia.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dianshijia.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_directconnect.cc (renamed from decoders/lpi/libprotoident/udp/lpi_directconnect.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_discord.cc (renamed from decoders/lpi/libprotoident/udp/lpi_discord.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dns.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dns.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dota2.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dota2.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_doyo.cc (renamed from decoders/lpi/libprotoident/udp/lpi_doyo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_driveshare.cc (renamed from decoders/lpi/libprotoident/udp/lpi_driveshare.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_dtls.cc (renamed from decoders/lpi/libprotoident/udp/lpi_dtls.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_emule.cc (renamed from decoders/lpi/libprotoident/udp/lpi_emule.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_emule_weak.cc (renamed from decoders/lpi/libprotoident/udp/lpi_emule_weak.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_epson.cc (renamed from decoders/lpi/libprotoident/udp/lpi_epson.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_eso.cc (renamed from decoders/lpi/libprotoident/udp/lpi_eso.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_esp_encap.cc (renamed from decoders/lpi/libprotoident/udp/lpi_esp_encap.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ethernetip.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ethernetip.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_eye.cc (renamed from decoders/lpi/libprotoident/udp/lpi_eye.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_fasp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_fasp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_feitwo.cc (renamed from decoders/lpi/libprotoident/udp/lpi_feitwo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_forticlient_sslvpn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_forticlient_sslvpn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_fortinet.cc (renamed from decoders/lpi/libprotoident/udp/lpi_fortinet.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_foscam.cc (renamed from decoders/lpi/libprotoident/udp/lpi_foscam.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_freechal.cc (renamed from decoders/lpi/libprotoident/udp/lpi_freechal.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_freefire.cc (renamed from decoders/lpi/libprotoident/udp/lpi_freefire.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_funshion.cc (renamed from decoders/lpi/libprotoident/udp/lpi_funshion.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gamespy.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gamespy.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ganglia.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ganglia.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gangsofspace.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gangsofspace.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_garena.cc (renamed from decoders/lpi/libprotoident/udp/lpi_garena.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gearsofwar.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gearsofwar.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gnutella.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gnutella.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gnutella2.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gnutella2.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gnutella_weak.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gnutella_weak.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gotomeeting.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gotomeeting.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gprs_tunnel.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gprs_tunnel.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_gsm.cc (renamed from decoders/lpi/libprotoident/udp/lpi_gsm.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_h1z1.cc (renamed from decoders/lpi/libprotoident/udp/lpi_h1z1.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_halflife.cc (renamed from decoders/lpi/libprotoident/udp/lpi_halflife.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_haloonline.cc (renamed from decoders/lpi/libprotoident/udp/lpi_haloonline.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_hamachi.cc (renamed from decoders/lpi/libprotoident/udp/lpi_hamachi.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_heliborne.cc (renamed from decoders/lpi/libprotoident/udp/lpi_heliborne.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_heroes_generals.cc (renamed from decoders/lpi/libprotoident/udp/lpi_heroes_generals.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_heroesevolved.cc (renamed from decoders/lpi/libprotoident/udp/lpi_heroesevolved.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_hollachat.cc (renamed from decoders/lpi/libprotoident/udp/lpi_hollachat.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_hots.cc (renamed from decoders/lpi/libprotoident/udp/lpi_hots.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_icp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_icp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_imesh.cc (renamed from decoders/lpi/libprotoident/udp/lpi_imesh.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ipmsg.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ipmsg.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ipv6.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ipv6.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_isakmp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_isakmp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_jedi.cc (renamed from decoders/lpi/libprotoident/udp/lpi_jedi.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_jedi_academy.cc (renamed from decoders/lpi/libprotoident/udp/lpi_jedi_academy.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_kademlia.cc (renamed from decoders/lpi/libprotoident/udp/lpi_kademlia.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_kankan.cc (renamed from decoders/lpi/libprotoident/udp/lpi_kankan.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_kaspersky.cc (renamed from decoders/lpi/libprotoident/udp/lpi_kaspersky.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_kazaa.cc (renamed from decoders/lpi/libprotoident/udp/lpi_kazaa.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_kingofglory_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_kingofglory_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_kuguo.cc (renamed from decoders/lpi/libprotoident/udp/lpi_kuguo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_l2tp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_l2tp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_lansync.cc (renamed from decoders/lpi/libprotoident/udp/lpi_lansync.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ldap_ad.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ldap_ad.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_line_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_line_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_linkproof.cc (renamed from decoders/lpi/libprotoident/udp/lpi_linkproof.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_loadout.cc (renamed from decoders/lpi/libprotoident/udp/lpi_loadout.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_lol.cc (renamed from decoders/lpi/libprotoident/udp/lpi_lol.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_mdns.cc (renamed from decoders/lpi/libprotoident/udp/lpi_mdns.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_merakicloud.cc (renamed from decoders/lpi/libprotoident/udp/lpi_merakicloud.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_moh.cc (renamed from decoders/lpi/libprotoident/udp/lpi_moh.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_moonhunters.cc (renamed from decoders/lpi/libprotoident/udp/lpi_moonhunters.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_mp2p.cc (renamed from decoders/lpi/libprotoident/udp/lpi_mp2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_msn_cache.cc (renamed from decoders/lpi/libprotoident/udp/lpi_msn_cache.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_msn_video.cc (renamed from decoders/lpi/libprotoident/udp/lpi_msn_video.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_msoffice_mac.cc (renamed from decoders/lpi/libprotoident/udp/lpi_msoffice_mac.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_mta.cc (renamed from decoders/lpi/libprotoident/udp/lpi_mta.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_n2ping.cc (renamed from decoders/lpi/libprotoident/udp/lpi_n2ping.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_natpmp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_natpmp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_netbios.cc (renamed from decoders/lpi/libprotoident/udp/lpi_netbios.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_netcat_cctv_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_netcat_cctv_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_netcore_scan.cc (renamed from decoders/lpi/libprotoident/udp/lpi_netcore_scan.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_netflow.cc (renamed from decoders/lpi/libprotoident/udp/lpi_netflow.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_newerth.cc (renamed from decoders/lpi/libprotoident/udp/lpi_newerth.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_nintendo.cc (renamed from decoders/lpi/libprotoident/udp/lpi_nintendo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_noction.cc (renamed from decoders/lpi/libprotoident/udp/lpi_noction.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_noe.cc (renamed from decoders/lpi/libprotoident/udp/lpi_noe.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_nopayload.cc (renamed from decoders/lpi/libprotoident/udp/lpi_nopayload.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_norton.cc (renamed from decoders/lpi/libprotoident/udp/lpi_norton.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ntp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ntp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ntp_reflect.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ntp_reflect.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_nvidia_gamestream.cc (renamed from decoders/lpi/libprotoident/udp/lpi_nvidia_gamestream.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_nwn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_nwn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_opaserv.cc (renamed from decoders/lpi/libprotoident/udp/lpi_opaserv.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_openvpn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_openvpn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_orbit.cc (renamed from decoders/lpi/libprotoident/udp/lpi_orbit.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_overwatch.cc (renamed from decoders/lpi/libprotoident/udp/lpi_overwatch.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_paladins.cc (renamed from decoders/lpi/libprotoident/udp/lpi_paladins.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_pando.cc (renamed from decoders/lpi/libprotoident/udp/lpi_pando.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_panipani.cc (renamed from decoders/lpi/libprotoident/udp/lpi_panipani.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_planetside2.cc (renamed from decoders/lpi/libprotoident/udp/lpi_planetside2.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_portmap_rpc.cc (renamed from decoders/lpi/libprotoident/udp/lpi_portmap_rpc.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_pplive.cc (renamed from decoders/lpi/libprotoident/udp/lpi_pplive.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ppstream.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ppstream.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_probable_gnutella.cc (renamed from decoders/lpi/libprotoident/udp/lpi_probable_gnutella.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ps4_remoteplay.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ps4_remoteplay.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_psn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_psn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_punkbuster.cc (renamed from decoders/lpi/libprotoident/udp/lpi_punkbuster.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_pyzor.cc (renamed from decoders/lpi/libprotoident/udp/lpi_pyzor.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_qq.cc (renamed from decoders/lpi/libprotoident/udp/lpi_qq.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_qqlive.cc (renamed from decoders/lpi/libprotoident/udp/lpi_qqlive.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_qqpcmgr.cc (renamed from decoders/lpi/libprotoident/udp/lpi_qqpcmgr.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_qqspeedmobile_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_qqspeedmobile_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_quake.cc (renamed from decoders/lpi/libprotoident/udp/lpi_quake.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_quic.cc (renamed from decoders/lpi/libprotoident/udp/lpi_quic.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_qvod_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_qvod_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_radius.cc (renamed from decoders/lpi/libprotoident/udp/lpi_radius.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_raknet.cc (renamed from decoders/lpi/libprotoident/udp/lpi_raknet.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ramseydash.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ramseydash.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_rdp_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_rdp_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_real.cc (renamed from decoders/lpi/libprotoident/udp/lpi_real.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_risingstorm.cc (renamed from decoders/lpi/libprotoident/udp/lpi_risingstorm.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_robocraft.cc (renamed from decoders/lpi/libprotoident/udp/lpi_robocraft.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_rocket_league.cc (renamed from decoders/lpi/libprotoident/udp/lpi_rocket_league.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_rrshare.cc (renamed from decoders/lpi/libprotoident/udp/lpi_rrshare.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_rtcp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_rtcp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_rtmfp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_rtmfp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_rtp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_rtp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_rulesofsurvival.cc (renamed from decoders/lpi/libprotoident/udp/lpi_rulesofsurvival.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_sanandreas_mp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_sanandreas_mp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_second_life.cc (renamed from decoders/lpi/libprotoident/udp/lpi_second_life.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_serialnumberd.cc (renamed from decoders/lpi/libprotoident/udp/lpi_serialnumberd.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_sip.cc (renamed from decoders/lpi/libprotoident/udp/lpi_sip.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_skype.cc (renamed from decoders/lpi/libprotoident/udp/lpi_skype.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_slp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_slp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_smite.cc (renamed from decoders/lpi/libprotoident/udp/lpi_smite.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_snapvpn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_snapvpn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_snmp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_snmp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_sopcast.cc (renamed from decoders/lpi/libprotoident/udp/lpi_sopcast.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_spamfighter.cc (renamed from decoders/lpi/libprotoident/udp/lpi_spamfighter.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_spotify_bcast.cc (renamed from decoders/lpi/libprotoident/udp/lpi_spotify_bcast.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_sql_worm.cc (renamed from decoders/lpi/libprotoident/udp/lpi_sql_worm.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ssdp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ssdp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_starcitizen.cc (renamed from decoders/lpi/libprotoident/udp/lpi_starcitizen.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_starcraft.cc (renamed from decoders/lpi/libprotoident/udp/lpi_starcraft.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_starleaf.cc (renamed from decoders/lpi/libprotoident/udp/lpi_starleaf.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_steam.cc (renamed from decoders/lpi/libprotoident/udp/lpi_steam.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_steam_inhomebroadcast.cc (renamed from decoders/lpi/libprotoident/udp/lpi_steam_inhomebroadcast.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_steam_localbroadcast.cc (renamed from decoders/lpi/libprotoident/udp/lpi_steam_localbroadcast.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_steamfriends.cc (renamed from decoders/lpi/libprotoident/udp/lpi_steamfriends.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_storm_worm.cc (renamed from decoders/lpi/libprotoident/udp/lpi_storm_worm.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_stun.cc (renamed from decoders/lpi/libprotoident/udp/lpi_stun.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_syslog.cc (renamed from decoders/lpi/libprotoident/udp/lpi_syslog.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_talesrunner_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_talesrunner_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_teamspeak.cc (renamed from decoders/lpi/libprotoident/udp/lpi_teamspeak.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_teamviewer.cc (renamed from decoders/lpi/libprotoident/udp/lpi_teamviewer.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_teredo.cc (renamed from decoders/lpi/libprotoident/udp/lpi_teredo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_tf2.cc (renamed from decoders/lpi/libprotoident/udp/lpi_tf2.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_tftp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_tftp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_thecrew.cc (renamed from decoders/lpi/libprotoident/udp/lpi_thecrew.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_thq.cc (renamed from decoders/lpi/libprotoident/udp/lpi_thq.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_torchlight2.cc (renamed from decoders/lpi/libprotoident/udp/lpi_torchlight2.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_tox.cc (renamed from decoders/lpi/libprotoident/udp/lpi_tox.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_traceroute.cc (renamed from decoders/lpi/libprotoident/udp/lpi_traceroute.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_tremulous.cc (renamed from decoders/lpi/libprotoident/udp/lpi_tremulous.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_turbovpn.cc (renamed from decoders/lpi/libprotoident/udp/lpi_turbovpn.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_tvants.cc (renamed from decoders/lpi/libprotoident/udp/lpi_tvants.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ubisoft_games.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ubisoft_games.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_umeye.cc (renamed from decoders/lpi/libprotoident/udp/lpi_umeye.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_unreal.cc (renamed from decoders/lpi/libprotoident/udp/lpi_unreal.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_ventrilo.cc (renamed from decoders/lpi/libprotoident/udp/lpi_ventrilo.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_viber.cc (renamed from decoders/lpi/libprotoident/udp/lpi_viber.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_vivox.cc (renamed from decoders/lpi/libprotoident/udp/lpi_vivox.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_vpnmaster.cc (renamed from decoders/lpi/libprotoident/udp/lpi_vpnmaster.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_vpnrobot_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_vpnrobot_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_vxworks_exploit.cc (renamed from decoders/lpi/libprotoident/udp/lpi_vxworks_exploit.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_warthunder.cc (renamed from decoders/lpi/libprotoident/udp/lpi_warthunder.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_webex.cc (renamed from decoders/lpi/libprotoident/udp/lpi_webex.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_wechat_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_wechat_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_winmessage.cc (renamed from decoders/lpi/libprotoident/udp/lpi_winmessage.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_wireguard.cc (renamed from decoders/lpi/libprotoident/udp/lpi_wireguard.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_wolfet.cc (renamed from decoders/lpi/libprotoident/udp/lpi_wolfet.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_worm_22105.cc (renamed from decoders/lpi/libprotoident/udp/lpi_worm_22105.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_xfire_p2p.cc (renamed from decoders/lpi/libprotoident/udp/lpi_xfire_p2p.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_xlsp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_xlsp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_xunlei.cc (renamed from decoders/lpi/libprotoident/udp/lpi_xunlei.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_xunlei_jsq.cc (renamed from decoders/lpi/libprotoident/udp/lpi_xunlei_jsq.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_xunyou.cc (renamed from decoders/lpi/libprotoident/udp/lpi_xunyou.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_youdao_dict.cc (renamed from decoders/lpi/libprotoident/udp/lpi_youdao_dict.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_youku.cc (renamed from decoders/lpi/libprotoident/udp/lpi_youku.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_yuanfudao.cc (renamed from decoders/lpi/libprotoident/udp/lpi_yuanfudao.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_yy_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_yy_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_zalo_call.cc (renamed from decoders/lpi/libprotoident/udp/lpi_zalo_call.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_zeroaccess_udp.cc (renamed from decoders/lpi/libprotoident/udp/lpi_zeroaccess_udp.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/lpi_zoom.cc (renamed from decoders/lpi/libprotoident/udp/lpi_zoom.cc) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/udp/udp_protocols.h (renamed from decoders/lpi/libprotoident/udp/udp_protocols.h) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/libprotoident/version.map (renamed from decoders/lpi/libprotoident/version.map) | 0 | ||||
| -rw-r--r-- | decoders/lpi_plus/lpi_plus.h | 6 | ||||
| -rw-r--r-- | decoders/lpi_plus/lpip_extend.c | 558 | ||||
| -rw-r--r-- | decoders/lpi_plus/lpip_extend.h | 39 | ||||
| -rw-r--r-- | decoders/lpi_plus/lpip_module.c | 392 | ||||
| -rw-r--r-- | decoders/lpi_plus/version.map | 11 | ||||
| -rw-r--r-- | include/stellar/appid.h | 31 | ||||
| -rw-r--r-- | include/stellar/module_manager.h | 3 | ||||
| -rw-r--r-- | include/stellar/packet_manager.h | 4 | ||||
| -rw-r--r-- | include/stellar/session_manager.h | 4 | ||||
| -rw-r--r-- | include/stellar/stellar.h | 2 | ||||
| -rw-r--r-- | infra/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | infra/mq/mq.c | 2 | ||||
| -rw-r--r-- | infra/mq/mq_internal.h | 2 | ||||
| -rw-r--r-- | infra/mq/test/gtest_mq_main.cpp | 2 | ||||
| -rw-r--r-- | infra/packet_manager/packet_manager.c | 14 | ||||
| -rw-r--r-- | infra/session_manager/session_manager.c | 21 | ||||
| -rw-r--r-- | infra/session_manager/session_manager_runtime.c | 10 | ||||
| -rw-r--r-- | infra/stellar_core.c | 17 | ||||
| -rw-r--r-- | infra/version.map | 24 | ||||
| -rw-r--r-- | test/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | test/lpi_plugin/gtest_lpi_plugin.cpp | 176 | ||||
| -rw-r--r-- | test/lpi_plugin/test_config/spec.toml | 11 | ||||
| -rw-r--r-- | test/lpi_plus/CMakeLists.txt (renamed from test/lpi_plugin/CMakeLists.txt) | 16 | ||||
| -rw-r--r-- | test/lpi_plus/gtest_lpip.h | 16 | ||||
| -rw-r--r-- | test/lpi_plus/gtest_lpip_main.cpp (renamed from test/lpi_plugin/gtest_lpi_main.cpp) | 53 | ||||
| -rw-r--r-- | test/lpi_plus/gtest_lpip_module.c | 182 | ||||
| -rw-r--r-- | test/lpi_plus/test_config/spec.toml | 11 | ||||
| -rw-r--r-- | test/lpi_plus/test_config/tsg_l7_protocol.conf (renamed from test/lpi_plugin/test_config/tsg_l7_protocol.conf) | 35 | ||||
| -rw-r--r-- | test/lpi_plus/test_expect/app_pcap.json (renamed from test/lpi_plugin/test_expect/app_pcap.json) | 0 | ||||
| -rw-r--r-- | test/lpi_plus/test_expect/dns_pcap.json (renamed from test/lpi_plugin/test_expect/dns_pcap.json) | 0 | ||||
| -rw-r--r-- | test/lpi_plus/test_expect/empty_array.json (renamed from test/lpi_plugin/test_expect/empty_array.json) | 0 | ||||
| -rw-r--r-- | test/lpi_plus/test_expect/mixed_pcap.json (renamed from test/lpi_plugin/test_expect/mixed_pcap.json) | 0 | ||||
| -rw-r--r-- | test/lpi_plus/test_expect/openvpn_pcap.json (renamed from test/lpi_plugin/test_expect/openvpn_pcap.json) | 0 | ||||
| -rw-r--r-- | test/lpi_plus/test_expect/ppp_pcap.json (renamed from test/lpi_plugin/test_expect/ppp_pcap.json) | 0 | ||||
| -rw-r--r-- | test/lpi_plus/test_expect/socks_pcap.json (renamed from test/lpi_plugin/test_expect/socks_pcap.json) | 4 | ||||
| -rw-r--r-- | test/lpi_plus/test_pcap/app_pcap/1-qq_59361.pcap (renamed from test/lpi_plugin/test_pcap/app_pcap/1-qq_59361.pcap) | bin | 789454 -> 789454 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/app_pcap/2-qq_8758.pcap (renamed from test/lpi_plugin/test_pcap/app_pcap/2-qq_8758.pcap) | bin | 1042 -> 1042 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/app_pcap/3-wechat_51876.pcap (renamed from test/lpi_plugin/test_pcap/app_pcap/3-wechat_51876.pcap) | bin | 1213414 -> 1213414 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/app_pcap/4-wechat_8080.pcap (renamed from test/lpi_plugin/test_pcap/app_pcap/4-wechat_8080.pcap) | bin | 25566 -> 25566 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/app_pcap/5-wireguard.pcap (renamed from test/lpi_plugin/test_pcap/app_pcap/5-wireguard.pcap) | bin | 38948 -> 38948 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/app_pcap/6-wireguard1.pcap (renamed from test/lpi_plugin/test_pcap/app_pcap/6-wireguard1.pcap) | bin | 41484 -> 41484 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/app_pcap/7-wireguard2.pcap (renamed from test/lpi_plugin/test_pcap/app_pcap/7-wireguard2.pcap) | bin | 1740 -> 1740 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/dns_pcap/1-dns-tcp-single-53-124.88.175.201-8.8.8.8.pcap (renamed from test/lpi_plugin/test_pcap/dns_pcap/1-dns-tcp-single-53-124.88.175.201-8.8.8.8.pcap) | bin | 22503 -> 22503 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/dns_pcap/2-dns-tcp-single-53-60.13.179.249-8.8.8.8.pcap (renamed from test/lpi_plugin/test_pcap/dns_pcap/2-dns-tcp-single-53-60.13.179.249-8.8.8.8.pcap) | bin | 17860 -> 17860 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/01-http-not-ftp.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/01-http-not-ftp.pcap) | bin | 14400 -> 14400 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/02-stun-rtcp-rtp-22005-8000-39.144.206.199-117.156.19.31.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/02-stun-rtcp-rtp-22005-8000-39.144.206.199-117.156.19.31.pcap) | bin | 19726479 -> 19726479 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/03-ftp-37923-21121-117.145.115.74-218.31.124.234.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/03-ftp-37923-21121-117.145.115.74-218.31.124.234.pcap) | bin | 592 -> 592 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/04-mail_smtp_port_18867_25.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/04-mail_smtp_port_18867_25.pcap) | bin | 1618 -> 1618 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/05-ftp_port_21121-double.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/05-ftp_port_21121-double.pcap) | bin | 1142 -> 1142 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/06-ftp_port_21121-s2c.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/06-ftp_port_21121-s2c.pcap) | bin | 574 -> 574 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/07-ftp_port_21121-c2s.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/07-ftp_port_21121-c2s.pcap) | bin | 592 -> 592 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/08-gquic-023-85.117.117.169.47762-173.194.73.95.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/08-gquic-023-85.117.117.169.47762-173.194.73.95.443.pcap) | bin | 1647 -> 1647 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/09-gquic-025-85.117.113.98.4340-74.125.131.95.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/09-gquic-025-85.117.113.98.4340-74.125.131.95.443.pcap) | bin | 3142 -> 3142 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/10-gquic-033-90.143.189.5.8026-173.194.188.40.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/10-gquic-033-90.143.189.5.8026-173.194.188.40.443.pcap) | bin | 3143 -> 3143 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/11-gquic-034-85.117.125.8.21243-173.194.73.102.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/11-gquic-034-85.117.125.8.21243-173.194.73.102.443.pcap) | bin | 3141 -> 3141 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/12-gquic-035-redirector.googlevideo.com-85.117.122.194.32370-173.194.220.138.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/12-gquic-035-redirector.googlevideo.com-85.117.122.194.32370-173.194.220.138.443.pcap) | bin | 7537 -> 7537 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/13-gquic-037-10.32.121.249.33765-64.233.161.95.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/13-gquic-037-10.32.121.249.33765-64.233.161.95.443.pcap) | bin | 1996 -> 1996 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/14-gquic-039-redirector.googlevideo.com-85.117.119.45.22495-173.194.73.101.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/14-gquic-039-redirector.googlevideo.com-85.117.119.45.22495-173.194.73.101.443.pcap) | bin | 10833 -> 10833 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/15-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/15-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap) | bin | 3205 -> 3205 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/16-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/16-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap) | bin | 4256 -> 4256 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/17-gquic-044-146.158.67.194.1044-108.177.14.138.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/17-gquic-044-146.158.67.194.1044-108.177.14.138.443.pcap) | bin | 6804 -> 6804 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/18-gquic-046-36.142.158.169.16385-36.189.11.71.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/18-gquic-046-36.142.158.169.16385-36.189.11.71.443.pcap) | bin | 704270 -> 704270 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/19-gquic-048-103.3.138.59.12521-123.125.116.52.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/19-gquic-048-103.3.138.59.12521-123.125.116.52.443.pcap) | bin | 14097 -> 14097 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/20-gquic-050-i.ytimg.com-172.20.9.135.65045-64.233.162.119.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/20-gquic-050-i.ytimg.com-172.20.9.135.65045-64.233.162.119.443.pcap) | bin | 2050587 -> 2050587 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/21-iquic-29-192.168.50.29.61891-31.13.77.35.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/21-iquic-29-192.168.50.29.61891-31.13.77.35.443.pcap) | bin | 73949 -> 73949 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/22-mvfst-01-i.instagram.com-192.168.60.9.55659-69.171.250.63.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/22-mvfst-01-i.instagram.com-192.168.60.9.55659-69.171.250.63.443.pcap) | bin | 49232 -> 49232 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/23-mvfst-02-192.168.137.141.50006-31.13.77.17.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/23-mvfst-02-192.168.137.141.50006-31.13.77.17.443.pcap) | bin | 777583 -> 777583 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/23-prox-quic-217.76.77.70.33232-173.194.220.105.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/23-prox-quic-217.76.77.70.33232-173.194.220.105.443.pcap) | bin | 7783 -> 7783 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/24-ietf-rfc9000-192.168.60.32.59699-64.233.164.84.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/24-ietf-rfc9000-192.168.60.32.59699-64.233.164.84.443.pcap) | bin | 18421 -> 18421 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/25-tquic-51-195.12.120.14.41803-173.194.222.101.443.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/25-tquic-51-195.12.120.14.41803-173.194.222.101.443.pcap) | bin | 38915 -> 38915 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/26-smtp-55426-587-10.130.2.104-67.225.241.247.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/26-smtp-55426-587-10.130.2.104-67.225.241.247.pcap) | bin | 15075 -> 15075 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/27-pop-54776-110-196.188.12.179-192.185.31.244.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/27-pop-54776-110-196.188.12.179-192.185.31.244.pcap) | bin | 2866 -> 2866 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/28-Bole-IGW-SMTP-57719-26-10.130.13.155-50.87.145.154-2.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/28-Bole-IGW-SMTP-57719-26-10.130.13.155-50.87.145.154-2.pcap) | bin | 892 -> 892 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/29-Bole-IGW-SMTP-14636-25-196.189.57.105-68.232.159.216-2.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/29-Bole-IGW-SMTP-14636-25-196.189.57.105-68.232.159.216-2.pcap) | bin | 791 -> 791 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/30-Bole-IGW-SMTP-20997-25-196.190.160.6-64.225.54.152.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/30-Bole-IGW-SMTP-20997-25-196.190.160.6-64.225.54.152.pcap) | bin | 910 -> 910 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/31-Bole-IGW-POP3-50020-110-196.188.3.8-82.98.178.159.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/31-Bole-IGW-POP3-50020-110-196.188.3.8-82.98.178.159.pcap) | bin | 1435 -> 1435 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/32-Bole-IGW-POP3-53357-110-196.189.0.15-39.156.6.106.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/32-Bole-IGW-POP3-53357-110-196.189.0.15-39.156.6.106.pcap) | bin | 1094 -> 1094 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/33-Bole-IGW-IMAP-36734-143-196.189.5.89-101.32.113.90.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/33-Bole-IGW-IMAP-36734-143-196.189.5.89-101.32.113.90.pcap) | bin | 713 -> 713 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/34-Bole-IGW-IMAP-50415-143-196.188.28.149-69.195.110.51.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/34-Bole-IGW-IMAP-50415-143-196.188.28.149-69.195.110.51.pcap) | bin | 5029 -> 5029 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/35-Bole-IGW-SMTP-587-1440-587-196.189.45.189-40.101.92.178.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/35-Bole-IGW-SMTP-587-1440-587-196.189.45.189-40.101.92.178.pcap) | bin | 1034 -> 1034 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/36-Bole-IGW-SMTP-587-37943-587-196.191.120.240-81.19.77.166.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/36-Bole-IGW-SMTP-587-37943-587-196.191.120.240-81.19.77.166.pcap) | bin | 796 -> 796 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/37-dns-response-4029-53-115.24.235.11-8.210.152.150.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/37-dns-response-4029-53-115.24.235.11-8.210.152.150.pcap) | bin | 1472 -> 1472 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/38-stun-dtls.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/38-stun-dtls.pcap) | bin | 461565 -> 461565 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/mixed_pcap/39-pop3-mistake-redis.pcap (renamed from test/lpi_plugin/test_pcap/mixed_pcap/39-pop3-mistake-redis.pcap) | bin | 921 -> 921 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/01-openvpn-udp-port-1198-first.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/01-openvpn-udp-port-1198-first.pcap) | bin | 264 -> 264 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/02-openvpn-nDPI.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/02-openvpn-nDPI.pcap) | bin | 61903 -> 61903 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/03-openvpn_onestream.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/03-openvpn_onestream.pcap) | bin | 18456 -> 18456 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/04-openvpn-udp-63111.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/04-openvpn-udp-63111.pcap) | bin | 30590 -> 30590 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/05-openvpn-udp-34400.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/05-openvpn-udp-34400.pcap) | bin | 18456 -> 18456 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/06-openvpn-udp-40914.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/06-openvpn-udp-40914.pcap) | bin | 3284 -> 3284 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/07-openvpn.tcp.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/07-openvpn.tcp.pcap) | bin | 22820 -> 22820 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/08-ovpntcp_hmac.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/08-ovpntcp_hmac.pcap) | bin | 18708 -> 18708 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/09-ovpntcp_nohmac.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/09-ovpntcp_nohmac.pcap) | bin | 17556 -> 17556 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/10-openvpn-udp-49941.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/10-openvpn-udp-49941.pcap) | bin | 81387 -> 81387 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/11-ipv6_openvpn.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/11-ipv6_openvpn.pcap) | bin | 2196924 -> 2196924 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/openvpn_pcap/12-quic-openvpn.pcap (renamed from test/lpi_plugin/test_pcap/openvpn_pcap/12-quic-openvpn.pcap) | bin | 1066308 -> 1066308 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/ppp_pcap/01-l2tp_netbios.pcap (renamed from test/lpi_plugin/test_pcap/ppp_pcap/01-l2tp_netbios.pcap) | bin | 23328 -> 23328 bytes | |||
| -rwxr-xr-x | test/lpi_plus/test_pcap/ppp_pcap/02-l2tp-without-l7_protocol-62176-33445-192.168.10.91-220.43.148.189.pcap (renamed from test/lpi_plugin/test_pcap/ppp_pcap/02-l2tp-without-l7_protocol-62176-33445-192.168.10.91-220.43.148.189.pcap) | bin | 1759 -> 1759 bytes | |||
| -rwxr-xr-x | test/lpi_plus/test_pcap/ppp_pcap/03-l2tp_http.pcap (renamed from test/lpi_plugin/test_pcap/ppp_pcap/03-l2tp_http.pcap) | bin | 26747 -> 26747 bytes | |||
| -rwxr-xr-x | test/lpi_plus/test_pcap/ppp_pcap/04-l2tp_ctrl_data_full.pcap (renamed from test/lpi_plugin/test_pcap/ppp_pcap/04-l2tp_ctrl_data_full.pcap) | bin | 570920 -> 570920 bytes | |||
| -rwxr-xr-x | test/lpi_plus/test_pcap/ppp_pcap/05-pptp_encrypt.pcap (renamed from test/lpi_plugin/test_pcap/ppp_pcap/05-pptp_encrypt.pcap) | bin | 110342 -> 110342 bytes | |||
| -rwxr-xr-x | test/lpi_plus/test_pcap/ppp_pcap/06-pptp_http.pcap (renamed from test/lpi_plugin/test_pcap/ppp_pcap/06-pptp_http.pcap) | bin | 7890 -> 7890 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/1-socks45-http-example.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/1-socks45-http-example.pcap) | bin | 9143 -> 9143 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/10-socks5-http-302-frag.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/10-socks5-http-302-frag.pcap) | bin | 5281 -> 5281 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/11-socks5-http-302.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/11-socks5-http-302.pcap) | bin | 2424 -> 2424 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/12-socks5-rdp.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/12-socks5-rdp.pcap) | bin | 852 -> 852 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/13-socks5-reverse.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/13-socks5-reverse.pcap) | bin | 28167 -> 28167 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/14-socks5-smtp-503.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/14-socks5-smtp-503.pcap) | bin | 1836 -> 1836 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/15-socks-http-pass.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/15-socks-http-pass.pcap) | bin | 5593 -> 5593 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/16-socks-https-example.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/16-socks-https-example.pcap) | bin | 34470 -> 34470 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/2-socks5_ftp.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/2-socks5_ftp.pcap) | bin | 5500 -> 5500 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/3-POP3_Sock5_subject.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/3-POP3_Sock5_subject.pcap) | bin | 22195 -> 22195 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/4-SMTP_Sock5_subject.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/4-SMTP_Sock5_subject.pcap) | bin | 20443 -> 20443 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/5-T3-HTTP-URL-SOCKS5.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/5-T3-HTTP-URL-SOCKS5.pcap) | bin | 10011 -> 10011 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/6-T7-HTTP-CONT-SOCKS5.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/6-T7-HTTP-CONT-SOCKS5.pcap) | bin | 7054 -> 7054 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/7-T86-FTP-URL-PORT-BIN-SOCKS5.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/7-T86-FTP-URL-PORT-BIN-SOCKS5.pcap) | bin | 10383 -> 10383 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/8-socks4_http.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/8-socks4_http.pcap) | bin | 2452 -> 2452 bytes | |||
| -rw-r--r-- | test/lpi_plus/test_pcap/socks_pcap/9-socks4-https.pcap (renamed from test/lpi_plugin/test_pcap/socks_pcap/9-socks4-https.pcap) | bin | 8032 -> 8032 bytes | |||
| -rw-r--r-- | test/session_debugger/session_debugger.c | 5 |
671 files changed, 1489 insertions, 1769 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 27c88ce..7ff43ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,7 +81,7 @@ add_subdirectory(conf) add_subdirectory(vendors) add_subdirectory(deps) add_subdirectory(infra) -#add_subdirectory(decoders) +add_subdirectory(decoders) add_subdirectory(scripts) add_subdirectory(include) add_subdirectory(test) diff --git a/conf/stellar.toml b/conf/stellar.toml index d7d1a01..beb2121 100644 --- a/conf/stellar.toml +++ b/conf/stellar.toml @@ -10,6 +10,23 @@ cpu_mask = [5, 6, 7, 8, 9, 10, 11, 12] idle_yield_interval_ms = 900 # range: [0, 60000] (ms) +[[module]] +path="" +init="packet_manager_on_init" +exit="packet_manager_on_exit" + +[[module]] +path = "" +init = "polling_manager_on_init" +exit = "polling_manager_on_exit" + +[[module]] +path="" +init="session_manager_on_init" +exit="session_manager_on_exit" + + + [ip_reassembly] enable = 1 bucket_entries = 32 # range: [1, 4294967295] (must be power of 2) @@ -68,17 +85,5 @@ file = "log/stellar.log" level = "INFO" # TRACE, DEBUG, INFO, WARN, ERROR, FATAL -[[module]] -path = "" -init = "polling_manager_on_init" -exit = "polling_manager_on_exit" -[[module]] -path = "" -init = "packet_manager_on_init" -exit = "packet_manager_on_exit" -[[module]] -path = "" -init = "session_manager_on_init" -exit = "session_manager_on_exit" diff --git a/decoders/CMakeLists.txt b/decoders/CMakeLists.txt index 8b3f7a9..efad779 100644 --- a/decoders/CMakeLists.txt +++ b/decoders/CMakeLists.txt @@ -1,5 +1,6 @@ -add_subdirectory(http) -add_subdirectory(lpi) -add_subdirectory(socks) -add_subdirectory(stratum) -add_subdirectory(session_flags)
\ No newline at end of file +add_subdirectory(appid) +add_subdirectory(lpi_plus) +#add_subdirectory(http) +#add_subdirectory(socks) +#add_subdirectory(stratum) +#add_subdirectory(session_flags)
\ No newline at end of file diff --git a/decoders/appid/CMakeLists.txt b/decoders/appid/CMakeLists.txt new file mode 100644 index 0000000..acb1939 --- /dev/null +++ b/decoders/appid/CMakeLists.txt @@ -0,0 +1 @@ +add_library(appid appid.c)
\ No newline at end of file diff --git a/decoders/appid/appid.c b/decoders/appid/appid.c new file mode 100644 index 0000000..642e8e6 --- /dev/null +++ b/decoders/appid/appid.c @@ -0,0 +1,49 @@ +#include "appid_internal.h" + +#include "stellar/utils.h" +#include "stellar/mq.h" + + + +static void appid_message_free(void *msg, void *msg_free_arg __unused) +{ + if(msg==NULL)return; + FREE(msg); +} + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-function-type" + +static void stellar_appid_on_msg_dispatch(int topic_id __unused, + void *msg, + on_msg_cb_func* on_msg_cb, + void *on_msg_cb_arg, + void *dispatch_arg __unused) +{ + on_appid_callback *appid_cb = (on_appid_callback *)on_msg_cb; + struct appid_message *appid_msg=(struct appid_message *)msg; + appid_cb(appid_msg->sess, appid_msg->origin, appid_msg->appid, appid_msg->appid_num, on_msg_cb_arg); +} + +int stellar_appid_subscribe(struct stellar_module_manager *mod_mgr, on_appid_callback *cb, void *args) +{ + if(mod_mgr==NULL)return -1; + int appid_topic_id=mq_schema_get_topic_id(stellar_module_manager_get_mq_schema(mod_mgr), APPID_MESSAGE_TOPIC); + if(appid_topic_id<0) + { + appid_topic_id=mq_schema_create_topic(stellar_module_manager_get_mq_schema(mod_mgr), APPID_MESSAGE_TOPIC, stellar_appid_on_msg_dispatch, mod_mgr, appid_message_free, NULL); + } + return mq_schema_subscribe(stellar_module_manager_get_mq_schema(mod_mgr), appid_topic_id, (on_msg_cb_func *)cb, args); +} + +#pragma GCC diagnostic pop + +int stellar_appid_create_topic(struct stellar_module_manager *mod_mgr) +{ + int app_topic_id=mq_schema_get_topic_id(stellar_module_manager_get_mq_schema(mod_mgr), APPID_MESSAGE_TOPIC); + if(app_topic_id < 0) + { + app_topic_id=mq_schema_create_topic(stellar_module_manager_get_mq_schema(mod_mgr), APPID_MESSAGE_TOPIC, stellar_appid_on_msg_dispatch, NULL,appid_message_free, NULL); + } + return app_topic_id; +}
\ No newline at end of file diff --git a/decoders/appid/appid_internal.h b/decoders/appid/appid_internal.h new file mode 100644 index 0000000..b107806 --- /dev/null +++ b/decoders/appid/appid_internal.h @@ -0,0 +1,25 @@ +#pragma once + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "stellar/appid.h" + +#define MAX_APPID_NUM 8 +#define APPID_MESSAGE_TOPIC "TOPIC_APPID" + +struct appid_message +{ + struct session *sess; + enum APPID_ORIGIN origin; + uint32_t appid_num; + int32_t appid[MAX_APPID_NUM]; + uint32_t surrogate_id[MAX_APPID_NUM]; + uint32_t packet_sequence[MAX_APPID_NUM]; +}; + +#ifdef __cplusplus +} +#endif
\ No newline at end of file diff --git a/decoders/lpi/CMakeLists.txt b/decoders/lpi/CMakeLists.txt deleted file mode 100644 index 43528a6..0000000 --- a/decoders/lpi/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -add_definitions(-fPIC) -add_subdirectory(libprotoident) - -add_library(lpi lpi_plugin.cpp quic_ident.cpp openvpn_ident.cpp) -target_include_directories(lpi PUBLIC ${CMAKE_SOURCE_DIR}/deps/) - -target_link_libraries(lpi libprotoident) -set_target_properties(lpi PROPERTIES LINK_FLAGS - "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/version.map") - -#install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/stellar_plugin COMPONENT LIBRARIES) - diff --git a/decoders/lpi/lpi_plugin.cpp b/decoders/lpi/lpi_plugin.cpp deleted file mode 100644 index 7591a90..0000000 --- a/decoders/lpi/lpi_plugin.cpp +++ /dev/null @@ -1,783 +0,0 @@ -/* - * dpkt_basic_proto_main.cpp - * - * Created on: Aug 7, 2020 - * Author: iie - */ - -#include <stdio.h> -#include <stdlib.h> -#include <time.h> -#include <string.h> -#include <assert.h> - -#include "uthash/uthash.h" - - -#include "stellar/utils.h" - -#include "stellar/session.h" -#include "stellar/stellar_exdata.h" -#include "stellar/stellar_mq.h" - -#include "stellar/packet.h" -#include "stellar/appid.h" - -#include "lpi_plugin.h" - -const char *dns_name="DNS"; -const char *imap_name="IMAP"; -const char *quic_name="QUIC"; - -const char *g_app_proto_conffile="./tsgconf/main.conf"; -const char *log_path = (char *)"./tsglog/lpi/"; - - -struct lpi_plugin_env -{ - int level; - int max_pkts; - int l7_label_id; - int l7_bridge_id; - int plugin_exdata_idx; - int l7_app_id_exdata_idx; - int topic_id; - int plugin_id; - struct stellar *st; - char log_path[128]; - char l7_protocol_file[128]; - struct l7_protocol_hash *name_by_id; - void *logger; - int tcp_topic_id; - int udp_topic_id; -}; - -struct l7_protocol_hash g_app_name2lpi_id[]={ - {0, LPI_PROTO_UNKNOWN, "UNCATEGORIZED",{}}, - //{0, LPI_PROTO_UNKNOWN, "Unknown_UDP"}, - //{0, LPI_PROTO_UNSUPPORTED, "Unknown_Other"}, - {0, LPI_PROTO_DNS, "DNS", {}}, - {0, LPI_PROTO_FTP_CONTROL, "FTP", {}}, - //{0, LPI_PROTO_FTP_DATA, "FTP", NULL, NULL}, - {0, LPI_PROTP_FTPS, "FTPS", {}}, - {0, LPI_PROTO_HTTP, "HTTP", {}}, - {0, LPI_PROTO_HTTPS, "HTTPS", {}}, - {0, LPI_PROTO_ICMP, "ICMP", {}}, - {0, LPI_PROTO_IKE, "IKE", {}}, - {0, LPI_PROTO_MAIL, "MAIL", {}}, - {0, LPI_PROTO_IMAP, "IMAP", {}}, - {0, LPI_PROTO_IMAPS, "IMAPS", {}}, - {0, LPI_PROTO_UDP_ESP, "IPSEC", {}}, - {0, LPI_PROTO_XMPP, "XMPP", {}}, - {0, LPI_PROTO_UDP_L2TP, "L2TP", {}}, - {0, LPI_PROTO_UDP_NTP, "NTP", {}}, - {0, LPI_PROTO_POP3, "POP3", {}}, - {0, LPI_PROTO_POP3S, "POP3S", {}}, - {0, LPI_PROTO_PPTP, "PPTP", {}}, - {0, LPI_PROTO_UDP_QUIC, "QUIC", {}}, - {0, LPI_PROTO_SIP, "SIP", {}}, - {0, LPI_PROTO_SMB, "SMB", {}}, - {0, LPI_PROTO_SMTP, "SMTP", {}}, - {0, LPI_PROTO_SMTPS, "SMTPS", {}}, - {0, LPI_PROTO_SPDY, "SPDY", {}}, - {0, LPI_PROTO_SSH, "SSH", {}}, - {0, LPI_PROTO_SSL, "SSL", {}}, - {0, LPI_PROTO_SOCKS4, "SOCKS", {}}, - //{0, LPI_PROTO_SOCKS4, "SOCKS4", NULL, NULL}, - //{0, LPI_PROTO_SOCKS5, "SOCKS5", NULL, NULL}, - {0, LPI_PROTO_TELNET, "TELNET", {}}, - {0, LPI_PROTO_UDP_DHCP, "DHCP", {}}, - {0, LPI_PROTO_UDP_RADIUS, "RADIUS", {}}, - {0, LPI_PROTO_OPENVPN, "OPENVPN", {}}, - {0, LPI_PROTO_STUN, "STUN", {}}, - {0, LPI_PROTO_UDP_TEREDO, "TEREDO", {}}, - {0, LPI_PROTO_UDP_DTLS, "DTLS", {}}, - {0, LPI_PROTO_DOH, "DoH", {}}, - {0, LPI_PROTO_UDP_ISAKMP, "ISAKMP", {}}, - {0, LPI_PROTO_UDP_MDNS, "MDNS", {}}, - {0, LPI_PROTO_NETBIOS, "NETBIOS", {}}, - {0, LPI_PROTO_UDP_NETFLOW, "NETFLOW", {}}, - {0, LPI_PROTO_RDP, "RDP", {}}, - {0, LPI_PROTO_UDP_RTCP, "RTCP", {}}, - {0, LPI_PROTO_UDP_RTP, "RTP", {}}, - {0, LPI_PROTO_UDP_SLP, "SLP", {}}, - {0, LPI_PROTO_UDP_SNMP, "SNMP", {}}, - {0, LPI_PROTO_UDP_SSDP, "SSDP", {}}, - {0, LPI_PROTO_UDP_TFTP, "TFTP", {}}, - {0, LPI_PROTO_UDP_BJNP, "BJNP", {}}, - {0, LPI_PROTO_LDAP, "LDAP", {}}, - {0, LPI_PROTO_RTMP, "RTMP", {}}, - {0, LPI_PROTO_RTSP, "RTSP", {}}, - {0, LPI_PROTO_ESNI, "ESNI", {}}, - {0, LPI_PROTO_STRATUM, "Stratum", {}}, - {0, LPI_PROTO_QQ, "QQ", {}}, - {0, LPI_PROTO_WECHAT, "WeChat", {}}, - {0, LPI_PROTO_MMS, "MMS", {}}, - {0, LPI_PROTO_RSYNC, "RSYNC", {}}, - {0, LPI_PROTO_UDP_WIREGUARD, "WIREGUARD", {}}, - }; - -struct dns_header -{ - u_int16_t id; -#if __BYTE_ORDER == __LITTLE_ENDIAN - u_char rd:1; - u_char tc:1; - u_char aa:1; - u_char opcode:4; - u_char qr:1; - u_char rcode:4; - u_char z:3; - u_char ra:1; -#elif __BYTE_ORDER == __BIG_ENDIAN - u_char qr:1; - u_char opcode:4; - u_char aa:1; - u_char tc:1; - u_char rd:1; - u_char ra:1; - u_char z:3; - u_char rcode:4; -#endif - u_int16_t qdcount; - u_int16_t ancount; - u_int16_t aucount;//authority count - u_int16_t adcount;//additional count -}; - -static void get_host_order_port(struct session *sess __unused, unsigned short *sport, unsigned short *dport) -{ - *sport=0; - *dport=0; -//get host order port from stellar session api - - const struct packet *pkt = session_get0_current_packet(sess); - enum flow_type flow_type=session_get_flow_type(sess); - if(pkt && (flow_type==FLOW_TYPE_C2S || flow_type==FLOW_TYPE_S2C)) - { - int layer_cnt=packet_get_layer_count(pkt); - const struct layer *layer = packet_get_layer_by_idx(pkt, layer_cnt - 1); - if (layer && layer->proto == LAYER_PROTO_TCP) - { - *sport = ntohs(layer->hdr.tcp->th_sport); - *dport = ntohs(layer->hdr.tcp->th_dport); - } - if (layer && layer->proto == LAYER_PROTO_UDP) - { - *sport = ntohs(layer->hdr.udp->uh_sport); - *dport = ntohs(layer->hdr.udp->uh_dport); - } - //S2C, swap sport and dport - if(flow_type == FLOW_TYPE_S2C) - { - unsigned short tmp = *sport; - *sport = *dport; - *dport = tmp; - } - } - return; -} - -static int revise_lpi_result(struct session *sess, const char *scan_data, const int scan_data_len, lpi_module_t* proto, struct traffic_context *context, int l4_is_tcp, int curdir_is_c2s) -{ - unsigned short sport=0, dport=0; - - get_host_order_port(sess, &sport, &dport); - - if(sport == 989 || sport == 990 || dport == 989 || dport == 990) - { - if(proto->protocol == LPI_PROTO_SSL) - { - proto->protocol=(lpi_protocol_t)LPI_PROTP_FTPS; - proto->category=LPI_CATEGORY_FILES; - proto->priority=3; - proto->name="FTPS"; - proto->lpi_callback=NULL; - return 1; - } - } - - if(sport==443 || dport==443 || sport==80 || dport==80 || sport==8443 || dport==8443) - { - if(app_identify_get_quic_protocol(curdir_is_c2s, (const unsigned char *)scan_data, scan_data_len) != QUIC_VERSION_UNKNOWN) - { - //lpi_quic - proto->protocol=LPI_PROTO_UDP_QUIC; - proto->category=LPI_CATEGORY_WEB; - proto->priority=9; - proto->name=quic_name; - proto->lpi_callback=NULL; - return 1; - } - } - - if((sport==53 || dport==53) && (scan_data_len>12)) - { - struct dns_header *dns_hdr=NULL; - if(l4_is_tcp) - { - dns_hdr=(struct dns_header *)(scan_data+2); - } - else - { - dns_hdr=(struct dns_header *)scan_data; - } - if((dns_hdr->qr==1 && ntohs(dns_hdr->qdcount)==1) || - (dns_hdr->qr==0 && ntohs(dns_hdr->qdcount)==1 && ntohs(dns_hdr->aucount)==0 && ntohs(dns_hdr->ancount)==0)) - { - proto->protocol=LPI_PROTO_DNS; - proto->category=LPI_CATEGORY_SERVICES; - proto->priority=10; - proto->name=dns_name; - proto->lpi_callback=NULL; - return 1; - } - } - - if(((sport==143 || dport==143)) && - ( - (scan_data_len>=11 && memmem(scan_data, scan_data_len, " CAPABILITY", 11)!=NULL) || - (scan_data_len>=7 && memmem(scan_data, scan_data_len, " LOGIN ", 7)!=NULL) - ) - ) - { - proto->protocol=LPI_PROTO_IMAP; - proto->category=LPI_CATEGORY_MAIL; - proto->priority=2; - proto->name=imap_name; - proto->lpi_callback=NULL; - return 1; - } - int c2s_pkt_cnt=context->c2s_pkt; - int s2c_pkt_cnt=context->s2c_pkt; - - if(app_identify_guess_openvpn((const unsigned char *)scan_data, scan_data_len, c2s_pkt_cnt, s2c_pkt_cnt, &context->ovpn, l4_is_tcp, curdir_is_c2s)==1) - { - proto->protocol=LPI_PROTO_OPENVPN; - proto->category=LPI_CATEGORY_TUNNELLING; - proto->priority=4; - proto->name="OpenVPN"; - proto->lpi_callback=NULL; - return 1; - } - - return 0; -} - - -static int set_lpi_same_name(struct l7_protocol_hash *l7_protocol_hash, struct l7_protocol_hash *l7_protocol_elem, int lpi_protocol_id) -{ - struct l7_protocol_hash *tmp=(struct l7_protocol_hash *)calloc(1, sizeof(struct l7_protocol_hash)); - memcpy(tmp, l7_protocol_elem, sizeof(struct l7_protocol_hash)); - - tmp->lpi_protocol=lpi_protocol_id; - HASH_ADD(hh, l7_protocol_hash, lpi_protocol, sizeof(int), tmp); - - return 0; -} - -static int get_protocol_id(struct l7_protocol_hash *name_by_id, const lpi_module_t* proto) -{ - struct l7_protocol_hash *out=NULL; - - HASH_FIND(hh, name_by_id, &(proto->protocol), sizeof(int), out); - if(out!=NULL) - { - return out->protocol_id; - } - - return -1; -} - -static struct app_id_message *app_id_messgae_create(unsigned short *id_array, int id_num) -{ - struct app_id_message *result=CALLOC(struct app_id_message, 1); - result->origin=ORIGIN_PROTO_IDENTIFY; - result->magic=MESSAGE_MAGIC; - result->app_id_num=id_num; - for(unsigned int i=0; i<result->app_id_num; i++) - { - result->app_id[i]=(int)(id_array[i]); - result->surrogate_id[i]=0; - } - - return result; -} - -static int update_protocol_id(unsigned short *old_id_array, int *old_id_num, unsigned short new_id) -{ - int i=0; - - if(*old_id_num>=MAX_APP_ID_NUM) - { - return 0; - } - - for(i=0; i<(*old_id_num); i++) - { - if(new_id==old_id_array[i]) - { - return 0; - } - } - - old_id_array[(*old_id_num)]=new_id; - (*old_id_num)++; - - return 1; -} - -static int l7_protocol_mapper(struct lpi_plugin_env *g_app_proto_para, const char *filename) -{ - size_t i=0,ret=0; - FILE *fp=NULL; - char line[1024]={0}; - char type_name[32]={0}; - struct l7_protocol_hash *name2lpi=NULL; - struct l7_protocol_hash *l7_protocol=NULL; - struct l7_protocol_hash *out=NULL; - - fp=fopen(filename, "r"); - if(fp==NULL) - { - printf("Open %s failed ...", filename); - return -1; - } - - for(i=0; i<(sizeof(g_app_name2lpi_id)/sizeof(struct l7_protocol_hash)); i++) - { - HASH_ADD(hh, name2lpi, name, strlen(g_app_name2lpi_id[i].name), &(g_app_name2lpi_id[i])); - } - - memset(line, 0, sizeof(line)); - - while((fgets(line, sizeof(line), fp))!=NULL) - { - if(line[0]=='#' || line[0]=='\n' || line[0]=='\r' ||line[0]=='\0') - { - continue; - } - - l7_protocol=(struct l7_protocol_hash *)calloc(1, sizeof(struct l7_protocol_hash)); - ret=sscanf(line, "%31s %63s %d", type_name, l7_protocol->name, &l7_protocol->protocol_id); - assert(ret==3); - - HASH_FIND(hh, name2lpi, l7_protocol->name, strlen(l7_protocol->name), out); - if(out==NULL) - { - //MESA_handle_runtime_log(g_app_proto_para->logger, RLOG_LV_FATAL, "INIT_HASH", "Protocol %s identified without registered LPI ID", l7_protocol->name); - free(l7_protocol); - continue; - } - - l7_protocol->lpi_protocol=out->lpi_protocol; - HASH_ADD(hh, g_app_proto_para->name_by_id, lpi_protocol, sizeof(int), l7_protocol); - - switch(out->lpi_protocol) - { - case LPI_PROTO_DNS: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_UDP_DNS); - break; - case LPI_PROTO_SIP: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_UDP_SIP); - break; - case LPI_PROTO_SOCKS4: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_SOCKS5); - break; - case LPI_PROTO_FTP_CONTROL: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_FTP_DATA); - break; - case LPI_PROTO_OPENVPN: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_UDP_OPENVPN); - break; - case LPI_PROTO_LDAP: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_TCP_LDAP_AD); - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_UDP_LDAP_AD); - break; - case LPI_PROTO_HTTP: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_HTTP_BADPORT); - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_HTTP_TUNNEL); - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_NONSTANDARD_HTTP); - break; - case LPI_PROTO_STUN: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_UDP_STUN); - break; - case LPI_PROTO_NETBIOS: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_UDP_NETBIOS); - break; - case LPI_PROTO_QQ: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_UDP_QQ); - break; - case LPI_PROTO_WECHAT: - set_lpi_same_name(g_app_proto_para->name_by_id, l7_protocol, LPI_PROTO_UDP_WECHAT); - break; - default: - break; - } - - memset(line, 0, sizeof(line)); - } - - fclose(fp); - fp=NULL; - - HASH_CLEAR(hh, name2lpi); - -#if 0 - HASH_ITER(hh, g_app_proto_para->name_by_id, out ,tmp) - { - MESA_handle_runtime_log(g_app_proto_para->logger, - RLOG_LV_DEBUG, - "ID_MAPPER", - "%s lpi_protocol built-in ID is %d and TSG ID is %d", - out->name, - out->lpi_protocol, - out->protocol_id - ); - } -#endif - - return ret; -} - -static void free_l7_protocol_mapper(struct l7_protocol_hash *hash) -{ - if(hash==NULL) - { - return ; - } - struct l7_protocol_hash *out=NULL, *tmp=NULL; - HASH_ITER(hh, hash, out ,tmp) - { - if(out!=NULL) - { - HASH_DEL(hash, out); - free(out); - out=NULL; - } - } -} - -int lpi_update_dpkt(lpi_data_t *data, struct session *sess, - const char *scan_data, int scan_data_len, char tsproto, - uint32_t is_c2s) -{ - - uint32_t dir = 0; - if(is_c2s == 1) - { - dir = 0; - } - else - { - dir = 1; - } - uint32_t four_bytes; - - if (data->observed[dir] > 32 * 1024) - return 0; - - data->observed[dir] += scan_data_len; - - if (data->trans_proto == 0)data->trans_proto = tsproto; - - if (scan_data == NULL)return 0; - if (scan_data_len <= 0)return 0; - - if (scan_data_len < 4) - { - memcpy((char *)&four_bytes, scan_data, scan_data_len); - four_bytes = (ntohl(four_bytes)) >> (8 * (4 - scan_data_len)); - four_bytes = htonl(four_bytes << (8 * (4 - scan_data_len))); - } - else - { - four_bytes = (*(uint32_t *)scan_data); - } - - data->payload[dir] = four_bytes; - data->payload_len[dir] = scan_data_len; - - uint16_t source=0; - uint16_t dest=0; - get_host_order_port(sess,&source ,&dest); - - data->client_port = source; - data->server_port = dest; - -// DONE: no need to set saddr and daddr -/* - - if (pstream != NULL && data->ips[0] == 0 - && (pstream->addr.addrtype == __ADDR_TYPE_IP_PAIR_V4 - || pstream->addr.addrtype == ADDR_TYPE_IPV4)) - { - if (dir == 1) - { - data->ips[0] = pstream->addr.ipv4->saddr; - data->ips[1] = pstream->addr.ipv4->daddr; - } - else - { - data->ips[1] = pstream->addr.ipv4->saddr; - data->ips[0] = pstream->addr.ipv4->daddr; - } - } -*/ - return 1; - -} - - - -static int lpi_detector(struct session *sess, struct traffic_context *context, struct lpi_plugin_env *g_app_proto_para, const char *scan_data, const int scan_data_len, int l4_proto) -{ - int ret=0,is_update=0; - //unsigned short sport=0, dport=0; - lpi_module_t modify_lpi_result={(lpi_protocol_t)0, (lpi_category_t)0, NULL, 0, NULL}; - unsigned short new_protocol_id=0; - struct l7_protocol_label *l7_protocol=NULL; - //const struct packet *raw_packet=session_get0_current_packet(sess); - //int cur_pkt_dir= packet_get_direction(raw_packet); - int cur_pkt_dir=session_get_flow_type(sess); - context->pkt_cnt++; - (cur_pkt_dir==FLOW_TYPE_C2S) ? (context->c2s_pkt++) : (context->s2c_pkt++); - int is_c2s_pkt=((cur_pkt_dir==FLOW_TYPE_C2S) ? 1 : 0); - ret=lpi_update_dpkt(&(context->lpi_data), sess, scan_data, scan_data_len, l4_proto, is_c2s_pkt); - if(!ret) - { - return 1; - } - - lpi_module_t *plpi_mod=lpi_guess_protocol(&(context->lpi_data)); - if(plpi_mod==NULL) - { - return 1; - } - - if((plpi_mod->protocol==LPI_PROTO_UNKNOWN || plpi_mod->protocol==LPI_PROTO_UDP) && - (context->pkt_cnt<g_app_proto_para->max_pkts || context->is_identify==1)) - { - ret=revise_lpi_result(sess, scan_data, scan_data_len, &modify_lpi_result, context, - (l4_proto==6?1:0), - (cur_pkt_dir==FLOW_TYPE_C2S?1:0)); - if(ret==0) - { - return 1; - } - - plpi_mod=&modify_lpi_result; - } - - if (plpi_mod->protocol == LPI_PROTO_FTP_CONTROL && context->is_first_payload == 1 && cur_pkt_dir == FLOW_TYPE_S2C) - { - if ((((scan_data_len >= 4 && (memcmp(scan_data, "220-", 4) == 0)) || memcmp(scan_data, "220 ", 4) == 0)) && - (((scan_data_len >= 7 && (memmem(scan_data, scan_data_len, " ESMTP ", 7) != NULL)) || - memmem(scan_data, scan_data_len, " esmtp ", 7) != NULL))) - { - // lpi_smtp - modify_lpi_result.protocol = LPI_PROTO_SMTP; - modify_lpi_result.category = LPI_CATEGORY_MAIL; - modify_lpi_result.priority = 2; - modify_lpi_result.name = "SMTP"; - - plpi_mod = &modify_lpi_result; - } - } - - if (plpi_mod->protocol == LPI_PROTO_SMTP && context->is_first_payload == 1 && cur_pkt_dir == FLOW_TYPE_S2C) - { - if ( - (scan_data_len >= 4) && - (memcmp(scan_data, "220 ", 4) == 0 || memcmp(scan_data, "220-", 4) == 0) && - (memmem(scan_data, scan_data_len, "FTPd", 4) != NULL || - memmem(scan_data, scan_data_len, "ftpd", 4) != NULL || - memmem(scan_data, scan_data_len, "FTPD", 4) != NULL)) - { - // lpi_ftpcontrol - modify_lpi_result.protocol = LPI_PROTO_FTP_CONTROL; - modify_lpi_result.category = LPI_CATEGORY_FILES; - modify_lpi_result.priority = 3; - modify_lpi_result.name = "FTP_Control"; - - plpi_mod = &modify_lpi_result; - } - } - - new_protocol_id=get_protocol_id(g_app_proto_para->name_by_id, plpi_mod); -#if 0 - if(new_protocol_id==(unsigned short)-1) - { - - if(plpi_mod->protocol!=LPI_PROTO_UNKNOWN && plpi_mod->protocol!=LPI_PROTO_UDP && plpi_mod->protocol!=LPI_PROTO_UNSUPPORTED) - { - MESA_handle_runtime_log(g_app_proto_para->logger, - RLOG_LV_INFO, - "UNDEFINE", - "Protocol Name: %s identified without registered LPI ID=%d, category: %s priority: %d addr: %s", - plpi_mod->name, - plpi_mod->protocol, - lpi_print_category(plpi_mod->category), - plpi_mod->priority, - session_get0_readable_addr(sess) - ); - } - return 1; - } - else - { - MESA_handle_runtime_log(g_app_proto_para->logger, - RLOG_LV_INFO, - "DEFINE", - "Protocol Name: %s identified registered LPI ID(%d), category: %s priority: %d addr: %s", - plpi_mod->name, - plpi_mod->protocol, - lpi_print_category(plpi_mod->category), - plpi_mod->priority, - session_get0_readable_addr(sess) - ); - } -#endif - - l7_protocol = (struct l7_protocol_label *)session_exdata_get(sess, g_app_proto_para->l7_app_id_exdata_idx); - if(l7_protocol==NULL) - { - l7_protocol=CALLOC(struct l7_protocol_label, 1); - l7_protocol->continue_scan_flag = 1; - session_exdata_set(sess, g_app_proto_para->l7_app_id_exdata_idx, l7_protocol); - } - - is_update=update_protocol_id(l7_protocol->protocol_id, &(l7_protocol->protocol_id_num), new_protocol_id); - if(is_update==1) - { - context->is_identify=1; - struct app_id_message *msg=app_id_messgae_create(l7_protocol->protocol_id, l7_protocol->protocol_id_num); - if(session_mq_publish_message(sess, g_app_proto_para->topic_id, msg) < 0) - { - FREE(msg); - } - //MESA_handle_runtime_log(g_app_proto_para->logger, RLOG_LV_DEBUG, "ADD_PROJECT", "%s identified, ID %d addr: %s", plpi_mod->name, new_protocol_id, session_get0_readable_addr(sess)); - } - - if (context->pkt_cnt >= g_app_proto_para->max_pkts || (plpi_mod->category != LPI_CATEGORY_TUNNELLING && plpi_mod->category != LPI_CATEGORY_NAT && plpi_mod->protocol != LPI_PROTO_RDP && plpi_mod->protocol != LPI_PROTO_UDP_RDP && plpi_mod->protocol != LPI_PROTO_UDP_RTP && plpi_mod->protocol != LPI_PROTO_UDP_RTCP)) - { - l7_protocol->continue_scan_flag=0; - return 0; - } - - return 1; -} - -static void lpi_plugin_on_session_msg(struct session *sess, int topic_id __unused, const void *msg, void *per_session_ctx __unused, void *plugin_env) -{ - assert(plugin_env!=NULL); - - if(msg==NULL)return; - - struct lpi_plugin_env *env=(struct lpi_plugin_env *)plugin_env; - int identify_continue=0; - struct traffic_context *context = (struct traffic_context *)session_exdata_get(sess, env->plugin_exdata_idx); - if(context==NULL) - { - context= CALLOC(struct traffic_context, 1); - context->is_first_payload=1; - session_exdata_set(sess, env->plugin_exdata_idx, context); - } - //size_t payload_len=0; - //const char *payload=session_get0_current_payload(sess, &payload_len); - - uint16_t payload_len=packet_get_payload_len((struct packet*)msg); - const char *payload=packet_get_payload((struct packet*)msg); - if (payload!=NULL && payload_len>0 && context->pkt_cnt<env->max_pkts) - { - int l4_proto=0; - enum session_type type= session_get_type(sess); - if(type == SESSION_TYPE_TCP) - { - l4_proto=6; - } - if(type == SESSION_TYPE_UDP) - { - l4_proto=17; - } - identify_continue=lpi_detector(sess, context, env, payload, payload_len, l4_proto); - context->is_first_payload=0; - } - else - { - identify_continue=1; - } - - if (identify_continue==0) - { - FREE(context); - session_exdata_set(sess, env->plugin_exdata_idx, NULL); - stellar_session_plugin_dettach_current_session(sess); - } - return; -} - - -extern "C" void lpi_plugin_unload(void *plugin_env) -{ - if(plugin_env) - { - struct lpi_plugin_env *env=(struct lpi_plugin_env *)plugin_env; - lpi_free_library(); - free_l7_protocol_mapper(env->name_by_id); - FREE(plugin_env); - } -} - -extern "C" void * lpi_plugin_load(struct stellar *st) -{ - int ret=0; - struct lpi_plugin_env *env=CALLOC(struct lpi_plugin_env, 1); - env->st=st; - env->max_pkts=16; - strcpy( env->l7_protocol_file, "./tsgconf/tsg_l7_protocol.conf"); - - ret=lpi_init_library(1); // 1, 2 or 3 - if(ret<0) - { - goto INIT_ERROR; - } - - ret=l7_protocol_mapper(env,env->l7_protocol_file); - if(ret<0) - { - goto INIT_ERROR; - } - - env->plugin_id=stellar_session_plugin_register(st, NULL, NULL, env); - if(env->plugin_id < 0) - { - goto INIT_ERROR; - } - env->tcp_topic_id=stellar_mq_get_topic_id(st, TOPIC_TCP_INPUT); - env->udp_topic_id=stellar_mq_get_topic_id(st, TOPIC_UDP_INPUT); - if(env->tcp_topic_id < 0 || env->udp_topic_id < 0) - { - perror("get tcp or udp topic id failed\n"); - exit(-1); - } - - stellar_session_mq_subscribe(st, env->tcp_topic_id, lpi_plugin_on_session_msg, env->plugin_id); - stellar_session_mq_subscribe(st, env->udp_topic_id, lpi_plugin_on_session_msg, env->plugin_id); - - env->plugin_exdata_idx = stellar_exdata_new_index(st, "EXDATA_LPI", stellar_exdata_free_default, NULL); - env->l7_app_id_exdata_idx = stellar_exdata_new_index(st, "L7_PROTOCOL", stellar_exdata_free_default, NULL); - env->topic_id=stellar_mq_get_topic_id(st, APP_ID_MESSAGE_TOPIC); - if(env->topic_id < 0) - { - env->topic_id=stellar_mq_create_topic(st, APP_ID_MESSAGE_TOPIC, stellar_msg_free_default, NULL); - } - return env; - -INIT_ERROR: - lpi_plugin_unload(env); - exit(-1); - return NULL; - -} - diff --git a/decoders/lpi/lpi_plugin.h b/decoders/lpi/lpi_plugin.h deleted file mode 100644 index 2fae274..0000000 --- a/decoders/lpi/lpi_plugin.h +++ /dev/null @@ -1,227 +0,0 @@ -#pragma once - -#include "libprotoident/libprotoident.h" -#include "uthash/uthash.h" - -#define MAX_APP_ID_NUM 8 - -typedef enum { - LPI_PROTO_EXTEND_FRIST = LPI_PROTO_LAST, - LPI_PROTO_IKE, //unsupport - LPI_PROTO_DOH, //unsupport - LPI_PROTO_MAIL, //unsupport - LPI_PROTO_ESNI, //unsupport - LPI_PROTP_FTPS, - LPI_PROTO_EXTEND_LAST -} extend_lpi_protocol_t; - -struct l7_protocol_label -{ - int continue_scan_flag; //0: stop; 1: continue - int protocol_id_num; - unsigned short protocol_id[MAX_APP_ID_NUM]; -}; - -struct l7_protocol_hash -{ - int protocol_id; - int lpi_protocol; - char name[64]; - UT_hash_handle hh; -}; - - -struct ovpn_ctx -{ - uint64_t local_session_id; - int contain_local_session_id_pkt_num; - int valid_opcode_cnt; -}; - -struct traffic_context -{ - unsigned char is_identify; - unsigned char is_first_payload; - unsigned short pkt_cnt; - unsigned short s2c_pkt; - unsigned short c2s_pkt; - lpi_data_t lpi_data; // lpi API - union{ - uint64_t ctx[2]; - struct ovpn_ctx ovpn; - }; -}; - -//https://github.com/quicwg/base-drafts/wiki/QUIC-Versions -enum _QUIC_VERSION -{ - QUIC_VERSION_UNKNOWN=0, - //NetApp - QUANT_VERSION_00=0x45474700, - QUANT_VERSION_FF=0x454747FF, - - //Private Octopus - PICOQUIC_VERSION_30=0x50435130, - - //google - GQUIC_VERSION_Q001=0x51303031, - GQUIC_VERSION_Q002=0x51303032, - GQUIC_VERSION_Q003=0x51303033, - GQUIC_VERSION_Q004=0x51303034, - GQUIC_VERSION_Q005=0x51303035, - GQUIC_VERSION_Q006=0x51303036, - GQUIC_VERSION_Q007=0x51303037, - GQUIC_VERSION_Q008=0x51303038, - GQUIC_VERSION_Q009=0x51303039, - - GQUIC_VERSION_Q010=0x51303130, - GQUIC_VERSION_Q011=0x51303131, - GQUIC_VERSION_Q012=0x51303132, - GQUIC_VERSION_Q013=0x51303133, - GQUIC_VERSION_Q014=0x51303134, - GQUIC_VERSION_Q015=0x51303135, - GQUIC_VERSION_Q016=0x51303136, - GQUIC_VERSION_Q017=0x51303137, - GQUIC_VERSION_Q018=0x51303138, - GQUIC_VERSION_Q019=0x51303139, - - GQUIC_VERSION_Q020=0x51303230, - GQUIC_VERSION_Q021=0x51303231, - GQUIC_VERSION_Q022=0x51303232, - GQUIC_VERSION_Q023=0x51303233, - GQUIC_VERSION_Q024=0x51303234, - GQUIC_VERSION_Q025=0x51303235, - GQUIC_VERSION_Q026=0x51303236, - GQUIC_VERSION_Q027=0x51303237, - GQUIC_VERSION_Q028=0x51303238, - GQUIC_VERSION_Q029=0x51303239, - - GQUIC_VERSION_Q030=0x51303330, - GQUIC_VERSION_Q031=0x51303331, - GQUIC_VERSION_Q032=0x51303332, - GQUIC_VERSION_Q033=0x51303333, - GQUIC_VERSION_Q034=0x51303334, - GQUIC_VERSION_Q035=0x51303335, - GQUIC_VERSION_Q036=0x51303336, - GQUIC_VERSION_Q037=0x51303337, - GQUIC_VERSION_Q038=0x51303338, - GQUIC_VERSION_Q039=0x51303339, - - GQUIC_VERSION_Q040=0x51303430, - GQUIC_VERSION_Q041=0x51303431, - GQUIC_VERSION_Q042=0x51303432, - GQUIC_VERSION_Q043=0x51303433, - GQUIC_VERSION_Q044=0x51303434, - GQUIC_VERSION_Q045=0x51303435, - GQUIC_VERSION_Q046=0x51303436, - GQUIC_VERSION_Q047=0x51303437, - GQUIC_VERSION_Q048=0x51303438, - GQUIC_VERSION_Q049=0x51303439, - - GQUIC_VERSION_Q050=0x51303530, - GQUIC_VERSION_Q051=0x51303531, - GQUIC_VERSION_Q052=0x51303532, - GQUIC_VERSION_Q053=0x51303533, - GQUIC_VERSION_Q054=0x51303534, - GQUIC_VERSION_Q055=0x51303535, - GQUIC_VERSION_Q056=0x51303536, - GQUIC_VERSION_Q057=0x51303537, - GQUIC_VERSION_Q058=0x51303538, - GQUIC_VERSION_Q059=0x51303539, - - GQUIC_VERSION_Q099=0x51303939, - - //Google QUIC with TLS 48 - 49 (T048 - T049) - GQUIC_VERSION_T048=0x54303438, - GQUIC_VERSION_T049=0x54303439, - - //Google QUIC with TLS 50 - 59 (T050 - T059) - GQUIC_VERSION_T050=0x54303530, - GQUIC_VERSION_T051=0x54303531, - GQUIC_VERSION_T052=0x54303532, - GQUIC_VERSION_T053=0x54303533, - GQUIC_VERSION_T054=0x54303534, - GQUIC_VERSION_T055=0x54303535, - GQUIC_VERSION_T056=0x54303536, - GQUIC_VERSION_T057=0x54303537, - GQUIC_VERSION_T058=0x54303538, - GQUIC_VERSION_T059=0x54303539, - - //Google QUIC with TLS 99 (T099) - GQUIC_VERSION_T099=0x54303939, - - //Google Proxied QUIC - PQUIC_VERSION_PROX=0x50524f58, - - //quic-go - QUIC_GO_VERSION_00=0x51474F00, - QUIC_GO_VERSION_FF=0x51474FFF, - - //quicly - QUICLY_VERSION_00=0x91c17000, - QUICLY_VERSION_FF=0x91c170FF, - - //Microsoft - MSQUIC_VERSION_00=0xabcd0000, - MSQUIC_VERSION_0F=0xabcd000F, - - //Mozilla - MOZQUIC_VERSION_00=0xf123f0c0, - MOZQUIC_VERSION_0F=0xf123f0cF, - - //Facebook - MVFST_VERSION_00=0xfaceb000, - MVFST_VERSION_01=0xfaceb001, - MVFST_VERSION_02=0xfaceb002, - MVFST_VERSION_03=0xfaceb003, - MVFST_VERSION_04=0xfaceb004, - MVFST_VERSION_05=0xfaceb005, - MVFST_VERSION_06=0xfaceb006, - MVFST_VERSION_07=0xfaceb007, - MVFST_VERSION_08=0xfaceb008, - MVFST_VERSION_09=0xfaceb009, - MVFST_VERSION_0A=0xfaceb00A, - MVFST_VERSION_0B=0xfaceb00B, - MVFST_VERSION_0C=0xfaceb00C, - MVFST_VERSION_0D=0xfaceb00D, - MVFST_VERSION_0E=0xfaceb00E, - MVFST_VERSION_0F=0xfaceb00F, - - //IETF - IQUIC_VERSION_RFC9000=0x00000001, - IQUIC_VERSION_I001=0xFF000001, - IQUIC_VERSION_I002=0xFF000002, - IQUIC_VERSION_I003=0xFF000003, - IQUIC_VERSION_I004=0xFF000004, - IQUIC_VERSION_I005=0xFF000005, - IQUIC_VERSION_I006=0xFF000006, - IQUIC_VERSION_I007=0xFF000007, - IQUIC_VERSION_I008=0xFF000008, - IQUIC_VERSION_I009=0xFF000009, - IQUIC_VERSION_I010=0xFF00000A, - IQUIC_VERSION_I011=0xFF00000B, - IQUIC_VERSION_I012=0xFF00000C, - IQUIC_VERSION_I013=0xFF00000D, - IQUIC_VERSION_I014=0xFF00000E, - IQUIC_VERSION_I015=0xFF00000F, - IQUIC_VERSION_I016=0xFF000010, - IQUIC_VERSION_I017=0xFF000011, - IQUIC_VERSION_I018=0xFF000012, - IQUIC_VERSION_I019=0xFF000013, - IQUIC_VERSION_I020=0xFF000014, - IQUIC_VERSION_I021=0xFF000015, - IQUIC_VERSION_I022=0xFF000016, - IQUIC_VERSION_I023=0xFF000017, - IQUIC_VERSION_I024=0xFF000018, - IQUIC_VERSION_I025=0xFF000019, - IQUIC_VERSION_I026=0xFF00001A, - IQUIC_VERSION_I027=0xFF00001B, - IQUIC_VERSION_I028=0xFF00001C, - IQUIC_VERSION_I029=0xFF00001D, - IQUIC_VERSION_I030=0xFF00001E, - IQUIC_VERSION_I031=0xFF00001F, - IQUIC_VERSION_I032=0xFF000020 -}; - -enum _QUIC_VERSION app_identify_get_quic_protocol(int curdir_is_c2s, const unsigned char *payload, const int payload_len); -int app_identify_guess_openvpn(const unsigned char *payload, int payload_len, int c2s_pkt_cnt, int s2c_pkt_cnt, struct ovpn_ctx *ovpn, int l4_is_tcp, int curdir_is_c2s);
\ No newline at end of file diff --git a/decoders/lpi/openvpn_ident.cpp b/decoders/lpi/openvpn_ident.cpp deleted file mode 100644 index 5c40eaf..0000000 --- a/decoders/lpi/openvpn_ident.cpp +++ /dev/null @@ -1,183 +0,0 @@ -/* - * openvpn.c - * - * Copyright (C) 2011-22 - ntop.org - * - * - * nDPI is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * nDPI is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with nDPI. If not, see <http://www.gnu.org/licenses/>. - * - */ - - - -#include <stdint.h> -#include <arpa/inet.h> - -#include "lpi_plugin.h" -/* - * OpenVPN TCP / UDP Detection - 128/160 hmac - * - * Detection based upon these openvpn protocol properties: - * - opcode - * - packet ID - * - session ID - * - * Two (good) packets are needed to perform detection. - * - First packet from client: save session ID - * - Second packet from server: report saved session ID - * - * TODO - * - Support PSK only mode (instead of TLS) - * - Support PSK + TLS mode (PSK used for early authentication) - * - TLS certificate extraction - * - */ - -#define P_CONTROL_HARD_RESET_CLIENT_V1 (0x01 << 3) -#define P_CONTROL_HARD_RESET_CLIENT_V2 (0x07 << 3) -#define P_CONTROL_HARD_RESET_SERVER_V1 (0x02 << 3) -#define P_CONTROL_HARD_RESET_SERVER_V2 (0x08 << 3) -#define P_ACK_V1 (0x05 << 3) -#define P_CONTROL_V1 (0x04 << 3) -#define P_OPCODE_MASK 0xF8 -#define P_SHA1_HMAC_SIZE 20 -#define P_HMAC_128 16 // (RSA-)MD5, (RSA-)MD4, ..others -#define P_HMAC_160 20 // (RSA-|DSA-)SHA(1), ..others, SHA1 is openvpn default -#define P_HMAC_NONE 0 -#define P_HARD_RESET_PACKET_ID_OFFSET(hmac_size) (9 + hmac_size) -#define P_PACKET_ID_ARRAY_LEN_OFFSET(hmac_size) (P_HARD_RESET_PACKET_ID_OFFSET(hmac_size) + 8) -#define P_HARD_RESET_CLIENT_MAX_COUNT 5 - -static inline uint32_t get_packet_id(const uint8_t * payload, uint8_t hms) { - return(ntohl(*(uint32_t*)(payload + P_HARD_RESET_PACKET_ID_OFFSET(hms)))); -} - -static inline int8_t check_pkid_and_detect_hmac_size(const uint8_t * payload) { - // try to guess - if((int)get_packet_id(payload, P_HMAC_160) != 0) - return P_HMAC_160; - - if((int)get_packet_id(payload, P_HMAC_128) != 0 ) - return P_HMAC_128; - - if((int)get_packet_id(payload, P_HMAC_NONE) != 0) - return P_HMAC_NONE; - - return(-1); -} - -int app_identify_guess_openvpn(const unsigned char *payload, int payload_len, int c2s_pkt_cnt, int s2c_pkt_cnt, struct ovpn_ctx *ovpn, int l4_is_tcp, int curdir_is_c2s) -{ - const uint8_t * session_remote; - uint8_t opcode; - uint8_t alen; - int8_t hmac_size; - int8_t failed = 0; - - if (c2s_pkt_cnt > 5) - { - if (ovpn->contain_local_session_id_pkt_num == P_HARD_RESET_CLIENT_MAX_COUNT - 1 && ovpn->valid_opcode_cnt == P_HARD_RESET_CLIENT_MAX_COUNT) - return 1; - return -1; - } - - if (payload_len >= 40) - { - // skip openvpn TCP transport packet size - if (l4_is_tcp) - payload += 2, payload_len -= 2; - - opcode = payload[0] & P_OPCODE_MASK; - if (curdir_is_c2s == 1 && - (opcode == P_CONTROL_HARD_RESET_CLIENT_V1 || - opcode == P_CONTROL_HARD_RESET_CLIENT_V2 || - opcode == P_ACK_V1 || - opcode == P_CONTROL_V1)) - { - ovpn->valid_opcode_cnt++; - } - // for UDP, trying to identify by opcode and first packet length - if (l4_is_tcp == 0) - { - if ((c2s_pkt_cnt == 1 || s2c_pkt_cnt == 1) && (((payload_len == 112) && ((opcode == 168) || (opcode == 192))) || ((payload_len == 80) && ((opcode == 184) || (opcode == 88) || (opcode == 160) || (opcode == 168) || (opcode == 200))))) - { - return 1; - } - } - - if(s2c_pkt_cnt >= 1 && curdir_is_c2s == 0)return 0; - - if (curdir_is_c2s == 1 && c2s_pkt_cnt <= P_HARD_RESET_CLIENT_MAX_COUNT && (opcode == P_CONTROL_HARD_RESET_CLIENT_V1 || opcode == P_CONTROL_HARD_RESET_CLIENT_V2 || opcode == P_ACK_V1 || opcode == P_CONTROL_V1)) - { - if (check_pkid_and_detect_hmac_size(payload) >= 0) - { - if (c2s_pkt_cnt > 1) - { - if (memcmp(&ovpn->local_session_id, payload + 1, 8) == 0) - { - ovpn->contain_local_session_id_pkt_num++; - } - } - memcpy(&ovpn->local_session_id, payload + 1, 8); - } - } - else if (c2s_pkt_cnt >= 1 && c2s_pkt_cnt <= P_HARD_RESET_CLIENT_MAX_COUNT && - (opcode == P_CONTROL_HARD_RESET_SERVER_V1 || opcode == P_CONTROL_HARD_RESET_SERVER_V2)) - { - - hmac_size = check_pkid_and_detect_hmac_size(payload); - - if (hmac_size >= 0) - { - u_int16_t offset = P_PACKET_ID_ARRAY_LEN_OFFSET(hmac_size); - - alen = payload[offset]; - - if (alen > 0) - { - offset += 1 + alen * 4; - - if ((offset + 8) <= payload_len) - { - session_remote = &payload[offset]; - - if (memcmp(&ovpn->local_session_id, session_remote, 8) == 0) - { - - return 1; - } - else - { - - failed = 1; - } - } - else - failed = 1; - } - else - failed = 1; - } - else - failed = 1; - } - else - failed = 1; - - if (failed) - return -1; - } - - return 0; -}
\ No newline at end of file diff --git a/decoders/lpi/quic_ident.cpp b/decoders/lpi/quic_ident.cpp deleted file mode 100644 index f1d5659..0000000 --- a/decoders/lpi/quic_ident.cpp +++ /dev/null @@ -1,237 +0,0 @@ -#include <arpa/inet.h> -#include "lpi_plugin.h" - -#define GQUIC_PUBLIC_FLAG_VERSION 0x01 -#define GQUIC_PUBLIC_FLAG_RST 0x02 -#define GQUIC_PUBLIC_FLAG_NONCE 0x04 -#define GQUIC_PUBLIC_FLAG_CID 0x08 -#define GQUIC_PUBLIC_FLAG_PKT_NUM 0x30 - -//GQIIC Frame type -#define GQUIC_SPECIAL_FRAME_FLAG 0xE0 // Special Frame Types -#define GQUIC_SPECIAL_FRAME_STREAM 0x80 -#define GQUIC_SPECIAL_FRAME_ACK 0x40 -#define GQUIC_SPECIAL_FRAME_CONGEST_FB 0x20 - -#define GQUIC_SPECIAL_FRAME_STREAM_FIN 0x40 // FIN -#define GQUIC_SPECIAL_FRAME_STREAM_DLEN 0x20 //stream length -#define GQUIC_SPECIAL_FRAME_STREAM_OFFSET 0x1C //offset header field -#define GQUIC_SPECIAL_FRAME_STREAM_ID 0x03 //offset header field - -#define GQUIC_REGULAR_FRAME_PADDING 0x00 -#define GQUIC_REGULAR_FRAME_RST_STREAM 0x01 -#define GQUIC_REGULAR_FRAME_CONNECTION_CLOSE 0x02 -#define GQUIC_REGULAR_FRAME_GOAWAY 0x03 -#define GQUIC_REGULAR_FRAME_WINDOW_UPDATE 0x04 -#define GQUIC_REGULAR_FRAME_BLOCKED 0x05 -#define GQUIC_REGULAR_FRAME_STOP_WAITING 0x06 -#define GQUIC_REGULAR_FRAME_PING 0x07 - -#define GQUIC_SPECIAL_FRAME_FLAG 0xE0 // Special Frame Types -#define GQUIC_SPECIAL_FRAME_STREAM 0x80 -#define GQUIC_SPECIAL_FRAME_ACK 0x40 -#define GQUIC_SPECIAL_FRAME_CONGEST_FB 0x20 - -#define GQUIC_SPECIAL_FRAME_STREAM_FIN 0x40 // FIN -#define GQUIC_SPECIAL_FRAME_STREAM_DLEN 0x20 //stream length -#define GQUIC_SPECIAL_FRAME_STREAM_OFFSET 0x1C //offset header field -#define GQUIC_SPECIAL_FRAME_STREAM_ID 0x03 //offset header field - -#define GQUIC_REGULAR_FRAME_PADDING 0x00 -#define GQUIC_REGULAR_FRAME_RST_STREAM 0x01 -#define GQUIC_REGULAR_FRAME_CONNECTION_CLOSE 0x02 -#define GQUIC_REGULAR_FRAME_GOAWAY 0x03 -#define GQUIC_REGULAR_FRAME_WINDOW_UPDATE 0x04 -#define GQUIC_REGULAR_FRAME_BLOCKED 0x05 -#define GQUIC_REGULAR_FRAME_STOP_WAITING 0x06 -#define GQUIC_REGULAR_FRAME_PING 0x07 - -//IQIIC Frame type (GQUIC_Q046 is iQUIC 17) -#define IQUIC_FRAME_PADDING 0x00 -#define IQUIC_FRAME_PING 0x10 -#define IQUIC_FRAME_ACK_HEX02 0x20 -#define IQUIC_FRAME_ACK_HEX03 0x30 -#define IQUIC_FRAME_RESET_STREAM 0x40 -#define IQUIC_FRAME_STOP_SENDING 0x50 -#define IQUIC_FRAME_CRYPTO 0x60 -#define IQUIC_FRAME_NEW_TOKEN 0x70 -#define IQUIC_FRAME_STREAM_HEX08 0x80 -#define IQUIC_FRAME_STREAM_HEX09 0x90 -#define IQUIC_FRAME_STREAM_HEX0A 0xA0 -#define IQUIC_FRAME_STREAM_HEX0B 0xB0 -#define IQUIC_FRAME_STREAM_HEX0C 0xC0 -#define IQUIC_FRAME_STREAM_HEX0D 0xD0 -#define IQUIC_FRAME_STREAM_HEX0E 0xE0 -#define IQUIC_FRAME_STREAM_HEX0F 0xF0 -#define IQUIC_FRAME_MAX_DATA 0x01 -#define IQUIC_FRAME_MAX_STREAM_DATA 0x11 -#define IQUIC_FRAME_MAX_STREAMS_HEX12 0x21 -#define IQUIC_FRAME_MAX_STREAMS_HEX13 0x31 -#define IQUIC_FRAME_DATA_BLOCKED 0x41 -#define IQUIC_FRAME_STREAM_DATA_BLOCKED 0x51 -#define IQUIC_FRAME_STREAMS_BLOCKED_HEX16 0x61 -#define IQUIC_FRAME_STREAMS_BLOCKED_HEX17 0x71 -#define IQUIC_FRAME_NEW_CONNECTION_ID 0x81 -#define IQUIC_FRAME_RETIRE_CONNECTION_ID 0x91 -#define IQUIC_FRAME_PATH_CHALLENGE 0xA1 -#define IQUIC_FRAME_PATH_RESPONSE 0xB1 -#define IQUIC_FRAME_CONNECTION_CLOSE_HEX1C 0xC1 -#define IQUIC_FRAME_CONNECTION_CLOSE_HEX1D 0xD1 - - -/**************************************************************************/ -/* Message tag */ -/**************************************************************************/ -#define CHLO 0x43484C4F -#define SHLO 0x53484C4F -#define REJ 0x52454A00 -#define PRST 0x50525354 - - -/**************************************************************************/ -/* Tag */ -/**************************************************************************/ -#define TAG_PAD 0x50414400 -#define TAG_SNI 0x534E4900 -#define TAG_VER 0x56455200 -#define TAG_CCS 0x43435300 -#define TAG_UAID 0x55414944 -#define TAG_PDMD 0x50444d44 -#define TAG_STK 0x53544b00 -#define TAG_SNO 0x534E4F00 -#define TAG_PROF 0x50524F46 -#define TAG_SCFG 0x53434647 -#define TAG_RREJ 0x5252454A -#define TAG_CRT 0x435254FF -#define TAG_AEAD 0x41454144 -#define TAG_SCID 0x53434944 -#define TAG_PUBS 0x50554253 -#define TAG_KEXS 0x4B455853 -#define TAG_OBIT 0x4F424954 -#define TAG_EXPY 0x45585059 -#define TAG_NONC 0x4E4F4E43 -#define TAG_MSPC 0x4D535043 -#define TAG_TCID 0x54434944 -#define TAG_SRBF 0x53524246 -#define TAG_ICSL 0x4943534C -#define TAG_SCLS 0x53434C53 -#define TAG_COPT 0x434F5054 -#define TAG_CCRT 0x43435254 -#define TAG_IRTT 0x49525454 -#define TAG_CFCW 0x43464357 -#define TAG_SFCW 0x53464357 -#define TAG_CETV 0x43455456 -#define TAG_XLCT 0x584C4354 -#define TAG_NONP 0x4E4F4E50 -#define TAG_CSCT 0x43534354 -#define TAG_CTIM 0x4354494D -#define TAG_MIDS 0x4D494453 -#define TAG_FHOL 0x46484F4C -#define TAG_STTL 0x5354544C -#define TAG_SMHL 0x534D484C -#define TAG_TBKP 0x54424B50 - -/* Public Reset Tag */ -#define TAG_RNON 0x524E4F4E -#define TAG_RSEQ 0x52534551 -#define TAG_CADR 0x43414452 - -#define EXTENSION_SERVER_NAME 0x0000 -#define EXTENSION_SUPPORT_GROUP 0x000A -#define EXTENSION_APP_PROT_NEGO 0x0010 //application layer protocol negotiation -#define EXTENSION_SIG_ALGORITHM 0x000D -#define EXTENSION_KEY_SHARE 0x0033 -#define EXTENSION_PSK_EXCHANGE 0x002D -#define EXTENSION_SUPP_SSL_VER 0x002B -#define EXTENSION_QUIC_PARAM 0xFFA5 -#define EXTENSION_COMPRESS_CERT 0x001B - -#define EXT_QUIC_PARAM_MAX_IDLE_TIMEOUT 0x01 -#define EXT_QUIC_PARAM_MAX_UDP_PAYLOAD 0x03 -#define EXT_QUIC_PARAM_MAX_INIT_DATA 0x04 -#define EXT_QUIC_PARAM_MAX_STREAM_BIDI_LOCAL 0x05 -#define EXT_QUIC_PARAM_MAX_STREAM_BIDI_REMOTE 0x06 -#define EXT_QUIC_PARAM_MAX_STREAM_UNI 0x07 -#define EXT_QUIC_PARAM_MAX_STREAMS_BIDI 0x08 -#define EXT_QUIC_PARAM_MAX_STREAMS_UNI 0x09 -#define EXT_QUIC_PARAM_MAX_FRAME_SIZE 0x20 -#define EXT_QUIC_PARAM_INIT_SRC_CONN_ID 0x0F -#define EXT_QUIC_PARAM_USER_AGENT 0x7129 -#define EXT_QUIC_PARAM_NOT_YET_SUPPORTED 0x712B -#define EXT_QUIC_PARAM_QUIC_VERSION 0x80004752 -#define EXT_QUIC_PARAM_GREASE_LOW4 0x91D24E9B -#define EXT_QUIC_PARAM_GREASE_HIGH4 0xEA666DE7 - -#define EXTENSION_QUIC_PARAM_UA 0x7129 -#define EXTENSION_QUIC_PARAM_VERSION 0x4752 - -enum _QUIC_VERSION app_identify_get_quic_protocol(int curdir_is_c2s, const unsigned char *payload, const int payload_len) -{ - enum _QUIC_VERSION quic_version = QUIC_VERSION_UNKNOWN; - - if(payload_len<5) - { - return QUIC_VERSION_UNKNOWN; - } - - // Q001~Q043: 0x80 is currently unused, and must be set to 0 - - // The most significant bit (0x80) of byte 0 (the first byte) is set to 1 for long headers - (payload[0] & 0x80) ? (quic_version = (enum _QUIC_VERSION)ntohl(*(unsigned int *)(payload + 1))) : QUIC_VERSION_UNKNOWN; - if ( - (quic_version == GQUIC_VERSION_Q099) || - (quic_version == PICOQUIC_VERSION_30) || - (quic_version == PQUIC_VERSION_PROX) || - (quic_version == GQUIC_VERSION_T099) || - (quic_version >= GQUIC_VERSION_Q044 && quic_version <= GQUIC_VERSION_Q050) || - (quic_version >= GQUIC_VERSION_Q051 && quic_version <= GQUIC_VERSION_Q059) || - (quic_version >= GQUIC_VERSION_T048 && quic_version <= GQUIC_VERSION_T049) || - (quic_version >= GQUIC_VERSION_T050 && quic_version <= GQUIC_VERSION_T059) || - (quic_version >= QUANT_VERSION_00 && quic_version <= QUANT_VERSION_FF) || - (quic_version >= QUIC_GO_VERSION_00 && quic_version <= QUIC_GO_VERSION_FF) || - (quic_version >= QUICLY_VERSION_00 && quic_version <= QUICLY_VERSION_FF) || - (quic_version >= MSQUIC_VERSION_00 && quic_version <= MSQUIC_VERSION_0F) || - (quic_version >= MOZQUIC_VERSION_00 && quic_version <= MOZQUIC_VERSION_0F) || - (quic_version >= MVFST_VERSION_00 && quic_version <= MVFST_VERSION_0F) || - (quic_version >= IQUIC_VERSION_I001 && quic_version <= IQUIC_VERSION_I032) || - (quic_version == IQUIC_VERSION_RFC9000)) - { - return quic_version; - } - - char public_flags=payload[0]; - int used_len = 1; - if(curdir_is_c2s==0 && public_flags & GQUIC_PUBLIC_FLAG_VERSION) - { - return QUIC_VERSION_UNKNOWN; - } - if((!public_flags)&GQUIC_PUBLIC_FLAG_PKT_NUM) - { - if(public_flags&GQUIC_PUBLIC_FLAG_VERSION) //Public Reset Packet - { - return QUIC_VERSION_UNKNOWN;// todo - } - else // Version Negotiation Packet - { - return QUIC_VERSION_UNKNOWN; - } - } - if(public_flags&GQUIC_PUBLIC_FLAG_CID) - { - used_len+=sizeof(unsigned long long); // CID length - } - - if(payload_len>=(int)(used_len+sizeof(int)) && public_flags&GQUIC_PUBLIC_FLAG_VERSION && (*(unsigned char *)(payload+used_len)==0x51)) - { - quic_version=(enum _QUIC_VERSION)ntohl(*(unsigned int *)(payload+used_len)); - used_len+=sizeof(int); // skip version - } - - if(quic_version<GQUIC_VERSION_Q001 || quic_version>GQUIC_VERSION_Q043) - { - return QUIC_VERSION_UNKNOWN; - } - - return quic_version; -} - diff --git a/decoders/lpi/version.map b/decoders/lpi/version.map deleted file mode 100644 index 63ee411..0000000 --- a/decoders/lpi/version.map +++ /dev/null @@ -1,10 +0,0 @@ -VERS_2.4{ -global: -extern "C" { - lpi_plugin_load; - lpi_plugin_unload; - GIT_VERSION_*; -}; - -local: *; -}; diff --git a/decoders/lpi/.gitignore b/decoders/lpi_plus/.gitignore index 43c6efe..43c6efe 100644 --- a/decoders/lpi/.gitignore +++ b/decoders/lpi_plus/.gitignore diff --git a/decoders/lpi_plus/CMakeLists.txt b/decoders/lpi_plus/CMakeLists.txt new file mode 100644 index 0000000..b5da11a --- /dev/null +++ b/decoders/lpi_plus/CMakeLists.txt @@ -0,0 +1,13 @@ +add_definitions(-fPIC) +add_subdirectory(libprotoident) + +add_library(lpi_plus lpip_module.c lpip_extend.c) +target_include_directories(lpi_plus PUBLIC ${CMAKE_SOURCE_DIR}/deps/) +target_include_directories(lpi_plus PUBLIC ${CMAKE_SOURCE_DIR}/decoders/) + +target_link_libraries(lpi_plus libprotoident appid) +set_target_properties(lpi_plus PROPERTIES LINK_FLAGS + "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/version.map") + +#install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/stellar_plugin COMPONENT LIBRARIES) + diff --git a/decoders/lpi/libprotoident/CMakeLists.txt b/decoders/lpi_plus/libprotoident/CMakeLists.txt index 98de411..98de411 100644 --- a/decoders/lpi/libprotoident/CMakeLists.txt +++ b/decoders/lpi_plus/libprotoident/CMakeLists.txt diff --git a/decoders/lpi/libprotoident/libprotoident.cc b/decoders/lpi_plus/libprotoident/libprotoident.cc index f5baf58..e3f1db1 100644 --- a/decoders/lpi/libprotoident/libprotoident.cc +++ b/decoders/lpi_plus/libprotoident/libprotoident.cc @@ -29,12 +29,10 @@ #include <stdio.h> #include <assert.h> -//#include <libtrace.h> #include <inttypes.h> #include <sys/types.h> #include <stdint.h> #include <stdlib.h> -#include <signal.h> #include "libprotoident.h" #include "proto_manager.h" @@ -53,7 +51,7 @@ static LPIProtocolMap lpi_protocols; static LPICategoryMap lpi_categories; static LPICategoryProtocolMap lpi_category_protocols; -int lpi_init_library(int level) { +int lpi_init_library() { if (init_called) { fprintf(stderr, "WARNING: lpi_init_library has already been called\n"); diff --git a/decoders/lpi/libprotoident/libprotoident.h b/decoders/lpi_plus/libprotoident/libprotoident.h index 500d26a..3286276 100644 --- a/decoders/lpi/libprotoident/libprotoident.h +++ b/decoders/lpi_plus/libprotoident/libprotoident.h @@ -30,8 +30,8 @@ //#include <libtrace.h> #include <pthread.h> -#include <list> #include <stdint.h> +#include <stdbool.h> #include <netinet/in.h> @@ -716,22 +716,12 @@ struct lpi_module { }; -typedef std::list<lpi_module_t *> ProtoMatchList; - -typedef struct lpi_thread { - int index; - lpi_module_t *module; - lpi_data_t *data; - bool result; -} lpi_thread_t; - -typedef std::list<pthread_t> ThreadList; /* Initialises the LPI library, by registering all the protocol modules. * * @return 0 if initialisation succeeded, -1 otherwise */ -int lpi_init_library(int level); +int lpi_init_library(); /* Shuts down the LPI library, by de-registering all the protocol modules */ void lpi_free_library(void); @@ -755,9 +745,6 @@ void lpi_init_data(lpi_data_t *data); * * @return 0 if the packet was ignored, 1 if the LPI data was updated. */ -int lpi_update_dpkt(lpi_data_t *data, struct streaminfo *pstream, - const char *scan_data, int scan_data_len, char tsproto, uint32_t plseq, - uint32_t _curdir); /** Returns a unique string describing the provided protocol. * diff --git a/decoders/lpi/libprotoident/proto_common.cc b/decoders/lpi_plus/libprotoident/proto_common.cc index 3fca68c..3fca68c 100644 --- a/decoders/lpi/libprotoident/proto_common.cc +++ b/decoders/lpi_plus/libprotoident/proto_common.cc diff --git a/decoders/lpi/libprotoident/proto_common.h b/decoders/lpi_plus/libprotoident/proto_common.h index 679f784..679f784 100644 --- a/decoders/lpi/libprotoident/proto_common.h +++ b/decoders/lpi_plus/libprotoident/proto_common.h diff --git a/decoders/lpi/libprotoident/proto_manager.cc b/decoders/lpi_plus/libprotoident/proto_manager.cc index b4c58bf..b4c58bf 100644 --- a/decoders/lpi/libprotoident/proto_manager.cc +++ b/decoders/lpi_plus/libprotoident/proto_manager.cc diff --git a/decoders/lpi/libprotoident/proto_manager.h b/decoders/lpi_plus/libprotoident/proto_manager.h index 9e5ff62..9e5ff62 100644 --- a/decoders/lpi/libprotoident/proto_manager.h +++ b/decoders/lpi_plus/libprotoident/proto_manager.h diff --git a/decoders/lpi/libprotoident/tcp/lpi_300heroes.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_300heroes.cc index b93d663..b93d663 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_300heroes.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_300heroes.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_360safeguard.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_360safeguard.cc index dff2244..dff2244 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_360safeguard.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_360safeguard.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_4d.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_4d.cc index cd7316c..cd7316c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_4d.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_4d.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_acestream.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_acestream.cc index c6f205c..c6f205c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_acestream.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_acestream.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_afp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_afp.cc index 194c23f..194c23f 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_afp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_afp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_airdroid.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_airdroid.cc index ef94071..ef94071 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_airdroid.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_airdroid.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_airmedia.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_airmedia.cc index 752b8fe..752b8fe 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_airmedia.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_airmedia.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_akamai.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_akamai.cc index 85d0361..85d0361 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_akamai.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_akamai.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_amp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_amp.cc index 6e7aa1d..6e7aa1d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_amp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_amp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_antcoin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_antcoin.cc index 02d57fb..02d57fb 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_antcoin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_antcoin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_appearin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_appearin.cc index 5ba45a6..5ba45a6 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_appearin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_appearin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_apple_push.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_apple_push.cc index a678821..a678821 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_apple_push.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_apple_push.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ares.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ares.cc index 720f318..720f318 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ares.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ares.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_badbaidu.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_badbaidu.cc index 857be3d..857be3d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_badbaidu.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_badbaidu.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_baofeng_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_baofeng_tcp.cc index 9a74bfc..9a74bfc 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_baofeng_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_baofeng_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_beam.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_beam.cc index e9c6401..e9c6401 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_beam.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_beam.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_bitcoin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_bitcoin.cc index 137e78c..137e78c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_bitcoin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_bitcoin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_bitextend.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_bitextend.cc index a328211..a328211 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_bitextend.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_bitextend.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_bittorrent.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_bittorrent.cc index b953003..b953003 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_bittorrent.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_bittorrent.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_blackdesert.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_blackdesert.cc index ded8c93..ded8c93 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_blackdesert.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_blackdesert.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_blizzard.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_blizzard.cc index d1b0fdb..d1b0fdb 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_blizzard.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_blizzard.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_btsync.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_btsync.cc index a0ecd38..a0ecd38 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_btsync.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_btsync.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_bwsyncandshare.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_bwsyncandshare.cc index acbb51e..acbb51e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_bwsyncandshare.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_bwsyncandshare.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_cacaoweb.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_cacaoweb.cc index 5f6b57b..5f6b57b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_cacaoweb.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_cacaoweb.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_cgp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_cgp.cc index 3a8b1c2..3a8b1c2 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_cgp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_cgp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_chatango.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_chatango.cc index c36ca87..c36ca87 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_chatango.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_chatango.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_cisco_vpn.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_cisco_vpn.cc index 5e4b22c..5e4b22c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_cisco_vpn.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_cisco_vpn.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_clashofclans.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_clashofclans.cc index 2574507..2574507 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_clashofclans.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_clashofclans.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_classin_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_classin_tcp.cc index fcf9697..fcf9697 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_classin_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_classin_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_clubbox.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_clubbox.cc index 3bf6d74..3bf6d74 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_clubbox.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_clubbox.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_cod_waw.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_cod_waw.cc index edd4002..edd4002 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_cod_waw.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_cod_waw.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_conquer.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_conquer.cc index 99bb107..99bb107 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_conquer.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_conquer.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_crashplan.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_crashplan.cc index fcdb795..fcdb795 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_crashplan.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_crashplan.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_crossfire_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_crossfire_tcp.cc index 2f73f2b..2f73f2b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_crossfire_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_crossfire_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_cryptic.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_cryptic.cc index 44f6c1e..44f6c1e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_cryptic.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_cryptic.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_cvs.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_cvs.cc index 976cb29..976cb29 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_cvs.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_cvs.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dahua_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dahua_tcp.cc index 8e308bb..8e308bb 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dahua_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dahua_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dash.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dash.cc index 4355b07..4355b07 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dash.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dash.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dell_backup.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dell_backup.cc index 65ede05..65ede05 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dell_backup.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dell_backup.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_destiny.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_destiny.cc index 5066e08..5066e08 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_destiny.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_destiny.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_diablo3.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_diablo3.cc index 311fc8f..311fc8f 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_diablo3.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_diablo3.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dianping_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dianping_tcp.cc index 3239ea1..3239ea1 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dianping_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dianping_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_directconnect.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_directconnect.cc index 392415e..392415e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_directconnect.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_directconnect.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dnf.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dnf.cc index 3482109..3482109 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dnf.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dnf.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dns.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dns.cc index 2f2468b..2f2468b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dns.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dns.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dogecoin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dogecoin.cc index 12aa27b..12aa27b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dogecoin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dogecoin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_douyu.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_douyu.cc index 28eb419..28eb419 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_douyu.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_douyu.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_douyu_chat.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_douyu_chat.cc index dc6e169..dc6e169 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_douyu_chat.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_douyu_chat.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_duelingnetwork.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_duelingnetwork.cc index 643ebee..643ebee 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_duelingnetwork.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_duelingnetwork.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dvrns.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dvrns.cc index fbc50b2..fbc50b2 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dvrns.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dvrns.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_dxp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_dxp.cc index 1ab0cda..1ab0cda 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_dxp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_dxp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ea_games.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ea_games.cc index c061bae..c061bae 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ea_games.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ea_games.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_emule.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_emule.cc index 5e18dc5..5e18dc5 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_emule.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_emule.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ethernetip.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ethernetip.cc index e309665..e309665 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ethernetip.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ethernetip.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_eye.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_eye.cc index 294e87e..294e87e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_eye.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_eye.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_facebook_turn.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_facebook_turn.cc index 95bd2fb..95bd2fb 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_facebook_turn.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_facebook_turn.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_fb_message.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_fb_message.cc index eeba8c7..eeba8c7 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_fb_message.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_fb_message.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_fbcdn_ssl.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_fbcdn_ssl.cc index 9ef1232..9ef1232 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_fbcdn_ssl.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_fbcdn_ssl.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ffxiv.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ffxiv.cc index c934302..c934302 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ffxiv.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ffxiv.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_filenori.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_filenori.cc index fb0ea02..fb0ea02 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_filenori.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_filenori.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_flash.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_flash.cc index e56b470..e56b470 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_flash.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_flash.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_fliggy.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_fliggy.cc index f97e9dc..f97e9dc 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_fliggy.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_fliggy.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_fring.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_fring.cc index 33dee22..33dee22 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_fring.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_fring.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ftpcontrol.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ftpcontrol.cc index 0fd7b2e..0fd7b2e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ftpcontrol.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ftpcontrol.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ftpdata.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ftpdata.cc index dd77395..dd77395 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ftpdata.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ftpdata.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_fuckcoin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_fuckcoin.cc index e407d1c..e407d1c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_fuckcoin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_fuckcoin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_funshion.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_funshion.cc index 358f83e..358f83e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_funshion.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_funshion.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_gamespy.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_gamespy.cc index 7947571..7947571 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_gamespy.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_gamespy.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_gcafe_updater.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_gcafe_updater.cc index 3cbbd0a..3cbbd0a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_gcafe_updater.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_gcafe_updater.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_giop.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_giop.cc index 8dc926d..8dc926d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_giop.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_giop.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_git.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_git.cc index d3481b1..d3481b1 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_git.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_git.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_glupteba.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_glupteba.cc index 33f0b54..33f0b54 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_glupteba.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_glupteba.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_gnutella.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_gnutella.cc index 608d825..608d825 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_gnutella.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_gnutella.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_goku.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_goku.cc index 206589e..206589e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_goku.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_goku.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_googlehangouts.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_googlehangouts.cc index 49417a9..49417a9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_googlehangouts.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_googlehangouts.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_graalonlineera.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_graalonlineera.cc index 44a3ce4..44a3ce4 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_graalonlineera.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_graalonlineera.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_guildwars2.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_guildwars2.cc index 67e93dc..67e93dc 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_guildwars2.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_guildwars2.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_hamachi.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_hamachi.cc index 7530132..7530132 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_hamachi.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_hamachi.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_harveys.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_harveys.cc index 52cdc83..52cdc83 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_harveys.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_harveys.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_hearthstone.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_hearthstone.cc index 2807a5c..2807a5c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_hearthstone.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_hearthstone.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_hola.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_hola.cc index 3691028..3691028 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_hola.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_hola.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_hots_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_hots_tcp.cc index bc95c35..bc95c35 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_hots_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_hots_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_http.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_http.cc index d32cace..d32cace 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_http.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_http.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_http_badport.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_http_badport.cc index d0be1f0..d0be1f0 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_http_badport.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_http_badport.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_http_nonstandard.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_http_nonstandard.cc index db1d394..db1d394 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_http_nonstandard.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_http_nonstandard.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_http_tunnel.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_http_tunnel.cc index e12a31e..e12a31e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_http_tunnel.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_http_tunnel.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_https.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_https.cc index dc0bdf9..dc0bdf9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_https.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_https.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ica.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ica.cc index 8a54b9b..8a54b9b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ica.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ica.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_icep.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_icep.cc index 1c0f7d8..1c0f7d8 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_icep.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_icep.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_id.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_id.cc index 01de0c0..01de0c0 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_id.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_id.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_idrivesync.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_idrivesync.cc index 5a4379b..5a4379b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_idrivesync.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_idrivesync.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ihexin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ihexin.cc index 27a1207..27a1207 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ihexin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ihexin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_imap.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_imap.cc index 98a9ffb..98a9ffb 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_imap.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_imap.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_imaps.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_imaps.cc index 77bb7d6..77bb7d6 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_imaps.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_imaps.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_imesh.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_imesh.cc index f73163e..f73163e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_imesh.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_imesh.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_invalid.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid.cc index 2787bcb..2787bcb 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_invalid.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_invalid_bittorrent.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid_bittorrent.cc index 7d35b95..7d35b95 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_invalid_bittorrent.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid_bittorrent.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_invalid_http.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid_http.cc index 09c544b..09c544b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_invalid_http.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid_http.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_invalid_pop.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid_pop.cc index 2085b31..2085b31 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_invalid_pop.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid_pop.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_invalid_smtp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid_smtp.cc index a55d89d..a55d89d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_invalid_smtp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_invalid_smtp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ipfs.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ipfs.cc index 23ab4d1..23ab4d1 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ipfs.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ipfs.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ipop.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ipop.cc index cac92d9..cac92d9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ipop.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ipop.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ipsharkk.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ipsharkk.cc index 1c5259d..1c5259d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ipsharkk.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ipsharkk.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_irc.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_irc.cc index 1cace1a..1cace1a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_irc.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_irc.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_java.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_java.cc index 40b505f..40b505f 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_java.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_java.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_jedi.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_jedi.cc index 2780674..2780674 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_jedi.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_jedi.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_jx3online.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_jx3online.cc index 80e7cb7..80e7cb7 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_jx3online.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_jx3online.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_kakao.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_kakao.cc index 6ec17c8..6ec17c8 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_kakao.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_kakao.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_kankan_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_kankan_tcp.cc index de2a052..de2a052 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_kankan_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_kankan_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_kaseya.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_kaseya.cc index acc7def..acc7def 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_kaseya.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_kaseya.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_kaspersky.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_kaspersky.cc index 983e416..983e416 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_kaspersky.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_kaspersky.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_kik.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_kik.cc index cd6f545..cd6f545 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_kik.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_kik.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_kingofglory_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_kingofglory_tcp.cc index 330ac34..330ac34 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_kingofglory_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_kingofglory_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_kuaibo.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_kuaibo.cc index 6f4c89e..6f4c89e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_kuaibo.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_kuaibo.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ldap.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ldap.cc index 80f8614..80f8614 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ldap.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ldap.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_lifeforge.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_lifeforge.cc index a216e83..a216e83 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_lifeforge.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_lifeforge.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_line.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_line.cc index c4f15dd..c4f15dd 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_line.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_line.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_litecoin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_litecoin.cc index 8039024..8039024 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_litecoin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_litecoin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_llp2p.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_llp2p.cc index a2e820f..a2e820f 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_llp2p.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_llp2p.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_maplestory_china.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_maplestory_china.cc index 16fa307..16fa307 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_maplestory_china.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_maplestory_china.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_maxicloud.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_maxicloud.cc index 000ddde..000ddde 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_maxicloud.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_maxicloud.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_message4u.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_message4u.cc index 578eaab..578eaab 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_message4u.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_message4u.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_minecraft.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_minecraft.cc index 434478b..434478b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_minecraft.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_minecraft.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mitglieder.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mitglieder.cc index 5cf25be..5cf25be 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mitglieder.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mitglieder.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mms.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mms.cc index 59f6466..59f6466 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mms.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mms.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mongo.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mongo.cc index e48405d..e48405d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mongo.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mongo.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mp2p.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mp2p.cc index 0ec6275..0ec6275 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mp2p.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mp2p.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_msn.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_msn.cc index 003d19d..003d19d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_msn.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_msn.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_msnc.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_msnc.cc index b734e68..b734e68 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_msnc.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_msnc.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_msnv.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_msnv.cc index 9db045b..9db045b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_msnv.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_msnv.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_munin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_munin.cc index ea68858..ea68858 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_munin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_munin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mysql.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mysql.cc index 96ce748..96ce748 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mysql.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mysql.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mystery_8000.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_8000.cc index ee58a59..ee58a59 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mystery_8000.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_8000.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mystery_9000.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_9000.cc index 6d1af54..6d1af54 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mystery_9000.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_9000.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mystery_conn.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_conn.cc index dcac2b9..dcac2b9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mystery_conn.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_conn.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mystery_iG.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_iG.cc index 428bf5e..428bf5e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mystery_iG.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_iG.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mystery_pspr.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_pspr.cc index d592a11..d592a11 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mystery_pspr.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_pspr.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mystery_rxxf.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_rxxf.cc index 964977a..964977a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mystery_rxxf.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_rxxf.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mystery_symantec.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_symantec.cc index 464db00..464db00 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mystery_symantec.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mystery_symantec.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_mzinga.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_mzinga.cc index 7879731..7879731 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_mzinga.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_mzinga.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_naverp2p.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_naverp2p.cc index e34535e..e34535e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_naverp2p.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_naverp2p.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ncsoft.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ncsoft.cc index eeca36b..eeca36b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ncsoft.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ncsoft.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ndt_tput.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ndt_tput.cc index 640572c..640572c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ndt_tput.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ndt_tput.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_netbios.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_netbios.cc index 2aff478..2aff478 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_netbios.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_netbios.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_netcat_cctv.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_netcat_cctv.cc index d8af5c0..d8af5c0 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_netcat_cctv.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_netcat_cctv.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_netmfp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_netmfp.cc index 28daef2..28daef2 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_netmfp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_netmfp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_nntp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_nntp.cc index bb1fdda..bb1fdda 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_nntp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_nntp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_nntps.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_nntps.cc index 85e6ee2..85e6ee2 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_nntps.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_nntps.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_nofirstpkt.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_nofirstpkt.cc index 4a869c0..4a869c0 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_nofirstpkt.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_nofirstpkt.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_nomachine.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_nomachine.cc index 125a49e..125a49e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_nomachine.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_nomachine.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_nopayload.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_nopayload.cc index 783776d..783776d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_nopayload.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_nopayload.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_norton_backup.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_norton_backup.cc index c97b771..c97b771 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_norton_backup.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_norton_backup.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_notes_rpc.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_notes_rpc.cc index 4eaff55..4eaff55 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_notes_rpc.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_notes_rpc.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_nsq.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_nsq.cc index 3bf88c5..3bf88c5 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_nsq.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_nsq.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_omegle.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_omegle.cc index e9cd832..e9cd832 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_omegle.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_omegle.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_openvpn.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_openvpn.cc index f9e58be..f9e58be 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_openvpn.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_openvpn.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ourworld.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ourworld.cc index 650b8eb..650b8eb 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ourworld.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ourworld.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_palringo.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_palringo.cc index 1f3d346..1f3d346 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_palringo.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_palringo.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_paltalk.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_paltalk.cc index f039835..f039835 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_paltalk.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_paltalk.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_pandatv.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_pandatv.cc index a424559..a424559 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_pandatv.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_pandatv.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_pando.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_pando.cc index 09a1dae..09a1dae 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_pando.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_pando.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_pathofexile.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_pathofexile.cc index cbb607a..cbb607a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_pathofexile.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_pathofexile.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_pdbox.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_pdbox.cc index d6b641f..d6b641f 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_pdbox.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_pdbox.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_pop3.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_pop3.cc index 4243542..4243542 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_pop3.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_pop3.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_pop3s.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_pop3s.cc index 1d20249..1d20249 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_pop3s.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_pop3s.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_postgresql.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_postgresql.cc index aefbd80..aefbd80 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_postgresql.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_postgresql.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_pptp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_pptp.cc index a1f1672..a1f1672 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_pptp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_pptp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_psn_store.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_psn_store.cc index c34feea..c34feea 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_psn_store.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_psn_store.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_qcloud_ilvb.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_qcloud_ilvb.cc index be063ec..be063ec 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_qcloud_ilvb.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_qcloud_ilvb.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_qq_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_qq_tcp.cc index 9da838a..9da838a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_qq_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_qq_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_qqdownload.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_qqdownload.cc index a0f5803..a0f5803 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_qqdownload.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_qqdownload.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_qqlive_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_qqlive_tcp.cc index 4863d99..4863d99 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_qqlive_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_qqlive_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_qqspeedmobile_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_qqspeedmobile_tcp.cc index 5a4d3fc..5a4d3fc 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_qqspeedmobile_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_qqspeedmobile_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_qvod.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_qvod.cc index 34b6830..34b6830 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_qvod.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_qvod.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rabbitmq.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rabbitmq.cc index 190204e..190204e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rabbitmq.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rabbitmq.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ragnarokonline.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ragnarokonline.cc index 27945ba..27945ba 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ragnarokonline.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ragnarokonline.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_razor.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_razor.cc index c0603cc..c0603cc 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_razor.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_razor.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rbls.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rbls.cc index 860f626..860f626 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rbls.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rbls.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rdp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rdp.cc index be979d9..be979d9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rdp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rdp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_realmofthemadgod.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_realmofthemadgod.cc index 13f3bc2..13f3bc2 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_realmofthemadgod.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_realmofthemadgod.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_realvnc.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_realvnc.cc index 77ca4ec..77ca4ec 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_realvnc.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_realvnc.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rejection.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rejection.cc index 5027e43..5027e43 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rejection.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rejection.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_relay.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_relay.cc index 41d2c40..41d2c40 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_relay.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_relay.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_remote_manipulator.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_remote_manipulator.cc index c7a056c..c7a056c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_remote_manipulator.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_remote_manipulator.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_revolver_nblbt.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_revolver_nblbt.cc index 0867c66..0867c66 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_revolver_nblbt.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_revolver_nblbt.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rfb.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rfb.cc index 88bbd7a..88bbd7a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rfb.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rfb.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rpcscan.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rpcscan.cc index 10ad66a..10ad66a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rpcscan.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rpcscan.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rrtv.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rrtv.cc index a76e89d..a76e89d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rrtv.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rrtv.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rsync.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rsync.cc index 7ec6fb0..7ec6fb0 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rsync.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rsync.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rtmp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rtmp.cc index cdf9991..cdf9991 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rtmp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rtmp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_rtsp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_rtsp.cc index b1f3b90..b1f3b90 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_rtsp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_rtsp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_runescape.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_runescape.cc index df7b6cc..df7b6cc 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_runescape.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_runescape.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_s7comm.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_s7comm.cc index e082821..e082821 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_s7comm.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_s7comm.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_saprouter.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_saprouter.cc index 00283ed..00283ed 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_saprouter.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_saprouter.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_saszombieassault4.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_saszombieassault4.cc index b63a9fa..b63a9fa 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_saszombieassault4.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_saszombieassault4.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_second_life.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_second_life.cc index f5bafb1..f5bafb1 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_second_life.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_second_life.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_shoutcast.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_shoutcast.cc index ab91f77..ab91f77 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_shoutcast.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_shoutcast.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_silkroadonline.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_silkroadonline.cc index d22e1f2..d22e1f2 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_silkroadonline.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_silkroadonline.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_sip.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_sip.cc index a5811f1..a5811f1 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_sip.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_sip.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_skyforge.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_skyforge.cc index 7df48d8..7df48d8 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_skyforge.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_skyforge.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_skype_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_skype_tcp.cc index 3924650..3924650 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_skype_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_skype_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_smb.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_smb.cc index e15b6ac..e15b6ac 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_smb.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_smb.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_smite_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_smite_tcp.cc index 2107284..2107284 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_smite_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_smite_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_smtp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_smtp.cc index df3eb0d..df3eb0d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_smtp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_smtp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_smtps.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_smtps.cc index 35c6a84..35c6a84 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_smtps.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_smtps.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_socks4.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_socks4.cc index bf71109..bf71109 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_socks4.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_socks4.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_socks5.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_socks5.cc index 0113538..0113538 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_socks5.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_socks5.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_spdy.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_spdy.cc index b564224..b564224 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_spdy.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_spdy.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_speedify.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_speedify.cc index 18bacf6..18bacf6 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_speedify.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_speedify.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_speedin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_speedin.cc index 0b5831a..0b5831a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_speedin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_speedin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_speedtest.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_speedtest.cc index d8425ca..d8425ca 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_speedtest.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_speedtest.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_spotify.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_spotify.cc index 5a8b28b..5a8b28b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_spotify.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_spotify.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ssh.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ssh.cc index 3c9553c..3c9553c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ssh.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ssh.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ssjj.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ssjj.cc index 15519ba..15519ba 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ssjj.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ssjj.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_ssl.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_ssl.cc index 5737522..5737522 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_ssl.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_ssl.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_steam.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_steam.cc index 6c68bf7..6c68bf7 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_steam.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_steam.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_stratum.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_stratum.cc index a992161..a992161 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_stratum.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_stratum.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_stun.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_stun.cc index 4526291..4526291 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_stun.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_stun.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_supl.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_supl.cc index 752b752..752b752 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_supl.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_supl.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_svn.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_svn.cc index 6a6c36a..6a6c36a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_svn.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_svn.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_talesrunner.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_talesrunner.cc index d74847e..d74847e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_talesrunner.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_talesrunner.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tankionline.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tankionline.cc index da9af66..da9af66 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tankionline.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tankionline.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tankix.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tankix.cc index c85b32e..c85b32e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tankix.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tankix.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_taobao.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_taobao.cc index 31bf114..31bf114 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_taobao.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_taobao.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tds.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tds.cc index 4069b70..4069b70 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tds.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tds.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_teamviewer.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_teamviewer.cc index f33a296..f33a296 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_teamviewer.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_teamviewer.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_telecomkey.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_telecomkey.cc index a9eb654..a9eb654 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_telecomkey.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_telecomkey.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_telegram.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_telegram.cc index 704876f..704876f 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_telegram.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_telegram.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_telnet.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_telnet.cc index 8368cf0..8368cf0 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_telnet.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_telnet.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_telnet_exploit.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_telnet_exploit.cc index a642870..a642870 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_telnet_exploit.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_telnet_exploit.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tencent_games.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tencent_games.cc index 72770d7..72770d7 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tencent_games.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tencent_games.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tenfivecoin.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tenfivecoin.cc index 1aa7256..1aa7256 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tenfivecoin.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tenfivecoin.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tensafe.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tensafe.cc index 89132de..89132de 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tensafe.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tensafe.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tera.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tera.cc index a8ca5ca..a8ca5ca 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tera.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tera.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tetrisonline.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tetrisonline.cc index 1f318b7..1f318b7 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tetrisonline.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tetrisonline.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_thedivision.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_thedivision.cc index 59001e4..59001e4 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_thedivision.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_thedivision.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tip.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tip.cc index 63770c8..63770c8 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tip.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tip.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tor.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tor.cc index c1282f9..c1282f9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tor.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tor.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_tpkt.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_tpkt.cc index df4df0a..df4df0a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_tpkt.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_tpkt.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_trackmania.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_trackmania.cc index a510ccd..a510ccd 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_trackmania.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_trackmania.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_transocks.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_transocks.cc index 0190a82..0190a82 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_transocks.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_transocks.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_trion.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_trion.cc index 6177e49..6177e49 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_trion.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_trion.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_trojan_win32_generic_sb.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_trojan_win32_generic_sb.cc index f7e307d..f7e307d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_trojan_win32_generic_sb.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_trojan_win32_generic_sb.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_trojan_zeroaccess.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_trojan_zeroaccess.cc index 03c666d..03c666d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_trojan_zeroaccess.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_trojan_zeroaccess.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_twitcasting.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_twitcasting.cc index 3769bed..3769bed 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_twitcasting.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_twitcasting.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_twitch_irc.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_twitch_irc.cc index 178505a..178505a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_twitch_irc.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_twitch_irc.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_utherverse.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_utherverse.cc index cbd9958..cbd9958 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_utherverse.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_utherverse.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_vainglory.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_vainglory.cc index 7b1e76a..7b1e76a 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_vainglory.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_vainglory.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_vhdp2p.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_vhdp2p.cc index a4d49f9..a4d49f9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_vhdp2p.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_vhdp2p.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_viber.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_viber.cc index eaee6ac..eaee6ac 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_viber.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_viber.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_vmware.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_vmware.cc index 815894d..815894d 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_vmware.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_vmware.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_vodlocker.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_vodlocker.cc index 4ce07f0..4ce07f0 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_vodlocker.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_vodlocker.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_vpnrobot_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_vpnrobot_tcp.cc index cb2f0fa..cb2f0fa 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_vpnrobot_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_vpnrobot_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_vpnunlimited_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_vpnunlimited_tcp.cc index fc7c41f..fc7c41f 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_vpnunlimited_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_vpnunlimited_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_warcraft3.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_warcraft3.cc index afd9e5e..afd9e5e 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_warcraft3.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_warcraft3.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_web_junk.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_web_junk.cc index 1f54312..1f54312 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_web_junk.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_web_junk.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_webex_stun.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_webex_stun.cc index 33560b9..33560b9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_webex_stun.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_webex_stun.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_weblogic.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_weblogic.cc index fc82d72..fc82d72 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_weblogic.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_weblogic.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_wechat.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_wechat.cc index 9784355..9784355 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_wechat.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_wechat.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_weibo.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_weibo.cc index ab4fe14..ab4fe14 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_weibo.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_weibo.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_weiqi.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_weiqi.cc index f272d1c..f272d1c 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_weiqi.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_weiqi.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_whatsapp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_whatsapp.cc index 5041615..5041615 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_whatsapp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_whatsapp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_whois.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_whois.cc index f27c60b..f27c60b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_whois.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_whois.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_winmx.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_winmx.cc index 175aae5..175aae5 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_winmx.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_winmx.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_wizard101.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_wizard101.cc index e6356c0..e6356c0 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_wizard101.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_wizard101.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_wns.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_wns.cc index f0d92c8..f0d92c8 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_wns.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_wns.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_wow.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_wow.cc index 368201b..368201b 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_wow.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_wow.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_wuala.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_wuala.cc index 3a3c1f5..3a3c1f5 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_wuala.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_wuala.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_xiami.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_xiami.cc index 0fce5a9..0fce5a9 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_xiami.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_xiami.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_xmpp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_xmpp.cc index 18fc750..18fc750 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_xmpp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_xmpp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_xmpps.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_xmpps.cc index 4048dce..4048dce 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_xmpps.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_xmpps.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_xunlei.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_xunlei.cc index da1fab2..da1fab2 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_xunlei.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_xunlei.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_xunlei_accel.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_xunlei_accel.cc index 60af3f6..60af3f6 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_xunlei_accel.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_xunlei_accel.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_xymon.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_xymon.cc index 15f5064..15f5064 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_xymon.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_xymon.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_yahoo.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_yahoo.cc index 43189b1..43189b1 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_yahoo.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_yahoo.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_yahoo_error.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_error.cc index 381a120..381a120 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_yahoo_error.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_error.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_yahoo_games.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_games.cc index 40432d5..40432d5 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_yahoo_games.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_games.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_yahoo_webcam.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_webcam.cc index 2cf48f3..2cf48f3 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_yahoo_webcam.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_yahoo_webcam.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_youku.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_youku.cc index 779b306..779b306 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_youku.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_youku.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_yy_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_yy_tcp.cc index 1b90d34..1b90d34 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_yy_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_yy_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_zabbix.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_zabbix.cc index f761109..f761109 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_zabbix.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_zabbix.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_zero.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_zero.cc index 3904a25..3904a25 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_zero.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_zero.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_zoom_tcp.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_zoom_tcp.cc index 62dcd93..62dcd93 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_zoom_tcp.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_zoom_tcp.cc diff --git a/decoders/lpi/libprotoident/tcp/lpi_zynga.cc b/decoders/lpi_plus/libprotoident/tcp/lpi_zynga.cc index 5c24b02..5c24b02 100644 --- a/decoders/lpi/libprotoident/tcp/lpi_zynga.cc +++ b/decoders/lpi_plus/libprotoident/tcp/lpi_zynga.cc diff --git a/decoders/lpi/libprotoident/tcp/tcp_protocols.h b/decoders/lpi_plus/libprotoident/tcp/tcp_protocols.h index 89c2bf7..89c2bf7 100644 --- a/decoders/lpi/libprotoident/tcp/tcp_protocols.h +++ b/decoders/lpi_plus/libprotoident/tcp/tcp_protocols.h diff --git a/decoders/lpi/libprotoident/udp/lpi_360cn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_360cn.cc index e0e631b..e0e631b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_360cn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_360cn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_360p2p.cc b/decoders/lpi_plus/libprotoident/udp/lpi_360p2p.cc index 251e205..251e205 100644 --- a/decoders/lpi/libprotoident/udp/lpi_360p2p.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_360p2p.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_aachen_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_aachen_udp.cc index 385fa1e..385fa1e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_aachen_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_aachen_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_acercloud.cc b/decoders/lpi_plus/libprotoident/udp/lpi_acercloud.cc index a6a7989..a6a7989 100644 --- a/decoders/lpi/libprotoident/udp/lpi_acercloud.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_acercloud.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_akamai.cc b/decoders/lpi_plus/libprotoident/udp/lpi_akamai.cc index 821b3ce..821b3ce 100644 --- a/decoders/lpi/libprotoident/udp/lpi_akamai.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_akamai.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_akamai_transfer.cc b/decoders/lpi_plus/libprotoident/udp/lpi_akamai_transfer.cc index ebd63a4..ebd63a4 100644 --- a/decoders/lpi/libprotoident/udp/lpi_akamai_transfer.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_akamai_transfer.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_amanda.cc b/decoders/lpi_plus/libprotoident/udp/lpi_amanda.cc index 646cc78..646cc78 100644 --- a/decoders/lpi/libprotoident/udp/lpi_amanda.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_amanda.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_apple_facetime_init.cc b/decoders/lpi_plus/libprotoident/udp/lpi_apple_facetime_init.cc index 12182b4..12182b4 100644 --- a/decoders/lpi/libprotoident/udp/lpi_apple_facetime_init.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_apple_facetime_init.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ard.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ard.cc index b4a3e7d..b4a3e7d 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ard.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ard.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ares.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ares.cc index 76e7648..76e7648 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ares.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ares.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ark.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ark.cc index bb13007..bb13007 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ark.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ark.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_arma3_server.cc b/decoders/lpi_plus/libprotoident/udp/lpi_arma3_server.cc index 29c5ed0..29c5ed0 100644 --- a/decoders/lpi/libprotoident/udp/lpi_arma3_server.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_arma3_server.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_arma_server.cc b/decoders/lpi_plus/libprotoident/udp/lpi_arma_server.cc index b0e2f56..b0e2f56 100644 --- a/decoders/lpi/libprotoident/udp/lpi_arma_server.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_arma_server.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_artcp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_artcp.cc index ddbfa26..ddbfa26 100644 --- a/decoders/lpi/libprotoident/udp/lpi_artcp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_artcp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_assettocorsa.cc b/decoders/lpi_plus/libprotoident/udp/lpi_assettocorsa.cc index c6860d9..c6860d9 100644 --- a/decoders/lpi/libprotoident/udp/lpi_assettocorsa.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_assettocorsa.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_avast_secure_dns.cc b/decoders/lpi_plus/libprotoident/udp/lpi_avast_secure_dns.cc index c3ca42e..c3ca42e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_avast_secure_dns.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_avast_secure_dns.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_backweb.cc b/decoders/lpi_plus/libprotoident/udp/lpi_backweb.cc index 71aa5bf..71aa5bf 100644 --- a/decoders/lpi/libprotoident/udp/lpi_backweb.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_backweb.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_bacnet.cc b/decoders/lpi_plus/libprotoident/udp/lpi_bacnet.cc index 85b4997..85b4997 100644 --- a/decoders/lpi/libprotoident/udp/lpi_bacnet.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_bacnet.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_baiduyun_p2p.cc b/decoders/lpi_plus/libprotoident/udp/lpi_baiduyun_p2p.cc index 89354d7..89354d7 100644 --- a/decoders/lpi/libprotoident/udp/lpi_baiduyun_p2p.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_baiduyun_p2p.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_baofeng_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_baofeng_udp.cc index f982090..f982090 100644 --- a/decoders/lpi/libprotoident/udp/lpi_baofeng_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_baofeng_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_battlefield.cc b/decoders/lpi_plus/libprotoident/udp/lpi_battlefield.cc index 3d3815b..3d3815b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_battlefield.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_battlefield.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_bjnp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_bjnp.cc index 97ec24e..97ec24e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_bjnp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_bjnp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_bmdp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_bmdp.cc index fcbd681..fcbd681 100644 --- a/decoders/lpi/libprotoident/udp/lpi_bmdp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_bmdp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_btsync.cc b/decoders/lpi_plus/libprotoident/udp/lpi_btsync.cc index 63648d3..63648d3 100644 --- a/decoders/lpi/libprotoident/udp/lpi_btsync.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_btsync.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_cacaoweb_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_cacaoweb_udp.cc index 5359371..5359371 100644 --- a/decoders/lpi/libprotoident/udp/lpi_cacaoweb_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_cacaoweb_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_canon_mfnp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_canon_mfnp.cc index 6f08e16..6f08e16 100644 --- a/decoders/lpi/libprotoident/udp/lpi_canon_mfnp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_canon_mfnp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_chargen_exploit.cc b/decoders/lpi_plus/libprotoident/udp/lpi_chargen_exploit.cc index 81b08d6..81b08d6 100644 --- a/decoders/lpi/libprotoident/udp/lpi_chargen_exploit.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_chargen_exploit.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_checkpoint_rdp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_checkpoint_rdp.cc index 9e7f13f..9e7f13f 100644 --- a/decoders/lpi/libprotoident/udp/lpi_checkpoint_rdp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_checkpoint_rdp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_chivalry.cc b/decoders/lpi_plus/libprotoident/udp/lpi_chivalry.cc index 7f29b27..7f29b27 100644 --- a/decoders/lpi/libprotoident/udp/lpi_chivalry.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_chivalry.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_cip_io.cc b/decoders/lpi_plus/libprotoident/udp/lpi_cip_io.cc index 0a028d2..0a028d2 100644 --- a/decoders/lpi/libprotoident/udp/lpi_cip_io.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_cip_io.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_cirn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_cirn.cc index 430aa46..430aa46 100644 --- a/decoders/lpi/libprotoident/udp/lpi_cirn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_cirn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_cisco_ipsec.cc b/decoders/lpi_plus/libprotoident/udp/lpi_cisco_ipsec.cc index 0fc95ae..0fc95ae 100644 --- a/decoders/lpi/libprotoident/udp/lpi_cisco_ipsec.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_cisco_ipsec.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_cisco_sslvpn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_cisco_sslvpn.cc index 9194191..9194191 100644 --- a/decoders/lpi/libprotoident/udp/lpi_cisco_sslvpn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_cisco_sslvpn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_classin_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_classin_udp.cc index 656b752..656b752 100644 --- a/decoders/lpi/libprotoident/udp/lpi_classin_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_classin_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_cloudflare_warp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_cloudflare_warp.cc index 2d222bb..2d222bb 100644 --- a/decoders/lpi/libprotoident/udp/lpi_cloudflare_warp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_cloudflare_warp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_cod.cc b/decoders/lpi_plus/libprotoident/udp/lpi_cod.cc index 3cdd444..3cdd444 100644 --- a/decoders/lpi/libprotoident/udp/lpi_cod.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_cod.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_codmobile.cc b/decoders/lpi_plus/libprotoident/udp/lpi_codmobile.cc index b1daf2e..b1daf2e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_codmobile.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_codmobile.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_combatarms.cc b/decoders/lpi_plus/libprotoident/udp/lpi_combatarms.cc index 0f4a76b..0f4a76b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_combatarms.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_combatarms.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_combatarms_p2p.cc b/decoders/lpi_plus/libprotoident/udp/lpi_combatarms_p2p.cc index 512979a..512979a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_combatarms_p2p.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_combatarms_p2p.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_contract_wars.cc b/decoders/lpi_plus/libprotoident/udp/lpi_contract_wars.cc index 3b96370..3b96370 100644 --- a/decoders/lpi/libprotoident/udp/lpi_contract_wars.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_contract_wars.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_crossfire.cc b/decoders/lpi_plus/libprotoident/udp/lpi_crossfire.cc index 0410997..0410997 100644 --- a/decoders/lpi/libprotoident/udp/lpi_crossfire.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_crossfire.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_crossout.cc b/decoders/lpi_plus/libprotoident/udp/lpi_crossout.cc index da8a268..da8a268 100644 --- a/decoders/lpi/libprotoident/udp/lpi_crossout.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_crossout.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_csgo.cc b/decoders/lpi_plus/libprotoident/udp/lpi_csgo.cc index 6e31057..6e31057 100644 --- a/decoders/lpi/libprotoident/udp/lpi_csgo.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_csgo.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_csoriginal.cc b/decoders/lpi_plus/libprotoident/udp/lpi_csoriginal.cc index ade9266..ade9266 100644 --- a/decoders/lpi/libprotoident/udp/lpi_csoriginal.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_csoriginal.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dahua.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dahua.cc index a61730e..a61730e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dahua.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dahua.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_db2.cc b/decoders/lpi_plus/libprotoident/udp/lpi_db2.cc index 67e3b4c..67e3b4c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_db2.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_db2.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dcc.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dcc.cc index ea2043c..ea2043c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dcc.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dcc.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_demonware.cc b/decoders/lpi_plus/libprotoident/udp/lpi_demonware.cc index 12fa9cf..12fa9cf 100644 --- a/decoders/lpi/libprotoident/udp/lpi_demonware.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_demonware.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_destiny_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_destiny_udp.cc index 2892418..2892418 100644 --- a/decoders/lpi/libprotoident/udp/lpi_destiny_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_destiny_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dhcp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dhcp.cc index 9b9f362..9b9f362 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dhcp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dhcp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dht_dict.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dht_dict.cc index 913ae7d..913ae7d 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dht_dict.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dht_dict.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dht_other.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dht_other.cc index d72cca8..d72cca8 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dht_other.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dht_other.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_diablo2.cc b/decoders/lpi_plus/libprotoident/udp/lpi_diablo2.cc index 55da20b..55da20b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_diablo2.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_diablo2.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dianping_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dianping_udp.cc index 19094aa..19094aa 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dianping_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dianping_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dianshijia.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dianshijia.cc index 74c395e..74c395e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dianshijia.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dianshijia.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_directconnect.cc b/decoders/lpi_plus/libprotoident/udp/lpi_directconnect.cc index 216bf68..216bf68 100644 --- a/decoders/lpi/libprotoident/udp/lpi_directconnect.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_directconnect.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_discord.cc b/decoders/lpi_plus/libprotoident/udp/lpi_discord.cc index ebc6556..ebc6556 100644 --- a/decoders/lpi/libprotoident/udp/lpi_discord.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_discord.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dns.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dns.cc index 6de0580..6de0580 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dns.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dns.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dota2.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dota2.cc index 45d3127..45d3127 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dota2.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dota2.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_doyo.cc b/decoders/lpi_plus/libprotoident/udp/lpi_doyo.cc index c007f25..c007f25 100644 --- a/decoders/lpi/libprotoident/udp/lpi_doyo.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_doyo.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_driveshare.cc b/decoders/lpi_plus/libprotoident/udp/lpi_driveshare.cc index 8de22d6..8de22d6 100644 --- a/decoders/lpi/libprotoident/udp/lpi_driveshare.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_driveshare.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_dtls.cc b/decoders/lpi_plus/libprotoident/udp/lpi_dtls.cc index 9eee536..9eee536 100644 --- a/decoders/lpi/libprotoident/udp/lpi_dtls.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_dtls.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_emule.cc b/decoders/lpi_plus/libprotoident/udp/lpi_emule.cc index 6321116..6321116 100644 --- a/decoders/lpi/libprotoident/udp/lpi_emule.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_emule.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_emule_weak.cc b/decoders/lpi_plus/libprotoident/udp/lpi_emule_weak.cc index ddc7bbe..ddc7bbe 100644 --- a/decoders/lpi/libprotoident/udp/lpi_emule_weak.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_emule_weak.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_epson.cc b/decoders/lpi_plus/libprotoident/udp/lpi_epson.cc index 8bf1278..8bf1278 100644 --- a/decoders/lpi/libprotoident/udp/lpi_epson.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_epson.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_eso.cc b/decoders/lpi_plus/libprotoident/udp/lpi_eso.cc index 828c7a1..828c7a1 100644 --- a/decoders/lpi/libprotoident/udp/lpi_eso.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_eso.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_esp_encap.cc b/decoders/lpi_plus/libprotoident/udp/lpi_esp_encap.cc index f814805..f814805 100644 --- a/decoders/lpi/libprotoident/udp/lpi_esp_encap.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_esp_encap.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ethernetip.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ethernetip.cc index 1c43f4a..1c43f4a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ethernetip.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ethernetip.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_eye.cc b/decoders/lpi_plus/libprotoident/udp/lpi_eye.cc index aee7611..aee7611 100644 --- a/decoders/lpi/libprotoident/udp/lpi_eye.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_eye.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_fasp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_fasp.cc index 23cd183..23cd183 100644 --- a/decoders/lpi/libprotoident/udp/lpi_fasp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_fasp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_feitwo.cc b/decoders/lpi_plus/libprotoident/udp/lpi_feitwo.cc index e39dd72..e39dd72 100644 --- a/decoders/lpi/libprotoident/udp/lpi_feitwo.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_feitwo.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_forticlient_sslvpn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_forticlient_sslvpn.cc index 60583b1..60583b1 100644 --- a/decoders/lpi/libprotoident/udp/lpi_forticlient_sslvpn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_forticlient_sslvpn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_fortinet.cc b/decoders/lpi_plus/libprotoident/udp/lpi_fortinet.cc index 55dd680..55dd680 100644 --- a/decoders/lpi/libprotoident/udp/lpi_fortinet.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_fortinet.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_foscam.cc b/decoders/lpi_plus/libprotoident/udp/lpi_foscam.cc index f200e3b..f200e3b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_foscam.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_foscam.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_freechal.cc b/decoders/lpi_plus/libprotoident/udp/lpi_freechal.cc index 71166e2..71166e2 100644 --- a/decoders/lpi/libprotoident/udp/lpi_freechal.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_freechal.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_freefire.cc b/decoders/lpi_plus/libprotoident/udp/lpi_freefire.cc index eb1df58..eb1df58 100644 --- a/decoders/lpi/libprotoident/udp/lpi_freefire.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_freefire.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_funshion.cc b/decoders/lpi_plus/libprotoident/udp/lpi_funshion.cc index ca00aea..ca00aea 100644 --- a/decoders/lpi/libprotoident/udp/lpi_funshion.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_funshion.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gamespy.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gamespy.cc index 573a5ff..573a5ff 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gamespy.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gamespy.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ganglia.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ganglia.cc index 1ec3067..1ec3067 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ganglia.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ganglia.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gangsofspace.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gangsofspace.cc index 083dca6..083dca6 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gangsofspace.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gangsofspace.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_garena.cc b/decoders/lpi_plus/libprotoident/udp/lpi_garena.cc index fa07d9b..fa07d9b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_garena.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_garena.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gearsofwar.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gearsofwar.cc index b9169e4..b9169e4 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gearsofwar.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gearsofwar.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gnutella.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gnutella.cc index 1982ccc..1982ccc 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gnutella.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gnutella.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gnutella2.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gnutella2.cc index 15b4a91..15b4a91 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gnutella2.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gnutella2.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gnutella_weak.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gnutella_weak.cc index 106e3a3..106e3a3 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gnutella_weak.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gnutella_weak.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gotomeeting.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gotomeeting.cc index a182129..a182129 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gotomeeting.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gotomeeting.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gprs_tunnel.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gprs_tunnel.cc index 471e106..471e106 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gprs_tunnel.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gprs_tunnel.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_gsm.cc b/decoders/lpi_plus/libprotoident/udp/lpi_gsm.cc index d6f6599..d6f6599 100644 --- a/decoders/lpi/libprotoident/udp/lpi_gsm.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_gsm.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_h1z1.cc b/decoders/lpi_plus/libprotoident/udp/lpi_h1z1.cc index 8cc06a2..8cc06a2 100644 --- a/decoders/lpi/libprotoident/udp/lpi_h1z1.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_h1z1.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_halflife.cc b/decoders/lpi_plus/libprotoident/udp/lpi_halflife.cc index 430fac6..430fac6 100644 --- a/decoders/lpi/libprotoident/udp/lpi_halflife.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_halflife.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_haloonline.cc b/decoders/lpi_plus/libprotoident/udp/lpi_haloonline.cc index 12553bf..12553bf 100644 --- a/decoders/lpi/libprotoident/udp/lpi_haloonline.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_haloonline.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_hamachi.cc b/decoders/lpi_plus/libprotoident/udp/lpi_hamachi.cc index 030175b..030175b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_hamachi.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_hamachi.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_heliborne.cc b/decoders/lpi_plus/libprotoident/udp/lpi_heliborne.cc index 1444fea..1444fea 100644 --- a/decoders/lpi/libprotoident/udp/lpi_heliborne.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_heliborne.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_heroes_generals.cc b/decoders/lpi_plus/libprotoident/udp/lpi_heroes_generals.cc index 97c268e..97c268e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_heroes_generals.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_heroes_generals.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_heroesevolved.cc b/decoders/lpi_plus/libprotoident/udp/lpi_heroesevolved.cc index 235360b..235360b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_heroesevolved.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_heroesevolved.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_hollachat.cc b/decoders/lpi_plus/libprotoident/udp/lpi_hollachat.cc index a9e5e4d..a9e5e4d 100644 --- a/decoders/lpi/libprotoident/udp/lpi_hollachat.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_hollachat.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_hots.cc b/decoders/lpi_plus/libprotoident/udp/lpi_hots.cc index 47f0aa4..47f0aa4 100644 --- a/decoders/lpi/libprotoident/udp/lpi_hots.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_hots.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_icp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_icp.cc index 07cef1a..07cef1a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_icp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_icp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_imesh.cc b/decoders/lpi_plus/libprotoident/udp/lpi_imesh.cc index b893329..b893329 100644 --- a/decoders/lpi/libprotoident/udp/lpi_imesh.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_imesh.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ipmsg.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ipmsg.cc index d66b4bd..d66b4bd 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ipmsg.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ipmsg.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ipv6.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ipv6.cc index bbfb1bc..bbfb1bc 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ipv6.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ipv6.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_isakmp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_isakmp.cc index b9ab307..b9ab307 100644 --- a/decoders/lpi/libprotoident/udp/lpi_isakmp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_isakmp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_jedi.cc b/decoders/lpi_plus/libprotoident/udp/lpi_jedi.cc index 1e38292..1e38292 100644 --- a/decoders/lpi/libprotoident/udp/lpi_jedi.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_jedi.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_jedi_academy.cc b/decoders/lpi_plus/libprotoident/udp/lpi_jedi_academy.cc index 0fbcb9c..0fbcb9c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_jedi_academy.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_jedi_academy.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_kademlia.cc b/decoders/lpi_plus/libprotoident/udp/lpi_kademlia.cc index 3c33cf1..3c33cf1 100644 --- a/decoders/lpi/libprotoident/udp/lpi_kademlia.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_kademlia.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_kankan.cc b/decoders/lpi_plus/libprotoident/udp/lpi_kankan.cc index a11ed3c..a11ed3c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_kankan.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_kankan.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_kaspersky.cc b/decoders/lpi_plus/libprotoident/udp/lpi_kaspersky.cc index 934b528..934b528 100644 --- a/decoders/lpi/libprotoident/udp/lpi_kaspersky.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_kaspersky.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_kazaa.cc b/decoders/lpi_plus/libprotoident/udp/lpi_kazaa.cc index 9d23a82..9d23a82 100644 --- a/decoders/lpi/libprotoident/udp/lpi_kazaa.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_kazaa.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_kingofglory_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_kingofglory_udp.cc index 495d19f..495d19f 100644 --- a/decoders/lpi/libprotoident/udp/lpi_kingofglory_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_kingofglory_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_kuguo.cc b/decoders/lpi_plus/libprotoident/udp/lpi_kuguo.cc index 2586b46..2586b46 100644 --- a/decoders/lpi/libprotoident/udp/lpi_kuguo.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_kuguo.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_l2tp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_l2tp.cc index f0e6ccd..f0e6ccd 100644 --- a/decoders/lpi/libprotoident/udp/lpi_l2tp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_l2tp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_lansync.cc b/decoders/lpi_plus/libprotoident/udp/lpi_lansync.cc index af92e7d..af92e7d 100644 --- a/decoders/lpi/libprotoident/udp/lpi_lansync.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_lansync.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ldap_ad.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ldap_ad.cc index 0724e66..0724e66 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ldap_ad.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ldap_ad.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_line_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_line_udp.cc index 762e65c..762e65c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_line_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_line_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_linkproof.cc b/decoders/lpi_plus/libprotoident/udp/lpi_linkproof.cc index 5b8bf4e..5b8bf4e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_linkproof.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_linkproof.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_loadout.cc b/decoders/lpi_plus/libprotoident/udp/lpi_loadout.cc index 9eec1a7..9eec1a7 100644 --- a/decoders/lpi/libprotoident/udp/lpi_loadout.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_loadout.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_lol.cc b/decoders/lpi_plus/libprotoident/udp/lpi_lol.cc index 4c663e6..4c663e6 100644 --- a/decoders/lpi/libprotoident/udp/lpi_lol.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_lol.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_mdns.cc b/decoders/lpi_plus/libprotoident/udp/lpi_mdns.cc index 32445ce..32445ce 100644 --- a/decoders/lpi/libprotoident/udp/lpi_mdns.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_mdns.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_merakicloud.cc b/decoders/lpi_plus/libprotoident/udp/lpi_merakicloud.cc index 9e2045b..9e2045b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_merakicloud.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_merakicloud.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_moh.cc b/decoders/lpi_plus/libprotoident/udp/lpi_moh.cc index 9806f33..9806f33 100644 --- a/decoders/lpi/libprotoident/udp/lpi_moh.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_moh.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_moonhunters.cc b/decoders/lpi_plus/libprotoident/udp/lpi_moonhunters.cc index 2c67cb6..2c67cb6 100644 --- a/decoders/lpi/libprotoident/udp/lpi_moonhunters.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_moonhunters.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_mp2p.cc b/decoders/lpi_plus/libprotoident/udp/lpi_mp2p.cc index 8130396..8130396 100644 --- a/decoders/lpi/libprotoident/udp/lpi_mp2p.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_mp2p.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_msn_cache.cc b/decoders/lpi_plus/libprotoident/udp/lpi_msn_cache.cc index 4b83c95..4b83c95 100644 --- a/decoders/lpi/libprotoident/udp/lpi_msn_cache.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_msn_cache.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_msn_video.cc b/decoders/lpi_plus/libprotoident/udp/lpi_msn_video.cc index 132ccf8..132ccf8 100644 --- a/decoders/lpi/libprotoident/udp/lpi_msn_video.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_msn_video.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_msoffice_mac.cc b/decoders/lpi_plus/libprotoident/udp/lpi_msoffice_mac.cc index 37551bd..37551bd 100644 --- a/decoders/lpi/libprotoident/udp/lpi_msoffice_mac.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_msoffice_mac.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_mta.cc b/decoders/lpi_plus/libprotoident/udp/lpi_mta.cc index 0c5318b..0c5318b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_mta.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_mta.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_n2ping.cc b/decoders/lpi_plus/libprotoident/udp/lpi_n2ping.cc index ee5d7de..ee5d7de 100644 --- a/decoders/lpi/libprotoident/udp/lpi_n2ping.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_n2ping.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_natpmp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_natpmp.cc index 8680ca6..8680ca6 100644 --- a/decoders/lpi/libprotoident/udp/lpi_natpmp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_natpmp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_netbios.cc b/decoders/lpi_plus/libprotoident/udp/lpi_netbios.cc index a720219..a720219 100644 --- a/decoders/lpi/libprotoident/udp/lpi_netbios.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_netbios.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_netcat_cctv_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_netcat_cctv_udp.cc index 4207e2b..4207e2b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_netcat_cctv_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_netcat_cctv_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_netcore_scan.cc b/decoders/lpi_plus/libprotoident/udp/lpi_netcore_scan.cc index 7dc479f..7dc479f 100644 --- a/decoders/lpi/libprotoident/udp/lpi_netcore_scan.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_netcore_scan.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_netflow.cc b/decoders/lpi_plus/libprotoident/udp/lpi_netflow.cc index d0bffbb..d0bffbb 100644 --- a/decoders/lpi/libprotoident/udp/lpi_netflow.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_netflow.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_newerth.cc b/decoders/lpi_plus/libprotoident/udp/lpi_newerth.cc index 90a38b4..90a38b4 100644 --- a/decoders/lpi/libprotoident/udp/lpi_newerth.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_newerth.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_nintendo.cc b/decoders/lpi_plus/libprotoident/udp/lpi_nintendo.cc index b3bef84..b3bef84 100644 --- a/decoders/lpi/libprotoident/udp/lpi_nintendo.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_nintendo.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_noction.cc b/decoders/lpi_plus/libprotoident/udp/lpi_noction.cc index 473039f..473039f 100644 --- a/decoders/lpi/libprotoident/udp/lpi_noction.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_noction.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_noe.cc b/decoders/lpi_plus/libprotoident/udp/lpi_noe.cc index 9de88ef..9de88ef 100644 --- a/decoders/lpi/libprotoident/udp/lpi_noe.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_noe.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_nopayload.cc b/decoders/lpi_plus/libprotoident/udp/lpi_nopayload.cc index 911605c..911605c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_nopayload.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_nopayload.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_norton.cc b/decoders/lpi_plus/libprotoident/udp/lpi_norton.cc index 2eb06b2..2eb06b2 100644 --- a/decoders/lpi/libprotoident/udp/lpi_norton.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_norton.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ntp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ntp.cc index b9053c1..b9053c1 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ntp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ntp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ntp_reflect.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ntp_reflect.cc index 5a91cf5..5a91cf5 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ntp_reflect.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ntp_reflect.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_nvidia_gamestream.cc b/decoders/lpi_plus/libprotoident/udp/lpi_nvidia_gamestream.cc index 3a956b4..3a956b4 100644 --- a/decoders/lpi/libprotoident/udp/lpi_nvidia_gamestream.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_nvidia_gamestream.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_nwn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_nwn.cc index 497f636..497f636 100644 --- a/decoders/lpi/libprotoident/udp/lpi_nwn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_nwn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_opaserv.cc b/decoders/lpi_plus/libprotoident/udp/lpi_opaserv.cc index 346e65c..346e65c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_opaserv.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_opaserv.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_openvpn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_openvpn.cc index 2a1e678..2a1e678 100644 --- a/decoders/lpi/libprotoident/udp/lpi_openvpn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_openvpn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_orbit.cc b/decoders/lpi_plus/libprotoident/udp/lpi_orbit.cc index a190644..a190644 100644 --- a/decoders/lpi/libprotoident/udp/lpi_orbit.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_orbit.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_overwatch.cc b/decoders/lpi_plus/libprotoident/udp/lpi_overwatch.cc index ca22205..ca22205 100644 --- a/decoders/lpi/libprotoident/udp/lpi_overwatch.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_overwatch.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_paladins.cc b/decoders/lpi_plus/libprotoident/udp/lpi_paladins.cc index 274dd8e..274dd8e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_paladins.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_paladins.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_pando.cc b/decoders/lpi_plus/libprotoident/udp/lpi_pando.cc index e23e7ec..e23e7ec 100644 --- a/decoders/lpi/libprotoident/udp/lpi_pando.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_pando.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_panipani.cc b/decoders/lpi_plus/libprotoident/udp/lpi_panipani.cc index 1559d2a..1559d2a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_panipani.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_panipani.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_planetside2.cc b/decoders/lpi_plus/libprotoident/udp/lpi_planetside2.cc index bb4ba48..bb4ba48 100644 --- a/decoders/lpi/libprotoident/udp/lpi_planetside2.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_planetside2.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_portmap_rpc.cc b/decoders/lpi_plus/libprotoident/udp/lpi_portmap_rpc.cc index 7660892..7660892 100644 --- a/decoders/lpi/libprotoident/udp/lpi_portmap_rpc.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_portmap_rpc.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_pplive.cc b/decoders/lpi_plus/libprotoident/udp/lpi_pplive.cc index aaabde9..aaabde9 100644 --- a/decoders/lpi/libprotoident/udp/lpi_pplive.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_pplive.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ppstream.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ppstream.cc index 36b9537..36b9537 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ppstream.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ppstream.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_probable_gnutella.cc b/decoders/lpi_plus/libprotoident/udp/lpi_probable_gnutella.cc index e3d908e..e3d908e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_probable_gnutella.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_probable_gnutella.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ps4_remoteplay.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ps4_remoteplay.cc index 748a57d..748a57d 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ps4_remoteplay.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ps4_remoteplay.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_psn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_psn.cc index 2753713..2753713 100644 --- a/decoders/lpi/libprotoident/udp/lpi_psn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_psn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_punkbuster.cc b/decoders/lpi_plus/libprotoident/udp/lpi_punkbuster.cc index 852f918..852f918 100644 --- a/decoders/lpi/libprotoident/udp/lpi_punkbuster.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_punkbuster.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_pyzor.cc b/decoders/lpi_plus/libprotoident/udp/lpi_pyzor.cc index 8071ac8..8071ac8 100644 --- a/decoders/lpi/libprotoident/udp/lpi_pyzor.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_pyzor.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_qq.cc b/decoders/lpi_plus/libprotoident/udp/lpi_qq.cc index 7011f09..7011f09 100644 --- a/decoders/lpi/libprotoident/udp/lpi_qq.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_qq.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_qqlive.cc b/decoders/lpi_plus/libprotoident/udp/lpi_qqlive.cc index 2a92787..2a92787 100644 --- a/decoders/lpi/libprotoident/udp/lpi_qqlive.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_qqlive.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_qqpcmgr.cc b/decoders/lpi_plus/libprotoident/udp/lpi_qqpcmgr.cc index 1e53999..1e53999 100644 --- a/decoders/lpi/libprotoident/udp/lpi_qqpcmgr.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_qqpcmgr.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_qqspeedmobile_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_qqspeedmobile_udp.cc index e6dd21c..e6dd21c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_qqspeedmobile_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_qqspeedmobile_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_quake.cc b/decoders/lpi_plus/libprotoident/udp/lpi_quake.cc index 9528d57..9528d57 100644 --- a/decoders/lpi/libprotoident/udp/lpi_quake.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_quake.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_quic.cc b/decoders/lpi_plus/libprotoident/udp/lpi_quic.cc index eeb50b2..eeb50b2 100644 --- a/decoders/lpi/libprotoident/udp/lpi_quic.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_quic.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_qvod_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_qvod_udp.cc index 78e7b70..78e7b70 100644 --- a/decoders/lpi/libprotoident/udp/lpi_qvod_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_qvod_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_radius.cc b/decoders/lpi_plus/libprotoident/udp/lpi_radius.cc index a1c2567..a1c2567 100644 --- a/decoders/lpi/libprotoident/udp/lpi_radius.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_radius.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_raknet.cc b/decoders/lpi_plus/libprotoident/udp/lpi_raknet.cc index e33f05f..e33f05f 100644 --- a/decoders/lpi/libprotoident/udp/lpi_raknet.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_raknet.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ramseydash.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ramseydash.cc index 00702ae..00702ae 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ramseydash.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ramseydash.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_rdp_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_rdp_udp.cc index 1086fe2..1086fe2 100644 --- a/decoders/lpi/libprotoident/udp/lpi_rdp_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_rdp_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_real.cc b/decoders/lpi_plus/libprotoident/udp/lpi_real.cc index 8617a04..8617a04 100644 --- a/decoders/lpi/libprotoident/udp/lpi_real.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_real.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_risingstorm.cc b/decoders/lpi_plus/libprotoident/udp/lpi_risingstorm.cc index 89ab4ef..89ab4ef 100644 --- a/decoders/lpi/libprotoident/udp/lpi_risingstorm.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_risingstorm.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_robocraft.cc b/decoders/lpi_plus/libprotoident/udp/lpi_robocraft.cc index 52dd3e7..52dd3e7 100644 --- a/decoders/lpi/libprotoident/udp/lpi_robocraft.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_robocraft.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_rocket_league.cc b/decoders/lpi_plus/libprotoident/udp/lpi_rocket_league.cc index 1947153..1947153 100644 --- a/decoders/lpi/libprotoident/udp/lpi_rocket_league.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_rocket_league.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_rrshare.cc b/decoders/lpi_plus/libprotoident/udp/lpi_rrshare.cc index 04644f8..04644f8 100644 --- a/decoders/lpi/libprotoident/udp/lpi_rrshare.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_rrshare.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_rtcp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_rtcp.cc index acbca15..acbca15 100644 --- a/decoders/lpi/libprotoident/udp/lpi_rtcp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_rtcp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_rtmfp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_rtmfp.cc index efc5846..efc5846 100644 --- a/decoders/lpi/libprotoident/udp/lpi_rtmfp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_rtmfp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_rtp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_rtp.cc index bc9d2d5..bc9d2d5 100644 --- a/decoders/lpi/libprotoident/udp/lpi_rtp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_rtp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_rulesofsurvival.cc b/decoders/lpi_plus/libprotoident/udp/lpi_rulesofsurvival.cc index 2323b23..2323b23 100644 --- a/decoders/lpi/libprotoident/udp/lpi_rulesofsurvival.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_rulesofsurvival.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_sanandreas_mp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_sanandreas_mp.cc index d0575c0..d0575c0 100644 --- a/decoders/lpi/libprotoident/udp/lpi_sanandreas_mp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_sanandreas_mp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_second_life.cc b/decoders/lpi_plus/libprotoident/udp/lpi_second_life.cc index 0dc07be..0dc07be 100644 --- a/decoders/lpi/libprotoident/udp/lpi_second_life.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_second_life.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_serialnumberd.cc b/decoders/lpi_plus/libprotoident/udp/lpi_serialnumberd.cc index 1244da5..1244da5 100644 --- a/decoders/lpi/libprotoident/udp/lpi_serialnumberd.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_serialnumberd.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_sip.cc b/decoders/lpi_plus/libprotoident/udp/lpi_sip.cc index 6f7839b..6f7839b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_sip.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_sip.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_skype.cc b/decoders/lpi_plus/libprotoident/udp/lpi_skype.cc index 10ce3fe..10ce3fe 100644 --- a/decoders/lpi/libprotoident/udp/lpi_skype.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_skype.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_slp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_slp.cc index 2de78d0..2de78d0 100644 --- a/decoders/lpi/libprotoident/udp/lpi_slp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_slp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_smite.cc b/decoders/lpi_plus/libprotoident/udp/lpi_smite.cc index c18caa2..c18caa2 100644 --- a/decoders/lpi/libprotoident/udp/lpi_smite.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_smite.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_snapvpn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_snapvpn.cc index e5ab71f..e5ab71f 100644 --- a/decoders/lpi/libprotoident/udp/lpi_snapvpn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_snapvpn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_snmp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_snmp.cc index 7e72434..7e72434 100644 --- a/decoders/lpi/libprotoident/udp/lpi_snmp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_snmp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_sopcast.cc b/decoders/lpi_plus/libprotoident/udp/lpi_sopcast.cc index 608168f..608168f 100644 --- a/decoders/lpi/libprotoident/udp/lpi_sopcast.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_sopcast.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_spamfighter.cc b/decoders/lpi_plus/libprotoident/udp/lpi_spamfighter.cc index 1b3eb9b..1b3eb9b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_spamfighter.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_spamfighter.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_spotify_bcast.cc b/decoders/lpi_plus/libprotoident/udp/lpi_spotify_bcast.cc index 9c9dde3..9c9dde3 100644 --- a/decoders/lpi/libprotoident/udp/lpi_spotify_bcast.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_spotify_bcast.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_sql_worm.cc b/decoders/lpi_plus/libprotoident/udp/lpi_sql_worm.cc index bd257e0..bd257e0 100644 --- a/decoders/lpi/libprotoident/udp/lpi_sql_worm.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_sql_worm.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ssdp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ssdp.cc index 48b9f50..48b9f50 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ssdp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ssdp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_starcitizen.cc b/decoders/lpi_plus/libprotoident/udp/lpi_starcitizen.cc index 97fe392..97fe392 100644 --- a/decoders/lpi/libprotoident/udp/lpi_starcitizen.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_starcitizen.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_starcraft.cc b/decoders/lpi_plus/libprotoident/udp/lpi_starcraft.cc index 636514b..636514b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_starcraft.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_starcraft.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_starleaf.cc b/decoders/lpi_plus/libprotoident/udp/lpi_starleaf.cc index 1da25d8..1da25d8 100644 --- a/decoders/lpi/libprotoident/udp/lpi_starleaf.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_starleaf.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_steam.cc b/decoders/lpi_plus/libprotoident/udp/lpi_steam.cc index 37f492c..37f492c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_steam.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_steam.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_steam_inhomebroadcast.cc b/decoders/lpi_plus/libprotoident/udp/lpi_steam_inhomebroadcast.cc index c45d12a..c45d12a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_steam_inhomebroadcast.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_steam_inhomebroadcast.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_steam_localbroadcast.cc b/decoders/lpi_plus/libprotoident/udp/lpi_steam_localbroadcast.cc index e54bc04..e54bc04 100644 --- a/decoders/lpi/libprotoident/udp/lpi_steam_localbroadcast.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_steam_localbroadcast.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_steamfriends.cc b/decoders/lpi_plus/libprotoident/udp/lpi_steamfriends.cc index 6c35e1b..6c35e1b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_steamfriends.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_steamfriends.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_storm_worm.cc b/decoders/lpi_plus/libprotoident/udp/lpi_storm_worm.cc index 71b0ba7..71b0ba7 100644 --- a/decoders/lpi/libprotoident/udp/lpi_storm_worm.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_storm_worm.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_stun.cc b/decoders/lpi_plus/libprotoident/udp/lpi_stun.cc index a6eedce..a6eedce 100644 --- a/decoders/lpi/libprotoident/udp/lpi_stun.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_stun.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_syslog.cc b/decoders/lpi_plus/libprotoident/udp/lpi_syslog.cc index e57e159..e57e159 100644 --- a/decoders/lpi/libprotoident/udp/lpi_syslog.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_syslog.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_talesrunner_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_talesrunner_udp.cc index 4c54332..4c54332 100644 --- a/decoders/lpi/libprotoident/udp/lpi_talesrunner_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_talesrunner_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_teamspeak.cc b/decoders/lpi_plus/libprotoident/udp/lpi_teamspeak.cc index 503288a..503288a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_teamspeak.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_teamspeak.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_teamviewer.cc b/decoders/lpi_plus/libprotoident/udp/lpi_teamviewer.cc index 48e5635..48e5635 100644 --- a/decoders/lpi/libprotoident/udp/lpi_teamviewer.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_teamviewer.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_teredo.cc b/decoders/lpi_plus/libprotoident/udp/lpi_teredo.cc index 41f62a1..41f62a1 100644 --- a/decoders/lpi/libprotoident/udp/lpi_teredo.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_teredo.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_tf2.cc b/decoders/lpi_plus/libprotoident/udp/lpi_tf2.cc index b931ec3..b931ec3 100644 --- a/decoders/lpi/libprotoident/udp/lpi_tf2.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_tf2.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_tftp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_tftp.cc index c931386..c931386 100644 --- a/decoders/lpi/libprotoident/udp/lpi_tftp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_tftp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_thecrew.cc b/decoders/lpi_plus/libprotoident/udp/lpi_thecrew.cc index 8ff2653..8ff2653 100644 --- a/decoders/lpi/libprotoident/udp/lpi_thecrew.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_thecrew.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_thq.cc b/decoders/lpi_plus/libprotoident/udp/lpi_thq.cc index f074932..f074932 100644 --- a/decoders/lpi/libprotoident/udp/lpi_thq.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_thq.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_torchlight2.cc b/decoders/lpi_plus/libprotoident/udp/lpi_torchlight2.cc index a2543fe..a2543fe 100644 --- a/decoders/lpi/libprotoident/udp/lpi_torchlight2.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_torchlight2.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_tox.cc b/decoders/lpi_plus/libprotoident/udp/lpi_tox.cc index 0a25bb6..0a25bb6 100644 --- a/decoders/lpi/libprotoident/udp/lpi_tox.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_tox.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_traceroute.cc b/decoders/lpi_plus/libprotoident/udp/lpi_traceroute.cc index 7d57089..7d57089 100644 --- a/decoders/lpi/libprotoident/udp/lpi_traceroute.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_traceroute.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_tremulous.cc b/decoders/lpi_plus/libprotoident/udp/lpi_tremulous.cc index 211bc5f..211bc5f 100644 --- a/decoders/lpi/libprotoident/udp/lpi_tremulous.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_tremulous.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_turbovpn.cc b/decoders/lpi_plus/libprotoident/udp/lpi_turbovpn.cc index 2ed502a..2ed502a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_turbovpn.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_turbovpn.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_tvants.cc b/decoders/lpi_plus/libprotoident/udp/lpi_tvants.cc index 3f00e65..3f00e65 100644 --- a/decoders/lpi/libprotoident/udp/lpi_tvants.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_tvants.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ubisoft_games.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ubisoft_games.cc index d64475d..d64475d 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ubisoft_games.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ubisoft_games.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_umeye.cc b/decoders/lpi_plus/libprotoident/udp/lpi_umeye.cc index e8e63ec..e8e63ec 100644 --- a/decoders/lpi/libprotoident/udp/lpi_umeye.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_umeye.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_unreal.cc b/decoders/lpi_plus/libprotoident/udp/lpi_unreal.cc index 9699ac2..9699ac2 100644 --- a/decoders/lpi/libprotoident/udp/lpi_unreal.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_unreal.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_ventrilo.cc b/decoders/lpi_plus/libprotoident/udp/lpi_ventrilo.cc index 1b4bbc8..1b4bbc8 100644 --- a/decoders/lpi/libprotoident/udp/lpi_ventrilo.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_ventrilo.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_viber.cc b/decoders/lpi_plus/libprotoident/udp/lpi_viber.cc index 68ff880..68ff880 100644 --- a/decoders/lpi/libprotoident/udp/lpi_viber.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_viber.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_vivox.cc b/decoders/lpi_plus/libprotoident/udp/lpi_vivox.cc index be7aeae..be7aeae 100644 --- a/decoders/lpi/libprotoident/udp/lpi_vivox.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_vivox.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_vpnmaster.cc b/decoders/lpi_plus/libprotoident/udp/lpi_vpnmaster.cc index df7c4c9..df7c4c9 100644 --- a/decoders/lpi/libprotoident/udp/lpi_vpnmaster.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_vpnmaster.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_vpnrobot_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_vpnrobot_udp.cc index 414491d..414491d 100644 --- a/decoders/lpi/libprotoident/udp/lpi_vpnrobot_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_vpnrobot_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_vxworks_exploit.cc b/decoders/lpi_plus/libprotoident/udp/lpi_vxworks_exploit.cc index f54358b..f54358b 100644 --- a/decoders/lpi/libprotoident/udp/lpi_vxworks_exploit.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_vxworks_exploit.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_warthunder.cc b/decoders/lpi_plus/libprotoident/udp/lpi_warthunder.cc index b98a78e..b98a78e 100644 --- a/decoders/lpi/libprotoident/udp/lpi_warthunder.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_warthunder.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_webex.cc b/decoders/lpi_plus/libprotoident/udp/lpi_webex.cc index c02d456..c02d456 100644 --- a/decoders/lpi/libprotoident/udp/lpi_webex.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_webex.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_wechat_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_wechat_udp.cc index 677182c..677182c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_wechat_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_wechat_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_winmessage.cc b/decoders/lpi_plus/libprotoident/udp/lpi_winmessage.cc index d966be7..d966be7 100644 --- a/decoders/lpi/libprotoident/udp/lpi_winmessage.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_winmessage.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_wireguard.cc b/decoders/lpi_plus/libprotoident/udp/lpi_wireguard.cc index 8ad6b1a..8ad6b1a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_wireguard.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_wireguard.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_wolfet.cc b/decoders/lpi_plus/libprotoident/udp/lpi_wolfet.cc index 6cb2612..6cb2612 100644 --- a/decoders/lpi/libprotoident/udp/lpi_wolfet.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_wolfet.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_worm_22105.cc b/decoders/lpi_plus/libprotoident/udp/lpi_worm_22105.cc index 94619ea..94619ea 100644 --- a/decoders/lpi/libprotoident/udp/lpi_worm_22105.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_worm_22105.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_xfire_p2p.cc b/decoders/lpi_plus/libprotoident/udp/lpi_xfire_p2p.cc index 6523c5a..6523c5a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_xfire_p2p.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_xfire_p2p.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_xlsp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_xlsp.cc index f680f33..f680f33 100644 --- a/decoders/lpi/libprotoident/udp/lpi_xlsp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_xlsp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_xunlei.cc b/decoders/lpi_plus/libprotoident/udp/lpi_xunlei.cc index 9bf34bb..9bf34bb 100644 --- a/decoders/lpi/libprotoident/udp/lpi_xunlei.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_xunlei.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_xunlei_jsq.cc b/decoders/lpi_plus/libprotoident/udp/lpi_xunlei_jsq.cc index 84f6f72..84f6f72 100644 --- a/decoders/lpi/libprotoident/udp/lpi_xunlei_jsq.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_xunlei_jsq.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_xunyou.cc b/decoders/lpi_plus/libprotoident/udp/lpi_xunyou.cc index 77682ad..77682ad 100644 --- a/decoders/lpi/libprotoident/udp/lpi_xunyou.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_xunyou.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_youdao_dict.cc b/decoders/lpi_plus/libprotoident/udp/lpi_youdao_dict.cc index cd4af1c..cd4af1c 100644 --- a/decoders/lpi/libprotoident/udp/lpi_youdao_dict.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_youdao_dict.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_youku.cc b/decoders/lpi_plus/libprotoident/udp/lpi_youku.cc index 2ce64ea..2ce64ea 100644 --- a/decoders/lpi/libprotoident/udp/lpi_youku.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_youku.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_yuanfudao.cc b/decoders/lpi_plus/libprotoident/udp/lpi_yuanfudao.cc index ef17857..ef17857 100644 --- a/decoders/lpi/libprotoident/udp/lpi_yuanfudao.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_yuanfudao.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_yy_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_yy_udp.cc index bb06d75..bb06d75 100644 --- a/decoders/lpi/libprotoident/udp/lpi_yy_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_yy_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_zalo_call.cc b/decoders/lpi_plus/libprotoident/udp/lpi_zalo_call.cc index 1d07777..1d07777 100644 --- a/decoders/lpi/libprotoident/udp/lpi_zalo_call.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_zalo_call.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_zeroaccess_udp.cc b/decoders/lpi_plus/libprotoident/udp/lpi_zeroaccess_udp.cc index 03a3e7a..03a3e7a 100644 --- a/decoders/lpi/libprotoident/udp/lpi_zeroaccess_udp.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_zeroaccess_udp.cc diff --git a/decoders/lpi/libprotoident/udp/lpi_zoom.cc b/decoders/lpi_plus/libprotoident/udp/lpi_zoom.cc index 4ad3ca5..4ad3ca5 100644 --- a/decoders/lpi/libprotoident/udp/lpi_zoom.cc +++ b/decoders/lpi_plus/libprotoident/udp/lpi_zoom.cc diff --git a/decoders/lpi/libprotoident/udp/udp_protocols.h b/decoders/lpi_plus/libprotoident/udp/udp_protocols.h index 71fe45a..71fe45a 100644 --- a/decoders/lpi/libprotoident/udp/udp_protocols.h +++ b/decoders/lpi_plus/libprotoident/udp/udp_protocols.h diff --git a/decoders/lpi/libprotoident/version.map b/decoders/lpi_plus/libprotoident/version.map index 0624251..0624251 100644 --- a/decoders/lpi/libprotoident/version.map +++ b/decoders/lpi_plus/libprotoident/version.map diff --git a/decoders/lpi_plus/lpi_plus.h b/decoders/lpi_plus/lpi_plus.h new file mode 100644 index 0000000..72844d2 --- /dev/null +++ b/decoders/lpi_plus/lpi_plus.h @@ -0,0 +1,6 @@ +#pragma once + +#include "stellar/module_manager.h" +struct lpi_plus_mapper; +struct lpi_plus_mapper *stellar_module_get_lpip(struct stellar_module_manager *mod_mgr); +const char *lpi_plus_appid2name(struct lpi_plus_mapper *mapper, int appid);
\ No newline at end of file diff --git a/decoders/lpi_plus/lpip_extend.c b/decoders/lpi_plus/lpip_extend.c new file mode 100644 index 0000000..79b3849 --- /dev/null +++ b/decoders/lpi_plus/lpip_extend.c @@ -0,0 +1,558 @@ +#include "lpip_extend.h" +#include <stdlib.h> +#include <string.h> + +const char *dns_name="DNS"; +const char *imap_name="IMAP"; +const char *quic_name="QUIC"; +const char *ftps_name="FTPS"; +const char *openvpn_name="OpenVPN"; +const char *smtp_name="SMTP"; +const char *ftp_control_name="FTP_Control"; + +#define P_CONTROL_HARD_RESET_CLIENT_V1 (0x01 << 3) +#define P_CONTROL_HARD_RESET_CLIENT_V2 (0x07 << 3) +#define P_CONTROL_HARD_RESET_SERVER_V1 (0x02 << 3) +#define P_CONTROL_HARD_RESET_SERVER_V2 (0x08 << 3) +#define P_ACK_V1 (0x05 << 3) +#define P_CONTROL_V1 (0x04 << 3) +#define P_OPCODE_MASK 0xF8 +#define P_SHA1_HMAC_SIZE 20 +#define P_HMAC_128 16 // (RSA-)MD5, (RSA-)MD4, ..others +#define P_HMAC_160 20 // (RSA-|DSA-)SHA(1), ..others, SHA1 is openvpn default +#define P_HMAC_NONE 0 +#define P_HARD_RESET_PACKET_ID_OFFSET(hmac_size) (9 + hmac_size) +#define P_PACKET_ID_ARRAY_LEN_OFFSET(hmac_size) (P_HARD_RESET_PACKET_ID_OFFSET(hmac_size) + 8) +#define P_HARD_RESET_CLIENT_MAX_COUNT 5 + +static inline uint32_t get_packet_id(const uint8_t * payload, uint8_t hms) { + return(ntohl(*(uint32_t*)(payload + P_HARD_RESET_PACKET_ID_OFFSET(hms)))); +} + +static inline int8_t check_pkid_and_detect_hmac_size(const uint8_t * payload) { + // try to guess + if((int)get_packet_id(payload, P_HMAC_160) != 0) + return P_HMAC_160; + + if((int)get_packet_id(payload, P_HMAC_128) != 0 ) + return P_HMAC_128; + + if((int)get_packet_id(payload, P_HMAC_NONE) != 0) + return P_HMAC_NONE; + + return(-1); +} + +int lpi_plus_match_openvpn(const unsigned char *payload, size_t payload_sz, int c2s_pkt_cnt, int s2c_pkt_cnt, struct ovpn_ctx *ovpn, unsigned char trans_proto, bool is_c2s_flow) +{ + const uint8_t * session_remote; + uint8_t opcode; + uint8_t alen; + int8_t hmac_size; + int8_t failed = 0; + + if (trans_proto!=IPPROTO_UDP && trans_proto!=IPPROTO_TCP)return 0; + + if (c2s_pkt_cnt > 5) + { + if (ovpn->contain_local_session_id_pkt_num == P_HARD_RESET_CLIENT_MAX_COUNT - 1 && ovpn->valid_opcode_cnt == P_HARD_RESET_CLIENT_MAX_COUNT) + return 1; + return 0; + } + + if (payload_sz >= 40) + { + // skip openvpn TCP transport packet size + if (trans_proto==IPPROTO_TCP)payload += 2, payload_sz -= 2; + + opcode = payload[0] & P_OPCODE_MASK; + if (is_c2s_flow == 1 && + (opcode == P_CONTROL_HARD_RESET_CLIENT_V1 || + opcode == P_CONTROL_HARD_RESET_CLIENT_V2 || + opcode == P_ACK_V1 || + opcode == P_CONTROL_V1)) + { + ovpn->valid_opcode_cnt++; + } + // for UDP, trying to identify by opcode and first packet length + if (trans_proto==IPPROTO_UDP) + { + if ((c2s_pkt_cnt == 1 || s2c_pkt_cnt == 1) && (((payload_sz == 112) && ((opcode == 168) || (opcode == 192))) || ((payload_sz == 80) && ((opcode == 184) || (opcode == 88) || (opcode == 160) || (opcode == 168) || (opcode == 200))))) + { + return 1; + } + } + + if(s2c_pkt_cnt >= 1 && is_c2s_flow == false)return 0; + + if (is_c2s_flow == true && c2s_pkt_cnt <= P_HARD_RESET_CLIENT_MAX_COUNT && (opcode == P_CONTROL_HARD_RESET_CLIENT_V1 || opcode == P_CONTROL_HARD_RESET_CLIENT_V2 || opcode == P_ACK_V1 || opcode == P_CONTROL_V1)) + { + if (check_pkid_and_detect_hmac_size(payload) >= 0) + { + if (c2s_pkt_cnt > 1) + { + if (memcmp(&ovpn->local_session_id, payload + 1, 8) == 0) + { + ovpn->contain_local_session_id_pkt_num++; + } + } + memcpy(&ovpn->local_session_id, payload + 1, 8); + } + } + else if (c2s_pkt_cnt >= 1 && c2s_pkt_cnt <= P_HARD_RESET_CLIENT_MAX_COUNT && + (opcode == P_CONTROL_HARD_RESET_SERVER_V1 || opcode == P_CONTROL_HARD_RESET_SERVER_V2)) + { + + hmac_size = check_pkid_and_detect_hmac_size(payload); + + if (hmac_size >= 0) + { + size_t offset = P_PACKET_ID_ARRAY_LEN_OFFSET(hmac_size); + + alen = payload[offset]; + + if (alen > 0) + { + offset += 1 + alen * 4; + + if ((offset + 8) <= payload_sz) + { + session_remote = &payload[offset]; + + if (memcmp(&ovpn->local_session_id, session_remote, 8) == 0) + { + + return 1; + } + else + { + + failed = 1; + } + } + else + failed = 1; + } + else + failed = 1; + } + else + failed = 1; + } + else + failed = 1; + + if (failed) + return 0; + } + + return 0; +} + +#define GQUIC_PUBLIC_FLAG_VERSION 0x01 +#define GQUIC_PUBLIC_FLAG_RST 0x02 +#define GQUIC_PUBLIC_FLAG_NONCE 0x04 +#define GQUIC_PUBLIC_FLAG_CID 0x08 +#define GQUIC_PUBLIC_FLAG_PKT_NUM 0x30 + +//https://github.com/quicwg/base-drafts/wiki/QUIC-Versions +enum _QUIC_VERSION +{ + QUIC_VERSION_UNKNOWN=0, + //NetApp + QUANT_VERSION_00=0x45474700, + QUANT_VERSION_FF=0x454747FF, + + //Private Octopus + PICOQUIC_VERSION_30=0x50435130, + + //google + GQUIC_VERSION_Q001=0x51303031, + GQUIC_VERSION_Q002=0x51303032, + GQUIC_VERSION_Q003=0x51303033, + GQUIC_VERSION_Q004=0x51303034, + GQUIC_VERSION_Q005=0x51303035, + GQUIC_VERSION_Q006=0x51303036, + GQUIC_VERSION_Q007=0x51303037, + GQUIC_VERSION_Q008=0x51303038, + GQUIC_VERSION_Q009=0x51303039, + + GQUIC_VERSION_Q010=0x51303130, + GQUIC_VERSION_Q011=0x51303131, + GQUIC_VERSION_Q012=0x51303132, + GQUIC_VERSION_Q013=0x51303133, + GQUIC_VERSION_Q014=0x51303134, + GQUIC_VERSION_Q015=0x51303135, + GQUIC_VERSION_Q016=0x51303136, + GQUIC_VERSION_Q017=0x51303137, + GQUIC_VERSION_Q018=0x51303138, + GQUIC_VERSION_Q019=0x51303139, + + GQUIC_VERSION_Q020=0x51303230, + GQUIC_VERSION_Q021=0x51303231, + GQUIC_VERSION_Q022=0x51303232, + GQUIC_VERSION_Q023=0x51303233, + GQUIC_VERSION_Q024=0x51303234, + GQUIC_VERSION_Q025=0x51303235, + GQUIC_VERSION_Q026=0x51303236, + GQUIC_VERSION_Q027=0x51303237, + GQUIC_VERSION_Q028=0x51303238, + GQUIC_VERSION_Q029=0x51303239, + + GQUIC_VERSION_Q030=0x51303330, + GQUIC_VERSION_Q031=0x51303331, + GQUIC_VERSION_Q032=0x51303332, + GQUIC_VERSION_Q033=0x51303333, + GQUIC_VERSION_Q034=0x51303334, + GQUIC_VERSION_Q035=0x51303335, + GQUIC_VERSION_Q036=0x51303336, + GQUIC_VERSION_Q037=0x51303337, + GQUIC_VERSION_Q038=0x51303338, + GQUIC_VERSION_Q039=0x51303339, + + GQUIC_VERSION_Q040=0x51303430, + GQUIC_VERSION_Q041=0x51303431, + GQUIC_VERSION_Q042=0x51303432, + GQUIC_VERSION_Q043=0x51303433, + GQUIC_VERSION_Q044=0x51303434, + GQUIC_VERSION_Q045=0x51303435, + GQUIC_VERSION_Q046=0x51303436, + GQUIC_VERSION_Q047=0x51303437, + GQUIC_VERSION_Q048=0x51303438, + GQUIC_VERSION_Q049=0x51303439, + + GQUIC_VERSION_Q050=0x51303530, + GQUIC_VERSION_Q051=0x51303531, + GQUIC_VERSION_Q052=0x51303532, + GQUIC_VERSION_Q053=0x51303533, + GQUIC_VERSION_Q054=0x51303534, + GQUIC_VERSION_Q055=0x51303535, + GQUIC_VERSION_Q056=0x51303536, + GQUIC_VERSION_Q057=0x51303537, + GQUIC_VERSION_Q058=0x51303538, + GQUIC_VERSION_Q059=0x51303539, + + GQUIC_VERSION_Q099=0x51303939, + + //Google QUIC with TLS 48 - 49 (T048 - T049) + GQUIC_VERSION_T048=0x54303438, + GQUIC_VERSION_T049=0x54303439, + + //Google QUIC with TLS 50 - 59 (T050 - T059) + GQUIC_VERSION_T050=0x54303530, + GQUIC_VERSION_T051=0x54303531, + GQUIC_VERSION_T052=0x54303532, + GQUIC_VERSION_T053=0x54303533, + GQUIC_VERSION_T054=0x54303534, + GQUIC_VERSION_T055=0x54303535, + GQUIC_VERSION_T056=0x54303536, + GQUIC_VERSION_T057=0x54303537, + GQUIC_VERSION_T058=0x54303538, + GQUIC_VERSION_T059=0x54303539, + + //Google QUIC with TLS 99 (T099) + GQUIC_VERSION_T099=0x54303939, + + //Google Proxied QUIC + PQUIC_VERSION_PROX=0x50524f58, + + //quic-go + QUIC_GO_VERSION_00=0x51474F00, + QUIC_GO_VERSION_FF=0x51474FFF, + + //quicly + QUICLY_VERSION_00=0x91c17000, + QUICLY_VERSION_FF=0x91c170FF, + + //Microsoft + MSQUIC_VERSION_00=0xabcd0000, + MSQUIC_VERSION_0F=0xabcd000F, + + //Mozilla + MOZQUIC_VERSION_00=0xf123f0c0, + MOZQUIC_VERSION_0F=0xf123f0cF, + + //Facebook + MVFST_VERSION_00=0xfaceb000, + MVFST_VERSION_01=0xfaceb001, + MVFST_VERSION_02=0xfaceb002, + MVFST_VERSION_03=0xfaceb003, + MVFST_VERSION_04=0xfaceb004, + MVFST_VERSION_05=0xfaceb005, + MVFST_VERSION_06=0xfaceb006, + MVFST_VERSION_07=0xfaceb007, + MVFST_VERSION_08=0xfaceb008, + MVFST_VERSION_09=0xfaceb009, + MVFST_VERSION_0A=0xfaceb00A, + MVFST_VERSION_0B=0xfaceb00B, + MVFST_VERSION_0C=0xfaceb00C, + MVFST_VERSION_0D=0xfaceb00D, + MVFST_VERSION_0E=0xfaceb00E, + MVFST_VERSION_0F=0xfaceb00F, + + //IETF + IQUIC_VERSION_RFC9000=0x00000001, + IQUIC_VERSION_I001=0xFF000001, + IQUIC_VERSION_I002=0xFF000002, + IQUIC_VERSION_I003=0xFF000003, + IQUIC_VERSION_I004=0xFF000004, + IQUIC_VERSION_I005=0xFF000005, + IQUIC_VERSION_I006=0xFF000006, + IQUIC_VERSION_I007=0xFF000007, + IQUIC_VERSION_I008=0xFF000008, + IQUIC_VERSION_I009=0xFF000009, + IQUIC_VERSION_I010=0xFF00000A, + IQUIC_VERSION_I011=0xFF00000B, + IQUIC_VERSION_I012=0xFF00000C, + IQUIC_VERSION_I013=0xFF00000D, + IQUIC_VERSION_I014=0xFF00000E, + IQUIC_VERSION_I015=0xFF00000F, + IQUIC_VERSION_I016=0xFF000010, + IQUIC_VERSION_I017=0xFF000011, + IQUIC_VERSION_I018=0xFF000012, + IQUIC_VERSION_I019=0xFF000013, + IQUIC_VERSION_I020=0xFF000014, + IQUIC_VERSION_I021=0xFF000015, + IQUIC_VERSION_I022=0xFF000016, + IQUIC_VERSION_I023=0xFF000017, + IQUIC_VERSION_I024=0xFF000018, + IQUIC_VERSION_I025=0xFF000019, + IQUIC_VERSION_I026=0xFF00001A, + IQUIC_VERSION_I027=0xFF00001B, + IQUIC_VERSION_I028=0xFF00001C, + IQUIC_VERSION_I029=0xFF00001D, + IQUIC_VERSION_I030=0xFF00001E, + IQUIC_VERSION_I031=0xFF00001F, + IQUIC_VERSION_I032=0xFF000020 +}; + +int lpi_plus_match_quic(int is_c2s_flow, const unsigned char *payload, size_t payload_sz) +{ + enum _QUIC_VERSION quic_version = QUIC_VERSION_UNKNOWN; + char public_flags=payload[0]; + int used_len = 1; + + if(payload_sz<5) + { + goto QUIC_UNKNOWN; + } + + // Q001~Q043: 0x80 is currently unused, and must be set to 0 + + // The most significant bit (0x80) of byte 0 (the first byte) is set to 1 for long headers + (payload[0] & 0x80) ? (quic_version = (enum _QUIC_VERSION)ntohl(*(unsigned int *)(payload + 1))) : QUIC_VERSION_UNKNOWN; + if ( + (quic_version == GQUIC_VERSION_Q099) || + (quic_version == PICOQUIC_VERSION_30) || + (quic_version == PQUIC_VERSION_PROX) || + (quic_version == GQUIC_VERSION_T099) || + (quic_version >= GQUIC_VERSION_Q044 && quic_version <= GQUIC_VERSION_Q050) || + (quic_version >= GQUIC_VERSION_Q051 && quic_version <= GQUIC_VERSION_Q059) || + (quic_version >= GQUIC_VERSION_T048 && quic_version <= GQUIC_VERSION_T049) || + (quic_version >= GQUIC_VERSION_T050 && quic_version <= GQUIC_VERSION_T059) || + (quic_version >= QUANT_VERSION_00 && quic_version <= QUANT_VERSION_FF) || + (quic_version >= QUIC_GO_VERSION_00 && quic_version <= QUIC_GO_VERSION_FF) || + (quic_version >= QUICLY_VERSION_00 && quic_version <= QUICLY_VERSION_FF) || + (quic_version >= MSQUIC_VERSION_00 && quic_version <= MSQUIC_VERSION_0F) || + (quic_version >= MOZQUIC_VERSION_00 && quic_version <= MOZQUIC_VERSION_0F) || + (quic_version >= MVFST_VERSION_00 && quic_version <= MVFST_VERSION_0F) || + (quic_version >= IQUIC_VERSION_I001 && quic_version <= IQUIC_VERSION_I032) || + (quic_version == IQUIC_VERSION_RFC9000)) + { + goto QUIC_KNOWN; + } + if(is_c2s_flow==0 && public_flags & GQUIC_PUBLIC_FLAG_VERSION) + { + goto QUIC_UNKNOWN; + } + if((!public_flags)&GQUIC_PUBLIC_FLAG_PKT_NUM) + { + if(public_flags&GQUIC_PUBLIC_FLAG_VERSION) //Public Reset Packet + { + goto QUIC_UNKNOWN;// todo + } + else // Version Negotiation Packet + { + goto QUIC_UNKNOWN; + } + } + if(public_flags&GQUIC_PUBLIC_FLAG_CID) + { + used_len+=sizeof(unsigned long long); // CID length + } + + if(payload_sz>=(size_t)(used_len+sizeof(int)) && public_flags&GQUIC_PUBLIC_FLAG_VERSION && (*(unsigned char *)(payload+used_len)==0x51)) + { + quic_version=(enum _QUIC_VERSION)ntohl(*(unsigned int *)(payload+used_len)); + used_len+=sizeof(int); // skip version + } + + if(quic_version<GQUIC_VERSION_Q001 || quic_version>GQUIC_VERSION_Q043) + { + goto QUIC_UNKNOWN; + } + +QUIC_KNOWN: + return 1; + +QUIC_UNKNOWN: + return 0; +} + + +struct dns_header +{ + u_int16_t id; +#if __BYTE_ORDER == __LITTLE_ENDIAN + u_char rd:1; + u_char tc:1; + u_char aa:1; + u_char opcode:4; + u_char qr:1; + u_char rcode:4; + u_char z:3; + u_char ra:1; +#elif __BYTE_ORDER == __BIG_ENDIAN + u_char qr:1; + u_char opcode:4; + u_char aa:1; + u_char tc:1; + u_char rd:1; + u_char ra:1; + u_char z:3; + u_char rcode:4; +#endif + u_int16_t qdcount; + u_int16_t ancount; + u_int16_t aucount;//authority count + u_int16_t adcount;//additional count +}; + +__thread lpi_module_t per_thread_result; +lpi_module_t* lpi_plus_extended_guess(struct lpi_plus_detect_context *ctx, lpi_protocol_t lpi_proto, const char *payload, size_t payload_sz) +{ + unsigned short sport=ctx->lpi_data.client_port, dport=ctx->lpi_data.server_port; + + memset(&per_thread_result, 0, sizeof(per_thread_result)); + lpi_module_t *result=&per_thread_result; + + // FTPS + if((sport == 989 || sport == 990 || dport == 989 || dport == 990) && lpi_proto == LPI_PROTO_SSL) + { + result->protocol=(lpi_protocol_t)LPI_PROTP_FTPS; + result->category=LPI_CATEGORY_FILES; + result->priority=3; + result->name=ftps_name; + result->lpi_callback=NULL; + return result; + } + + //QUIC + if((sport==443 || dport==443 || sport==80 || dport==80 || sport==8443 || dport==8443) + && (lpi_proto==LPI_PROTO_UNKNOWN || lpi_proto==LPI_PROTO_UDP)) + { + if(lpi_plus_match_quic(ctx->current_is_c2s_flow, (const unsigned char *)payload, payload_sz)) + { + //lpi_quic + result->protocol=LPI_PROTO_UDP_QUIC; + result->category=LPI_CATEGORY_WEB; + result->priority=9; + result->name=quic_name; + result->lpi_callback=NULL; + return result; + } + } + + //DNS + if((sport==53 || dport==53) && (payload_sz>12) && (lpi_proto==LPI_PROTO_UNKNOWN || lpi_proto==LPI_PROTO_UDP)) + { + struct dns_header *dns_hdr=NULL; + if(ctx->lpi_data.trans_proto==IPPROTO_TCP) + { + dns_hdr=(struct dns_header *)(payload+2); + } + else + { + dns_hdr=(struct dns_header *)payload; + } + if((dns_hdr->qr==1 && ntohs(dns_hdr->qdcount)==1) || + (dns_hdr->qr==0 && ntohs(dns_hdr->qdcount)==1 && ntohs(dns_hdr->aucount)==0 && ntohs(dns_hdr->ancount)==0)) + { + result->protocol=LPI_PROTO_DNS; + result->category=LPI_CATEGORY_SERVICES; + result->priority=10; + result->name=dns_name; + result->lpi_callback=NULL; + return result; + } + } + + //IMAP + if(((sport==143 || dport==143)) + && ((lpi_proto==LPI_PROTO_UNKNOWN) && ctx->lpi_data.trans_proto==IPPROTO_TCP) + && ( + (payload_sz>=11 && memmem(payload, payload_sz, " CAPABILITY", 11)!=NULL) || + (payload_sz>=7 && memmem(payload, payload_sz, " LOGIN ", 7)!=NULL) + ) + ) + { + result->protocol=LPI_PROTO_IMAP; + result->category=LPI_CATEGORY_MAIL; + result->priority=2; + result->name=imap_name; + result->lpi_callback=NULL; + return result; + } + + if( (lpi_proto==LPI_PROTO_UNKNOWN || lpi_proto == LPI_PROTO_UDP)&& + 1 == lpi_plus_match_openvpn((const unsigned char *)payload, + payload_sz, + ctx->detected_c2s_pkt, + ctx->detected_s2c_pkt, + &ctx->ovpn, + ctx->lpi_data.trans_proto, + ctx->current_is_c2s_flow)) + { + result->protocol=LPI_PROTO_OPENVPN; + result->category=LPI_CATEGORY_TUNNELLING; + result->priority=4; + result->name=openvpn_name; + result->lpi_callback=NULL; + return result; + } + + //SMTP + if (lpi_proto == LPI_PROTO_FTP_CONTROL && ctx->detected_pkt_cnt == 1 && ctx->current_is_c2s_flow==0) + { + if ((((payload_sz >= 4 && (memcmp(payload, "220-", 4) == 0)) || memcmp(payload, "220 ", 4) == 0)) && + (((payload_sz >= 7 && (memmem(payload, payload_sz, " ESMTP ", 7) != NULL)) || + memmem(payload, payload_sz, " esmtp ", 7) != NULL))) + { + // lpi_smtp + result->protocol = LPI_PROTO_SMTP; + result->category = LPI_CATEGORY_MAIL; + result->priority = 2; + result->name = smtp_name; + return result; + } + } + + if (lpi_proto == LPI_PROTO_SMTP && ctx->detected_pkt_cnt == 1 && ctx->current_is_c2s_flow==0) + { + if ( + (payload_sz >= 4) && + (memcmp(payload, "220 ", 4) == 0 || memcmp(payload, "220-", 4) == 0) && + (memmem(payload, payload_sz, "FTPd", 4) != NULL || + memmem(payload, payload_sz, "ftpd", 4) != NULL || + memmem(payload, payload_sz, "FTPD", 4) != NULL)) + { + // lpi_ftpcontrol + result->protocol = LPI_PROTO_FTP_CONTROL; + result->category = LPI_CATEGORY_FILES; + result->priority = 3; + result->name = ftp_control_name; + return result; + } + } + return NULL; +}
\ No newline at end of file diff --git a/decoders/lpi_plus/lpip_extend.h b/decoders/lpi_plus/lpip_extend.h new file mode 100644 index 0000000..0715c00 --- /dev/null +++ b/decoders/lpi_plus/lpip_extend.h @@ -0,0 +1,39 @@ +#pragma once + +#include "libprotoident/libprotoident.h" + +typedef enum { + LPI_PROTO_EXTEND_FRIST = LPI_PROTO_LAST, + LPI_PROTO_IKE, //unsupport + LPI_PROTO_DOH, //unsupport + LPI_PROTO_MAIL, //unsupport + LPI_PROTO_ESNI, //unsupport + LPI_PROTP_FTPS, + LPI_PROTO_EXTEND_LAST +} extend_lpi_protocol_t; + +struct ovpn_ctx +{ + uint64_t local_session_id; + int contain_local_session_id_pkt_num; + int valid_opcode_cnt; +}; + +struct lpi_plus_detect_context +{ + unsigned int detected_pkt_cnt; + unsigned short detected_s2c_pkt; + unsigned short detected_c2s_pkt; + unsigned char current_is_c2s_flow; + unsigned char stop_detect; + lpi_data_t lpi_data; // lpi API + union + { + struct ovpn_ctx ovpn; + }; +}; + + +int lpi_plus_match_quic(int is_c2s_flow, const unsigned char *payload, size_t payload_sz); +int lpi_plus_match_openvpn(const unsigned char *payload, size_t payload_sz, int c2s_pkt_cnt, int s2c_pkt_cnt, struct ovpn_ctx *ovpn, unsigned char trans_proto, bool is_c2s_flow); +lpi_module_t* lpi_plus_extended_guess(struct lpi_plus_detect_context *ctx, lpi_protocol_t lpi_proto, const char *payload, size_t payload_sz);
\ No newline at end of file diff --git a/decoders/lpi_plus/lpip_module.c b/decoders/lpi_plus/lpip_module.c new file mode 100644 index 0000000..9286a2e --- /dev/null +++ b/decoders/lpi_plus/lpip_module.c @@ -0,0 +1,392 @@ +/* + * dpkt_basic_proto_main.cpp + * + * Created on: Aug 7, 2020 + * Author: iie + */ + +#include <stdio.h> +#include <stdlib.h> +#include <time.h> +#include <string.h> +#include <assert.h> + +#include "uthash/uthash.h" + +#include "stellar/utils.h" +#include "stellar/packet.h" +#include "stellar/session_manager.h" + +#include "appid/appid_internal.h" + +#include "lpi_plus.h" +#include "lpip_extend.h" + + +const char *l7_protocol_file = (char *)"./tsgconf/tsg_l7_protocol.conf"; + +struct lpi_plus_appid_info +{ + int appid; + char lpi_name[255]; + char app_name[255]; + UT_hash_handle hh_appid; + UT_hash_handle hh_lpi_name; +}; + +struct lpi_plus_mapper +{ + struct lpi_plus_appid_info *hash_name2appid; + struct lpi_plus_appid_info *hash_appid2name; +}; + +struct lpi_plus_env +{ + unsigned int max_pkts; + int lpip_session_exdata_idx; + int topic_appid; + struct stellar_module_manager *mod_mgr; + struct lpi_plus_mapper *mapper; +}; + +struct lpi_plus_exdata +{ + struct lpi_plus_detect_context ctx; + int appid[MAX_APPID_NUM]; + size_t appid_num; +}; + +static void lpi_plus_get_host_order_port(struct session *sess __unused, unsigned short *sport, unsigned short *dport) +{ + *sport=0; + *dport=0; +//get host order port from stellar session api + + const struct packet *pkt = session_get0_current_packet(sess); + enum flow_type flow_type=session_get_flow_type(sess); + if(pkt && (flow_type==FLOW_TYPE_C2S || flow_type==FLOW_TYPE_S2C)) + { + int layer_cnt=packet_get_layer_count(pkt); + const struct layer *layer = packet_get_layer_by_idx(pkt, layer_cnt - 1); + if (layer && layer->proto == LAYER_PROTO_TCP) + { + *sport = ntohs(layer->hdr.tcp->th_sport); + *dport = ntohs(layer->hdr.tcp->th_dport); + } + if (layer && layer->proto == LAYER_PROTO_UDP) + { + *sport = ntohs(layer->hdr.udp->uh_sport); + *dport = ntohs(layer->hdr.udp->uh_dport); + } + //S2C, swap sport and dport + if(flow_type == FLOW_TYPE_S2C) + { + unsigned short tmp = *sport; + *sport = *dport; + *dport = tmp; + } + } + return; +} + +//TODO: fill packet sequence +static struct appid_message *lpi_plus_message_new(struct session *sess, int *id_array, size_t id_num) +{ + struct appid_message *result=CALLOC(struct appid_message, 1); + result->origin=ORIGIN_LPI_PLUS; + result->sess=sess; + result->appid_num=id_num; + for(unsigned int i=0; i<result->appid_num; i++) + { + result->appid[i]=(int)(id_array[i]); + result->surrogate_id[i]=0; + } + + return result; +} + +static int lpi_plus_appid_update(int current_id_array[], size_t *current_id_num, int incoming_id) +{ + size_t i=0; + + if(*current_id_num>=MAX_APPID_NUM) + { + return 0; + } + + for(i=0; i<(*current_id_num); i++) + { + if(incoming_id==current_id_array[i]) + { + return 0; + } + } + + current_id_array[(*current_id_num)]=incoming_id; + (*current_id_num)++; + + return 1; +} + +static int lpi_plus_name2appid(struct lpi_plus_mapper *mapper, const char *lpi_name, size_t name_sz) +{ + struct lpi_plus_appid_info *out=NULL; + HASH_FIND(hh_lpi_name, mapper->hash_appid2name, lpi_name, name_sz, out); + if(out==NULL)return 0; + return out->appid; +} + +const char *lpi_plus_appid2name(struct lpi_plus_mapper *mapper, int appid) +{ + struct lpi_plus_appid_info *out=NULL; + HASH_FIND(hh_appid, mapper->hash_appid2name, &appid, sizeof(int), out); + if(out==NULL)return NULL; + return out->app_name; +} + +static struct lpi_plus_mapper *lpi_plus_mapper_new(const char *filename) +{ + size_t ret=0; + FILE *fp=NULL; + char line[1024]={0}; + char type_name[32]={0}; + struct lpi_plus_appid_info *appid_info=NULL; + struct lpi_plus_appid_info *tmp=NULL; + + fp=fopen(filename, "r"); + if(fp==NULL) + { + printf("Open %s failed ...", filename); + return NULL; + } + struct lpi_plus_mapper * mapper=(struct lpi_plus_mapper *)calloc(1, sizeof(struct lpi_plus_mapper)); + while((fgets(line, sizeof(line), fp))!=NULL) + { + if(line[0]=='#' || line[0]=='\n' || line[0]=='\r' ||line[0]=='\0') + { + continue; + } + + appid_info=(struct lpi_plus_appid_info *)calloc(1, sizeof(struct lpi_plus_appid_info)); + ret=sscanf(line, "%31s %63s %d %63s", type_name, appid_info->lpi_name, &appid_info->appid, appid_info->app_name); + + if(ret==3) + { + strcpy(appid_info->app_name, appid_info->lpi_name); + } + + HASH_FIND(hh_lpi_name, mapper->hash_name2appid, appid_info->lpi_name, strlen(appid_info->lpi_name), tmp); + + //deduplicate + if(tmp) + { + free(appid_info); + continue; + } + HASH_ADD_KEYPTR(hh_lpi_name, mapper->hash_name2appid, appid_info->lpi_name, strlen(appid_info->lpi_name), appid_info); + HASH_ADD(hh_appid, mapper->hash_appid2name, appid, sizeof(int), appid_info); + memset(line, 0, sizeof(line)); + } + fclose(fp); + return mapper; +} + +static void lpi_plus_mapper_free(struct lpi_plus_mapper *mapper) +{ + if(mapper==NULL)return; + + struct lpi_plus_appid_info *out=NULL, *tmp=NULL; + HASH_CLEAR(hh_appid, mapper->hash_appid2name); + HASH_ITER(hh_lpi_name, mapper->hash_name2appid, out ,tmp) + { + HASH_DELETE(hh_lpi_name, mapper->hash_name2appid, out); + free(out); + } + free(mapper); +} + +void lpi_plus_context_update(struct session *sess, struct lpi_plus_detect_context *ctx, + const char *scan_data, int scan_data_len) +{ + lpi_data_t *data = &ctx->lpi_data; + int l4_proto = 0; + enum session_type type = session_get_type(sess); + if (type == SESSION_TYPE_TCP) + { + l4_proto = IPPROTO_TCP; + } + if (type == SESSION_TYPE_UDP) + { + l4_proto = IPPROTO_UDP; + } + int cur_pkt_dir = session_get_flow_type(sess); + ctx->detected_pkt_cnt++; + (cur_pkt_dir == FLOW_TYPE_C2S) ? (ctx->detected_c2s_pkt++) : (ctx->detected_s2c_pkt++); + ctx->current_is_c2s_flow = ((cur_pkt_dir == FLOW_TYPE_C2S) ? 1 : 0); + uint32_t dir = 0; + if(ctx->current_is_c2s_flow) + { + dir = 0; + } + else + { + dir = 1; + } + uint32_t four_bytes; + + data->observed[dir] += scan_data_len; + + if (data->trans_proto == 0)data->trans_proto = l4_proto; + + if (scan_data_len < 4) + { + memcpy((char *)&four_bytes, scan_data, scan_data_len); + four_bytes = (ntohl(four_bytes)) >> (8 * (4 - scan_data_len)); + four_bytes = htonl(four_bytes << (8 * (4 - scan_data_len))); + } + else + { + four_bytes = (*(uint32_t *)scan_data); + } + + data->payload[dir] = four_bytes; + data->payload_len[dir] = scan_data_len; + + uint16_t source=0; + uint16_t dest=0; + lpi_plus_get_host_order_port(sess,&source ,&dest); + + data->client_port = source; + data->server_port = dest; + return; + +} + +static int lpi_plus_detect(struct lpi_plus_detect_context *ctx, struct lpi_plus_mapper *mapper, const char *payload, size_t payload_len) +{ + lpi_module_t *plpi_mod=lpi_guess_protocol(&(ctx->lpi_data)); + if(plpi_mod==NULL)return 0; + + lpi_module_t *extend_result = lpi_plus_extended_guess(ctx, plpi_mod->protocol, payload, payload_len); + if (extend_result)plpi_mod=extend_result; + + int new_appid=lpi_plus_name2appid(mapper, plpi_mod->name, strlen(plpi_mod->name)); + + //if appid won't be outer of tunnel, stop detecting + if (new_appid>0 + && (plpi_mod->category != LPI_CATEGORY_TUNNELLING + && plpi_mod->category != LPI_CATEGORY_NAT + && plpi_mod->protocol != LPI_PROTO_RDP + && plpi_mod->protocol != LPI_PROTO_UDP_RDP + && plpi_mod->protocol != LPI_PROTO_UDP_RTP + && plpi_mod->protocol != LPI_PROTO_UDP_RTCP)) + { + ctx->stop_detect=1; + } + return new_appid; +} + +static void lpi_plus_on_session(struct session *sess, struct packet *pkt, void *args) +{ + if(pkt==NULL)return; + struct lpi_plus_env *env=(struct lpi_plus_env *)args; + struct lpi_plus_exdata *exdata = (struct lpi_plus_exdata *)session_get_exdata(sess, env->lpip_session_exdata_idx); + if(exdata==NULL) + { + exdata= CALLOC(struct lpi_plus_exdata, 1); + session_set_exdata(sess, env->lpip_session_exdata_idx, exdata); + } + if(exdata->ctx.stop_detect==1)return; + if(exdata->ctx.detected_pkt_cnt>=env->max_pkts)return; + + uint16_t payload_len=packet_get_payload_len(pkt); + const char *payload=packet_get_payload(pkt); + if (payload!=NULL && payload_len>0)//detect packet with payload only + { + lpi_plus_context_update(sess, &exdata->ctx, payload, payload_len); + int appid=lpi_plus_detect(&exdata->ctx, env->mapper, payload, payload_len); + if(appid>0 && lpi_plus_appid_update(exdata->appid, &(exdata->appid_num), appid)) + { + struct appid_message *msg=lpi_plus_message_new(sess, exdata->appid, exdata->appid_num); + if(0 > mq_runtime_publish_message(stellar_module_manager_get_mq_runtime(env->mod_mgr), + env->topic_appid, + msg))FREE(msg); + } + } + return; +} + +static void lpi_plus_exdata_free(int idx __unused, void *ex_ptr, void *arg __unused) +{ + if(ex_ptr==NULL)return; + FREE(ex_ptr); +} + +void lpi_plus_exit(struct stellar_module_manager *mod_mgr, struct stellar_module *mod) +{ + if(mod_mgr==NULL)return; + if(mod) + { + struct lpi_plus_env *env=(struct lpi_plus_env *)stellar_module_get_ctx(mod); + lpi_free_library(); + lpi_plus_mapper_free(env->mapper); + FREE(env); + stellar_module_free(mod); + } +} + +struct stellar_module *lpi_plus_init(struct stellar_module_manager *mod_mgr) +{ + if(mod_mgr==NULL)return NULL; + + struct lpi_plus_env *env=CALLOC(struct lpi_plus_env, 1); + struct stellar_module *mod=stellar_module_new("LPI_PLUS", env); + env->mod_mgr=mod_mgr; + env->max_pkts=16;//TODO: load from toml + + struct session_manager *sess_mgr=stellar_module_get_session_manager(mod_mgr); + struct mq_schema *mq_s=stellar_module_manager_get_mq_schema(mod_mgr); + + if(sess_mgr==NULL || mq_s==NULL) + { + goto INIT_ERROR; + } + + if(lpi_init_library()<0) + { + goto INIT_ERROR; + } + env->mapper=lpi_plus_mapper_new(l7_protocol_file);// TODO: load path from toml + if(env->mapper == NULL) + { + goto INIT_ERROR; + } + + session_manager_subscribe_tcp(sess_mgr,lpi_plus_on_session, env); + session_manager_subscribe_udp(sess_mgr, lpi_plus_on_session, env); + + env->lpip_session_exdata_idx = session_manager_new_session_exdata_index(sess_mgr, "EXDATA_LPI", lpi_plus_exdata_free, NULL); + env->topic_appid=stellar_appid_create_topic(mod_mgr); + if(env->topic_appid<0) + { + goto INIT_ERROR; + } + + return mod; + +INIT_ERROR: + lpi_plus_exit(mod_mgr, mod); + exit(-1); + return NULL; + +} + +struct lpi_plus_mapper *stellar_module_get_lpip(struct stellar_module_manager *mod_mgr) +{ + if(mod_mgr==NULL)return NULL; + struct stellar_module *mod=stellar_module_manager_get_module(mod_mgr, "LPI_PLUS"); + if(mod==NULL)return NULL; + struct lpi_plus_env *lpi_p=(struct lpi_plus_env *)stellar_module_get_ctx(mod); + if(lpi_p==NULL)return NULL; + return lpi_p->mapper; +}
\ No newline at end of file diff --git a/decoders/lpi_plus/version.map b/decoders/lpi_plus/version.map new file mode 100644 index 0000000..179b07f --- /dev/null +++ b/decoders/lpi_plus/version.map @@ -0,0 +1,11 @@ +VERS_2.4{ +global: +extern "C" { + lpi_plus_init; + lpi_plus_exit; + stellar_appid_subscribe; + GIT_VERSION_*; +}; + +local: *; +}; diff --git a/include/stellar/appid.h b/include/stellar/appid.h index 6d82d71..df30a8f 100644 --- a/include/stellar/appid.h +++ b/include/stellar/appid.h @@ -1,16 +1,19 @@ #pragma once +#ifdef __cplusplus +extern "C" +{ +#endif + #include <stddef.h> #include <stdint.h> -#define MESSAGE_MAGIC 0x12345678 - -#define MAX_APP_ID_NUM 8 -#define APP_ID_MESSAGE_TOPIC "TOPIC_APP_ID" +#include "stellar/session.h" +#include "stellar/module_manager.h" -enum APP_IDENTIFY_ORIGIN +enum APPID_ORIGIN { - ORIGIN_PROTO_IDENTIFY=0, + ORIGIN_LPI_PLUS=0, ORIGIN_APP_SKETCH_USER_DEFINE, ORIGIN_PROTO_ENGINE, ORIGIN_APP_SKETCH_BUILT_IN, @@ -20,12 +23,10 @@ enum APP_IDENTIFY_ORIGIN ORIGIN_MAX }; -struct app_id_message -{ - int magic; - enum APP_IDENTIFY_ORIGIN origin; - uint32_t app_id_num; - int32_t app_id[MAX_APP_ID_NUM]; - uint32_t surrogate_id[MAX_APP_ID_NUM]; - uint32_t packet_sequence[MAX_APP_ID_NUM]; -};
\ No newline at end of file +typedef void on_appid_callback(struct session *sess, enum APPID_ORIGIN origin, int appid[], size_t appid_num, void *args); +int stellar_appid_create_topic(struct stellar_module_manager *mod_mgr); +int stellar_appid_subscribe(struct stellar_module_manager *mod_mgr, on_appid_callback *cb, void *args); + +#ifdef __cplusplus +} +#endif
\ No newline at end of file diff --git a/include/stellar/module_manager.h b/include/stellar/module_manager.h index a944186..70ee5a5 100644 --- a/include/stellar/module_manager.h +++ b/include/stellar/module_manager.h @@ -8,9 +8,6 @@ extern "C" #include "stellar/mq.h" #include "stellar/log.h" -#define PACKET_MANAGER_MODULE_NAME "packet_manager_module" -#define SESSION_MANAGER_MODULE_NAME "session_manager_module" - struct stellar_module; struct stellar_module *stellar_module_new(const char *name, void *ctx); void stellar_module_free(struct stellar_module *mod); diff --git a/include/stellar/packet_manager.h b/include/stellar/packet_manager.h index 8270c7b..dd90074 100644 --- a/include/stellar/packet_manager.h +++ b/include/stellar/packet_manager.h @@ -8,6 +8,8 @@ extern "C" #include "stellar/exdata.h" #include "stellar/packet.h" +#include "stellar/module_manager.h" + enum packet_stage { PACKET_STAGE_PREROUTING, @@ -20,6 +22,8 @@ enum packet_stage struct packet_manager; +struct packet_manager *stellar_module_get_packet_manager(struct stellar_module_manager *mod_mgr); + int packet_manager_new_packet_exdata_index(struct packet_manager *pkt_mgr, const char *name, exdata_free *func, void *arg); typedef void on_packet_stage_callback(enum packet_stage stage, struct packet *pkt, void *args); diff --git a/include/stellar/session_manager.h b/include/stellar/session_manager.h index 749ccbb..87d4b18 100644 --- a/include/stellar/session_manager.h +++ b/include/stellar/session_manager.h @@ -10,8 +10,12 @@ extern "C" #include "stellar/exdata.h" #include "stellar/session.h" +#include "stellar/module_manager.h" + struct session_manager; +struct session_manager *stellar_module_get_session_manager(struct stellar_module_manager *mod_mgr); + int session_manager_new_session_exdata_index(struct session_manager *sess_mgr, const char *name, exdata_free *func, void *arg); typedef void on_session_callback(struct session *sess, struct packet *pkt, void *args); diff --git a/include/stellar/stellar.h b/include/stellar/stellar.h index 9dfd711..0be4c6e 100644 --- a/include/stellar/stellar.h +++ b/include/stellar/stellar.h @@ -9,6 +9,7 @@ extern "C" #include "stellar/log.h" #include "stellar/packet.h" +#include "stellar/module_manager.h" struct stellar; @@ -26,6 +27,7 @@ void stellar_free(struct stellar *st); void stellar_loopbreak(struct stellar *st); void stellar_reload_log_level(struct stellar *st); struct logger *stellar_get_logger(struct stellar *st); +struct stellar_module_manager *stellar_get_module_manager(struct stellar *st); #ifdef __cplusplus } diff --git a/infra/CMakeLists.txt b/infra/CMakeLists.txt index 008713e..8dfa468 100644 --- a/infra/CMakeLists.txt +++ b/infra/CMakeLists.txt @@ -1,6 +1,6 @@ set(INFRA exdata mq tuple packet_manager packet_io ip_reassembly tcp_reassembly session_manager module_manager polling_manager) set(DEPS bitmap dablooms interval_tree logger nmx_pool rbtree timeout toml) -#set(DECODERS http lpi) +set(DECODERS appid lpi_plus) set(WHOLE_ARCHIVE ${DEPS} ${INFRA} ${DECODERS}) set(LIBS fieldstat4) diff --git a/infra/mq/mq.c b/infra/mq/mq.c index ff503a8..a054e19 100644 --- a/infra/mq/mq.c +++ b/infra/mq/mq.c @@ -122,7 +122,7 @@ static int mq_dispatch_one_message(struct mq_topic *topic, struct mq_message *mq -int mq_runtime_publish_message_at_once(struct mq_runtime *rt, int topic_id, void *msg) +int mq_runtime_publish_message_immediate(struct mq_runtime *rt, int topic_id, void *msg) { if(rt==NULL || rt->schema == NULL)return -1; diff --git a/infra/mq/mq_internal.h b/infra/mq/mq_internal.h index 4d60e37..146d222 100644 --- a/infra/mq/mq_internal.h +++ b/infra/mq/mq_internal.h @@ -71,7 +71,7 @@ struct mq_runtime }; int mq_runtime_publish_message_with_priority(struct mq_runtime *rt, int topic_id, void *msg, enum mq_property priority); -int mq_runtime_publish_message_at_once(struct mq_runtime *rt, int topic_id, void *msg); +int mq_runtime_publish_message_immediate(struct mq_runtime *rt, int topic_id, void *msg); #ifdef __cplusplus } diff --git a/infra/mq/test/gtest_mq_main.cpp b/infra/mq/test/gtest_mq_main.cpp index 2f16fcb..a2ee952 100644 --- a/infra/mq/test/gtest_mq_main.cpp +++ b/infra/mq/test/gtest_mq_main.cpp @@ -342,7 +342,7 @@ static void test_pub_on_msg_free(void *msg, void *msg_free_arg) if((long)msg!=env->N_round && (int)(long)msg==env->N_round-1) { EXPECT_EQ(mq_runtime_publish_message(env->rt, env->topic_id, (void *)(long)(env->N_round)), -1);//on message free, publish always failed - EXPECT_EQ(mq_runtime_publish_message_at_once(env->rt, env->topic_id, (void *)(long)(env->N_round)), 0);//on message free, publish at once success + EXPECT_EQ(mq_runtime_publish_message_immediate(env->rt, env->topic_id, (void *)(long)(env->N_round)), 0);//on message free, publish at once success } return; } diff --git a/infra/packet_manager/packet_manager.c b/infra/packet_manager/packet_manager.c index eba87ec..e492414 100644 --- a/infra/packet_manager/packet_manager.c +++ b/infra/packet_manager/packet_manager.c @@ -4,7 +4,8 @@ #include "packet_internal.h" #include "packet_manager_runtime.h" #include "packet_manager_internal.h" -#include "stellar/module_manager.h" + +#define PACKET_MANAGER_MODULE_NAME "packet_manager_module" struct packet_manager_config { @@ -290,6 +291,17 @@ void packet_manager_print_stat(struct packet_manager *pkt_mgr, uint16_t thread_i * packet manager module ******************************************************************************/ +struct packet_manager *stellar_module_get_packet_manager(struct stellar_module_manager *mod_mgr) +{ + assert(mod_mgr); + struct stellar_module *pkt_mgr_mod = stellar_module_manager_get_module(mod_mgr, PACKET_MANAGER_MODULE_NAME); + if (pkt_mgr_mod == NULL) + { + return NULL; + } + return (struct packet_manager*)stellar_module_get_ctx(pkt_mgr_mod); +} + struct stellar_module *packet_manager_on_init(struct stellar_module_manager *mod_mgr) { assert(mod_mgr); diff --git a/infra/session_manager/session_manager.c b/infra/session_manager/session_manager.c index a2b2fd7..5f3820f 100644 --- a/infra/session_manager/session_manager.c +++ b/infra/session_manager/session_manager.c @@ -11,9 +11,12 @@ #include "session_internal.h" #include "session_manager_runtime.h" +#define SESSION_MANAGER_MODULE_NAME "session_manager_module" + #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Wunused-function" + struct session_manager_schema { struct exdata_schema *exdata; @@ -162,14 +165,11 @@ static void clean_session(struct session_manager_runtime *sess_mgr_rt, uint64_t #define MAX_CLEANED_SESS 1024 struct session *sess = NULL; struct session *cleaned_sess[MAX_CLEANED_SESS] = {NULL}; - struct exdata_runtime *exdata_rt = NULL; uint64_t used = session_manager_runtime_clean_session(sess_mgr_rt, now_ms, cleaned_sess, MAX_CLEANED_SESS); for (uint64_t j = 0; j < used; j++) { sess = cleaned_sess[j]; - exdata_rt = (struct exdata_runtime *)session_get_user_data(sess); - exdata_runtime_free(exdata_rt); session_manager_runtime_free_session(sess_mgr_rt, sess); } } @@ -421,12 +421,21 @@ int session_manager_subscribe_tcp_stream(struct session_manager *sess_mgr, on_tc * session manager module ******************************************************************************/ +struct session_manager *stellar_module_get_session_manager(struct stellar_module_manager *mod_mgr) +{ + assert(mod_mgr); + struct stellar_module *sess_mgr_mod = stellar_module_manager_get_module(mod_mgr, SESSION_MANAGER_MODULE_NAME); + if (sess_mgr_mod == NULL) + { + return NULL; + } + return stellar_module_get_ctx(sess_mgr_mod); +} + struct stellar_module *session_manager_on_init(struct stellar_module_manager *mod_mgr) { assert(mod_mgr); - struct stellar_module *pkt_mgr_mod = stellar_module_manager_get_module(mod_mgr, PACKET_MANAGER_MODULE_NAME); - assert(pkt_mgr_mod); - struct packet_manager *pkt_mgr = stellar_module_get_ctx(pkt_mgr_mod); + struct packet_manager *pkt_mgr = stellar_module_get_packet_manager(mod_mgr); assert(pkt_mgr); struct stellar_polling_manager *poll_mgr = stellar_module_get_polling_manager(mod_mgr); assert(poll_mgr); diff --git a/infra/session_manager/session_manager_runtime.c b/infra/session_manager/session_manager_runtime.c index f89176c..efb9e42 100644 --- a/infra/session_manager/session_manager_runtime.c +++ b/infra/session_manager/session_manager_runtime.c @@ -14,6 +14,12 @@ #include "session_transition.h" #include "session_manager_runtime.h" +#include "stellar/exdata.h" + +#define SESSION_MANAGER_RUNTIME_LOG_ERROR(format, ...) STELLAR_LOG_ERROR(__thread_local_logger, "session manager runtime", format, ##__VA_ARGS__) +#define SESSION_MANAGER_RUNTIME_LOG_DEBUG(format, ...) STELLAR_LOG_DEBUG(__thread_local_logger, "session manager runtime", format, ##__VA_ARGS__) +#define SESSION_MANAGER_RUNTIME_LOG_INFO(format, ...) STELLAR_LOG_INFO(__thread_local_logger, "session manager runtime", format, ##__VA_ARGS__) + struct snowflake { uint64_t seed; @@ -1060,6 +1066,10 @@ void session_manager_runtime_free_session(struct session_manager_runtime *sess_m { if (sess) { + struct exdata_runtime *exdata_rt = (struct exdata_runtime *)session_get_user_data(sess); + exdata_runtime_free(exdata_rt); + + SESSION_MANAGER_RUNTIME_LOG_DEBUG("session %lu closed (%s)", session_get_id(sess), closing_reason_to_str(session_get_closing_reason(sess))); SESSION_MANAGER_LOG_DEBUG("session %lu closed (%s)", session_get_id(sess), closing_reason_to_str(session_get_closing_reason(sess))); session_timer_del(sess_mgr_rt->sess_timer, sess); diff --git a/infra/stellar_core.c b/infra/stellar_core.c index a63a5bd..81c3c2a 100644 --- a/infra/stellar_core.c +++ b/infra/stellar_core.c @@ -52,8 +52,7 @@ static void *worker_thread(void *arg) struct stellar_module_manager *mod_mgr = st->mod_mgr; struct mq_runtime *mq_rt = mq_runtime_new(st->mq_schema); struct stellar_polling_manager *polling_mgr = stellar_module_get_polling_manager(mod_mgr); - struct stellar_module *pkt_mgr_mod = stellar_module_manager_get_module(mod_mgr, PACKET_MANAGER_MODULE_NAME); - struct packet_manager *pkt_mgr = stellar_module_get_ctx(pkt_mgr_mod); + struct packet_manager *pkt_mgr = stellar_module_get_packet_manager(mod_mgr); snprintf(thread_name, sizeof(thread_name), "stellar:%d", thread_id); prctl(PR_SET_NAME, (unsigned long long)thread_name, NULL, NULL, NULL); @@ -199,7 +198,7 @@ struct stellar *stellar_new(const char *toml_file) st->mod_mgr = stellar_module_manager_new(toml_file, st->thread_num, st->mq_schema, st->logger); if (st->mod_mgr == NULL) { - CORE_LOG_ERROR("unable to create module manager"); + CORE_LOG_ERROR("unable to create packet manager"); goto error_out; } @@ -290,4 +289,16 @@ struct logger *stellar_get_logger(struct stellar *st) { return NULL; } +} + +struct stellar_module_manager *stellar_get_module_manager(struct stellar *st) +{ + if (st) + { + return st->mod_mgr; + } + else + { + return NULL; + } }
\ No newline at end of file diff --git a/infra/version.map b/infra/version.map index a6163bc..496011a 100644 --- a/infra/version.map +++ b/infra/version.map @@ -36,6 +36,12 @@ global: session_get_stat; session_get0_readable_addr; session_set_discard; + session_manager_new_session_exdata_index; + session_get_exdata; + session_set_exdata; + session_manager_subscribe_tcp; + session_manager_subscribe_udp; + session_manager_subscribe_tcp_stream; stellar_session_plugin_register; stellar_session_plugin_register_with_hooks; @@ -49,6 +55,10 @@ global: stellar_loopbreak; stellar_get_logger; stellar_reload_log_level; + stellar_get_module_manager; + + stellar_appid_subscribe; + log_print; log_check_level; @@ -61,14 +71,14 @@ global: session_manager_on_init; session_manager_on_exit; - http_message_*; - http_decoder_init; - http_decoder_exit; - http_decoder_tcp_stream_msg_cb; - http_url_decode; + http_message_*; + http_decoder_init; + http_decoder_exit; + http_decoder_tcp_stream_msg_cb; + http_url_decode; - lpi_plugin_load; - lpi_plugin_unload; + lpi_plus_init; + lpi_plus_exit; local: *; }; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1fdc838..7cf7e86 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -2,6 +2,8 @@ add_subdirectory(packet_tool) add_subdirectory(session_debugger) #add_subdirectory(lpi_plugin) +#add_subdirectory(debug_plugin) +add_subdirectory(lpi_plus) #add_subdirectory(decoders/http) #add_subdirectory(decoders/socks) #add_subdirectory(decoders/stratum) diff --git a/test/lpi_plugin/gtest_lpi_plugin.cpp b/test/lpi_plugin/gtest_lpi_plugin.cpp deleted file mode 100644 index 8618c2f..0000000 --- a/test/lpi_plugin/gtest_lpi_plugin.cpp +++ /dev/null @@ -1,176 +0,0 @@ -#pragma GCC diagnostic ignored "-Wunused-parameter" - -#include <stdio.h> -#include <time.h> -#include <unistd.h> -#include <assert.h> - -#include "lpi_plugin.h" - -#include "stellar/stellar.h" -#include "stellar/session.h" -#include "stellar/stellar_exdata.h" -#include "stellar/stellar_mq.h" - -#include "cjson/cJSON.h" - - -#define MAX_APP_ID_VALUE 10000 -struct lpi_test_plugin_env -{ - int test_exdata_idx; - int l7_exdata_idx; - int test_app_plugin_id; - int expect_json_topic_id; - struct stellar *st; - char *g_proto_id2name[MAX_APP_ID_VALUE]; -}; - -static int load_l7_protocol_mapper(const char *filename, struct lpi_test_plugin_env *env) -{ - memset(env->g_proto_id2name, 0, sizeof(env->g_proto_id2name)); - int ret=0, proto_id=0;; - FILE *fp=NULL; - char line[1024]={0}; - char type_name[32]={0}; - char proto_name[32]={0}; - - fp=fopen(filename, "r"); - if(fp==NULL) - { - printf("Open %s failed ...", filename); - return -1; - } - - memset(line, 0, sizeof(line)); - - while((fgets(line, sizeof(line), fp))!=NULL) - { - if(line[0]=='#' || line[0]=='\n' || line[0]=='\r' ||line[0]=='\0') - { - continue; - } - - ret=sscanf(line, "%31s %31s %d", type_name, proto_name, &proto_id); - env->g_proto_id2name[proto_id] = (char*)calloc(strlen(proto_name)+1, 1); - strcpy(env->g_proto_id2name[proto_id], proto_name); - memset(line, 0, sizeof(line)); - } - - fclose(fp); - fp=NULL; - return ret; -} - -static void publish_session_test_result(struct lpi_test_plugin_env *env, cJSON *ctx, struct session *sess) -{ - assert(env->l7_exdata_idx >= 0 && ctx != NULL); - struct l7_protocol_label *label = (struct l7_protocol_label *)session_exdata_get(sess, env->l7_exdata_idx);; - if(label != NULL) - { - int proto_ids[8]; - const char* proto_names[8]; - for(int i = 0; i < label->protocol_id_num; i++) - { - proto_ids[i] = (int)(label->protocol_id[i]); - proto_names[i] = env->g_proto_id2name[proto_ids[i]]; - - } - cJSON *label_ids = cJSON_CreateIntArray(proto_ids, label->protocol_id_num); - cJSON_AddItemToObject(ctx, "l7_label_id", label_ids); - cJSON *label_names = cJSON_CreateStringArray(proto_names, label->protocol_id_num); - cJSON_AddItemToObject(ctx, "l7_label_name", label_names); - } - else - { - cJSON_AddStringToObject(ctx, "l7_label_id", "UNKNOWN"); - } - unsigned char dir_flag; - int is_symmetric=session_is_symmetric(sess, &dir_flag); - if(is_symmetric) - { - cJSON_AddStringToObject(ctx, "STREAM_DIR", "DOUBLE"); - } - else if(dir_flag == SESSION_SEEN_C2S_FLOW) - { - cJSON_AddStringToObject(ctx, "STREAM_DIR", "C2S"); - } - else if(dir_flag == SESSION_SEEN_S2C_FLOW) - { - cJSON_AddStringToObject(ctx, "STREAM_DIR", "S2C"); - } - else - { - assert(0); - } - session_mq_publish_message(sess, env->expect_json_topic_id, cJSON_Print(ctx)); - cJSON_Delete(ctx); - return; -} - -static void gtest_lpi_on_session_free(struct session *sess, void *per_session_ctx, void *plugin_env) -{ - cJSON *ctx =cJSON_CreateObject(); - cJSON_AddStringToObject(ctx, "Tuple4", session_get0_readable_addr(sess)); - enum session_type type= session_get_type(sess); - if (type == SESSION_TYPE_TCP) - { - cJSON_AddStringToObject(ctx, "STREAM_TYPE", "TCP"); - } - if (type == SESSION_TYPE_UDP) - { - cJSON_AddStringToObject(ctx, "STREAM_TYPE", "UDP"); - } - publish_session_test_result((struct lpi_test_plugin_env*)plugin_env, ctx, sess); -} - -extern "C" void *gtest_lpi_plugin_load(struct stellar *st) -{ - struct lpi_test_plugin_env *env = (struct lpi_test_plugin_env *)calloc(1, sizeof(struct lpi_test_plugin_env)); - env->st=st; - const char *l7_proto_name=(const char*)"./tsgconf/tsg_l7_protocol.conf"; - - env->l7_exdata_idx= stellar_exdata_new_index(st, "L7_PROTOCOL", stellar_exdata_free_default, NULL); - env->test_exdata_idx= stellar_exdata_new_index(st, "APP_PROTO_TEST", stellar_exdata_free_default, NULL); - if(env->l7_exdata_idx<0 || env->test_exdata_idx<0) - { - perror("gtest_lpi_plugin_load:stellar_session_get_ex_new_index faild!!!\n"); - exit(-1); - } - if(load_l7_protocol_mapper(l7_proto_name, env)<0) - { - perror("gtest_lpi_plugin_load:l7_protocol_mapper failed !!!\n"); - exit(-1); - } - env->test_app_plugin_id=stellar_plugin_register(st, NULL, NULL, NULL, gtest_lpi_on_session_free, env); - if(env->test_app_plugin_id < 0) - { - perror("gtest_lpi_plugin_load:stellar_plugin_register failed !!!\n"); - exit(-1); - } - - int tcp_topic_id=stellar_mq_get_topic_id(st, TOPIC_TCP_INPUT); - int udp_topic_id=stellar_mq_get_topic_id(st, TOPIC_UDP_INPUT); - if(tcp_topic_id < 0 || udp_topic_id < 0) - { - perror("gtest_lpi_plugin_load get tcp or udp topic id failed\n"); - exit(-1); - } - - env->expect_json_topic_id = stellar_mq_create_topic(st, "EXPECT_JSON", stellar_msg_free_default, NULL); - printf("gtest_lpi_plugin_load OK!\n"); - - return env; -} - -extern "C" void gtest_lpi_plugin_unload(void *plugin_env) -{ - struct lpi_test_plugin_env *env = (struct lpi_test_plugin_env *)plugin_env; - for(int i = 0; i < MAX_APP_ID_VALUE; i++) - { - if(env->g_proto_id2name[i])free(env->g_proto_id2name[i]); - } - free(env); - printf("gtest_lpi_plugin_unload OK!\n"); - return ; -} diff --git a/test/lpi_plugin/test_config/spec.toml b/test/lpi_plugin/test_config/spec.toml deleted file mode 100644 index 386346f..0000000 --- a/test/lpi_plugin/test_config/spec.toml +++ /dev/null @@ -1,11 +0,0 @@ -# stellar_plugin.toml -# -[[plugin]] -path = "" -init = "lpi_plugin_load" -exit = "lpi_plugin_unload" - -[[plugin]] -path = "" -init = "gtest_lpi_plugin_load" -exit = "gtest_lpi_plugin_unload" diff --git a/test/lpi_plugin/CMakeLists.txt b/test/lpi_plus/CMakeLists.txt index 813451f..9f63273 100644 --- a/test/lpi_plugin/CMakeLists.txt +++ b/test/lpi_plus/CMakeLists.txt @@ -1,10 +1,10 @@ -add_executable(gtest_lpi gtest_lpi_main.cpp gtest_lpi_plugin.cpp) +add_executable(gtest_lpip gtest_lpip_main.cpp gtest_lpip_module.c) -target_include_directories(gtest_lpi PRIVATE ${CMAKE_SOURCE_DIR}/deps/) -target_include_directories(gtest_lpi PRIVATE ${CMAKE_SOURCE_DIR}/decoders/lpi) +target_include_directories(gtest_lpip PRIVATE ${CMAKE_SOURCE_DIR}/deps/) +target_include_directories(gtest_lpip PRIVATE ${CMAKE_SOURCE_DIR}/decoders/) target_link_libraries( - gtest_lpi PRIVATE stellar_lib cjson-static + gtest_lpip PRIVATE stellar_lib cjson-static lpi_plus dl "-rdynamic" gtest gmock ) @@ -12,7 +12,7 @@ target_link_libraries( #target_link_libraries(gtest_lpi PRIVATE -Wl,--whole-archive lpi -Wl,--no-whole-archive) set(TEST_NAME "LPI_TEST") -set(TEST_MAIN ${CMAKE_CURRENT_BINARY_DIR}/gtest_lpi) +set(TEST_MAIN ${CMAKE_CURRENT_BINARY_DIR}/gtest_lpip) add_test(NAME ${TEST_NAME}.SETUP COMMAND sh -c " mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/conf && @@ -20,8 +20,7 @@ add_test(NAME ${TEST_NAME}.SETUP COMMAND sh -c " mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/log && mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/tsgconf && cp ${CMAKE_SOURCE_DIR}/conf/stellar.toml ${CMAKE_CURRENT_BINARY_DIR}/conf/ && - cp ${CMAKE_CURRENT_SOURCE_DIR}/test_config/spec.toml ${CMAKE_CURRENT_BINARY_DIR}/plugin/ && - cp ${CMAKE_SOURCE_DIR}/conf/log.toml ${CMAKE_CURRENT_BINARY_DIR}/conf/ && + cat ${CMAKE_CURRENT_SOURCE_DIR}/test_config/spec.toml >> ${CMAKE_CURRENT_BINARY_DIR}/conf/stellar.toml && cp ${CMAKE_CURRENT_SOURCE_DIR}/test_config/tsg_l7_protocol.conf ${CMAKE_CURRENT_BINARY_DIR}/tsgconf/ && tomlq -t -i '.packet_io.pcap_path=\"-\"' ${CMAKE_CURRENT_BINARY_DIR}/conf/stellar.toml && tomlq -t -i '.packet_io.mode=\"pcaplist\"' ${CMAKE_CURRENT_BINARY_DIR}/conf/stellar.toml @@ -55,4 +54,5 @@ set_tests_properties(${TEST_NAME}.APP ${TEST_NAME}.OPENVPN ${TEST_NAME}.PPP ${TEST_NAME}.SOCKS - PROPERTIES FIXTURES_REQUIRED ${TEST_NAME}.SETUP)
\ No newline at end of file + PROPERTIES FIXTURES_REQUIRED ${TEST_NAME}.SETUP + ) diff --git a/test/lpi_plus/gtest_lpip.h b/test/lpi_plus/gtest_lpip.h new file mode 100644 index 0000000..9b13571 --- /dev/null +++ b/test/lpi_plus/gtest_lpip.h @@ -0,0 +1,16 @@ +#pragma once + +#ifdef __cplusplus +extern "C" +{ +#endif + +int stellar_test_result_setup(); + +char *stellar_test_result_json_export(); + +void stellar_test_result_cleanup(); + +#ifdef __cplusplus +} +#endif
\ No newline at end of file diff --git a/test/lpi_plugin/gtest_lpi_main.cpp b/test/lpi_plus/gtest_lpip_main.cpp index d244fac..6745832 100644 --- a/test/lpi_plugin/gtest_lpi_main.cpp +++ b/test/lpi_plus/gtest_lpip_main.cpp @@ -14,10 +14,9 @@ #include <gtest/gtest.h> #include "stellar/stellar.h" -#include "stellar/session.h" -#include "stellar/stellar_mq.h" #include "cJSON.h" +#include "gtest_lpip.h" struct gtest_json_result @@ -30,7 +29,11 @@ struct gtest_json_result static struct gtest_json_result *gtest_result_new(const char *expect_json_path) { struct gtest_json_result *para = (struct gtest_json_result *)calloc(1, sizeof(struct gtest_json_result)); - para->test_json_root = cJSON_CreateArray(); + if(expect_json_path==NULL) + { + para->expect_json_root=cJSON_CreateArray(); + return para; + } FILE *file = fopen(expect_json_path, "rb"); if(file) @@ -105,22 +108,6 @@ static void gtest_result_free(struct gtest_json_result *para) return; } -void gtest_on_session_msg_expect_json(struct session *sess, int topic_id, const void *msg, void *per_session_ctx, - void *plugin_env) -{ - struct gtest_json_result *g_test_para = (struct gtest_json_result *)plugin_env; - - cJSON *per_session_json = cJSON_Parse((const char *)msg); - - if (g_test_para->test_json_root) - { - char result_name[128] = ""; - sprintf(result_name, "APP_PROTO_IDENTIFY_RESULT_%d", g_test_para->result_count); - cJSON_AddStringToObject(per_session_json, "name", result_name); - cJSON_AddItemToArray(g_test_para->test_json_root, per_session_json); - } - g_test_para->result_count += 1; -} /********************************************** * GTEST MAIN * @@ -130,35 +117,33 @@ int main(int argc, char ** argv) { ::testing::InitGoogleTest(&argc, argv); - EXPECT_EQ(argc, 2); + //EXPECT_EQ(argc, 2); - if(argc != 2) - { - printf("Invalid Argument!!!\n Usage: ./[gtest_main] [/path/to/expect_json]\n"); - return -1; - } + printf("Usage: ./[gtest_main] [/path/to/expect_json]\n"); char *expect_json_path=argv[1]; struct gtest_json_result *g_test_para = gtest_result_new(expect_json_path); - struct stellar *st=stellar_new("./conf/stellar.toml", "./plugin/spec.toml", "./conf/log.toml"); - EXPECT_TRUE(st!=NULL); - - int plugin_id=stellar_session_plugin_register(st, NULL, NULL, g_test_para); - EXPECT_TRUE(plugin_id>=0); - - int expect_json_topic_id = stellar_mq_get_topic_id(st, "EXPECT_JSON"); - EXPECT_TRUE(expect_json_topic_id>=0); + struct stellar *st=stellar_new("./conf/stellar.toml"); - stellar_session_mq_subscribe(st, expect_json_topic_id, gtest_on_session_msg_expect_json, plugin_id); + stellar_test_result_setup(); + EXPECT_TRUE(st!=NULL); stellar_run(st); + stellar_free(st); + char *test_result_json=stellar_test_result_json_export(); + g_test_para->test_json_root=cJSON_Parse(test_result_json); + free(test_result_json); + + EXPECT_TRUE(g_test_para->expect_json_root != NULL && g_test_para->test_json_root != NULL); EXPECT_EQ(gtest_result_compare(g_test_para), 1); gtest_result_free(g_test_para); + stellar_test_result_cleanup(); + return ::testing::Test::HasFailure() ? 1 : 0; }
\ No newline at end of file diff --git a/test/lpi_plus/gtest_lpip_module.c b/test/lpi_plus/gtest_lpip_module.c new file mode 100644 index 0000000..31aabe3 --- /dev/null +++ b/test/lpi_plus/gtest_lpip_module.c @@ -0,0 +1,182 @@ +#include <stdlib.h> +#pragma GCC diagnostic ignored "-Wunused-parameter" + +#include <stdio.h> +#include <time.h> +#include <unistd.h> +#include <assert.h> + +#include "stellar/appid.h" +#include "stellar/module_manager.h" +#include "stellar/session_manager.h" +#include "stellar/session.h" +#include "stellar/utils.h" + +#include "cjson/cJSON.h" + +#include "lpi_plus/lpi_plus.h" +#include "appid/appid_internal.h" + +struct test_lpip_env +{ + struct stellar_module_manager *mod_mgr; + struct lpi_plus_mapper *lpi_mapper; + int l7_exdata_idx; + int session_num; +}; + +struct test_lpip_exdata +{ + int appid[MAX_APPID_NUM]; + size_t appid_num; + struct session *sess; +}; + +cJSON *g_result_json=NULL; + +void stellar_test_result_setup() +{ + if(g_result_json!=NULL)return; + g_result_json=cJSON_CreateArray(); +} + +char *stellar_test_result_json_export() +{ + if(g_result_json==NULL)return NULL; + return cJSON_Print(g_result_json); +} + +void stellar_test_result_cleanup() +{ + if(g_result_json)cJSON_Delete(g_result_json); +} + +static void gtest_lpip_exdata_free(int idx __attribute__((unused)), void *ex_ptr, void *arg) +{ + struct test_lpip_env *env = (struct test_lpip_env *)arg; + struct test_lpip_exdata *test_appid_exdata=(struct test_lpip_exdata *)ex_ptr; + + if(env==NULL || test_appid_exdata ==NULL)return; + + cJSON *ctx = cJSON_CreateObject(); + cJSON_AddStringToObject(ctx, "Tuple4", session_get0_readable_addr(test_appid_exdata->sess)); + enum session_type type = session_get_type(test_appid_exdata->sess); + if (type == SESSION_TYPE_TCP) + { + cJSON_AddStringToObject(ctx, "STREAM_TYPE", "TCP"); + } + if (type == SESSION_TYPE_UDP) + { + cJSON_AddStringToObject(ctx, "STREAM_TYPE", "UDP"); + } + if (test_appid_exdata->appid_num > 0) + { + const char *proto_names[MAX_APPID_NUM] = {}; + for (unsigned int i = 0; i < test_appid_exdata->appid_num; i++) + { + proto_names[i] = lpi_plus_appid2name(env->lpi_mapper ,test_appid_exdata->appid[i]); + } + cJSON *label_ids = cJSON_CreateIntArray(test_appid_exdata->appid, test_appid_exdata->appid_num); + cJSON_AddItemToObject(ctx, "l7_label_id", label_ids); + cJSON *label_names = cJSON_CreateStringArray(proto_names, test_appid_exdata->appid_num); + cJSON_AddItemToObject(ctx, "l7_label_name", label_names); + } + else + { + cJSON_AddStringToObject(ctx, "l7_label_id", "UNKNOWN"); + } + unsigned char dir_flag; + int is_symmetric = session_is_symmetric(test_appid_exdata->sess, &dir_flag); + if (is_symmetric) + { + cJSON_AddStringToObject(ctx, "STREAM_DIR", "DOUBLE"); + } + else if (dir_flag == SESSION_SEEN_C2S_FLOW) + { + cJSON_AddStringToObject(ctx, "STREAM_DIR", "C2S"); + } + else if (dir_flag == SESSION_SEEN_S2C_FLOW) + { + cJSON_AddStringToObject(ctx, "STREAM_DIR", "S2C"); + } + else + { + assert(0); + } + char result_name[128] = ""; + env->session_num++; + sprintf(result_name, "APP_PROTO_IDENTIFY_RESULT_%d", env->session_num); + cJSON_AddStringToObject(ctx, "name", result_name); + + if(g_result_json)cJSON_AddItemToArray(g_result_json, ctx); + free(test_appid_exdata); + return; +} + + +static void gtest_lpip_on_appid_msg(struct session *sess, enum APPID_ORIGIN origin, int appid[], size_t appid_num, void *args) +{ + if(sess==NULL || appid==NULL || args==NULL)return; + struct test_lpip_env *env = (struct test_lpip_env *)args; + struct test_lpip_exdata *test_appid_exdata=session_get_exdata(sess, env->l7_exdata_idx); + if(test_appid_exdata==NULL) + { + test_appid_exdata = CALLOC(struct test_lpip_exdata, 1); + test_appid_exdata->sess=sess; + + } + memcpy(test_appid_exdata->appid, appid, appid_num*sizeof(appid[0])); + test_appid_exdata->appid_num=appid_num; + session_set_exdata(sess, env->l7_exdata_idx, test_appid_exdata); + return; +} + +static void on_session(struct session *sess, struct packet *pkt, void *args) +{ + if(sess==NULL || pkt==NULL || args==NULL)return; + struct test_lpip_env *env = (struct test_lpip_env *)args; + if (session_get_current_state(sess) == SESSION_STATE_OPENING) + { + struct test_lpip_exdata *test_appid_exdata = session_get_exdata(sess, env->l7_exdata_idx); + if (test_appid_exdata == NULL) + { + test_appid_exdata = CALLOC(struct test_lpip_exdata, 1); + test_appid_exdata->sess=sess; + session_set_exdata(sess, env->l7_exdata_idx, test_appid_exdata); + } + } + return; +} + +struct stellar_module *gtest_lpip_module_init(struct stellar_module_manager *mod_mgr) +{ + struct test_lpip_env *env = (struct test_lpip_env *)calloc(1, sizeof(struct test_lpip_env)); + + env->lpi_mapper=stellar_module_get_lpip(mod_mgr); + struct session_manager *sess_mgr = stellar_module_get_session_manager(mod_mgr); + if(sess_mgr == NULL) + { + perror("gtest_lpi_plugin_load:stellar_module_get_session_manager failed !!!\n"); + exit(-1); + } + + session_manager_subscribe_udp(sess_mgr, on_session, env); + session_manager_subscribe_tcp(sess_mgr, on_session, env); + + env->l7_exdata_idx = session_manager_new_session_exdata_index(sess_mgr, "EXDATA_L7", gtest_lpip_exdata_free, env); + + stellar_appid_subscribe(mod_mgr, gtest_lpip_on_appid_msg, env); + printf("gtest_lpip_module_init OK!\n"); + + return stellar_module_new("TEST_LPIP", env); +} + +void gtest_lpip_module_exit(struct stellar_module_manager *mod_mgr, struct stellar_module *mod) +{ + assert(mod_mgr!=NULL); + struct test_lpip_env *env = (struct test_lpip_env *)stellar_module_get_ctx(mod); + free(env); + printf("gtest_lpip_module_exit OK!\n"); + stellar_module_free(mod); + return ; +} diff --git a/test/lpi_plus/test_config/spec.toml b/test/lpi_plus/test_config/spec.toml new file mode 100644 index 0000000..329f401 --- /dev/null +++ b/test/lpi_plus/test_config/spec.toml @@ -0,0 +1,11 @@ +# stellar_plugin.toml +# +[[module]] +path = "" +init = "lpi_plus_init" +exit = "lpi_plus_exit" + +[[module]] +path = "" +init = "gtest_lpip_module_init" +exit = "gtest_lpip_module_exit" diff --git a/test/lpi_plugin/test_config/tsg_l7_protocol.conf b/test/lpi_plus/test_config/tsg_l7_protocol.conf index 4e5f3ab..bfad125 100644 --- a/test/lpi_plugin/test_config/tsg_l7_protocol.conf +++ b/test/lpi_plus/test_config/tsg_l7_protocol.conf @@ -1,12 +1,15 @@ -#TYPE:1:UCHAR,2:USHORT,3:USTRING,4:ULOG,5:USTRING,6:FILE,7:UBASE64,8:PACKET -#TYPE FIELD VALUE +#TYPE LPI_NAME APPID APP_NAME STRING UNCATEGORIZED 8000 -#STRING UNCATEGORIZED 8001 -#STRING UNKNOWN_OTHER 8002 STRING DNS 32 +STRING DNS_TCP 32 DNS STRING FTP 45 +STRING FTP_Control 45 FTP +STRING FTP_Data 45 FTP STRING FTPS 751 STRING HTTP 67 +STRING HTTP_443 67 HTTP +STRING HTTP_Tunnel 67 HTTP +STRING HTTP_NonStandard 67 HTTP STRING HTTPS 68 STRING ICMP 70 STRING IKE 8003 @@ -14,6 +17,7 @@ STRING MAIL 8004 STRING IMAP 75 STRING IMAPS 76 STRING IPSEC 85 +STRING ESP_UDP 85 IPSEC STRING XMPP 94 STRING L2TP 98 STRING NTP 137 @@ -22,25 +26,36 @@ STRING POP3S 148 STRING PPTP 153 STRING QUIC 2521 STRING SIP 182 +STRING SIP_UDP 182 SIP STRING SMB 185 STRING SMTP 186 STRING SMTPS 187 STRING SPDY 1469 STRING SSH 198 STRING SSL 199 +STRING SSL/TLS 199 SSL STRING SOCKS 8005 +STRING SOCKS4 8005 SOCKS +STRING SOCKS5 8005 SOCKS STRING TELNET 209 +STRING Telnet 209 TELNET STRING DHCP 29 -STRING RADIUS 158 -STRING OPENVPN 336 +STRING Radius 158 RADIUS +STRING OpenVPN 336 OPENVPN +STRING OpenVPN_UDP 336 OPENVPN STRING STUN 201 +STRING STUN_TCP 201 STUN STRING TEREDO 555 +STRING Teredo 555 TEREDO STRING DTLS 1291 STRING DoH 8006 STRING ISAKMP 92 STRING MDNS 3835 -STRING NETBIOS 129 +STRING mDNS 3835 MDNS +STRING NetBIOS 129 NETBIOS +STRING NetBIOS_UDP 129 NETBIOS STRING NETFLOW 130 +STRING NetFlow 130 NETFLOW STRING RDP 159 STRING RTCP 174 STRING RTP 175 @@ -49,13 +64,17 @@ STRING SNMP 190 STRING SSDP 197 STRING TFTP 211 STRING BJNP 2481 +STRING Canon_BJNP 2481 BJNP STRING LDAP 100 +STRING LDAP_AD 100 LDAP STRING RTMP 337 STRING RTSP 176 STRING ESNI 8008 STRING Stratum 8169 STRING QQ 156 STRING WeChat 1296 -STRING WIREGUARD 3700 +STRING WeChat_UDP 1296 WeChat +STRING WireGuard 3700 WIREGUARD STRING MMS 115 STRING RSYNC 173 +STRING Rsync 173 RSYNC diff --git a/test/lpi_plugin/test_expect/app_pcap.json b/test/lpi_plus/test_expect/app_pcap.json index 1e4c62d..1e4c62d 100644 --- a/test/lpi_plugin/test_expect/app_pcap.json +++ b/test/lpi_plus/test_expect/app_pcap.json diff --git a/test/lpi_plugin/test_expect/dns_pcap.json b/test/lpi_plus/test_expect/dns_pcap.json index 79daba3..79daba3 100644 --- a/test/lpi_plugin/test_expect/dns_pcap.json +++ b/test/lpi_plus/test_expect/dns_pcap.json diff --git a/test/lpi_plugin/test_expect/empty_array.json b/test/lpi_plus/test_expect/empty_array.json index 0637a08..0637a08 100644 --- a/test/lpi_plugin/test_expect/empty_array.json +++ b/test/lpi_plus/test_expect/empty_array.json diff --git a/test/lpi_plugin/test_expect/mixed_pcap.json b/test/lpi_plus/test_expect/mixed_pcap.json index cddc7e3..cddc7e3 100644 --- a/test/lpi_plugin/test_expect/mixed_pcap.json +++ b/test/lpi_plus/test_expect/mixed_pcap.json diff --git a/test/lpi_plugin/test_expect/openvpn_pcap.json b/test/lpi_plus/test_expect/openvpn_pcap.json index 66f30eb..66f30eb 100644 --- a/test/lpi_plugin/test_expect/openvpn_pcap.json +++ b/test/lpi_plus/test_expect/openvpn_pcap.json diff --git a/test/lpi_plugin/test_expect/ppp_pcap.json b/test/lpi_plus/test_expect/ppp_pcap.json index cf20bf0..cf20bf0 100644 --- a/test/lpi_plugin/test_expect/ppp_pcap.json +++ b/test/lpi_plus/test_expect/ppp_pcap.json diff --git a/test/lpi_plugin/test_expect/socks_pcap.json b/test/lpi_plus/test_expect/socks_pcap.json index 5282661..9673199 100644 --- a/test/lpi_plugin/test_expect/socks_pcap.json +++ b/test/lpi_plus/test_expect/socks_pcap.json @@ -15,8 +15,8 @@ }, { "Tuple4": "10.0.0.1:1637-10.0.0.2:21477-6-0", "STREAM_TYPE": "TCP", - "l7_label_id": [8005, 67], - "l7_label_name": ["SOCKS", "HTTP"], + "l7_label_id": [8005], + "l7_label_name": ["SOCKS"], "STREAM_DIR": "DOUBLE", "name": "APP_PROTO_IDENTIFY_RESULT_3" }, { diff --git a/test/lpi_plugin/test_pcap/app_pcap/1-qq_59361.pcap b/test/lpi_plus/test_pcap/app_pcap/1-qq_59361.pcap Binary files differindex 4334250..4334250 100644 --- a/test/lpi_plugin/test_pcap/app_pcap/1-qq_59361.pcap +++ b/test/lpi_plus/test_pcap/app_pcap/1-qq_59361.pcap diff --git a/test/lpi_plugin/test_pcap/app_pcap/2-qq_8758.pcap b/test/lpi_plus/test_pcap/app_pcap/2-qq_8758.pcap Binary files differindex 5d3a09c..5d3a09c 100644 --- a/test/lpi_plugin/test_pcap/app_pcap/2-qq_8758.pcap +++ b/test/lpi_plus/test_pcap/app_pcap/2-qq_8758.pcap diff --git a/test/lpi_plugin/test_pcap/app_pcap/3-wechat_51876.pcap b/test/lpi_plus/test_pcap/app_pcap/3-wechat_51876.pcap Binary files differindex 8790b64..8790b64 100644 --- a/test/lpi_plugin/test_pcap/app_pcap/3-wechat_51876.pcap +++ b/test/lpi_plus/test_pcap/app_pcap/3-wechat_51876.pcap diff --git a/test/lpi_plugin/test_pcap/app_pcap/4-wechat_8080.pcap b/test/lpi_plus/test_pcap/app_pcap/4-wechat_8080.pcap Binary files differindex c9bd882..c9bd882 100644 --- a/test/lpi_plugin/test_pcap/app_pcap/4-wechat_8080.pcap +++ b/test/lpi_plus/test_pcap/app_pcap/4-wechat_8080.pcap diff --git a/test/lpi_plugin/test_pcap/app_pcap/5-wireguard.pcap b/test/lpi_plus/test_pcap/app_pcap/5-wireguard.pcap Binary files differindex 5dac585..5dac585 100644 --- a/test/lpi_plugin/test_pcap/app_pcap/5-wireguard.pcap +++ b/test/lpi_plus/test_pcap/app_pcap/5-wireguard.pcap diff --git a/test/lpi_plugin/test_pcap/app_pcap/6-wireguard1.pcap b/test/lpi_plus/test_pcap/app_pcap/6-wireguard1.pcap Binary files differindex 5f9d7ce..5f9d7ce 100644 --- a/test/lpi_plugin/test_pcap/app_pcap/6-wireguard1.pcap +++ b/test/lpi_plus/test_pcap/app_pcap/6-wireguard1.pcap diff --git a/test/lpi_plugin/test_pcap/app_pcap/7-wireguard2.pcap b/test/lpi_plus/test_pcap/app_pcap/7-wireguard2.pcap Binary files differindex 5ea113e..5ea113e 100644 --- a/test/lpi_plugin/test_pcap/app_pcap/7-wireguard2.pcap +++ b/test/lpi_plus/test_pcap/app_pcap/7-wireguard2.pcap diff --git a/test/lpi_plugin/test_pcap/dns_pcap/1-dns-tcp-single-53-124.88.175.201-8.8.8.8.pcap b/test/lpi_plus/test_pcap/dns_pcap/1-dns-tcp-single-53-124.88.175.201-8.8.8.8.pcap Binary files differindex 0397534..0397534 100644 --- a/test/lpi_plugin/test_pcap/dns_pcap/1-dns-tcp-single-53-124.88.175.201-8.8.8.8.pcap +++ b/test/lpi_plus/test_pcap/dns_pcap/1-dns-tcp-single-53-124.88.175.201-8.8.8.8.pcap diff --git a/test/lpi_plugin/test_pcap/dns_pcap/2-dns-tcp-single-53-60.13.179.249-8.8.8.8.pcap b/test/lpi_plus/test_pcap/dns_pcap/2-dns-tcp-single-53-60.13.179.249-8.8.8.8.pcap Binary files differindex d54bad6..d54bad6 100644 --- a/test/lpi_plugin/test_pcap/dns_pcap/2-dns-tcp-single-53-60.13.179.249-8.8.8.8.pcap +++ b/test/lpi_plus/test_pcap/dns_pcap/2-dns-tcp-single-53-60.13.179.249-8.8.8.8.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/01-http-not-ftp.pcap b/test/lpi_plus/test_pcap/mixed_pcap/01-http-not-ftp.pcap Binary files differindex d1f49ec..d1f49ec 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/01-http-not-ftp.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/01-http-not-ftp.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/02-stun-rtcp-rtp-22005-8000-39.144.206.199-117.156.19.31.pcap b/test/lpi_plus/test_pcap/mixed_pcap/02-stun-rtcp-rtp-22005-8000-39.144.206.199-117.156.19.31.pcap Binary files differindex bd33283..bd33283 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/02-stun-rtcp-rtp-22005-8000-39.144.206.199-117.156.19.31.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/02-stun-rtcp-rtp-22005-8000-39.144.206.199-117.156.19.31.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/03-ftp-37923-21121-117.145.115.74-218.31.124.234.pcap b/test/lpi_plus/test_pcap/mixed_pcap/03-ftp-37923-21121-117.145.115.74-218.31.124.234.pcap Binary files differindex 1214121..1214121 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/03-ftp-37923-21121-117.145.115.74-218.31.124.234.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/03-ftp-37923-21121-117.145.115.74-218.31.124.234.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/04-mail_smtp_port_18867_25.pcap b/test/lpi_plus/test_pcap/mixed_pcap/04-mail_smtp_port_18867_25.pcap Binary files differindex 3549c0d..3549c0d 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/04-mail_smtp_port_18867_25.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/04-mail_smtp_port_18867_25.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/05-ftp_port_21121-double.pcap b/test/lpi_plus/test_pcap/mixed_pcap/05-ftp_port_21121-double.pcap Binary files differindex 2fb600f..2fb600f 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/05-ftp_port_21121-double.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/05-ftp_port_21121-double.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/06-ftp_port_21121-s2c.pcap b/test/lpi_plus/test_pcap/mixed_pcap/06-ftp_port_21121-s2c.pcap Binary files differindex e1ad680..e1ad680 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/06-ftp_port_21121-s2c.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/06-ftp_port_21121-s2c.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/07-ftp_port_21121-c2s.pcap b/test/lpi_plus/test_pcap/mixed_pcap/07-ftp_port_21121-c2s.pcap Binary files differindex 152e850..152e850 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/07-ftp_port_21121-c2s.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/07-ftp_port_21121-c2s.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/08-gquic-023-85.117.117.169.47762-173.194.73.95.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/08-gquic-023-85.117.117.169.47762-173.194.73.95.443.pcap Binary files differindex db29a3b..db29a3b 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/08-gquic-023-85.117.117.169.47762-173.194.73.95.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/08-gquic-023-85.117.117.169.47762-173.194.73.95.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/09-gquic-025-85.117.113.98.4340-74.125.131.95.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/09-gquic-025-85.117.113.98.4340-74.125.131.95.443.pcap Binary files differindex 299e573..299e573 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/09-gquic-025-85.117.113.98.4340-74.125.131.95.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/09-gquic-025-85.117.113.98.4340-74.125.131.95.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/10-gquic-033-90.143.189.5.8026-173.194.188.40.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/10-gquic-033-90.143.189.5.8026-173.194.188.40.443.pcap Binary files differindex b0e4c5b..b0e4c5b 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/10-gquic-033-90.143.189.5.8026-173.194.188.40.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/10-gquic-033-90.143.189.5.8026-173.194.188.40.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/11-gquic-034-85.117.125.8.21243-173.194.73.102.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/11-gquic-034-85.117.125.8.21243-173.194.73.102.443.pcap Binary files differindex eee3c8e..eee3c8e 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/11-gquic-034-85.117.125.8.21243-173.194.73.102.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/11-gquic-034-85.117.125.8.21243-173.194.73.102.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/12-gquic-035-redirector.googlevideo.com-85.117.122.194.32370-173.194.220.138.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/12-gquic-035-redirector.googlevideo.com-85.117.122.194.32370-173.194.220.138.443.pcap Binary files differindex 5dc1f81..5dc1f81 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/12-gquic-035-redirector.googlevideo.com-85.117.122.194.32370-173.194.220.138.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/12-gquic-035-redirector.googlevideo.com-85.117.122.194.32370-173.194.220.138.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/13-gquic-037-10.32.121.249.33765-64.233.161.95.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/13-gquic-037-10.32.121.249.33765-64.233.161.95.443.pcap Binary files differindex ca6388d..ca6388d 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/13-gquic-037-10.32.121.249.33765-64.233.161.95.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/13-gquic-037-10.32.121.249.33765-64.233.161.95.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/14-gquic-039-redirector.googlevideo.com-85.117.119.45.22495-173.194.73.101.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/14-gquic-039-redirector.googlevideo.com-85.117.119.45.22495-173.194.73.101.443.pcap Binary files differindex bd088b0..bd088b0 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/14-gquic-039-redirector.googlevideo.com-85.117.119.45.22495-173.194.73.101.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/14-gquic-039-redirector.googlevideo.com-85.117.119.45.22495-173.194.73.101.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/15-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/15-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap Binary files differindex 0a6e5ff..0a6e5ff 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/15-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/15-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/16-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/16-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap Binary files differindex 0abc861..0abc861 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/16-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/16-gquic-041-90.143.180.56.28496-64.233.165.113.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/17-gquic-044-146.158.67.194.1044-108.177.14.138.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/17-gquic-044-146.158.67.194.1044-108.177.14.138.443.pcap Binary files differindex 204f860..204f860 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/17-gquic-044-146.158.67.194.1044-108.177.14.138.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/17-gquic-044-146.158.67.194.1044-108.177.14.138.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/18-gquic-046-36.142.158.169.16385-36.189.11.71.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/18-gquic-046-36.142.158.169.16385-36.189.11.71.443.pcap Binary files differindex 0b77c4d..0b77c4d 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/18-gquic-046-36.142.158.169.16385-36.189.11.71.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/18-gquic-046-36.142.158.169.16385-36.189.11.71.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/19-gquic-048-103.3.138.59.12521-123.125.116.52.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/19-gquic-048-103.3.138.59.12521-123.125.116.52.443.pcap Binary files differindex 5c9fcd6..5c9fcd6 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/19-gquic-048-103.3.138.59.12521-123.125.116.52.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/19-gquic-048-103.3.138.59.12521-123.125.116.52.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/20-gquic-050-i.ytimg.com-172.20.9.135.65045-64.233.162.119.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/20-gquic-050-i.ytimg.com-172.20.9.135.65045-64.233.162.119.443.pcap Binary files differindex 1d5c46a..1d5c46a 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/20-gquic-050-i.ytimg.com-172.20.9.135.65045-64.233.162.119.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/20-gquic-050-i.ytimg.com-172.20.9.135.65045-64.233.162.119.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/21-iquic-29-192.168.50.29.61891-31.13.77.35.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/21-iquic-29-192.168.50.29.61891-31.13.77.35.443.pcap Binary files differindex dcd22db..dcd22db 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/21-iquic-29-192.168.50.29.61891-31.13.77.35.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/21-iquic-29-192.168.50.29.61891-31.13.77.35.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/22-mvfst-01-i.instagram.com-192.168.60.9.55659-69.171.250.63.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/22-mvfst-01-i.instagram.com-192.168.60.9.55659-69.171.250.63.443.pcap Binary files differindex be91a45..be91a45 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/22-mvfst-01-i.instagram.com-192.168.60.9.55659-69.171.250.63.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/22-mvfst-01-i.instagram.com-192.168.60.9.55659-69.171.250.63.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/23-mvfst-02-192.168.137.141.50006-31.13.77.17.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/23-mvfst-02-192.168.137.141.50006-31.13.77.17.443.pcap Binary files differindex 9b88cc0..9b88cc0 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/23-mvfst-02-192.168.137.141.50006-31.13.77.17.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/23-mvfst-02-192.168.137.141.50006-31.13.77.17.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/23-prox-quic-217.76.77.70.33232-173.194.220.105.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/23-prox-quic-217.76.77.70.33232-173.194.220.105.443.pcap Binary files differindex a2efae4..a2efae4 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/23-prox-quic-217.76.77.70.33232-173.194.220.105.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/23-prox-quic-217.76.77.70.33232-173.194.220.105.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/24-ietf-rfc9000-192.168.60.32.59699-64.233.164.84.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/24-ietf-rfc9000-192.168.60.32.59699-64.233.164.84.443.pcap Binary files differindex 84097c8..84097c8 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/24-ietf-rfc9000-192.168.60.32.59699-64.233.164.84.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/24-ietf-rfc9000-192.168.60.32.59699-64.233.164.84.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/25-tquic-51-195.12.120.14.41803-173.194.222.101.443.pcap b/test/lpi_plus/test_pcap/mixed_pcap/25-tquic-51-195.12.120.14.41803-173.194.222.101.443.pcap Binary files differindex 357777c..357777c 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/25-tquic-51-195.12.120.14.41803-173.194.222.101.443.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/25-tquic-51-195.12.120.14.41803-173.194.222.101.443.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/26-smtp-55426-587-10.130.2.104-67.225.241.247.pcap b/test/lpi_plus/test_pcap/mixed_pcap/26-smtp-55426-587-10.130.2.104-67.225.241.247.pcap Binary files differindex 9296279..9296279 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/26-smtp-55426-587-10.130.2.104-67.225.241.247.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/26-smtp-55426-587-10.130.2.104-67.225.241.247.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/27-pop-54776-110-196.188.12.179-192.185.31.244.pcap b/test/lpi_plus/test_pcap/mixed_pcap/27-pop-54776-110-196.188.12.179-192.185.31.244.pcap Binary files differindex 1b36161..1b36161 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/27-pop-54776-110-196.188.12.179-192.185.31.244.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/27-pop-54776-110-196.188.12.179-192.185.31.244.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/28-Bole-IGW-SMTP-57719-26-10.130.13.155-50.87.145.154-2.pcap b/test/lpi_plus/test_pcap/mixed_pcap/28-Bole-IGW-SMTP-57719-26-10.130.13.155-50.87.145.154-2.pcap Binary files differindex a8ca249..a8ca249 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/28-Bole-IGW-SMTP-57719-26-10.130.13.155-50.87.145.154-2.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/28-Bole-IGW-SMTP-57719-26-10.130.13.155-50.87.145.154-2.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/29-Bole-IGW-SMTP-14636-25-196.189.57.105-68.232.159.216-2.pcap b/test/lpi_plus/test_pcap/mixed_pcap/29-Bole-IGW-SMTP-14636-25-196.189.57.105-68.232.159.216-2.pcap Binary files differindex 067a8e7..067a8e7 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/29-Bole-IGW-SMTP-14636-25-196.189.57.105-68.232.159.216-2.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/29-Bole-IGW-SMTP-14636-25-196.189.57.105-68.232.159.216-2.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/30-Bole-IGW-SMTP-20997-25-196.190.160.6-64.225.54.152.pcap b/test/lpi_plus/test_pcap/mixed_pcap/30-Bole-IGW-SMTP-20997-25-196.190.160.6-64.225.54.152.pcap Binary files differindex 94942a2..94942a2 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/30-Bole-IGW-SMTP-20997-25-196.190.160.6-64.225.54.152.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/30-Bole-IGW-SMTP-20997-25-196.190.160.6-64.225.54.152.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/31-Bole-IGW-POP3-50020-110-196.188.3.8-82.98.178.159.pcap b/test/lpi_plus/test_pcap/mixed_pcap/31-Bole-IGW-POP3-50020-110-196.188.3.8-82.98.178.159.pcap Binary files differindex 53c8de0..53c8de0 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/31-Bole-IGW-POP3-50020-110-196.188.3.8-82.98.178.159.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/31-Bole-IGW-POP3-50020-110-196.188.3.8-82.98.178.159.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/32-Bole-IGW-POP3-53357-110-196.189.0.15-39.156.6.106.pcap b/test/lpi_plus/test_pcap/mixed_pcap/32-Bole-IGW-POP3-53357-110-196.189.0.15-39.156.6.106.pcap Binary files differindex 93a1b66..93a1b66 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/32-Bole-IGW-POP3-53357-110-196.189.0.15-39.156.6.106.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/32-Bole-IGW-POP3-53357-110-196.189.0.15-39.156.6.106.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/33-Bole-IGW-IMAP-36734-143-196.189.5.89-101.32.113.90.pcap b/test/lpi_plus/test_pcap/mixed_pcap/33-Bole-IGW-IMAP-36734-143-196.189.5.89-101.32.113.90.pcap Binary files differindex b75137f..b75137f 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/33-Bole-IGW-IMAP-36734-143-196.189.5.89-101.32.113.90.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/33-Bole-IGW-IMAP-36734-143-196.189.5.89-101.32.113.90.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/34-Bole-IGW-IMAP-50415-143-196.188.28.149-69.195.110.51.pcap b/test/lpi_plus/test_pcap/mixed_pcap/34-Bole-IGW-IMAP-50415-143-196.188.28.149-69.195.110.51.pcap Binary files differindex ff45c81..ff45c81 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/34-Bole-IGW-IMAP-50415-143-196.188.28.149-69.195.110.51.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/34-Bole-IGW-IMAP-50415-143-196.188.28.149-69.195.110.51.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/35-Bole-IGW-SMTP-587-1440-587-196.189.45.189-40.101.92.178.pcap b/test/lpi_plus/test_pcap/mixed_pcap/35-Bole-IGW-SMTP-587-1440-587-196.189.45.189-40.101.92.178.pcap Binary files differindex f507751..f507751 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/35-Bole-IGW-SMTP-587-1440-587-196.189.45.189-40.101.92.178.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/35-Bole-IGW-SMTP-587-1440-587-196.189.45.189-40.101.92.178.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/36-Bole-IGW-SMTP-587-37943-587-196.191.120.240-81.19.77.166.pcap b/test/lpi_plus/test_pcap/mixed_pcap/36-Bole-IGW-SMTP-587-37943-587-196.191.120.240-81.19.77.166.pcap Binary files differindex 0975e5a..0975e5a 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/36-Bole-IGW-SMTP-587-37943-587-196.191.120.240-81.19.77.166.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/36-Bole-IGW-SMTP-587-37943-587-196.191.120.240-81.19.77.166.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/37-dns-response-4029-53-115.24.235.11-8.210.152.150.pcap b/test/lpi_plus/test_pcap/mixed_pcap/37-dns-response-4029-53-115.24.235.11-8.210.152.150.pcap Binary files differindex d899c17..d899c17 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/37-dns-response-4029-53-115.24.235.11-8.210.152.150.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/37-dns-response-4029-53-115.24.235.11-8.210.152.150.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/38-stun-dtls.pcap b/test/lpi_plus/test_pcap/mixed_pcap/38-stun-dtls.pcap Binary files differindex 1b2a8b7..1b2a8b7 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/38-stun-dtls.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/38-stun-dtls.pcap diff --git a/test/lpi_plugin/test_pcap/mixed_pcap/39-pop3-mistake-redis.pcap b/test/lpi_plus/test_pcap/mixed_pcap/39-pop3-mistake-redis.pcap Binary files differindex c866867..c866867 100644 --- a/test/lpi_plugin/test_pcap/mixed_pcap/39-pop3-mistake-redis.pcap +++ b/test/lpi_plus/test_pcap/mixed_pcap/39-pop3-mistake-redis.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/01-openvpn-udp-port-1198-first.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/01-openvpn-udp-port-1198-first.pcap Binary files differindex 61b4ec5..61b4ec5 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/01-openvpn-udp-port-1198-first.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/01-openvpn-udp-port-1198-first.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/02-openvpn-nDPI.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/02-openvpn-nDPI.pcap Binary files differindex 9ae8351..9ae8351 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/02-openvpn-nDPI.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/02-openvpn-nDPI.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/03-openvpn_onestream.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/03-openvpn_onestream.pcap Binary files differindex 3a3519e..3a3519e 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/03-openvpn_onestream.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/03-openvpn_onestream.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/04-openvpn-udp-63111.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/04-openvpn-udp-63111.pcap Binary files differindex c185c52..c185c52 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/04-openvpn-udp-63111.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/04-openvpn-udp-63111.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/05-openvpn-udp-34400.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/05-openvpn-udp-34400.pcap Binary files differindex 3a3519e..3a3519e 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/05-openvpn-udp-34400.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/05-openvpn-udp-34400.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/06-openvpn-udp-40914.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/06-openvpn-udp-40914.pcap Binary files differindex 36853be..36853be 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/06-openvpn-udp-40914.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/06-openvpn-udp-40914.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/07-openvpn.tcp.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/07-openvpn.tcp.pcap Binary files differindex fa0b75a..fa0b75a 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/07-openvpn.tcp.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/07-openvpn.tcp.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/08-ovpntcp_hmac.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/08-ovpntcp_hmac.pcap Binary files differindex aed2c38..aed2c38 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/08-ovpntcp_hmac.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/08-ovpntcp_hmac.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/09-ovpntcp_nohmac.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/09-ovpntcp_nohmac.pcap Binary files differindex 7f48bce..7f48bce 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/09-ovpntcp_nohmac.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/09-ovpntcp_nohmac.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/10-openvpn-udp-49941.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/10-openvpn-udp-49941.pcap Binary files differindex 9865847..9865847 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/10-openvpn-udp-49941.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/10-openvpn-udp-49941.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/11-ipv6_openvpn.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/11-ipv6_openvpn.pcap Binary files differindex 015867b..015867b 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/11-ipv6_openvpn.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/11-ipv6_openvpn.pcap diff --git a/test/lpi_plugin/test_pcap/openvpn_pcap/12-quic-openvpn.pcap b/test/lpi_plus/test_pcap/openvpn_pcap/12-quic-openvpn.pcap Binary files differindex 00c4d40..00c4d40 100644 --- a/test/lpi_plugin/test_pcap/openvpn_pcap/12-quic-openvpn.pcap +++ b/test/lpi_plus/test_pcap/openvpn_pcap/12-quic-openvpn.pcap diff --git a/test/lpi_plugin/test_pcap/ppp_pcap/01-l2tp_netbios.pcap b/test/lpi_plus/test_pcap/ppp_pcap/01-l2tp_netbios.pcap Binary files differindex de7803c..de7803c 100644 --- a/test/lpi_plugin/test_pcap/ppp_pcap/01-l2tp_netbios.pcap +++ b/test/lpi_plus/test_pcap/ppp_pcap/01-l2tp_netbios.pcap diff --git a/test/lpi_plugin/test_pcap/ppp_pcap/02-l2tp-without-l7_protocol-62176-33445-192.168.10.91-220.43.148.189.pcap b/test/lpi_plus/test_pcap/ppp_pcap/02-l2tp-without-l7_protocol-62176-33445-192.168.10.91-220.43.148.189.pcap Binary files differindex ae908be..ae908be 100755 --- a/test/lpi_plugin/test_pcap/ppp_pcap/02-l2tp-without-l7_protocol-62176-33445-192.168.10.91-220.43.148.189.pcap +++ b/test/lpi_plus/test_pcap/ppp_pcap/02-l2tp-without-l7_protocol-62176-33445-192.168.10.91-220.43.148.189.pcap diff --git a/test/lpi_plugin/test_pcap/ppp_pcap/03-l2tp_http.pcap b/test/lpi_plus/test_pcap/ppp_pcap/03-l2tp_http.pcap Binary files differindex 066f523..066f523 100755 --- a/test/lpi_plugin/test_pcap/ppp_pcap/03-l2tp_http.pcap +++ b/test/lpi_plus/test_pcap/ppp_pcap/03-l2tp_http.pcap diff --git a/test/lpi_plugin/test_pcap/ppp_pcap/04-l2tp_ctrl_data_full.pcap b/test/lpi_plus/test_pcap/ppp_pcap/04-l2tp_ctrl_data_full.pcap Binary files differindex 9d824a1..9d824a1 100755 --- a/test/lpi_plugin/test_pcap/ppp_pcap/04-l2tp_ctrl_data_full.pcap +++ b/test/lpi_plus/test_pcap/ppp_pcap/04-l2tp_ctrl_data_full.pcap diff --git a/test/lpi_plugin/test_pcap/ppp_pcap/05-pptp_encrypt.pcap b/test/lpi_plus/test_pcap/ppp_pcap/05-pptp_encrypt.pcap Binary files differindex cf2cdd8..cf2cdd8 100755 --- a/test/lpi_plugin/test_pcap/ppp_pcap/05-pptp_encrypt.pcap +++ b/test/lpi_plus/test_pcap/ppp_pcap/05-pptp_encrypt.pcap diff --git a/test/lpi_plugin/test_pcap/ppp_pcap/06-pptp_http.pcap b/test/lpi_plus/test_pcap/ppp_pcap/06-pptp_http.pcap Binary files differindex 9203ed0..9203ed0 100755 --- a/test/lpi_plugin/test_pcap/ppp_pcap/06-pptp_http.pcap +++ b/test/lpi_plus/test_pcap/ppp_pcap/06-pptp_http.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/1-socks45-http-example.pcap b/test/lpi_plus/test_pcap/socks_pcap/1-socks45-http-example.pcap Binary files differindex 1b82f60..1b82f60 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/1-socks45-http-example.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/1-socks45-http-example.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/10-socks5-http-302-frag.pcap b/test/lpi_plus/test_pcap/socks_pcap/10-socks5-http-302-frag.pcap Binary files differindex 58690a7..58690a7 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/10-socks5-http-302-frag.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/10-socks5-http-302-frag.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/11-socks5-http-302.pcap b/test/lpi_plus/test_pcap/socks_pcap/11-socks5-http-302.pcap Binary files differindex cf0ece9..cf0ece9 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/11-socks5-http-302.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/11-socks5-http-302.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/12-socks5-rdp.pcap b/test/lpi_plus/test_pcap/socks_pcap/12-socks5-rdp.pcap Binary files differindex 8c8e632..8c8e632 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/12-socks5-rdp.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/12-socks5-rdp.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/13-socks5-reverse.pcap b/test/lpi_plus/test_pcap/socks_pcap/13-socks5-reverse.pcap Binary files differindex 81b0d8a..81b0d8a 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/13-socks5-reverse.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/13-socks5-reverse.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/14-socks5-smtp-503.pcap b/test/lpi_plus/test_pcap/socks_pcap/14-socks5-smtp-503.pcap Binary files differindex 13bafd9..13bafd9 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/14-socks5-smtp-503.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/14-socks5-smtp-503.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/15-socks-http-pass.pcap b/test/lpi_plus/test_pcap/socks_pcap/15-socks-http-pass.pcap Binary files differindex a99cb60..a99cb60 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/15-socks-http-pass.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/15-socks-http-pass.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/16-socks-https-example.pcap b/test/lpi_plus/test_pcap/socks_pcap/16-socks-https-example.pcap Binary files differindex 8cb982c..8cb982c 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/16-socks-https-example.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/16-socks-https-example.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/2-socks5_ftp.pcap b/test/lpi_plus/test_pcap/socks_pcap/2-socks5_ftp.pcap Binary files differindex 6e270f7..6e270f7 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/2-socks5_ftp.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/2-socks5_ftp.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/3-POP3_Sock5_subject.pcap b/test/lpi_plus/test_pcap/socks_pcap/3-POP3_Sock5_subject.pcap Binary files differindex 38caab7..38caab7 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/3-POP3_Sock5_subject.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/3-POP3_Sock5_subject.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/4-SMTP_Sock5_subject.pcap b/test/lpi_plus/test_pcap/socks_pcap/4-SMTP_Sock5_subject.pcap Binary files differindex ce5e53f..ce5e53f 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/4-SMTP_Sock5_subject.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/4-SMTP_Sock5_subject.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/5-T3-HTTP-URL-SOCKS5.pcap b/test/lpi_plus/test_pcap/socks_pcap/5-T3-HTTP-URL-SOCKS5.pcap Binary files differindex 4f8812a..4f8812a 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/5-T3-HTTP-URL-SOCKS5.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/5-T3-HTTP-URL-SOCKS5.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/6-T7-HTTP-CONT-SOCKS5.pcap b/test/lpi_plus/test_pcap/socks_pcap/6-T7-HTTP-CONT-SOCKS5.pcap Binary files differindex 737aac0..737aac0 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/6-T7-HTTP-CONT-SOCKS5.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/6-T7-HTTP-CONT-SOCKS5.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/7-T86-FTP-URL-PORT-BIN-SOCKS5.pcap b/test/lpi_plus/test_pcap/socks_pcap/7-T86-FTP-URL-PORT-BIN-SOCKS5.pcap Binary files differindex 30b7f69..30b7f69 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/7-T86-FTP-URL-PORT-BIN-SOCKS5.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/7-T86-FTP-URL-PORT-BIN-SOCKS5.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/8-socks4_http.pcap b/test/lpi_plus/test_pcap/socks_pcap/8-socks4_http.pcap Binary files differindex 85ca607..85ca607 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/8-socks4_http.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/8-socks4_http.pcap diff --git a/test/lpi_plugin/test_pcap/socks_pcap/9-socks4-https.pcap b/test/lpi_plus/test_pcap/socks_pcap/9-socks4-https.pcap Binary files differindex 851028b..851028b 100644 --- a/test/lpi_plugin/test_pcap/socks_pcap/9-socks4-https.pcap +++ b/test/lpi_plus/test_pcap/socks_pcap/9-socks4-https.pcap diff --git a/test/session_debugger/session_debugger.c b/test/session_debugger/session_debugger.c index b54d739..80f5302 100644 --- a/test/session_debugger/session_debugger.c +++ b/test/session_debugger/session_debugger.c @@ -287,9 +287,8 @@ struct stellar_module *session_debugger_on_init(struct stellar_module_manager *m { assert(mod_mgr); - struct stellar_module *sess_mgr_mod = stellar_module_manager_get_module(mod_mgr, SESSION_MANAGER_MODULE_NAME); - assert(sess_mgr_mod); - struct session_manager *sess_mgr = stellar_module_get_ctx(sess_mgr_mod); + + struct session_manager *sess_mgr = stellar_module_get_session_manager(mod_mgr); assert(sess_mgr); struct logger *logger = stellar_module_manager_get_logger(mod_mgr); assert(logger); |
