A component of aTrust, /usr/share/sangfor/aTrust/resources/bin/dmidecode_processor_tool,
seems to search for and try to run dmidecode in /usr/{bin,sbin}.
Exactly, it runs `sh -c 'path-to-dmidecode -t processor'` periodically
(or it is called periodically). If there is no dmidecode command in
/usr/bin or /usr/sbin, it runs `sh -c '-t processor'` instead, which
throws the `sh: 1: -t: not found` spam in console.
This commit creates a symbolic link to /bin/false in /usr/sbin/dmidecode
to suppress the spam.
- Change most of `EC` to `VPN` in the source code, since this project will not
be only for EasyConnect
- Dehardcode
- Refactor for more than one type of Sangfor VPN
Since non-amd64 deb packages of EasyConnect are proved to exist
(https://github.com/Hagb/docker-easyconnect/issues/25#issuecomment-1233369467),
the deb package should not be assume to be amd64 and architecture
specific code should be rewritten:
- Add EC_HOST build argument to tell Dockerfile the architecture of
EasyConnect package
- Whether to install cross toolchain and qemu-user and which package
should be install, is determined by EC_HOST and the local architecture
now, more specifically by build-scripts/get-echost-names.sh (no longer
hard-code amd64 cross toolchain)
- fake-hwaddr.so should follow the architecture of the EC deb, so
fake-hwaddr/Makefile uses CC envirnoment variable instead of
hard-coded x86_64-linux-gnu-gcc as c compiler now
- qemu_args is removed now. It was used to pass LD_PRELOAD to foreign
binaries under qemu-user, but now we pass LD_PRELOAD to the qemu
wrapper and wrapper will pass the LD_PRELOAD to the simulated
binaries
- split common part of dockerfiles to shell scripts in build-scripts
folder
- add support for non-amd64 GUI by replacing the electron binary with the
native one