diff --git a/trunk/includes/addons/LSaddons.samba.php b/trunk/includes/addons/LSaddons.samba.php index 20a9284a..73ab72a4 100644 --- a/trunk/includes/addons/LSaddons.samba.php +++ b/trunk/includes/addons/LSaddons.samba.php @@ -121,7 +121,7 @@ } /** - * Generation de sambaSID + * Generation de sambaSID d'un utilisateur * * @author Benjamin Renard * @@ -132,7 +132,7 @@ * * @retval string SambaSID ou false si il y a un problème durant la génération */ - function generate_sambaSID($ldapObject) { + function generate_sambaUserSID($ldapObject) { if ( get_class($ldapObject -> attrs[ LS_SAMBA_UIDNUMBER_ATTR ]) != 'LSattribute' ) { $GLOBALS['LSerror'] -> addErrorCode('SAMBA_01',array('dependency' => LS_SAMBA_UIDNUMBER_ATTR, 'attr' => 'sambaSID')); return; @@ -145,6 +145,32 @@ return ($sambaSID); } + + /** + * Generation de sambaSID d'un groupe + * + * @author Benjamin Renard + * + * Number = LS_SAMBA_GIDNUMBER_ATTR * 2 + LS_SAMBA_SID_BASE_GROUP + * sambaSID = LS_SAMBA_DOMAIN_SID-Number + * + * @param[in] $ldapObject L'objet ldap + * + * @retval string SambaSID ou false si il y a un problème durant la génération + */ + function generate_sambaGroupSID($ldapObject) { + if ( get_class($ldapObject -> attrs[ LS_SAMBA_GIDNUMBER_ATTR ]) != 'LSattribute' ) { + $GLOBALS['LSerror'] -> addErrorCode('SAMBA_01',array('dependency' => LS_SAMBA_GIDNUMBER_ATTR, 'attr' => 'sambaSID')); + return; + } + + $gidnumber_attr_val = $ldapObject -> attrs[ LS_SAMBA_GIDNUMBER_ATTR ] -> getValue(); + $gidnumber_attr_val = $gidnumber_attr_val[0]; + $gidNumber = $gidnumber_attr_val * 2 + LS_SAMBA_SID_BASE_GROUP; + $sambaSID = LS_SAMBA_DOMAIN_SID . '-' . $gidNumber; + + return ($sambaSID); + } /** * Generation de sambaPrimaryGroupSID