This recent CVS commit broke my LDAP sync so I had to revert the patch in my local repo. When updating users it would say "skipped" for all users. The problem seemed to be in the ldap_find_userdn function:
--> ldap_find_userdn(): was returning false every time
I didn't do much debugging beyond that, but reverted the patch and it's working again now.
BTW I have another patch that I've been using on a different installation which speeds up the LDAP sync dramatically (reduced the execution time from about 9 hours down to ~5mins). When doing the initial (cn=*) query, I modified the filter to request all the attributes that we need about the users, and then cache those results, which get_userinfo() then uses to return the info without having to do another search. As a result, only one LDAP search is actually performed rather than tens of thousands.
I've attached the patch here if anyone is interested.