Thanks. Fixed os-ip.c in CVS HEAD (but see below). [EMAIL PROTECTED] writes: > libraries/libldap/os-ip.c casts the argument to htons() to a short, it > should be an explicit unsigned short. This causes the use of high > port numbers to fail on systems where shorts are signed by default.
short is signed by definition. Do you have a test case? As far as I can tell it broke if the caller had the same error: storing a port number in a short, and passing that short to ldap_init() & co. And it broke on systems with 16-bit int, if there are such system around where OpenLDAP compiles in the first place. If we care about systems with 16-bit int, the proper fix is to also make LDAPURLDesc.lud_port and various 'port' function parameters unsigned. I have no idea if there is such a system which can even compile OpenLDAP though. -- Hallvard
