Correction ordre de lancement des commandes trap
Correction d'un bug qui n'intervenait que dans une situation précise mais qui faisait que la fonction de déconnexion ne se lançait pas et laissait de ce fait les fichiers de configurations générés dans les répertoires sans les supprimer. Explications : Si lors de la connexion avec l'ancienne version (ouverture du premier terminal parent) vous effectuez un CTRL+C (que vous tuez le programme) alors les commandes "trap" sensées faire le nettoyage par la fonction identities_destroy n'étaient pas mises en place. Si par la suite vous lanciez "identities_create" dans le terminal sans resourcer ce dernier, la fonction identities_create se serait exécutée normalement, mais les commandes trap ne seraient toujours pas en place. Dans cette situation, lors d'une déconnexion, le nettoyage par la fonction "identities_destroy" n'intervient pas. Bien que les variables et les clés SSH soient en mémoire vive et de ce fait de facto protégés et non affectés par ce problème, les fichiers placés dans les différents répertoires eux ne sont pas nettoyés. Avec la nouvelle version de l'utilitaire, j'ai supprimée le bloc de condition exécuté à la fin afin d'intégrer les commandes trap au sein de la fonction identities_create, à des endroits stratégiques pour que la mise en place des commandes trap s'effectue peu importe si la fonction est tuée ou non, et à quel moment. La différenciation entre terminal parent et enfant est également prise en compte au sein de la fonction identities_create, faisant du bloc de condition final de la version précédente une partie inutile du code.
This commit is contained in:
parent
9662cff696
commit
a17b0ba7c1
@ -7,7 +7,8 @@ identities_create() {
|
|||||||
Inception_Detect=0
|
Inception_Detect=0
|
||||||
|
|
||||||
if [ -z "${BW_Session}" ] || [ "${#BW_Session}" -lt 10 ]; then
|
if [ -z "${BW_Session}" ] || [ "${#BW_Session}" -lt 10 ]; then
|
||||||
Local_Version="2.2.5"
|
trap identities_destroy EXIT
|
||||||
|
Local_Version="2.2.6"
|
||||||
Latest_Version=$(curl -s "https://gitea.cloudyfy.fr/Siphonight/bw-cli_autologger/src/branch/main/bw_cli_autolog.sh" | grep -m1 "Local_Version" | cut -d ';' -f 2 | cut -d '&' -f 1)
|
Latest_Version=$(curl -s "https://gitea.cloudyfy.fr/Siphonight/bw-cli_autologger/src/branch/main/bw_cli_autolog.sh" | grep -m1 "Local_Version" | cut -d ';' -f 2 | cut -d '&' -f 1)
|
||||||
if [ "${Local_Version}" != "${Latest_Version}" ]; then
|
if [ "${Local_Version}" != "${Latest_Version}" ]; then
|
||||||
tput setaf 1
|
tput setaf 1
|
||||||
@ -33,6 +34,7 @@ identities_create() {
|
|||||||
if [ "${BW_List}" != "" ]; then
|
if [ "${BW_List}" != "" ]; then
|
||||||
|
|
||||||
if [ "${Inception_Detect}" != "1" ]; then
|
if [ "${Inception_Detect}" != "1" ]; then
|
||||||
|
trap 'kill $SSH_AGENT_PID' EXIT
|
||||||
unset BW_Session
|
unset BW_Session
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -82,9 +84,3 @@ identities_destroy() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
identities_create
|
identities_create
|
||||||
|
|
||||||
if [ -n "${BW_Session}" ]; then
|
|
||||||
trap identities_destroy EXIT
|
|
||||||
else
|
|
||||||
trap 'kill $SSH_AGENT_PID' EXIT
|
|
||||||
fi
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user