Here are all of the Critical Angle, Inc. patches to the University of Michigan LDAP server, version 3.3. In addition, there are my patches to make it work with Draft 4 Pthreads, and my patches for FreeBSD platform support. I have also added patches for FD_SETSIZE to be used when a select fd count is required, in place of getdtablesize(). Using getdtablesize(2) is wrong, except on systems which do not have a specific FD_SETSIZE value (on most such systems, FD_SETSIZE will be defined as a call to getdtablesize(2)). In the FreeBSD platform support files, I also defined PTHREAD_PREEMPTIVE for MIT Pthreads. This is because there is an apparent misunderstanding on the part of the LDAP authors about the difference between explicit and implicit yield-based threading. Someone should turn this into a "port" (but not me).