The recent sysdb patch broke sysdb_store_user and by extension the unit
tests. Neither me nor Michal have noticed most probably due to a bug
either in our Makefile.am or perhaps even the autotools -- the tests
binary doesn't get rebuild on issuing a simple make tests.
Anyway, a fix for the sysdb_store_user() function is attached. When
testing, please make sure to make clean before building the tests.
I renamed the previous done label into fail label as it was only
reachable on error condition and used a new done label to shortcut to
the transaction commit.
I worked on solution of ticket https://fedorahosted.org/sssd/ticket/1150
and I already had
some solutions with macros, but I found them ugly and obfuscated or not
generic enough, so
they could not be used on all places where we use sysdb_transaction
So I decided not to implement any wrapper macros around these functions
(yet) and only
rewrite the places where we use sysdb_transactions to unify the way they
are used (and to remove bad
examples of usage).
In this patch, I did it for files in src/db/. If this patch is OK, I'll
try to spread this pattern to other modules
where sysdb_transaction_start/commit/cancel is used.
The patch is attached.
NOTE: Function sysdb_idmap_store_mappings looks like completely
rewritten, but it is not. Except of
changes related to sysdb_transaction it had only bad indentation.
this patch add support to use short/flat/NetBIOS domain names in a fully
qualifies user name. This becomes important when you want to use samba
in a setup with trusted domains.
Samba isn't very flexible here and looks for user names like
SHORTDOMNAME\username (only the delimiter '\' can be changed). If sssd
is configured with a regular expression like
to match samba's expectation currently only the DNS domain names are
compared with the requested domains and not the flat names.
this patch allows use of OpenSSH formatted public keys in LDAP. This is
needed to fix <https://fedorahosted.org/freeipa/ticket/2932>.
Note that this is just a quick fix, only the public key portion of an
OpenSSH formatted public key is used, options and comments are ignored.
A full fix will need more extensive changes in the code.
GCC defaults to gnu89 if no explicit standard was set by -std flag.
I think there is no reason to stick to this old standard. It was
discussed earlier off-list and if nobody has anything against it,
please apply this patch to use gnu99 instead of 89 (for gcc).
The patch is attached.