Attention : le support de WAPT 1.8.2 a pris fin le 30 juin 2022.

Il y a plusieurs vulnérabilité présente dans la branche WAPT 1.8.2.7393. Merci de mettre à jour sur la version supportée la plus récente. Liste des CVEs (non exhaustive) :
  • * python engine : python 2.7 (CVE-2020-10735, CVE-2015-20107, CVE-2022-0391, CVE-2021-23336, CVE-2021-3177, CVE-2020-27619, CVE-2020-26116, CVE-2019-20907, CVE-2020-8492, etc.)
  • * cryptography : openssl : CVE-2022-2068, CVE-2022-1292, CVE-2022-0778, CVE-2021-4160, CVE-2021-3712, CVE-2021-23841, CVE-2021-23840, CVE-2021-23839, CVE-2020-1971, CVE-2020-1968, CVE-2019-1551
  • * python dependencies : cryptography (CVE-2020-36242, CVE-2020-25659), eventlet (CVE-2021-21419), jinja2 (CVE-2020-28493), psutil (CVE-2019-18874), waitress (CVE-2022-31015), lxml (CVE-2021-4381, CVE-2021-28957, CVE-2020-27783, CVE-2018-19787), ujson (CVE-2022-31117, CVE-2022-31116, CVE-2021-45958), python-ldap (CVE-2021-46823)

Recompiler WAPT à partir des sources

Construire l’agent WAPT pour Windows

Exigences liées à WAPT

Environment Python

  • Python 2.7.13 ;

  • client python libraries in requirements.txt ;

  • server python libraries in requirements-server.txt ;

Environment Lazarus

WAPT utilise les bibliothèques tierces freepascal / lazarus suivantes :

Packages TIS

Créer un environment de développement virtualenv

Pour une installation propre de zéro sur Windows :

c:\python27\python -m pip install -U pip setuptools
  • créer l’environment de développement virtualenv ;

    mkdir c:\tranquilit
    git clone git@github.com:tranquilit/WAPT.git (ou git clean -fxd ...)
    cd c:\tranquilit\wapt init_workdir.bat
    

Créer un environment de développement avec virtualenv

En tant qu’un Administrateur Local sur une installation fraîche de Windows 7 :

  • installer l’agent WAPT à partir de https://srvwapt.mydomain.lan/wapt/waptagent.exe;

  • désactiver les UAC ;

  • afficher les fichiers cachés et les extensions de fichiers ;

  • augmenter la largeur des fenêtres du CMD et passer en mode édition rapide ;

Installer Lazarus

wapt-get install tis-pyscripter tis-tortoisegit tis-7zip tis-python27 tis-notepadplusplus tis-firefox tis-putty tis-lazarus tis-openssh tis-signtool

wget https://www.sqlite.org/2018/sqlite-dll-win32-x86-3250200.zip
unzip sqlite3.dll dans C:\Windows\SysWOW64
md c:\tranquilit

REM git.exe clone --recurse-submodules "https://github.com/tranquilit/WAPT.git" "C:\tranquilit\wapt"
git.exe clone --recurse-submodules "https://github.com/tranquilit/WAPT.git" "C:\tranquilit\wapt"
REM git pull --recurse-submodules=yes --ff-only)
cd  \tranquilit\wapt
init_workdir.bat

git clone https://github.com/tranquilit/pltis_indy.git c:\tranquilit\pltis_indy
git clone https://github.com/tranquilit/pltis_utils.git c:\tranquilit\pltis_utils
git clone https://github.com/tranquilit/pltis_sogrid.git  c:\tranquilit\pltis_sogrid
git clone https://github.com/tranquilit/pltis_superobject.git  c:\tranquilit\pltis_superobject
git clone https://github.com/tranquilit/pltis_python4delphi.git c:\tranquilit\pltis_python4delphi
git clone https://github.com/tranquilit/pltis_virtualtrees.git c:\tranquilit\pltis_virtualtrees
git clone https://github.com/tranquilit/pltis_virtualtreesextra.git c:\tranquilit\pltis_virtualtreesextra
git clone https://github.com/tranquilit/pltis_dcpcrypt.git c:\tranquilit\pltis_dcpcrypt
git clone https://github.com/tranquilit/pltis_luipack.git c:\tranquilit\pltis_luipack
git clone https://github.com/tranquilit/pltis_synapse.git c:\tranquilit\pltis_synapse

c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_dcpcrypt\dcpcrypt_laz.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_indy\indylaz.lpk
c:\lazarus\lazbuild.exe c:\tranquilit\pltis_utils\pltis_utils.lpk
c:\lazarus\lazbuild.exe c:\tranquilit\pltis_superobject\pltis_superobject.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_virtualtrees\pltis_virtualtrees.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_virtualtreesextra\pltis_virtualtreesextra.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_sogrid\pltis_sogrid.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_dcpcrypt\dcpcrypt_laz.lpk
c:\lazarus\lazbuild.exe c:\tranquilit\pltis_synapse\laz_synapse.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_luipack\luicomponents\luicomponents.lpk
c:\lazarus\lazbuild.exe --add-package c:\tranquilit\pltis_luipack\luicomponents\luicomponents.lpk
c:\lazarus\lazbuild.exe --add-package C:\tranquilit\pltis_python4delphi\PythonForDelphi\Components\p4dlaz.lpk
c:\lazarus\lazbuild.exe --add-package C:\lazarus\components\anchordocking\design\anchordockingdsgn.lpk
c:\lazarus\lazbuild.exe --build-ide=
c:\lazarus\lazbuild.exe c:\tranquilit\wapt\wapt-get\pltis_wapt.lpk

REM depending on version, change community to enterprise
waptpython build_exe.py community

Installer l’environnement serveur sur Windows

cd \tranquilit\wapt
waptpython waptserver\winsetup.py all

Créer les installeurs InnoSetup

Les fichiers .iss se situent dans C:\tranquilit\wapt\waptsetup ;

L’installeur waptsetup inclut les bibliothèques python, l’outil en ligne de commande wapt-get, le webservice local waptservice, les outils de packaging et la console WAPT waptconsole.

Le programme waptserver permet de construire un installeur qui inclut un serveur Nginx en frontal pour le webservice Flask waptserver.py.

L’installeur waptstarter n’inclut que le code pour le webservice local et l’outil en ligne de commande wapt-get, mais pas la console WAPT waptconsole, ni les outils de packaging.

Clic-droit sur le fichier iss ‣ Compiler crée un installeur avec InnoSetup.

ou en ligne de commande :

"C:\Program Files (x86)\Inno Setup 5\ISCC.exe" C:\tranquilit\wapt\waptsetup\waptsetup.iss

Les paramètres généraux des installeurs sont définis par des #define en entête de fichier.

Si vous ne signez pas les installeurs, vous pouvez commenter les lignes #define signtool ...

Construire l’agent WAPT pour MacOS

Générer le paquet de l’agent

  • si vous n’avez pas accès à la commande sudo, vous devrez activer l’utilisateur root ;

  • à partir de la racine du répertoire WAPT, naviguer vers waptservice/pkg ;

  • exécuter le script createpkg avec des droits d’administrateur ;

    sudo ./createpkg.py
    

Il peut demander des logiciels supplémentaires (les outils de développement en ligne de commande) et les installer après une invite à laquelle vous devrez répondre : guilabel:Yes ;

  • le paquet de l’agent WAPT aurait dû être généré, sous un nom du type tis-waptagent-1.7.6.6550-tismacos-fdc24bca.pkg ;

Installer le paquet de l’agent WAPT

  • exécuter la commande suivante sur votre MacOS :

    sudo installer -pkg tis-waptagent*.pkg -target /
    

Si l’installation est réussie, vous devriez avoir les fichiers wapt dans /opt et accéder aux commandes wapt, wapt-get, waptpython et waptservice.

  • l’agent devrait se lancer au prochain redémarrage, si vous voulez le lancer tout de suite, vous pouvez avec la commande suivante :

    sudo launchctl load -w /Library/LaunchDaemons/wapt.plist
    

Construire l’agent WAPT pour Linux

Construire l’environnement sur Debian Linux

mkdir ~/tranquilit/
cd ~/tranquilit/
git clone git@github.com:tranquilit/WAPT.git
cd ~/tranquilit/wapt/waptserver/deb
python createdeb.py
cd ~/tranquilit/wapt/waptrepo/deb
python createdeb.py