La figure 3 montre le code source d'un programme de sortie, en utilisant le point de sortie Validate Password, qui détermine si le nouveau mot de passe contient la chaîne “13”.
Exemple de programme de sortie IBM i
Le programme, nommé Password Validation Exit ou PWDVLDEXIT, définit les deux paramètres qui lui ont été passés par le point de sortie. Le premier paramètre, PwdParm, est défini comme étant semblable à la structure de données EVLQVPI. Cette structure de données est fournie par IBM dans la bibliothèque QSYSINC, si vous avez installé l’option 13 (System Openness Includes) de l’OS i.
IBMi, Exemple de programme de sortie
Vous pouvez trouver la source pour la structure de données dans le membre EVLDPWD1 du fichier source QRPGLESRC. Si vous vous demandez comment j’ai connu ce nom de membre, regardez donc la documentation de la figure 1. Dans le membre EVLDPWD1 se trouve une définition de structure de données pour les champs de taille fixe documentés dans la figure 2. La figure 4 montre cette structure de données.
Après avoir défini les deux paramètres (et utilisé /copy pour copier la définition QSYSINC montrée dans la figure 4), le programme de sortie PWDVLDEXIT définit la variable pointeur NewPwd_Ptr et la variable basée NewPwd.
Ces variables sont utilisées pour accéder à la nouvelle valeur de mot de passe transmise au programme de sortie. J’aurais pu écrire l’exemple de programme en utilisant des opérateurs substring sur une structure de données NewParm déclarée explicitement, assez grande pour contenir les anciens et les nouveaux mots de passe, plutôt que d’utiliser une variable basée comme je l’ai fait.
Mais une approche pointeur offre une meilleure rétro compatibilité si IBM décide d’ajouter davantage d’informations à la structure de données EVLQVPI dans une future release.
Autrement dit, si le fournisseur du point de sortie (IBM, en l’occurrence) décide, dans un an, de fournir des informations supplémentaires après le CCSID d’un nouveau champ de mot de passe (EVLIDONP dans le membre include fourni par IBM), je ne serai pas obligé d’augmenter la taille déclarée de ma structure de données sous-chaînée pour contenir la structure plus grande.
Quand le programme de sortie est appelé par le système, il règle le pointeur NewPwd_Ptr vers l’emplacement de la nouvelle valeur de mot de passee en prenant l’adresse du paramètre PwdParm et en ajoutant le Offset à la nouvelle valeur de mot de passe (EVLOTNP) fournie dans PwdParm.
Le programme de sortie scrute alors la nouvelle valeur de mot de passe pour voir la longueur (Length) du nouveau mot de passe (EVLLONP), pour déterminer si la chaîne “13” est trouvée.
Si elle ne l’est pas, le paramètre AllowPwd est mis à 0, indiquant que le nouveau mot de passe est correct. Si la chaîne est trouvée, AllowPwd est mis à 1, indiquant que le nouveau mot de passe n’est pas acceptable. Et le programme recommence. Pour créer le programme PWDVLDEXIT dans QGPL, vous pouvez utiliser la commande CRTBNDRPG PGM(QGPL/PWDVLDEXIT)
Après cette brève description du programme de sortie, voyons ce qui est nécessaire pour que le système appelle notre programme.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Afficher les icônes cachées dans la barre de notification
Les plus consultés sur iTPro.fr
- Le futur de la cryptographie post-quantique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Deepfakes et IA : 64% des Français pensent savoir les détecter, mais la confiance reste fragile
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
