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 /decoders | |
| parent | 2e35a795285499e064b91435ad90777f90419f68 (diff) | |
Rebase dev 2.0
Diffstat (limited to 'decoders')
| -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 |
555 files changed, 1103 insertions, 1475 deletions
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: *; +}; |
