Nouveaut??s de Solaris Express Developer Edition

Modification des types uid[lowbar]t et gid[lowbar]t

Cette évolution des outils pour développeur est une nouveauté de Developer version 9/07.

À compter de cette version, les types uid[lowbar]t et gid[lowbar]t , long (binaires 32 bits) et int (binaires 64 bits), ont été remplacés par le type uint32[lowbar]t. Ce type sert à la fois aux binaires 32 bits et 64 bits. Cette modification assure la compatibilité avec les autres systèmes d'exploitation.

Dans le cadre de la modification du type de uid[lowbar]t et gid[lowbar]t, l'implémentation Solaris réserve également les valeurs uid[lowbar]t et gid[lowbar]t allant de 231 à 232 - 2. La valeur 232 - 1 reste réservée à une utilisation en tant que valeur sentinelle. Les valeurs assignées dans cette nouvelle plage sont des affectations temporaires effectuées par le nouveau service de mappage d'identités. Ces valeurs ne sont, toutefois, pas conservées après une réinitialisation système. Par conséquent, il faut s'assurer que les applications n'écrivent pas de valeurs UID ou GID dans des fichiers persistants du système de fichiers. Elles ne doivent pas non plus transmettre ces valeurs par le biais d'une connexion réseau en guise de référence à une identité persistante. Pour assurer la persistance des informations, servez-vous du nom d'identité correspondant. Les utilitaires Solaris, tels que la commande tar, et le protocole de réseau NFSv4, respectent déjà ces pratiques.

Comme le nouveau et l'ancien types de uid[lowbar]t et gid[lowbar]t occupent la même quantité d'espace, les binaires existants ne sont pas affectés. C'est le cas, par exemple, des binaires compilés à l'aide d'anciennes définitions. Il est inutile alors de recompiler le code. Les binaires, les fichiers d'objets et les bibliothèques partagées (y compris celles liées à des bibliothèques partagées Solaris), ne sont pas non plus concernés.

Voici les effets de ces modifications :