[yast-devel] announce: API changes in yast2-users and yast2-ldap
Hi hackers, those of you who are using neither .ldap agent nor any yast2-users API may hit Delete now. For others, I would like to announce that .ldap agent now uses original LDAP names of the object keys that are returned as a result of a search. For example, the search for user object which returned $[ "uidnumber" : 1000, "homedirectory" : "/home/hh", "uid" : "hh" ] now returns $[ "uidNumber" : 1000, "homeDirectory" : "/home/hh", "uid" : "hh" ] This change (required by feature 303596) affects the return value of all .ldap.search calls, so please check your code. I tried to grep for agent usage and update yast2-mail, yast2-ldap-server and yast2-samba-server, see the attached diff. Please review, or at least test it and submit the changes. The change also affects the API of yast2-users, since the module uses for its internal user and group representation the same keys as are defined for LDAP. So if you are using the keys directly, e.g. you are changing user name in this way: Users::SelectUser (1000); Users::EditUser ($[ "uidnumber" : 1111 ]); Users::CommitUser () etc. you have to change the line where the internal key is used, i.e. Users::EditUser ($[ "uidNumber" : 1111 ]); (However, I haven't find anyone using yast2-users module to add or edit users) If anything is not clear enough, please ask. Jiri -- Jiri Suchomel SUSE LINUX, s.r.o. e-mail: jsuchome@suse.cz Lihovarská 1060/12 tel: +420 284 028 960 190 00 Praha 9, Czech Republic http://www.suse.cz
Jiří Suchomel wrote:
Hi hackers, those of you who are using neither .ldap agent nor any yast2-users API may hit Delete now.
For others, I would like to announce that .ldap agent now uses original LDAP names of the object keys that are returned as a result of a search. For example, the search for user object which returned $[ "uidnumber" : 1000, "homedirectory" : "/home/hh", "uid" : "hh" ] now returns $[ "uidNumber" : 1000, "homeDirectory" : "/home/hh", "uid" : "hh" ] ...
Which effectively means none of YaST modules using .ldap will work in Alpha1 because of the timing of that change (API change 2 hours before submission deadline). We were unable to change our code in time. Affected packages: yast2-ldap-server, yast2-mail, yast2-samba-server, yast2-dns-server, yast2-dhcp-server. You might have changed the packages yourself and directly submit instead of creating patches. Anyway, thanks for the patches. Lukas
Lukas Ocilka wrote:
Jiří Suchomel wrote:
Hi hackers, those of you who are using neither .ldap agent nor any yast2-users API may hit Delete now.
For others, I would like to announce that .ldap agent now uses original LDAP names of the object keys that are returned as a result of a search. For example, the search for user object which returned $[ "uidnumber" : 1000, "homedirectory" : "/home/hh", "uid" : "hh" ] now returns $[ "uidNumber" : 1000, "homeDirectory" : "/home/hh", "uid" : "hh" ] ...
Which effectively means none of YaST modules using .ldap will work in Alpha1 because of the timing of that change (API change 2 hours before submission deadline). We were unable to change our code in time.
Affected packages: yast2-ldap-server, yast2-mail, yast2-samba-server, yast2-dns-server, yast2-dhcp-server.
You might have changed the packages yourself and directly submit instead of creating patches. Anyway, thanks for the patches.
By the way, what does it do with the old configuration? I mean, what does it do with already configured SLES 10 when we upgrade to SLES 11? Does it change the keys everywhere in LDAP or LDAP configuration just stops working? We have to somehow express the dependencies on the changed packages. L.
On út 22. července 2008, Lukas Ocilka wrote:
Lukas Ocilka wrote:
By the way, what does it do with the old configuration?
Nothing.
I mean, what does it do with already configured SLES 10 when we upgrade to SLES 11? Does it change the keys everywhere in LDAP or LDAP configuration just stops working?
Neither. Only YaST will not be able to read the configuration correctly because it usually checks for keys in lowercase. The objects themselves are saved in LDAP the same and correct way (they already were there in correct LDAP way before, it couldn't be otherwise). Please apply the patches and test the results. Report the bugs after it, not before.
We have to somehow express the dependencies on the changed packages.
If your package is requiring yast2-ldap, than you can require the version 2.17.1. Anyway, this is kind of incompatible change that should happen just between the realease of 2 bussines products (= now, before SLE11). Jiri -- Jiri Suchomel SUSE LINUX, s.r.o. e-mail: jsuchome@suse.cz Lihovarská 1060/12 tel: +420 284 028 960 190 00 Praha 9, Czech Republic http://www.suse.cz -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Hi Michael, I found that yast2-kerberos-server also uses .ldap.search. Please apply the attached diff and if you find a time, test the new version (with yast2-ldap-2.17.1) Jiri On út 22. července 2008, Jiří Suchomel wrote:
Hi hackers, those of you who are using neither .ldap agent nor any yast2-users API may hit Delete now.
For others, I would like to announce that .ldap agent now uses original LDAP names of the object keys that are returned as a result of a search. For example, the search for user object which returned $[ "uidnumber" : 1000, "homedirectory" : "/home/hh", "uid" : "hh" ] now returns $[ "uidNumber" : 1000, "homeDirectory" : "/home/hh", "uid" : "hh" ]
This change (required by feature 303596) affects the return value of all .ldap.search calls, so please check your code. I tried to grep for agent usage and update yast2-mail, yast2-ldap-server and yast2-samba-server, see the attached diff. Please review, or at least test it and submit the changes.
The change also affects the API of yast2-users, since the module uses for its internal user and group representation the same keys as are defined for LDAP. So if you are using the keys directly, e.g. you are changing user name in this way:
Users::SelectUser (1000); Users::EditUser ($[ "uidnumber" : 1111 ]); Users::CommitUser () etc.
you have to change the line where the internal key is used, i.e. Users::EditUser ($[ "uidNumber" : 1111 ]);
(However, I haven't find anyone using yast2-users module to add or edit users)
If anything is not clear enough, please ask.
Jiri
-- Jiri Suchomel SUSE LINUX, s.r.o. e-mail: jsuchome@suse.cz Lihovarská 1060/12 tel: +420 284 028 960 190 00 Praha 9, Czech Republic http://www.suse.cz
participants (2)
-
Jiří Suchomel
-
Lukas Ocilka