├── .github └── workflows │ └── build.yaml ├── .gitignore ├── .gitmodules ├── .travis.yml ├── CONTRIBUTING ├── ISSUE_TEMPLATE.md ├── Privacy-policy.md ├── README.md ├── android-icons.zip ├── build.gradle.kts ├── doc ├── LICENSE.txt ├── README.txt └── todo.txt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── main ├── build.gradle.kts ├── misc │ ├── dump_syms.sh │ ├── fetchtranslations.sh │ ├── genFAQ.py │ ├── header.html │ └── prepareovpn3.sh └── src │ ├── main │ ├── AndroidManifest.xml │ ├── aidl │ │ ├── com │ │ │ └── android │ │ │ │ └── vending │ │ │ │ └── billing │ │ │ │ └── IInAppBillingService.aidl │ │ └── de │ │ │ └── blinkt │ │ │ └── openvpn │ │ │ ├── api │ │ │ ├── APIVpnProfile.aidl │ │ │ ├── ExternalCertificateProvider.aidl │ │ │ ├── IOpenVPNAPIService.aidl │ │ │ └── IOpenVPNStatusCallback.aidl │ │ │ └── core │ │ │ ├── ConnectionStatus.aidl │ │ │ ├── IOpenVPNServiceInternal.aidl │ │ │ ├── IServiceStatus.aidl │ │ │ ├── IStatusCallbacks.aidl │ │ │ ├── LogItem.aidl │ │ │ └── TrafficHistory.aidl │ ├── assets │ │ └── full_licenses.html │ ├── cpp │ │ ├── CMakeLists.txt │ │ ├── GetGitRevisionDescription.cmake │ │ ├── GetGitRevisionDescription.cmake.in │ │ ├── jbcrypto │ │ │ └── jbcrypto.cpp │ │ ├── lz4.cmake │ │ ├── lzo.cmake │ │ ├── lzo │ │ │ ├── AUTHORS │ │ │ ├── Android.mk │ │ │ ├── B │ │ │ │ ├── 00README.TXT │ │ │ │ ├── clean.bat │ │ │ │ ├── done.bat │ │ │ │ ├── dos32 │ │ │ │ │ ├── bc_pp.bat │ │ │ │ │ ├── dj2.bat │ │ │ │ │ ├── dj2.opt │ │ │ │ │ ├── dm.bat │ │ │ │ │ ├── emx.bat │ │ │ │ │ ├── highc.bat │ │ │ │ │ ├── highc.rsp │ │ │ │ │ ├── ndp.bat │ │ │ │ │ ├── ndp.rsp │ │ │ │ │ ├── sc.bat │ │ │ │ │ ├── wc.bat │ │ │ │ │ └── zc.bat │ │ │ │ ├── generic │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── build.sh │ │ │ │ │ ├── build_freestanding.sh │ │ │ │ │ ├── build_gcc.sh │ │ │ │ │ └── clean.sh │ │ │ │ ├── os2 │ │ │ │ │ ├── emx.bat │ │ │ │ │ ├── wc.bat │ │ │ │ │ └── zc.bat │ │ │ │ ├── prepare.bat │ │ │ │ ├── src.rsp │ │ │ │ ├── unset.bat │ │ │ │ ├── win32 │ │ │ │ │ ├── bc.bat │ │ │ │ │ ├── bc.rsp │ │ │ │ │ ├── cygwin.bat │ │ │ │ │ ├── cygwin.rsp │ │ │ │ │ ├── dm.bat │ │ │ │ │ ├── ic.bat │ │ │ │ │ ├── lccwin32.bat │ │ │ │ │ ├── mingw.bat │ │ │ │ │ ├── mwerks.bat │ │ │ │ │ ├── pellesc.bat │ │ │ │ │ ├── pgi.bat │ │ │ │ │ ├── pw32.bat │ │ │ │ │ ├── rsxnt.bat │ │ │ │ │ ├── sc.bat │ │ │ │ │ ├── vc.bat │ │ │ │ │ ├── vc.rsp │ │ │ │ │ ├── vc_dll.bat │ │ │ │ │ ├── vc_dll.def │ │ │ │ │ ├── wc.bat │ │ │ │ │ └── wc.rsp │ │ │ │ └── win64 │ │ │ │ │ ├── ic.bat │ │ │ │ │ ├── ic_dll.bat │ │ │ │ │ ├── vc.bat │ │ │ │ │ ├── vc.rsp │ │ │ │ │ ├── vc_dll.bat │ │ │ │ │ └── vc_dll.def │ │ │ ├── BUGS │ │ │ ├── CMakeLists.txt │ │ │ ├── COPYING │ │ │ ├── ChangeLog │ │ │ ├── INSTALL │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── NEWS │ │ │ ├── README │ │ │ ├── THANKS │ │ │ ├── aclocal.m4 │ │ │ ├── asm │ │ │ │ └── i386 │ │ │ │ │ ├── 00README.TXT │ │ │ │ │ ├── obj │ │ │ │ │ ├── coff32 │ │ │ │ │ │ ├── lzo1c_s1.o │ │ │ │ │ │ ├── lzo1f_f1.o │ │ │ │ │ │ ├── lzo1x_f1.o │ │ │ │ │ │ ├── lzo1x_s1.o │ │ │ │ │ │ ├── lzo1y_f1.o │ │ │ │ │ │ └── lzo1y_s1.o │ │ │ │ │ ├── elf32 │ │ │ │ │ │ ├── lzo1c_s1.o │ │ │ │ │ │ ├── lzo1f_f1.o │ │ │ │ │ │ ├── lzo1x_f1.o │ │ │ │ │ │ ├── lzo1x_s1.o │ │ │ │ │ │ ├── lzo1y_f1.o │ │ │ │ │ │ └── lzo1y_s1.o │ │ │ │ │ ├── macho32 │ │ │ │ │ │ ├── lzo1c_s1.o │ │ │ │ │ │ ├── lzo1f_f1.o │ │ │ │ │ │ ├── lzo1x_f1.o │ │ │ │ │ │ ├── lzo1x_s1.o │ │ │ │ │ │ ├── lzo1y_f1.o │ │ │ │ │ │ └── lzo1y_s1.o │ │ │ │ │ ├── omf32 │ │ │ │ │ │ ├── lzo1c_s1.obj │ │ │ │ │ │ ├── lzo1f_f1.obj │ │ │ │ │ │ ├── lzo1x_f1.obj │ │ │ │ │ │ ├── lzo1x_s1.obj │ │ │ │ │ │ ├── lzo1y_f1.obj │ │ │ │ │ │ └── lzo1y_s1.obj │ │ │ │ │ └── win32 │ │ │ │ │ │ ├── lzo1c_s1.obj │ │ │ │ │ │ ├── lzo1f_f1.obj │ │ │ │ │ │ ├── lzo1x_f1.obj │ │ │ │ │ │ ├── lzo1x_s1.obj │ │ │ │ │ │ ├── lzo1y_f1.obj │ │ │ │ │ │ └── lzo1y_s1.obj │ │ │ │ │ ├── src │ │ │ │ │ ├── enter.ash │ │ │ │ │ ├── leave.ash │ │ │ │ │ ├── lzo1c_d.ash │ │ │ │ │ ├── lzo1c_s1.S │ │ │ │ │ ├── lzo1f_d.ash │ │ │ │ │ ├── lzo1f_f1.S │ │ │ │ │ ├── lzo1x_d.ash │ │ │ │ │ ├── lzo1x_f1.S │ │ │ │ │ ├── lzo1x_s1.S │ │ │ │ │ ├── lzo1y_f1.S │ │ │ │ │ ├── lzo1y_s1.S │ │ │ │ │ └── lzo_asm.h │ │ │ │ │ ├── src_gas │ │ │ │ │ ├── all │ │ │ │ │ │ └── asm_all.S │ │ │ │ │ ├── asminit.def │ │ │ │ │ ├── lzo1c_s1.S │ │ │ │ │ ├── lzo1f_f1.S │ │ │ │ │ ├── lzo1x_f1.S │ │ │ │ │ ├── lzo1x_s1.S │ │ │ │ │ ├── lzo1y_f1.S │ │ │ │ │ └── lzo1y_s1.S │ │ │ │ │ ├── src_masm │ │ │ │ │ ├── all │ │ │ │ │ │ └── asm_all.asm │ │ │ │ │ ├── asminit.def │ │ │ │ │ ├── lzo1c_s1.asm │ │ │ │ │ ├── lzo1f_f1.asm │ │ │ │ │ ├── lzo1x_f1.asm │ │ │ │ │ ├── lzo1x_s1.asm │ │ │ │ │ ├── lzo1y_f1.asm │ │ │ │ │ └── lzo1y_s1.asm │ │ │ │ │ └── src_nasm │ │ │ │ │ ├── all │ │ │ │ │ └── asm_all.asm │ │ │ │ │ ├── asminit.def │ │ │ │ │ ├── lzo1c_s1.asm │ │ │ │ │ ├── lzo1f_f1.asm │ │ │ │ │ ├── lzo1x_f1.asm │ │ │ │ │ ├── lzo1x_s1.asm │ │ │ │ │ ├── lzo1y_f1.asm │ │ │ │ │ └── lzo1y_s1.asm │ │ │ ├── autoconf │ │ │ │ ├── ar-lib │ │ │ │ ├── compile │ │ │ │ ├── config.guess │ │ │ │ ├── config.rpath │ │ │ │ ├── config.sub │ │ │ │ ├── depcomp │ │ │ │ ├── install-sh │ │ │ │ ├── local.m4 │ │ │ │ ├── ltmain.sh │ │ │ │ ├── mdate-sh │ │ │ │ ├── missing │ │ │ │ ├── mkinstalldirs │ │ │ │ ├── py-compile │ │ │ │ ├── shtool │ │ │ │ └── ylwrap │ │ │ ├── config.hin │ │ │ ├── configure │ │ │ ├── configure.ac │ │ │ ├── doc │ │ │ │ ├── LZO.FAQ │ │ │ │ ├── LZO.TXT │ │ │ │ ├── LZOAPI.TXT │ │ │ │ └── LZOTEST.TXT │ │ │ ├── examples │ │ │ │ ├── dict.c │ │ │ │ ├── lzopack.c │ │ │ │ ├── overlap.c │ │ │ │ ├── portab.h │ │ │ │ ├── portab_a.h │ │ │ │ ├── precomp.c │ │ │ │ ├── precomp2.c │ │ │ │ └── simple.c │ │ │ ├── include │ │ │ │ └── lzo │ │ │ │ │ ├── lzo1.h │ │ │ │ │ ├── lzo1a.h │ │ │ │ │ ├── lzo1b.h │ │ │ │ │ ├── lzo1c.h │ │ │ │ │ ├── lzo1f.h │ │ │ │ │ ├── lzo1x.h │ │ │ │ │ ├── lzo1y.h │ │ │ │ │ ├── lzo1z.h │ │ │ │ │ ├── lzo2a.h │ │ │ │ │ ├── lzo_asm.h │ │ │ │ │ ├── lzoconf.h │ │ │ │ │ ├── lzodefs.h │ │ │ │ │ └── lzoutil.h │ │ │ ├── lzo2.pc.cmakein │ │ │ ├── lzo2.pc.in │ │ │ ├── lzotest │ │ │ │ ├── asm.h │ │ │ │ ├── db.h │ │ │ │ ├── lzotest.c │ │ │ │ ├── wrap.h │ │ │ │ └── wrapmisc.h │ │ │ ├── minilzo │ │ │ │ ├── Makefile.minilzo │ │ │ │ ├── README.LZO │ │ │ │ ├── minilzo.c │ │ │ │ ├── minilzo.h │ │ │ │ └── testmini.c │ │ │ ├── src │ │ │ │ ├── compr1b.h │ │ │ │ ├── compr1c.h │ │ │ │ ├── config1.h │ │ │ │ ├── config1a.h │ │ │ │ ├── config1b.h │ │ │ │ ├── config1c.h │ │ │ │ ├── config1f.h │ │ │ │ ├── config1x.h │ │ │ │ ├── config1y.h │ │ │ │ ├── config1z.h │ │ │ │ ├── config2a.h │ │ │ │ ├── lzo1.c │ │ │ │ ├── lzo1_99.c │ │ │ │ ├── lzo1_cm.ch │ │ │ │ ├── lzo1_d.ch │ │ │ │ ├── lzo1a.c │ │ │ │ ├── lzo1a_99.c │ │ │ │ ├── lzo1a_cm.ch │ │ │ │ ├── lzo1a_cr.ch │ │ │ │ ├── lzo1a_de.h │ │ │ │ ├── lzo1b_1.c │ │ │ │ ├── lzo1b_2.c │ │ │ │ ├── lzo1b_3.c │ │ │ │ ├── lzo1b_4.c │ │ │ │ ├── lzo1b_5.c │ │ │ │ ├── lzo1b_6.c │ │ │ │ ├── lzo1b_7.c │ │ │ │ ├── lzo1b_8.c │ │ │ │ ├── lzo1b_9.c │ │ │ │ ├── lzo1b_99.c │ │ │ │ ├── lzo1b_9x.c │ │ │ │ ├── lzo1b_c.ch │ │ │ │ ├── lzo1b_cc.c │ │ │ │ ├── lzo1b_cc.h │ │ │ │ ├── lzo1b_cm.ch │ │ │ │ ├── lzo1b_cr.ch │ │ │ │ ├── lzo1b_d.ch │ │ │ │ ├── lzo1b_d1.c │ │ │ │ ├── lzo1b_d2.c │ │ │ │ ├── lzo1b_de.h │ │ │ │ ├── lzo1b_r.ch │ │ │ │ ├── lzo1b_rr.c │ │ │ │ ├── lzo1b_sm.ch │ │ │ │ ├── lzo1b_tm.ch │ │ │ │ ├── lzo1b_xx.c │ │ │ │ ├── lzo1c_1.c │ │ │ │ ├── lzo1c_2.c │ │ │ │ ├── lzo1c_3.c │ │ │ │ ├── lzo1c_4.c │ │ │ │ ├── lzo1c_5.c │ │ │ │ ├── lzo1c_6.c │ │ │ │ ├── lzo1c_7.c │ │ │ │ ├── lzo1c_8.c │ │ │ │ ├── lzo1c_9.c │ │ │ │ ├── lzo1c_99.c │ │ │ │ ├── lzo1c_9x.c │ │ │ │ ├── lzo1c_cc.c │ │ │ │ ├── lzo1c_cc.h │ │ │ │ ├── lzo1c_d1.c │ │ │ │ ├── lzo1c_d2.c │ │ │ │ ├── lzo1c_rr.c │ │ │ │ ├── lzo1c_xx.c │ │ │ │ ├── lzo1f_1.c │ │ │ │ ├── lzo1f_9x.c │ │ │ │ ├── lzo1f_d.ch │ │ │ │ ├── lzo1f_d1.c │ │ │ │ ├── lzo1f_d2.c │ │ │ │ ├── lzo1x_1.c │ │ │ │ ├── lzo1x_1k.c │ │ │ │ ├── lzo1x_1l.c │ │ │ │ ├── lzo1x_1o.c │ │ │ │ ├── lzo1x_9x.c │ │ │ │ ├── lzo1x_c.ch │ │ │ │ ├── lzo1x_d.ch │ │ │ │ ├── lzo1x_d1.c │ │ │ │ ├── lzo1x_d2.c │ │ │ │ ├── lzo1x_d3.c │ │ │ │ ├── lzo1x_o.c │ │ │ │ ├── lzo1x_oo.ch │ │ │ │ ├── lzo1y_1.c │ │ │ │ ├── lzo1y_9x.c │ │ │ │ ├── lzo1y_d1.c │ │ │ │ ├── lzo1y_d2.c │ │ │ │ ├── lzo1y_d3.c │ │ │ │ ├── lzo1y_o.c │ │ │ │ ├── lzo1z_9x.c │ │ │ │ ├── lzo1z_d1.c │ │ │ │ ├── lzo1z_d2.c │ │ │ │ ├── lzo1z_d3.c │ │ │ │ ├── lzo2a_9x.c │ │ │ │ ├── lzo2a_d.ch │ │ │ │ ├── lzo2a_d1.c │ │ │ │ ├── lzo2a_d2.c │ │ │ │ ├── lzo_conf.h │ │ │ │ ├── lzo_crc.c │ │ │ │ ├── lzo_dict.h │ │ │ │ ├── lzo_dll.ch │ │ │ │ ├── lzo_func.h │ │ │ │ ├── lzo_init.c │ │ │ │ ├── lzo_mchw.ch │ │ │ │ ├── lzo_ptr.c │ │ │ │ ├── lzo_ptr.h │ │ │ │ ├── lzo_str.c │ │ │ │ ├── lzo_supp.h │ │ │ │ ├── lzo_swd.ch │ │ │ │ ├── lzo_util.c │ │ │ │ ├── stats1a.h │ │ │ │ ├── stats1b.h │ │ │ │ └── stats1c.h │ │ │ ├── tests │ │ │ │ ├── align.c │ │ │ │ ├── chksum.c │ │ │ │ ├── promote.c │ │ │ │ └── sizes.c │ │ │ └── util │ │ │ │ ├── check.sh │ │ │ │ ├── checkasm.sh │ │ │ │ ├── notime.pl │ │ │ │ ├── overlap.sh │ │ │ │ ├── shortf.pl │ │ │ │ ├── table.pl │ │ │ │ └── uncompr.pl │ │ ├── minivpn │ │ │ └── minivpn.c │ │ ├── openvpn-config │ │ │ ├── config.h │ │ │ └── openvpn-plugin.h │ │ ├── ovpnutil │ │ │ ├── jniglue.c │ │ │ ├── jniglue.h │ │ │ ├── rsapss.cpp │ │ │ ├── scan_ifs.c │ │ │ └── sslspeed.c │ │ └── tools.cmake │ ├── java │ │ ├── de │ │ │ └── blinkt │ │ │ │ └── openvpn │ │ │ │ ├── FileProvider.java │ │ │ │ ├── LaunchVPN.java │ │ │ │ ├── OnBootReceiver.java │ │ │ │ ├── VpnProfile.java │ │ │ │ ├── activities │ │ │ │ └── DisconnectVPN.java │ │ │ │ ├── api │ │ │ │ ├── APIVpnProfile.java │ │ │ │ ├── AppRestrictions.java │ │ │ │ ├── ConfirmDialog.java │ │ │ │ ├── ExternalAppDatabase.java │ │ │ │ ├── ExternalOpenVPNService.java │ │ │ │ ├── GrantPermissionsActivity.java │ │ │ │ ├── RemoteAction.java │ │ │ │ └── SecurityRemoteException.java │ │ │ │ └── core │ │ │ │ ├── CIDRIP.java │ │ │ │ ├── ConfigParser.java │ │ │ │ ├── Connection.java │ │ │ │ ├── ConnectionStatus.java │ │ │ │ ├── DeviceStateReceiver.java │ │ │ │ ├── ExtAuthHelper.java │ │ │ │ ├── ICSOpenVPNApplication.java │ │ │ │ ├── LocaleHelper.java │ │ │ │ ├── LogFileHandler.java │ │ │ │ ├── LogItem.java │ │ │ │ ├── LollipopDeviceStateListener.java │ │ │ │ ├── NativeUtils.java │ │ │ │ ├── NetworkSpace.java │ │ │ │ ├── NetworkUtils.java │ │ │ │ ├── OpenVPNManagement.java │ │ │ │ ├── OpenVPNService.java │ │ │ │ ├── OpenVPNStatusService.java │ │ │ │ ├── OpenVPNThread.java │ │ │ │ ├── OpenVpnManagementThread.java │ │ │ │ ├── OrbotHelper.java │ │ │ │ ├── PRNGFixes.java │ │ │ │ ├── PasswordCache.java │ │ │ │ ├── Preferences.java │ │ │ │ ├── ProfileManager.java │ │ │ │ ├── ProxyDetection.java │ │ │ │ ├── StatusListener.java │ │ │ │ ├── TrafficHistory.java │ │ │ │ ├── VPNLaunchHelper.java │ │ │ │ ├── VpnStatus.java │ │ │ │ ├── X509Utils.java │ │ │ │ └── capture │ │ │ │ ├── StreamCapture.java │ │ │ │ └── ip │ │ │ │ ├── CheckSum.java │ │ │ │ ├── IPPacket.java │ │ │ │ └── UDPPacket.java │ │ └── org │ │ │ └── spongycastle │ │ │ └── util │ │ │ ├── encoders │ │ │ ├── Base64.java │ │ │ ├── Base64Encoder.java │ │ │ └── Encoder.java │ │ │ └── io │ │ │ └── pem │ │ │ ├── PemGenerationException.java │ │ │ ├── PemHeader.java │ │ │ ├── PemObject.java │ │ │ ├── PemObjectGenerator.java │ │ │ ├── PemReader.java │ │ │ └── PemWriter.java │ └── res │ │ ├── color │ │ └── tab_text.xml │ │ ├── drawable-hdpi │ │ ├── ic_menu_archive.png │ │ ├── ic_menu_copy_holo_light.png │ │ ├── ic_menu_log.png │ │ ├── ic_quick.png │ │ ├── ic_stat_vpn.png │ │ ├── ic_stat_vpn_empty_halo.png │ │ ├── ic_stat_vpn_offline.png │ │ ├── ic_stat_vpn_outline.png │ │ └── vpn_item_settings.png │ │ ├── drawable-mdpi │ │ ├── ic_menu_archive.png │ │ ├── ic_menu_copy_holo_light.png │ │ ├── ic_menu_log.png │ │ ├── ic_quick.png │ │ ├── ic_stat_vpn.png │ │ ├── ic_stat_vpn_empty_halo.png │ │ ├── ic_stat_vpn_offline.png │ │ ├── ic_stat_vpn_outline.png │ │ └── vpn_item_settings.png │ │ ├── drawable-xhdpi │ │ ├── ic_menu_archive.png │ │ ├── ic_menu_copy_holo_light.png │ │ ├── ic_menu_log.png │ │ ├── ic_quick.png │ │ ├── ic_stat_vpn.png │ │ ├── ic_stat_vpn_empty_halo.png │ │ ├── ic_stat_vpn_offline.png │ │ ├── ic_stat_vpn_outline.png │ │ └── vpn_item_settings.png │ │ ├── drawable-xxhdpi │ │ ├── ic_menu_copy_holo_light.png │ │ ├── ic_menu_log.png │ │ ├── ic_quick.png │ │ ├── ic_stat_vpn.png │ │ ├── ic_stat_vpn_empty_halo.png │ │ ├── ic_stat_vpn_offline.png │ │ └── ic_stat_vpn_outline.png │ │ ├── layout │ │ ├── api_confirm.xml │ │ ├── import_remote_config.xml │ │ ├── launchvpn.xml │ │ └── userpass.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ ├── banner_tv.png │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-be │ │ └── bools.xml │ │ ├── values-de │ │ └── bools.xml │ │ ├── values-ja │ │ └── bools.xml │ │ ├── values-sw600dp │ │ ├── dimens.xml │ │ └── styles.xml │ │ ├── values-tr │ │ └── bools.xml │ │ ├── values-v29 │ │ └── bools.xml │ │ ├── values-zh-rTW │ │ └── bools.xml │ │ ├── values │ │ ├── arrays.xml │ │ ├── attrs.xml │ │ ├── bools.xml │ │ ├── colours.xml │ │ ├── dimens.xml │ │ ├── plurals.xml │ │ ├── strings.xml │ │ └── untranslatable.xml │ │ └── xml │ │ └── app_restrictions.xml │ ├── skeleton │ ├── AndroidManifest.xml │ ├── java │ │ └── de │ │ │ └── blinkt │ │ │ └── openvpn │ │ │ ├── activities │ │ │ └── NotImplemented.java │ │ │ └── core │ │ │ └── VariantConfig.java │ └── res │ │ └── values │ │ ├── refs.xml │ │ └── styles.xml │ ├── test │ └── java │ │ └── de │ │ └── blinkt │ │ └── openvpn │ │ └── core │ │ ├── TestConfigGenerator.java │ │ ├── TestConfigParser.kt │ │ ├── TestIpParser.java │ │ └── TestLogFileHandler.java │ ├── testui │ └── java │ │ └── de │ │ └── blinkt │ │ └── openvpn │ │ └── core │ │ └── TestUiUtils.kt │ └── ui │ ├── AndroidManifest.xml │ ├── java │ └── de │ │ └── blinkt │ │ └── openvpn │ │ ├── OpenVPNTileService.java │ │ ├── activities │ │ ├── BaseActivity.java │ │ ├── ConfigConverter.kt │ │ ├── CreateShortcuts.java │ │ ├── CredentialsPopup.kt │ │ ├── FileSelect.java │ │ ├── InternalWebView.kt │ │ ├── LogWindow.java │ │ ├── MainActivity.java │ │ ├── OpenSSLSpeed.kt │ │ └── VPNPreferences.java │ │ ├── core │ │ ├── OpenVPNThreadv3.java │ │ └── VariantConfig.java │ │ ├── fragments │ │ ├── AboutFragment.java │ │ ├── ConnectionsAdapter.java │ │ ├── FaqFragment.java │ │ ├── FaqViewAdapter.java │ │ ├── FileSelectionFragment.java │ │ ├── GeneralSettings.kt │ │ ├── GraphFragment.java │ │ ├── ImportRemoteConfig.kt │ │ ├── InlineFileTab.java │ │ ├── KeyChainSettingsFragment.kt │ │ ├── LogFragment.java │ │ ├── OpenVpnPreferencesFragment.java │ │ ├── PackageAdapter.kt │ │ ├── PasswordDialogFragment.kt │ │ ├── SendDumpFragment.java │ │ ├── Settings_Allowed_Apps.kt │ │ ├── Settings_Authentication.kt │ │ ├── Settings_Basic.java │ │ ├── Settings_Connections.kt │ │ ├── Settings_Fragment.java │ │ ├── Settings_IP.kt │ │ ├── Settings_Obscure.java │ │ ├── Settings_Routing.java │ │ ├── Settings_UserEditable.java │ │ ├── ShowConfigFragment.java │ │ ├── Utils.kt │ │ └── VPNProfileList.java │ │ └── views │ │ ├── DefaultVPNListPreference.java │ │ ├── FileSelectLayout.java │ │ ├── MultiLineRadioGroup.java │ │ ├── RemoteCNPreference.java │ │ ├── RemoteCNPreferenceDialog.java │ │ ├── ScreenSlidePagerAdapter.java │ │ └── SeekBarTicks.java │ └── res │ ├── anim │ └── fab_anim.xml │ ├── drawable-hdpi │ ├── ic_add_circle_outline_grey600_24dp.png │ ├── ic_add_circle_outline_white_24dp.png │ ├── ic_archive_grey600_24dp.png │ ├── ic_archive_white_24dp.png │ ├── ic_check_white_24dp.png │ ├── ic_close_white_24dp.png │ ├── ic_content_copy_white_24dp.png │ ├── ic_delete_grey600_24dp.png │ ├── ic_delete_white_24dp.png │ ├── ic_doc_generic_am.png │ ├── ic_edit_grey600_24dp.png │ ├── ic_edit_white_24dp.png │ ├── ic_filter_list_white_24dp.png │ ├── ic_menu_copy_holo_dark.png │ ├── ic_pause_white_24dp.png │ ├── ic_play_arrow_white_24dp.png │ ├── ic_receipt_white_24dp.png │ ├── ic_root_folder_am.png │ ├── ic_search_white_24dp.png │ ├── ic_share_white_24dp.png │ ├── ic_sort_white_24dp.png │ └── ic_warning_black_36dp.png │ ├── drawable-mdpi │ ├── ic_add_circle_outline_grey600_24dp.png │ ├── ic_add_circle_outline_white_24dp.png │ ├── ic_archive_grey600_24dp.png │ ├── ic_archive_white_24dp.png │ ├── ic_check_white_24dp.png │ ├── ic_close_white_24dp.png │ ├── ic_content_copy_white_24dp.png │ ├── ic_delete_grey600_24dp.png │ ├── ic_delete_white_24dp.png │ ├── ic_doc_generic_am.png │ ├── ic_edit_grey600_24dp.png │ ├── ic_edit_white_24dp.png │ ├── ic_filter_list_white_24dp.png │ ├── ic_menu_copy_holo_dark.png │ ├── ic_pause_white_24dp.png │ ├── ic_play_arrow_white_24dp.png │ ├── ic_receipt_white_24dp.png │ ├── ic_root_folder_am.png │ ├── ic_search_white_24dp.png │ ├── ic_share_white_24dp.png │ ├── ic_sort_white_24dp.png │ └── ic_warning_black_36dp.png │ ├── drawable-xhdpi │ ├── ic_add_circle_outline_grey600_24dp.png │ ├── ic_add_circle_outline_white_24dp.png │ ├── ic_archive_grey600_24dp.png │ ├── ic_archive_white_24dp.png │ ├── ic_check_white_24dp.png │ ├── ic_close_white_24dp.png │ ├── ic_content_copy_white_24dp.png │ ├── ic_delete_grey600_24dp.png │ ├── ic_delete_white_24dp.png │ ├── ic_doc_generic_am.png │ ├── ic_edit_grey600_24dp.png │ ├── ic_edit_white_24dp.png │ ├── ic_filter_list_white_24dp.png │ ├── ic_menu_copy_holo_dark.png │ ├── ic_pause_white_24dp.png │ ├── ic_play_arrow_white_24dp.png │ ├── ic_receipt_white_24dp.png │ ├── ic_root_folder_am.png │ ├── ic_search_white_24dp.png │ ├── ic_share_white_24dp.png │ ├── ic_sort_white_24dp.png │ └── ic_warning_black_36dp.png │ ├── drawable-xxhdpi │ ├── ic_add_circle_outline_grey600_24dp.png │ ├── ic_add_circle_outline_white_24dp.png │ ├── ic_archive_grey600_24dp.png │ ├── ic_archive_white_24dp.png │ ├── ic_check_white_24dp.png │ ├── ic_close_white_24dp.png │ ├── ic_content_copy_white_24dp.png │ ├── ic_delete_grey600_24dp.png │ ├── ic_delete_white_24dp.png │ ├── ic_doc_generic_am.png │ ├── ic_edit_grey600_24dp.png │ ├── ic_edit_white_24dp.png │ ├── ic_filter_list_white_24dp.png │ ├── ic_menu_copy_holo_dark.png │ ├── ic_pause_white_24dp.png │ ├── ic_play_arrow_white_24dp.png │ ├── ic_receipt_white_24dp.png │ ├── ic_root_folder_am.png │ ├── ic_search_white_24dp.png │ ├── ic_share_white_24dp.png │ ├── ic_sort_white_24dp.png │ └── ic_warning_black_36dp.png │ ├── drawable-xxxhdpi │ ├── ic_add_circle_outline_grey600_24dp.png │ ├── ic_add_circle_outline_white_24dp.png │ ├── ic_archive_grey600_24dp.png │ ├── ic_archive_white_24dp.png │ ├── ic_check_white_24dp.png │ ├── ic_close_white_24dp.png │ ├── ic_content_copy_white_24dp.png │ ├── ic_delete_grey600_24dp.png │ ├── ic_delete_white_24dp.png │ ├── ic_edit_grey600_24dp.png │ ├── ic_edit_white_24dp.png │ ├── ic_filter_list_white_24dp.png │ ├── ic_pause_white_24dp.png │ ├── ic_play_arrow_white_24dp.png │ ├── ic_receipt_white_24dp.png │ ├── ic_search_white_24dp.png │ ├── ic_share_white_24dp.png │ ├── ic_sort_white_24dp.png │ └── ic_warning_black_36dp.png │ ├── drawable │ ├── bg_rect_round.xml │ ├── bg_switchbar.xml │ ├── bg_tabs.xml │ ├── ic_shortcut_cancel.xml │ ├── ic_shortcut_vpn_key.xml │ ├── oval_ripple.xml │ └── slidingtab_background.xml │ ├── layout-sw600dp-port │ └── log_fragment.xml │ ├── layout-sw600dp │ └── log_fragment.xml │ ├── layout-v21 │ ├── connection_fab.xml │ ├── profile_list_fabs.xml │ ├── save_fab.xml │ ├── share_fab.xml │ └── tabs.xml │ ├── layout │ ├── about.xml │ ├── allowed_application_layout.xml │ ├── allowed_application_settings.xml │ ├── allowed_vpn_apps.xml │ ├── basic_settings.xml │ ├── config_converter.xml │ ├── connection_fab.xml │ ├── connections.xml │ ├── extauth_provider.xml │ ├── faq.xml │ ├── faqcard.xml │ ├── file_dialog.xml │ ├── file_dialog_inline.xml │ ├── file_dialog_main.xml │ ├── file_dialog_row.xml │ ├── file_select.xml │ ├── fragment_senddump.xml │ ├── graph.xml │ ├── graph_item.xml │ ├── keystore_selector.xml │ ├── log_fragment.xml │ ├── log_silders.xml │ ├── log_window.xml │ ├── main_activity.xml │ ├── openssl_speed.xml │ ├── profile_list_fabs.xml │ ├── save_fab.xml │ ├── server_card.xml │ ├── server_footer.xml │ ├── settings_usereditable.xml │ ├── share_fab.xml │ ├── sliding_tab.xml │ ├── speedviewitem.xml │ ├── tlsremote.xml │ ├── viewconfig.xml │ ├── vpn_list_item.xml │ ├── vpn_profile_list.xml │ ├── vpnstatus.xml │ └── webview_internal.xml │ ├── menu │ ├── allowed_apps.xml │ ├── configmenu.xml │ ├── connections.xml │ ├── import_menu.xml │ ├── logmenu.xml │ ├── main_menu.xml │ └── vpnpreferences_menu.xml │ ├── values-be │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-ca │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-cs │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-da │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-de │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-es │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-et │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-fr │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-hu │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-in │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-it │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-ja │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-ko │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-nl │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-no │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-pl │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-pt │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-ro │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-ru │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-sl │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-sv │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-tr │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-uk │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-vi │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-zh-rCN │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values-zh-rTW │ ├── arrays.xml │ ├── plurals.xml │ └── strings.xml │ ├── values │ ├── refs.xml │ └── styles.xml │ └── xml │ ├── general_settings.xml │ ├── vpn_authentification.xml │ ├── vpn_ipsettings.xml │ ├── vpn_obscure.xml │ └── vpn_routing.xml ├── misc ├── Banner_besser.jpg ├── Banner_besser.psd ├── Banner_besser_tv.png ├── Banner_besser_tv.psd ├── banner.png ├── banner_tv.png ├── debug-openvpn.sh ├── feature.png ├── feature.psd ├── ic_quick.ai ├── ic_stat_vpn.ai ├── icon-512.png ├── icon.ai ├── ignore_rsync_breakpadsync ├── logo_arne.png ├── logo_arne.svg ├── promo.ai ├── promo.png └── web_hi_res_512.png ├── remoteExample ├── LICENSE.remoteExample ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── aidl │ └── de │ │ └── blinkt │ │ └── openvpn │ │ └── api │ │ ├── APIVpnProfile.aidl │ │ ├── DO_NOT_RENAME │ │ ├── IOpenVPNAPIService.aidl │ │ └── IOpenVPNStatusCallback.aidl │ ├── assets │ └── test.conf │ ├── ic_launcher2-web.png │ ├── java │ └── de │ │ └── blinkt │ │ └── openvpn │ │ ├── api │ │ └── APIVpnProfile.java │ │ └── remote │ │ ├── MainActivity.java │ │ ├── MainFragment.java │ │ └── RemoteExampleApplication.java │ └── res │ ├── drawable-hdpi │ └── ic_launcher.png │ ├── drawable-mdpi │ └── ic_launcher.png │ ├── drawable-xhdpi │ └── ic_launcher.png │ ├── layout │ ├── activity_main.xml │ └── fragment_main.xml │ ├── menu │ └── main.xml │ ├── values-w820dp │ └── dimens.xml │ └── values │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── runcoverity.sh ├── settings.gradle.kts └── tlsexternalcertprovider ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src ├── androidTest └── java │ └── de │ └── blinkt │ └── externalcertprovider │ └── ExampleInstrumentedTest.java ├── main ├── AndroidManifest.xml ├── aidl │ └── de │ │ └── blinkt │ │ └── openvpn │ │ └── api │ │ └── ExternalCertificateProvider.aidl ├── java │ └── de │ │ └── blinkt │ │ └── externalcertprovider │ │ ├── ExternalCertService.java │ │ ├── SelectCertificateActivity.java │ │ └── SimpleSigner.java └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable │ └── ic_launcher_background.xml │ ├── layout │ └── activity_main.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ └── values │ ├── strings.xml │ └── styles.xml └── test └── java └── de └── blinkt └── externalcertprovider └── SignDataTest.java /.github/workflows/build.yaml: -------------------------------------------------------------------------------- 1 | # The name of our workflow 2 | name: Build 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | strategy: 8 | fail-fast: false 9 | matrix: 10 | target: [Ui, Skeleton] 11 | name: "Release ${{ matrix.target }}" 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Use debug signing 15 | run: mkdir -p ~/.gradle && echo -e "icsopenvpnDebugSign=true\norg.gradle.jvmargs=-Xmx2048M" > ~/.gradle/gradle.properties 16 | - name: Checkout the code 17 | uses: actions/checkout@v2 18 | with: 19 | submodules: true 20 | - name: Build the app 21 | run: ./gradlew assemble${{ matrix.target }}Release 22 | - name: Run Unit tests 23 | run: ./gradlew test${{ matrix.target }}ReleaseUnitTest -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | main/libs/ 3 | main/ovpnlibs/ 4 | main/obj/ 5 | main/.cxx/ 6 | .DS_Store 7 | .navigation 8 | google-breakpad/ 9 | ovpn3/boost 10 | polarssl 11 | local.properties 12 | proguard-project.txt 13 | build.xml 14 | cache.properties 15 | .gradle 16 | 17 | # User-specific configurations 18 | .idea 19 | *.iml 20 | 21 | main/openvpn3 22 | 23 | 24 | main/src/ovpn3/java/net/openvpn/ovpn3 25 | main/.externalNativeBuild 26 | main/.cxx 27 | 28 | main/ui/release/ 29 | main/release 30 | .idea/copyright/ics_openvpn_gpl.xml 31 | .idea/copyright/profiles_settings.xml 32 | .synopsys 33 | polaris.yml 34 | .coverity 35 | idir 36 | 37 | 38 | test.local.conf 39 | 40 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "main/openvpn"] 2 | path = main/src/main/cpp/openvpn 3 | url = ../../schwabe/openvpn.git 4 | [submodule "main/openssl"] 5 | path = main/src/main/cpp/openssl 6 | url = ../../schwabe/platform_external_openssl.git 7 | [submodule "main/src/main/cpp/mbedtls"] 8 | path = main/src/main/cpp/mbedtls 9 | url = ../../ARMmbed/mbedtls.git 10 | [submodule "main/src/main/cpp/openvpn3"] 11 | path = main/src/main/cpp/openvpn3 12 | url = ../../schwabe/openvpn3.git 13 | [submodule "main/src/main/cpp/asio"] 14 | path = main/src/main/cpp/asio 15 | url = ../../chriskohlhoff/asio/ 16 | [submodule "main/src/main/cpp/lz4"] 17 | path = main/src/main/cpp/lz4 18 | url = ../../lz4/lz4.git 19 | -------------------------------------------------------------------------------- /CONTRIBUTING: -------------------------------------------------------------------------------- 1 | See the README.md and doc/README.txt for information about developing and contributing. 2 | -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | To make issues more manageable, I would appreciate it if you fill out the following details as applicable: 2 | 3 | # General information 4 | 1. Android Version 5 | 2. Android Vendor/Custom ROM 6 | 3. Device 7 | 4. Version of the app (version number/play store version/self-built) 8 | 9 | # Description of the issue 10 | 11 | # Log (if applicable) 12 | 13 | ``` 14 | log contents 15 | ``` 16 | 17 | # Configuration file 18 | 19 | ``` 20 | add the contents of the configuration file if applicable 21 | be careful to not post private keys 22 | ``` 23 | -------------------------------------------------------------------------------- /Privacy-policy.md: -------------------------------------------------------------------------------- 1 | Privacy Policy for OpenVPN for Android 2 | ===================================== 3 | 4 | The app OpenVPN for Android does not communicate to any server other than the 5 | OpenVPN servers provided in configuration files. The author himself does not 6 | collect any data and no therefore also no data is saved. For the privacy 7 | policy for the OpenVPN server/VPN service you are using (or other services related to the project 8 | like GitHub), please refer to their respective privacy policy. 9 | 10 | End of service 11 | ============== 12 | The program and its components are under open-source licenses that allow you to use this app forever 13 | according to terms of the open-source licenses for details. 14 | 15 | However, the author reserves the right to suspend development or stop publishing the OpenVPN app or updates 16 | to it at any time. 17 | 18 | 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | OpenVPN for personalDNSfilter 2 | ============= 3 | 4 | This is a fork of the famous OpenVPN for Android project (https://github.com/schwabe/ics-openvpn) for integrating OpenVPN on Android with a locally running personalDNSfilter on non-rooted Android. 5 | The use case is to connect to a real remote (Open) VPN server while using locally running personalDNSfilter for filtering. 6 | For integrating with personalDNSfilter (minimal Version 1.50.38), select the Option "DNS Proxy Mode" within the personalDNSfilter advanced settings. In OpenVPN for personalDNSfilter, configure own DNS Server "10.10.10.10" within the "IP and DNS" configuration section. Without this special DNS, OpenVPN for personalDNSfilter will behave exactly as the original OpenVPN for Android application. 7 | 8 | Download 9 | -------- 10 | Current Version is based on OpenVPN for Android 0.7.21 and includes StreamCapture 0.0.3 for redirecting the DNS traffic to personalDNSfilter. 11 | Download: https://www.zenz-solutions.de/personaldnsfilter/getOpenVPNpDNSf.php. 12 | 13 | Footnotes 14 | ----------- 15 | Please note that OpenVPN used by this project is under GPLv2. 16 | Same rules and licenses apply as for the original OpenVPN for Android project under https://github.com/schwabe/ics-openvpn. 17 | -------------------------------------------------------------------------------- /android-icons.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/android-icons.zip -------------------------------------------------------------------------------- /build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2019 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | 7 | buildscript { 8 | var kotlin_version: String by extra 9 | var fragment_version: String by extra 10 | 11 | kotlin_version = "1.4.32" 12 | fragment_version = "1.3.3" 13 | repositories { 14 | google() 15 | mavenCentral() 16 | } 17 | dependencies { 18 | classpath("com.android.tools.build:gradle:7.0.4") 19 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") 20 | } 21 | } 22 | 23 | allprojects { 24 | repositories { 25 | google() 26 | mavenCentral() 27 | maven(url = "https://jitpack.io") 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /doc/todo.txt: -------------------------------------------------------------------------------- 1 | Ideas: 2 | 3 | - Do cert+key+ca => p12 inside the app, import directly to keystore 4 | 5 | - general settings dialog 6 | - encryption of profiles 7 | 8 | - Give the notification a nice speed bar 9 | 10 | - The app https://play.google.com/store/apps/details?id=org.proxydroid 11 | has a nice feature: auto connect. Run a profile if a specified 12 | network is available (a user defined WIFI profile and/or "WIFI/2G/3G" 13 | and/or "WIFI" and/or "2G/3G" - selection of more than one network type 14 | is possible) 15 | 16 | - Copy/Duplicate an existing profile (to create a new one with nearly 17 | exact settings) 18 | 19 | - implement an encryption for profiles, so no sensitive data has be stored in plain text 20 | - encrypt/decrypt with android private storage key (+no user input required) 21 | 22 | 23 | Missing configuration options: 24 | 25 | Tap support: 26 | - Actually it is possible to emulate tap with tun device, a minimal implementation would have to do: 27 | - generate random mac 28 | - strip macs header on receive 29 | - append mac header on send 30 | - implement arp, just discrad real packet and lets Android/other site retry later, "Cisco style" 31 | 32 | 33 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2012-2019 Arne Schwabe 3 | # Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | # 5 | 6 | android.enableJetifier=true 7 | android.useAndroidX=true 8 | android.enableUnitTestBinaryResources=false 9 | org.gradle.jvmargs=-Xmx1024m 10 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jun 03 01:41:27 CEST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-all.zip 7 | -------------------------------------------------------------------------------- /main/misc/dump_syms.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | function dumplib() 5 | { 6 | LIB=$1 7 | for arch in armeabi-v7a armeabi arm64-v8a x86 x86_64; do 8 | VER=$(dump_syms obj/local/$arch/$LIB |grep MODULE | cut -d " " -f 4) 9 | mkdir -p symbols/$LIB/$VER 10 | dump_syms obj/local/$arch/$LIB > symbols/$LIB/$VER/$LIB.sym 11 | done 12 | } 13 | 14 | dumplib libopenvpn.so 15 | dumplib pie_openvpn 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /main/misc/fetchtranslations.sh: -------------------------------------------------------------------------------- 1 | #! /bin/zsh 2 | set -o shwordsplit 3 | 4 | if [ "$ICSCROWDAPIKEY" != "" ] 5 | then 6 | echo "Generating new translation archives" 7 | #fetch -q -1 -o - "http://api.crowdin.net/api/project/ics-openvpn/export?key=$ICSCROWDAPIKEY" 8 | curl "https://api.crowdin.com/api/project/ics-openvpn/export?key=$ICSCROWDAPIKEY" 9 | fi 10 | 11 | echo "Fetch translation archive" 12 | wget -nv https://crowdin.com/backend/download/project/ics-openvpn.zip 13 | 14 | 15 | # Chinese language require zh-CN and zh-TW 16 | 17 | typeset -A langhash 18 | langhash=(zh-CN zh-rCN zh-TW zh-rTW id-ID in ca-ES ca cs-CZ cs et-EE et ja-JP ja ko-KR ko sv-SE sv uk-UA uk vi-VN vi sl-SI sl da-DK da be-BY be) 19 | 20 | langtoinclude="de es fr hu it no nl pl pt ro ru tr" 21 | 22 | for lang in $langtoinclude ${(k)langhash} 23 | do 24 | if (( ${+langhash[$lang]} )); then 25 | alang=$lang 26 | rlang=${langhash[$lang]} 27 | else 28 | alang=$lang-${lang:u} 29 | rlang=$lang 30 | fi 31 | 32 | mkdir -p src/ui/res/values-$rlang/ 33 | echo "$alang -> $rlang" 34 | tar -xv -C src/ui/res/values-$rlang/ --strip-components 2 -f ics-openvpn.zip res/values-$alang/ 35 | done 36 | 37 | rm ics-openvpn.zip 38 | -------------------------------------------------------------------------------- /main/misc/prepareovpn3.sh: -------------------------------------------------------------------------------- 1 | export O3=$PWD/openvpn3 2 | mkdir -p src/ovpn3/java/net/openvpn/ovpn3 3 | swig -outdir src/ovpn3/java/net/openvpn/ovpn3/ -c++ -java -package net.openvpn.ovpn3 -I$O3/client -I$O3 $O3/javacli/ovpncli.i -------------------------------------------------------------------------------- /main/src/main/aidl/de/blinkt/openvpn/api/APIVpnProfile.aidl: -------------------------------------------------------------------------------- 1 | package de.blinkt.openvpn.api; 2 | 3 | parcelable APIVpnProfile; 4 | -------------------------------------------------------------------------------- /main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNStatusCallback.aidl: -------------------------------------------------------------------------------- 1 | package de.blinkt.openvpn.api; 2 | 3 | /** 4 | * Example of a callback interface used by IRemoteService to send 5 | * synchronous notifications back to its clients. Note that this is a 6 | * one-way interface so the server does not block waiting for the client. 7 | */ 8 | interface IOpenVPNStatusCallback { 9 | /** 10 | * Called when the service has a new status for you. 11 | */ 12 | oneway void newStatus(in String uuid, in String state, in String message, in String level); 13 | } 14 | -------------------------------------------------------------------------------- /main/src/main/aidl/de/blinkt/openvpn/core/ConnectionStatus.aidl: -------------------------------------------------------------------------------- 1 | package de.blinkt.openvpn.core; 2 | 3 | parcelable ConnectionStatus; -------------------------------------------------------------------------------- /main/src/main/aidl/de/blinkt/openvpn/core/IOpenVPNServiceInternal.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package de.blinkt.openvpn.core; 7 | 8 | /** 9 | * Created by arne on 15.11.16. 10 | */ 11 | 12 | interface IOpenVPNServiceInternal { 13 | 14 | boolean protect(int fd); 15 | 16 | void userPause(boolean b); 17 | 18 | /** 19 | * @param replaceConnection True if the VPN is connected by a new connection. 20 | * @return true if there was a process that has been send a stop signal 21 | */ 22 | boolean stopVPN(boolean replaceConnection); 23 | 24 | void addAllowedExternalApp(String packagename); 25 | 26 | boolean isAllowedExternalApp(String packagename); 27 | 28 | void challengeResponse(String repsonse); 29 | } 30 | -------------------------------------------------------------------------------- /main/src/main/aidl/de/blinkt/openvpn/core/IServiceStatus.aidl: -------------------------------------------------------------------------------- 1 | // StatusIPC.aidl 2 | package de.blinkt.openvpn.core; 3 | 4 | // Declare any non-default types here with import statements 5 | import de.blinkt.openvpn.core.IStatusCallbacks; 6 | import android.os.ParcelFileDescriptor; 7 | import de.blinkt.openvpn.core.TrafficHistory; 8 | 9 | 10 | interface IServiceStatus { 11 | /** 12 | * Registers to receive OpenVPN Status Updates and gets a 13 | * ParcelFileDescript back that contains the log up to that point 14 | */ 15 | ParcelFileDescriptor registerStatusCallback(in IStatusCallbacks cb); 16 | 17 | /** 18 | * Remove a previously registered callback interface. 19 | */ 20 | void unregisterStatusCallback(in IStatusCallbacks cb); 21 | 22 | /** 23 | * Returns the last connedcted VPN 24 | */ 25 | String getLastConnectedVPN(); 26 | 27 | /** 28 | * Sets a cached password 29 | */ 30 | void setCachedPassword(in String uuid, int type, String password); 31 | 32 | /** 33 | * Gets the traffic history 34 | */ 35 | TrafficHistory getTrafficHistory(); 36 | } 37 | -------------------------------------------------------------------------------- /main/src/main/aidl/de/blinkt/openvpn/core/IStatusCallbacks.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package de.blinkt.openvpn.core; 7 | 8 | import de.blinkt.openvpn.core.LogItem; 9 | import de.blinkt.openvpn.core.ConnectionStatus; 10 | 11 | 12 | 13 | interface IStatusCallbacks { 14 | /** 15 | * Called when the service has a new status for you. 16 | */ 17 | oneway void newLogItem(in LogItem item); 18 | 19 | oneway void updateStateString(in String state, in String msg, in int resid, in ConnectionStatus level, in Intent intent); 20 | 21 | oneway void updateByteCount(long inBytes, long outBytes); 22 | 23 | oneway void connectedVPN(String uuid); 24 | } 25 | -------------------------------------------------------------------------------- /main/src/main/aidl/de/blinkt/openvpn/core/LogItem.aidl: -------------------------------------------------------------------------------- 1 | package de.blinkt.openvpn.core; 2 | 3 | parcelable LogItem; -------------------------------------------------------------------------------- /main/src/main/aidl/de/blinkt/openvpn/core/TrafficHistory.aidl: -------------------------------------------------------------------------------- 1 | package de.blinkt.openvpn.core; 2 | 3 | 4 | parcelable TrafficHistory; 5 | -------------------------------------------------------------------------------- /main/src/main/cpp/lz4.cmake: -------------------------------------------------------------------------------- 1 | set(lz4_srcs 2 | lz4.c 3 | ) 4 | 5 | PREPEND(lz4_src_with_path "lz4/lib/" ${lz4_srcs}) 6 | add_library(lz4 ${lz4_src_with_path}) 7 | target_include_directories(lz4 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/lz4/lib") 8 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/AUTHORS: -------------------------------------------------------------------------------- 1 | Authors of the LZO data compression library: 2 | 3 | Markus F.X.J. Oberhumer. Invented, designed and implemented LZO. 4 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/clean.bat: -------------------------------------------------------------------------------- 1 | @del /q *.def *.err *.exp *.map *.o *.obj *.res *.tds > nul 2> nul 2 | @del /q liblzo2.a lzo2.a lzo2.dll lzo2.lib > nul 2> nul 3 | @del /q a.exe a.out dict.exe lzopack.exe precomp.exe precomp2.exe simple.exe > nul 2> nul 4 | @del /q lzotest.exe testmini.exe > nul 2> nul 5 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/done.bat: -------------------------------------------------------------------------------- 1 | @echo // 2 | @echo // Building LZO was successful. All done. 3 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/dos32/bc_pp.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // DOS 32-bit 4 | @echo // Borland C/C++ + Borland PowerPack 1.0 (DPMI32) 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=bcc32 -WX 11 | set CF=-O2 -w -w-aus %CFI% -Iinclude\lzo %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -Isrc -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | tlib %BLIB% @b\win32\bc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% -ls -Iexamples examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% -ls -Iexamples examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% -ls -Iexamples examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% -ls -Iexamples examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% -ls -Iexamples examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% -ls -Ilzotest lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -ls -Iminilzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/dos32/dj2.opt: -------------------------------------------------------------------------------- 1 | -O2 2 | -fomit-frame-pointer 3 | -Wall 4 | -Wcast-align 5 | -Wcast-qual 6 | -Wwrite-strings 7 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/dos32/dm.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // DOS 32-bit 4 | @echo // Digital Mars C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=dmc -mx 11 | set CF=-o -w- %CFI% %CFASM% 12 | set LF=%BLIB% x32.lib 13 | 14 | %CC% %CF% -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | lib %BLIB% /b /c /n /noi @b\win32\bc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | set LF=x32.lib 34 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c %LF% 35 | @if errorlevel 1 goto error 36 | 37 | 38 | @call b\done.bat 39 | @goto end 40 | :error 41 | @echo ERROR during build! 42 | :end 43 | @call b\unset.bat 44 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/dos32/highc.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // DOS 32-bit 4 | @echo // MetaWare High C/C++ (using Pharlap DOS extender) 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=hc386 11 | set CF=-O3 -w4 %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -w1 -c src\*.c 15 | @if errorlevel 1 goto error 16 | 386lib %BLIB% -nobanner @b\dos32\highc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | 34 | @call b\done.bat 35 | @goto end 36 | :error 37 | @echo ERROR during build! 38 | :end 39 | @call b\unset.bat 40 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/dos32/ndp.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // DOS 32-bit 4 | @echo // Microway NDP C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=mx486 11 | set CF=-ansi -on %CFI% 12 | set LF=%BLIB% -bind -map 13 | 14 | @REM %CC% %CF% -Isrc -c src\*.c 15 | for %%f in (src\*.c) do %CC% %CF% -Isrc -c %%f 16 | @if errorlevel 1 goto error 17 | ndplib %BLIB% @b\dos32\ndp.rsp 18 | @if errorlevel 1 goto error 19 | 20 | %CC% %CF% -Iexamples examples\dict.c %LF% 21 | @if errorlevel 1 goto error 22 | %CC% %CF% -Iexamples examples\lzopack.c %LF% 23 | @if errorlevel 1 goto error 24 | %CC% %CF% -Iexamples examples\precomp.c %LF% 25 | @if errorlevel 1 goto error 26 | %CC% %CF% -Iexamples examples\precomp2.c %LF% 27 | @if errorlevel 1 goto error 28 | %CC% %CF% -Iexamples examples\simple.c %LF% 29 | @if errorlevel 1 goto error 30 | 31 | %CC% %CF% -Dconst= -Ilzotest lzotest\lzotest.c %LF% 32 | @if errorlevel 1 goto error 33 | 34 | 35 | @call b\done.bat 36 | @goto end 37 | :error 38 | @echo ERROR during build! 39 | :end 40 | @call b\unset.bat 41 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/dos32/wc.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // DOS 32-bit 4 | @echo // Watcom C/C++ (using DOS/4G extender) 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=wcl386 -zq -mf -5r -bt#dos -l#dos4g 11 | set CF=-ox -zc %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c src\*.c 15 | @if errorlevel 1 goto error 16 | wlib -q -b -n -t %BLIB% @b\win32\wc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | 34 | @call b\done.bat 35 | @goto end 36 | :error 37 | @echo ERROR during build! 38 | :end 39 | @call b\unset.bat 40 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/generic/build_freestanding.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | ## vim:set ts=4 sw=4 et: 3 | 4 | test "X${top_srcdir}" = X && top_srcdir=`echo "$0" | sed 's,[^/]*$,,'`../.. 5 | 6 | LZO_CFG_FREESTANDING=1 7 | 8 | . $top_srcdir/B/generic/build.sh 9 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/generic/build_gcc.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | ## vim:set ts=4 sw=4 et: 3 | set -e 4 | echo "// Using GNU C compiler." 5 | echo "//" 6 | 7 | test "X${top_srcdir}" = X && top_srcdir=`echo "$0" | sed 's,[^/]*$,,'`../.. 8 | UNAME_MACHINE=unknown 9 | 10 | CC="gcc -fPIC" 11 | CC="gcc -static" 12 | CC="gcc" 13 | CFLAGS="-Wall -O2 -fomit-frame-pointer" 14 | 15 | # delete the next line to disable assembler support 16 | UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 17 | case $UNAME_MACHINE in 18 | i[34567]86) 19 | CC="$CC -m32" 20 | CPPFLAGS="-DLZO_USE_ASM" 21 | LZO_EXTRA_SOURCES=$top_srcdir/asm/i386/src_gas/*.S 22 | ;; 23 | esac 24 | 25 | . $top_srcdir/B/generic/build.sh 26 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/generic/clean.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | ## vim:set ts=4 sw=4 et: 3 | # Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 4 | 5 | rm -f *.o liblzo2.a dict.out lzopack.out precomp.out precomp2.out simple.out lzotest.out testmini.out 6 | 7 | true 8 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/os2/wc.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // OS/2 32-bit 4 | @echo // Watcom C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=wcl386 -zq -mf -5r -bt#os2 -l#os2v2 11 | set CF=-ox -zc %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c src\*.c 15 | @if errorlevel 1 goto error 16 | wlib -q -b -n -t %BLIB% @b\win32\wc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/prepare.bat: -------------------------------------------------------------------------------- 1 | @call b\unset.bat 2 | @call b\clean.bat 3 | 4 | @set CFI=-Iinclude -I. -Isrc 5 | @set CFASM=-DLZO_USE_ASM 6 | @set BNAME=lzo2 7 | @set BLIB=lzo2.lib 8 | @set BDLL=lzo2.dll 9 | 10 | @echo Compiling, please be patient... 11 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/unset.bat: -------------------------------------------------------------------------------- 1 | @set CC= 2 | @set CF= 3 | @set CFI= 4 | @set CFX= 5 | @set CFASM= 6 | @set LF= 7 | @set BNAME= 8 | @set BLIB= 9 | @set BDLL= 10 | @set BECHO= 11 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/bc.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Borland C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=bcc32 11 | set CF=-O2 -w -w-aus %CFI% -Iinclude\lzo %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -Isrc -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | tlib %BLIB% @b\win32\bc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% -ls -Iexamples examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% -ls -Iexamples examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% -ls -Iexamples examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% -ls -Iexamples examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% -ls -Iexamples examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% -ls -Ilzotest lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -ls -Iminilzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/cygwin.rsp: -------------------------------------------------------------------------------- 1 | lzo1.o 2 | lzo1_99.o 3 | lzo1a.o 4 | lzo1a_99.o 5 | lzo1b_1.o 6 | lzo1b_2.o 7 | lzo1b_3.o 8 | lzo1b_4.o 9 | lzo1b_5.o 10 | lzo1b_6.o 11 | lzo1b_7.o 12 | lzo1b_8.o 13 | lzo1b_9.o 14 | lzo1b_99.o 15 | lzo1b_9x.o 16 | lzo1b_cc.o 17 | lzo1b_d1.o 18 | lzo1b_d2.o 19 | lzo1b_rr.o 20 | lzo1b_xx.o 21 | lzo1c_1.o 22 | lzo1c_2.o 23 | lzo1c_3.o 24 | lzo1c_4.o 25 | lzo1c_5.o 26 | lzo1c_6.o 27 | lzo1c_7.o 28 | lzo1c_8.o 29 | lzo1c_9.o 30 | lzo1c_99.o 31 | lzo1c_9x.o 32 | lzo1c_cc.o 33 | lzo1c_d1.o 34 | lzo1c_d2.o 35 | lzo1c_rr.o 36 | lzo1c_xx.o 37 | lzo1f_1.o 38 | lzo1f_9x.o 39 | lzo1f_d1.o 40 | lzo1f_d2.o 41 | lzo1x_1.o 42 | lzo1x_1k.o 43 | lzo1x_1l.o 44 | lzo1x_1o.o 45 | lzo1x_9x.o 46 | lzo1x_d1.o 47 | lzo1x_d2.o 48 | lzo1x_d3.o 49 | lzo1x_o.o 50 | lzo1y_1.o 51 | lzo1y_9x.o 52 | lzo1y_d1.o 53 | lzo1y_d2.o 54 | lzo1y_d3.o 55 | lzo1y_o.o 56 | lzo1z_9x.o 57 | lzo1z_d1.o 58 | lzo1z_d2.o 59 | lzo1z_d3.o 60 | lzo2a_9x.o 61 | lzo2a_d1.o 62 | lzo2a_d2.o 63 | lzo_crc.o 64 | lzo_init.o 65 | lzo_ptr.o 66 | lzo_str.o 67 | lzo_util.o 68 | lzo1c_s1.o 69 | lzo1f_f1.o 70 | lzo1x_f1.o 71 | lzo1x_s1.o 72 | lzo1y_f1.o 73 | lzo1y_s1.o 74 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/dm.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Digital Mars C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=dmc -mn 11 | set CF=-o -w- %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | lib %BLIB% /b /c /n /noi @b\win32\bc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/ic.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Intel C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=icl -nologo -MT 11 | set CF=-O2 -GF -W3 -Qvec-report0 %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | link -lib -nologo -out:%BLIB% @b\win32\vc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/mwerks.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Metrowerks CodeWarrior C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=mwcc -gccinc 11 | set CF=-opt full %CFI% %CFASM% 12 | set LF=%BLIB% -lwinmm.lib 13 | 14 | %CC% -w on %CF% -w nounusedexpr -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | mwld -library -o %BLIB% @b\win32\vc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/pellesc.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Pelles C 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=cc -Ze -Go 11 | set CF=-O2 -W2 %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c src\*.c 15 | @if errorlevel 1 goto error 16 | polib -out:%BLIB% @b\win32\vc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/pgi.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Portland Group PGI C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set BLIB=lib%BNAME%.a 11 | set CC=pgcc 12 | set CF=-fast %CFI% %CFASM% 13 | set LF=%BLIB% -lwinmm 14 | 15 | %CC% %CF% -c src\*.c 16 | @if errorlevel 1 goto error 17 | ar rcs %BLIB% *.o asm/i386/obj/win32/*.obj 18 | @if errorlevel 1 goto error 19 | 20 | %CC% %CF% -o dict.exe examples\dict.c %LF% 21 | @if errorlevel 1 goto error 22 | %CC% %CF% -o lzopack.exe examples\lzopack.c %LF% 23 | @if errorlevel 1 goto error 24 | %CC% %CF% -o precomp.exe examples\precomp.c %LF% 25 | @if errorlevel 1 goto error 26 | %CC% %CF% -o precomp2.exe examples\precomp2.c %LF% 27 | @if errorlevel 1 goto error 28 | %CC% %CF% -o simple.exe examples\simple.c %LF% 29 | @if errorlevel 1 goto error 30 | 31 | %CC% %CF% -o lzotest.exe lzotest\lzotest.c %LF% 32 | @if errorlevel 1 goto error 33 | 34 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 35 | @if errorlevel 1 goto error 36 | 37 | 38 | @call b\done.bat 39 | @goto end 40 | :error 41 | @echo ERROR during build! 42 | :end 43 | @call b\unset.bat 44 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/vc.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Microsoft Visual C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=cl -nologo -MT 11 | set CF=-O2 -GF -W3 %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | link -lib -nologo -out:%BLIB% @b\win32\vc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/vc_dll.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Microsoft Visual C/C++ (DLL) 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=cl -nologo -MT 11 | set CF=-O2 -GF -W3 %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -D__LZO_EXPORT1#__declspec(dllexport) -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | %CC% -LD -Fe%BDLL% @b\win32\vc.rsp /link /map /def:b\win32\vc_dll.def 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/vc_dll.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | lzo1c_decompress_asm 3 | lzo1f_decompress_asm_fast 4 | lzo1x_decompress_asm 5 | lzo1x_decompress_asm_fast 6 | lzo1y_decompress_asm 7 | lzo1y_decompress_asm_fast 8 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win32/wc.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 32-bit 4 | @echo // Watcom C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=wcl386 -zq -mf -5r -bt#nt -l#nt 11 | set CF=-ox -zc %CFI% %CFASM% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c src\*.c 15 | @if errorlevel 1 goto error 16 | wlib -q -b -n -t %BLIB% @b\win32\wc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | 34 | @call b\done.bat 35 | @goto end 36 | :error 37 | @echo ERROR during build! 38 | :end 39 | @call b\unset.bat 40 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win64/ic.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 64-bit (Itanium) 4 | @echo // Intel C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=icl -nologo -MT 11 | set CF=-O2 -GF -W3 -Qvec-report0 %CFI% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | link -lib -nologo -out:%BLIB% @b\win64\vc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win64/ic_dll.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 64-bit (Itanium) 4 | @echo // Intel C/C++ (DLL) 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=icl -nologo -MT 11 | set CF=-O2 -GF -W3 %CFI% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -D__LZO_EXPORT1#__declspec(dllexport) -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | %CC% -LD -Fe%BDLL% @b\win64\vc.rsp /link /map /def:b\win64\vc_dll.def 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win64/vc.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 64-bit (AMD64 or Itanium) 4 | @echo // Microsoft Visual C/C++ 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=cl -nologo -MT 11 | set CF=-O2 -GF -W3 %CFI% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | link -lib -nologo -out:%BLIB% @b\win64\vc.rsp 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win64/vc_dll.bat: -------------------------------------------------------------------------------- 1 | @echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer 2 | @echo // 3 | @echo // Windows 64-bit (AMD64 or Itanium) 4 | @echo // Microsoft Visual C/C++ (DLL) 5 | @echo // 6 | @call b\prepare.bat 7 | @if "%BECHO%"=="n" echo off 8 | 9 | 10 | set CC=cl -nologo -MT 11 | set CF=-O2 -GF -W3 %CFI% 12 | set LF=%BLIB% 13 | 14 | %CC% %CF% -D__LZO_EXPORT1#__declspec(dllexport) -c @b\src.rsp 15 | @if errorlevel 1 goto error 16 | %CC% -LD -Fe%BDLL% @b\win64\vc.rsp /link /map /def:b\win64\vc_dll.def 17 | @if errorlevel 1 goto error 18 | 19 | %CC% %CF% examples\dict.c %LF% 20 | @if errorlevel 1 goto error 21 | %CC% %CF% examples\lzopack.c %LF% 22 | @if errorlevel 1 goto error 23 | %CC% %CF% examples\precomp.c %LF% 24 | @if errorlevel 1 goto error 25 | %CC% %CF% examples\precomp2.c %LF% 26 | @if errorlevel 1 goto error 27 | %CC% %CF% examples\simple.c %LF% 28 | @if errorlevel 1 goto error 29 | 30 | %CC% %CF% lzotest\lzotest.c %LF% 31 | @if errorlevel 1 goto error 32 | 33 | %CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c 34 | @if errorlevel 1 goto error 35 | 36 | 37 | @call b\done.bat 38 | @goto end 39 | :error 40 | @echo ERROR during build! 41 | :end 42 | @call b\unset.bat 43 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/B/win64/vc_dll.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/BUGS: -------------------------------------------------------------------------------- 1 | ============================================================================ 2 | LZO -- a real-time data compression library 3 | ============================================================================ 4 | 5 | LZO is free of any known bugs. 6 | 7 | Nevertheless LZO has been reported to break the optimizer of some 8 | compilers including gcc 2.7.2 (AIX, IRIX) and Watcom C 9.5. 9 | 10 | So if 'lzotest' reports data decompression errors you should recompile 11 | everything without optimizations and see if that fixes the problem. 12 | I'd like to hear about optimizer problems and possible workarounds. 13 | 14 | 15 | Known compiler problems: 16 | ------------------------ 17 | some versions of gcc use '-O2 -fno-strength-reduce' 18 | some versions of gcc use '-O2 -fno-schedule-insns -fno-schedule-insns2' 19 | Watcom C 9.5 compile with '-oneax' instead of '-oneatx' 20 | 21 | 22 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/ChangeLog: -------------------------------------------------------------------------------- 1 | Sorry, no detailed ChangeLog available yet. 2 | 3 | Please see the file NEWS for a list of user visible changes. 4 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/README: -------------------------------------------------------------------------------- 1 | ============================================================================ 2 | LZO -- a real-time data compression library 3 | ============================================================================ 4 | 5 | Please read the file doc/LZO.TXT for an introduction to LZO. 6 | See the file doc/LZO.FAQ for various tidbits of information. 7 | 8 | See the file NEWS for a list of major changes in the current release. 9 | 10 | See the file INSTALL for compilation and installation instructions. 11 | 12 | For a quick start how to use LZO look at examples/lzopack.c. 13 | 14 | 15 | Directory overview: 16 | ------------------- 17 | autoconf Autoconf configuration files (UNIX specific) 18 | B various support files for DOS, Windows, OS/2, ... 19 | doc documentation 20 | examples example programs 21 | include public header files 22 | minilzo a lightweight subset for easy inclusion in your project 23 | src library source 24 | tests more or less exotic test programs 25 | util some utility scripts 26 | 27 | 28 | Have fun, 29 | Markus 30 | 31 | http://www.oberhumer.com/opensource/lzo/ 32 | 33 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/THANKS: -------------------------------------------------------------------------------- 1 | I want to thank the following people for giving feedback, doing 2 | beta-testing or helping me some other way: 3 | 4 | Charles W. Sandmann 5 | Frank Donahoe 6 | Holger Berger 7 | Jean-loup Gailly 8 | Laszlo Molnar 9 | Mark Adler 10 | Paul D. Eccles 11 | Rodolphe Ortalo 12 | William Magro 13 | Wolfgang Lugmayr 14 | Natascha 15 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1c_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1c_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1f_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1f_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1x_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/coff32/lzo1y_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1c_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1c_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1f_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1f_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1x_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/elf32/lzo1y_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1c_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1c_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1f_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1f_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1x_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_f1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_f1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_s1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/macho32/lzo1y_s1.o -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1c_s1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1c_s1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1f_f1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1f_f1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_f1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_f1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_s1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1x_s1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_f1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_f1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_s1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/omf32/lzo1y_s1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1c_s1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1c_s1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1f_f1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1f_f1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_f1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_f1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_s1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1x_s1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_f1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_f1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_s1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/asm/i386/obj/win32/lzo1y_s1.obj -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/autoconf/shtool: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/lzo/autoconf/shtool -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/lzo2.pc.cmakein: -------------------------------------------------------------------------------- 1 | # 2 | # lzo2.pc -- LZO pkg-config configuration file 3 | # 4 | # This file is part of the LZO data compression library. 5 | # http://www.oberhumer.com/opensource/lzo/ 6 | # 7 | # Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 8 | # All Rights Reserved. 9 | # 10 | 11 | prefix=@CMAKE_INSTALL_PREFIX@ 12 | exec_prefix=@CMAKE_INSTALL_FULL_BINDIR@ 13 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ 14 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@ 15 | 16 | Name: lzo2 17 | Version: @PROJECT_VERSION@ 18 | Description: LZO - a real-time data compression library 19 | URL: http://www.oberhumer.com/opensource/lzo/ 20 | Cflags: -I${includedir}/lzo 21 | Libs: -L${libdir} -llzo2 22 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/lzo2.pc.in: -------------------------------------------------------------------------------- 1 | # 2 | # lzo2.pc -- LZO pkg-config configuration file 3 | # 4 | # This file is part of the LZO data compression library. 5 | # http://www.oberhumer.com/opensource/lzo/ 6 | # 7 | # Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 8 | # All Rights Reserved. 9 | # 10 | 11 | prefix=@prefix@ 12 | exec_prefix=@exec_prefix@ 13 | includedir=@includedir@ 14 | libdir=@libdir@ 15 | 16 | Name: lzo2 17 | Version: @PACKAGE_VERSION@ 18 | Description: LZO - a real-time data compression library 19 | URL: http://www.oberhumer.com/opensource/lzo/ 20 | Cflags: -I${includedir}/lzo 21 | Libs: -L${libdir} -llzo2 22 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/src/lzo1b_rr.c: -------------------------------------------------------------------------------- 1 | /* lzo1b_rr.c -- literal run handling 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 6 | All Rights Reserved. 7 | 8 | The LZO library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU General Public License as 10 | published by the Free Software Foundation; either version 2 of 11 | the License, or (at your option) any later version. 12 | 13 | The LZO library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with the LZO library; see the file COPYING. 20 | If not, write to the Free Software Foundation, Inc., 21 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | 23 | Markus F.X.J. Oberhumer 24 | 25 | http://www.oberhumer.com/opensource/lzo/ 26 | */ 27 | 28 | 29 | #include "config1b.h" 30 | 31 | #include "lzo1b_r.ch" 32 | 33 | /* vim:set ts=4 sw=4 et: */ 34 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/src/lzo1c_rr.c: -------------------------------------------------------------------------------- 1 | /* lzo1c_rr.c -- literal run handling 2 | 3 | This file is part of the LZO real-time data compression library. 4 | 5 | Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 6 | All Rights Reserved. 7 | 8 | The LZO library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU General Public License as 10 | published by the Free Software Foundation; either version 2 of 11 | the License, or (at your option) any later version. 12 | 13 | The LZO library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with the LZO library; see the file COPYING. 20 | If not, write to the Free Software Foundation, Inc., 21 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | 23 | Markus F.X.J. Oberhumer 24 | 25 | http://www.oberhumer.com/opensource/lzo/ 26 | */ 27 | 28 | 29 | #include "config1c.h" 30 | 31 | #include "lzo1b_r.ch" 32 | 33 | /* vim:set ts=4 sw=4 et: */ 34 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/util/notime.pl: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl 2 | ## vim:set ts=4 sw=4 et: -*- coding: utf-8 -*- 3 | ## 4 | ##---------------------------------------------------------------------------## 5 | ## 6 | ## Author: 7 | ## Markus F.X.J. Oberhumer 8 | ## 9 | ## Description: 10 | ## Remove timing values from a table created by table.pl 11 | ## 12 | ## Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 13 | ## 14 | ##---------------------------------------------------------------------------## 15 | 16 | 17 | while (<>) { 18 | if (substr($_,56) =~ /^\s+[\d\.]+\s+[\d\.]+\s+\|\s*\n$/) { 19 | substr($_,56) = " 0.000 0.000 |\n"; 20 | } 21 | print; 22 | } 23 | 24 | exit(0); 25 | 26 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/util/overlap.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | set -e 3 | 4 | # 5 | # usage: util/overlap.sh [directory] 6 | # 7 | # This script runs the overlap example program 8 | # on a complete directory tree. 9 | # 10 | # Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 11 | # 12 | 13 | OVERLAP="./examples/overlap" 14 | for d in ./examples .; do 15 | for ext in "" .exe .out; do 16 | if test -f "$d/overlap$ext" && test -x "$d/overlap$ext"; then 17 | OVERLAP="$d/overlap$ext" 18 | break 2 19 | fi 20 | done 21 | done 22 | 23 | dir="${1-.}" 24 | 25 | TMPFILE="/tmp/lzo_$$.tmp" 26 | rm -f "$TMPFILE" 27 | (find "$dir/." -type f -print0 | LC_ALL=C sort -z > "$TMPFILE") || true 28 | 29 | cat "$TMPFILE" | xargs -0 -r "$OVERLAP" 30 | 31 | rm -f "$TMPFILE" 32 | echo "Done." 33 | exit 0 34 | 35 | # vim:set ts=4 sw=4 et: 36 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/util/shortf.pl: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl 2 | ## vim:set ts=4 sw=4 et: -*- coding: utf-8 -*- 3 | ## 4 | ##---------------------------------------------------------------------------## 5 | ## 6 | ## Author: 7 | ## Markus F.X.J. Oberhumer 8 | ## 9 | ## Description: 10 | ## Create short files for compression test 11 | ## 12 | ## Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 13 | ## 14 | ##---------------------------------------------------------------------------## 15 | 16 | $c = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 17 | $c = "\x00\x01\x02"; 18 | $c = "\x00"; 19 | 20 | $x = $c x 1024; 21 | 22 | for $i (0 .. 50) { 23 | $name = sprintf("f%04d.dat",$i); 24 | open(OUTFILE,">$name") || die "$0: cannot open '$name': $!"; 25 | binmode(OUTFILE); 26 | print OUTFILE substr($x,0,$i); 27 | close(OUTFILE); 28 | } 29 | 30 | exit(0); 31 | -------------------------------------------------------------------------------- /main/src/main/cpp/lzo/util/uncompr.pl: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl 2 | ## vim:set ts=4 sw=4 et: -*- coding: utf-8 -*- 3 | ## 4 | ##---------------------------------------------------------------------------## 5 | ## 6 | ## Author: 7 | ## Markus F.X.J. Oberhumer 8 | ## 9 | ## Description: 10 | ## Create incompressible files for compression test 11 | ## 12 | ## Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 13 | ## 14 | ##---------------------------------------------------------------------------## 15 | 16 | $x = ' ' x 65536; 17 | $i = 0; 18 | while ($i < 65536) { 19 | substr($x,$i,1) = pack('C',rand(256)); 20 | $i++; 21 | } 22 | 23 | for $i (1,2,4,8,16,32,64) { 24 | $name = sprintf("u%04d.dat",$i); 25 | open(OUTFILE,">$name") || die "$0: cannot open '$name': $!"; 26 | binmode(OUTFILE); 27 | print OUTFILE substr($x,0,$i*1024); 28 | close(OUTFILE); 29 | } 30 | 31 | exit(0); 32 | -------------------------------------------------------------------------------- /main/src/main/cpp/minivpn/minivpn.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/cpp/minivpn/minivpn.c -------------------------------------------------------------------------------- /main/src/main/cpp/ovpnutil/jniglue.h: -------------------------------------------------------------------------------- 1 | // 2 | // jniglue.h 3 | // xcopenvpn 4 | // 5 | // Created by Arne Schwabe on 29.03.12. 6 | // Copyright (c) 2012 Universität Paderborn. All rights reserved. 7 | // 8 | 9 | #ifndef xcopenvpn_jniglue_h 10 | #define xcopenvpn_jniglue_h 11 | void android_openvpn_log(int level,const char* prefix,const char* prefix_sep,const char* m1); 12 | #endif 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | int jniThrowException(JNIEnv* env, const char* className, const char* msg); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /main/src/main/cpp/tools.cmake: -------------------------------------------------------------------------------- 1 | FUNCTION(PREPEND var prefix) 2 | SET(listVar "") 3 | FOREACH(f ${ARGN}) 4 | LIST(APPEND listVar "${prefix}/${f}") 5 | ENDFOREACH(f) 6 | SET(${var} "${listVar}" PARENT_SCOPE) 7 | ENDFUNCTION(PREPEND) 8 | -------------------------------------------------------------------------------- /main/src/main/java/de/blinkt/openvpn/api/GrantPermissionsActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package de.blinkt.openvpn.api; 7 | 8 | import android.app.Activity; 9 | import android.content.Intent; 10 | import android.net.VpnService; 11 | 12 | public class GrantPermissionsActivity extends Activity { 13 | private static final int VPN_PREPARE = 0; 14 | 15 | @Override 16 | protected void onStart() { 17 | super.onStart(); 18 | Intent i= VpnService.prepare(this); 19 | if(i==null) 20 | onActivityResult(VPN_PREPARE, RESULT_OK, null); 21 | else 22 | startActivityForResult(i, VPN_PREPARE); 23 | } 24 | 25 | @Override 26 | protected void onActivityResult(int requestCode, int resultCode, Intent data) { 27 | super.onActivityResult(requestCode, resultCode, data); 28 | setResult(resultCode); 29 | finish(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /main/src/main/java/de/blinkt/openvpn/api/SecurityRemoteException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package de.blinkt.openvpn.api; 7 | 8 | import android.os.RemoteException; 9 | 10 | public class SecurityRemoteException extends RemoteException { 11 | 12 | /** 13 | * 14 | */ 15 | private static final long serialVersionUID = 1L; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /main/src/main/java/de/blinkt/openvpn/core/Preferences.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package de.blinkt.openvpn.core; 7 | 8 | import android.content.Context; 9 | import android.content.SharedPreferences; 10 | 11 | /** 12 | * Created by arne on 08.01.17. 13 | */ 14 | 15 | // Until I find a good solution 16 | 17 | public class Preferences { 18 | 19 | static SharedPreferences getSharedPreferencesMulti(String name, Context c) { 20 | return c.getSharedPreferences(name, Context.MODE_MULTI_PROCESS | Context.MODE_PRIVATE); 21 | 22 | } 23 | 24 | 25 | public static SharedPreferences getDefaultSharedPreferences(Context c) { 26 | return c.getSharedPreferences(c.getPackageName() + "_preferences", Context.MODE_MULTI_PROCESS | Context.MODE_PRIVATE); 27 | 28 | } 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /main/src/main/java/org/spongycastle/util/encoders/Encoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package org.spongycastle.util.encoders; 7 | 8 | import java.io.IOException; 9 | import java.io.OutputStream; 10 | 11 | /** 12 | * Encode and decode byte arrays (typically from binary to 7-bit ASCII 13 | * encodings). 14 | */ 15 | public interface Encoder 16 | { 17 | int encode(byte[] data, int off, int length, OutputStream out) throws IOException; 18 | 19 | int decode(byte[] data, int off, int length, OutputStream out) throws IOException; 20 | 21 | int decode(String data, OutputStream out) throws IOException; 22 | } 23 | -------------------------------------------------------------------------------- /main/src/main/java/org/spongycastle/util/io/pem/PemGenerationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package org.spongycastle.util.io.pem; 7 | 8 | import java.io.IOException; 9 | 10 | @SuppressWarnings("serial") 11 | public class PemGenerationException 12 | extends IOException 13 | { 14 | private Throwable cause; 15 | 16 | public PemGenerationException(String message, Throwable cause) 17 | { 18 | super(message); 19 | this.cause = cause; 20 | } 21 | 22 | public PemGenerationException(String message) 23 | { 24 | super(message); 25 | } 26 | 27 | public Throwable getCause() 28 | { 29 | return cause; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /main/src/main/java/org/spongycastle/util/io/pem/PemObjectGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package org.spongycastle.util.io.pem; 7 | 8 | public interface PemObjectGenerator 9 | { 10 | PemObject generate() 11 | throws PemGenerationException; 12 | } 13 | -------------------------------------------------------------------------------- /main/src/main/res/color/tab_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/ic_menu_archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/ic_menu_archive.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/ic_menu_copy_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/ic_menu_copy_holo_light.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/ic_menu_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/ic_menu_log.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/ic_quick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/ic_quick.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/ic_stat_vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/ic_stat_vpn.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/ic_stat_vpn_empty_halo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/ic_stat_vpn_empty_halo.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/ic_stat_vpn_offline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/ic_stat_vpn_offline.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/ic_stat_vpn_outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/ic_stat_vpn_outline.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-hdpi/vpn_item_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-hdpi/vpn_item_settings.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/ic_menu_archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/ic_menu_archive.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/ic_menu_copy_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/ic_menu_copy_holo_light.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/ic_menu_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/ic_menu_log.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/ic_quick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/ic_quick.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/ic_stat_vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/ic_stat_vpn.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/ic_stat_vpn_empty_halo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/ic_stat_vpn_empty_halo.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/ic_stat_vpn_offline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/ic_stat_vpn_offline.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/ic_stat_vpn_outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/ic_stat_vpn_outline.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-mdpi/vpn_item_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-mdpi/vpn_item_settings.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/ic_menu_archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/ic_menu_archive.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/ic_menu_copy_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/ic_menu_copy_holo_light.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/ic_menu_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/ic_menu_log.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/ic_quick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/ic_quick.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/ic_stat_vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/ic_stat_vpn.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/ic_stat_vpn_empty_halo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/ic_stat_vpn_empty_halo.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/ic_stat_vpn_offline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/ic_stat_vpn_offline.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/ic_stat_vpn_outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/ic_stat_vpn_outline.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xhdpi/vpn_item_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xhdpi/vpn_item_settings.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xxhdpi/ic_menu_copy_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xxhdpi/ic_menu_copy_holo_light.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xxhdpi/ic_menu_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xxhdpi/ic_menu_log.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xxhdpi/ic_quick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xxhdpi/ic_quick.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xxhdpi/ic_stat_vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xxhdpi/ic_stat_vpn.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xxhdpi/ic_stat_vpn_empty_halo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_empty_halo.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xxhdpi/ic_stat_vpn_offline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_offline.png -------------------------------------------------------------------------------- /main/src/main/res/drawable-xxhdpi/ic_stat_vpn_outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_outline.png -------------------------------------------------------------------------------- /main/src/main/res/layout/launchvpn.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 15 | -------------------------------------------------------------------------------- /main/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /main/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /main/src/main/res/mipmap-xhdpi/banner_tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/mipmap-xhdpi/banner_tv.png -------------------------------------------------------------------------------- /main/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /main/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /main/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IngoZenz/ics-openvpn/c5eaec6cca8f0f56ad1e34e884be36dfcfbc44ea/main/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /main/src/main/res/values-be/bools.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | true 8 | -------------------------------------------------------------------------------- /main/src/main/res/values-de/bools.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | true 8 | -------------------------------------------------------------------------------- /main/src/main/res/values-ja/bools.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | true 8 | 9 | -------------------------------------------------------------------------------- /main/src/main/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | true 9 | 10 | -------------------------------------------------------------------------------- /main/src/main/res/values-sw600dp/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 16dp 10 | 11 | -------------------------------------------------------------------------------- /main/src/main/res/values-tr/bools.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | true 8 | 9 | -------------------------------------------------------------------------------- /main/src/main/res/values-v29/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | false 9 | -------------------------------------------------------------------------------- /main/src/main/res/values-zh-rTW/bools.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | true 8 | 9 | -------------------------------------------------------------------------------- /main/src/main/res/values/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | true 9 | false 10 | -------------------------------------------------------------------------------- /main/src/main/res/values/colours.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | #3F51B5 11 | #303F9F 12 | #FFA726 13 | #ffff00 14 | #ff0000 15 | 16 | @android:color/darker_gray 17 | 18 | 19 | #1AFFFFFF 20 | 21 | 22 | #ff0000 23 | #0000ff 24 | -------------------------------------------------------------------------------- /main/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 20dp 9 | 8dp 10 | false 11 | 12 | 48dp 13 | 1dp 14 | 4dp 15 | 16dp 16 | 96dp 17 | 56dp 18 | 16dp 19 | 16dp 20 | -------------------------------------------------------------------------------- /main/src/main/res/values/plurals.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | One month left 5 | %d months left 6 | 7 | 8 | One day left 9 | %d days left 10 | 11 | 12 | One hour left 13 | %d hours left 14 | 15 | 16 | One minute left 17 | %d minutes left 18 | 19 | -------------------------------------------------------------------------------- /main/src/skeleton/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 9 | 10 | 11 | 15 | 16 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /main/src/skeleton/java/de/blinkt/openvpn/activities/NotImplemented.java: -------------------------------------------------------------------------------- 1 | package de.blinkt.openvpn.activities; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | import android.widget.Toast; 6 | 7 | public class NotImplemented extends Activity { 8 | @Override 9 | protected void onCreate(Bundle savedInstanceState) { 10 | super.onCreate(savedInstanceState); 11 | Toast.makeText(this, "Not implemented", Toast.LENGTH_LONG).show(); 12 | finish(); 13 | } 14 | } -------------------------------------------------------------------------------- /main/src/skeleton/java/de/blinkt/openvpn/core/VariantConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2020 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package de.blinkt.openvpn.core; 7 | 8 | import android.content.Context; 9 | import android.content.Intent; 10 | 11 | public class VariantConfig { 12 | static Intent getOpenUrlIntent(Context c, boolean external) { 13 | return new Intent(Intent.ACTION_VIEW); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /main/src/skeleton/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /runcoverity.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | export PATH=$PATH:/Applications/cov-analysis-macosx-2021.03/bin 3 | 4 | if [ -z "${COVERITY_CONNECT_HOST}" ]; then 5 | echo COVERITY_CONNECT_HOST not set 6 | exit 1 7 | fi 8 | 9 | cov-configure --config .coverity/cfg.xml --clang 10 | cov-configure --config .coverity/cfg.xml --android 11 | cov-configure --config .coverity/cfg.xml --kotlin 12 | cov-configure --config .coverity/cfg.xml --java 13 | 14 | ./gradlew -b build.gradle.kts --no-daemon clean 15 | cov-build --dir .coverity/idir --config .coverity/cfg.xml ./gradlew -b build.gradle.kts --no-daemon assembleUiRelease 16 | 17 | cov-analyze --dir .coverity/idir --all --strip-path ${PWD}/main/src/main/cpp --strip-path ${PWD}/main/src --strip-path ${PWD} --strip-path /Users/arne/oss/android-sdk-macosx/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/ 18 | 19 | cov-commit-defects --dir .coverity/idir --ssl -host ${COVERITY_CONNECT_HOST} --stream icsopenvpn-styx-master --auth-key-file ~/.coverity/auth-key.txt 20 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2016 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | include(":main") 7 | include(":tlsexternalcertprovider") 8 | include(":remoteExample") 9 | //include(":yubikeyplugin") -------------------------------------------------------------------------------- /tlsexternalcertprovider/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /tlsexternalcertprovider/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /tlsexternalcertprovider/src/androidTest/java/de/blinkt/externalcertprovider/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2018 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package de.blinkt.externalcertprovider; 7 | 8 | import android.content.Context; 9 | import android.support.test.InstrumentationRegistry; 10 | import android.support.test.runner.AndroidJUnit4; 11 | 12 | import org.junit.Test; 13 | import org.junit.runner.RunWith; 14 | 15 | import static org.junit.Assert.*; 16 | 17 | /** 18 | * Instrumented test, which will execute on an Android device. 19 | * 20 | * @see Testing documentation 21 | */ 22 | @RunWith(AndroidJUnit4.class) 23 | public class ExampleInstrumentedTest { 24 | @Test 25 | public void useAppContext() { 26 | // Context of the app under test. 27 | Context appContext = InstrumentationRegistry.getTargetContext(); 28 | 29 | assertEquals("de.blinkt.externalcertprovider", appContext.getPackageName()); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tlsexternalcertprovider/src/main/java/de/blinkt/externalcertprovider/SelectCertificateActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012-2018 Arne Schwabe 3 | * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt 4 | */ 5 | 6 | package de.blinkt.externalcertprovider; 7 | 8 | import android.app.Activity; 9 | import android.content.Intent; 10 | import android.security.KeyChain; 11 | import android.os.Bundle; 12 | 13 | public class SelectCertificateActivity extends Activity { 14 | public static final String EXTRA_ALIAS = "de.blinkt.openvpn.api.KEY_ALIAS"; 15 | public static final String EXTRA_DESCRIPTION = "de.blinkt.openvpn.api.KEY_DESCRIPTION"; 16 | 17 | 18 | @Override 19 | protected void onCreate(Bundle savedInstanceState) { 20 | super.onCreate(savedInstanceState); 21 | setContentView(R.layout.activity_main); 22 | findViewById(R.id.nicecert).setOnClickListener((v) -> 23 | { 24 | Intent intent = new Intent(); 25 | intent.putExtra(EXTRA_ALIAS, "mynicecert"); 26 | intent.putExtra(EXTRA_DESCRIPTION, "Super secret example key!"); 27 | setResult(RESULT_OK, intent); 28 | finish(); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tlsexternalcertprovider/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 19 | 20 |