Hi, i have found a bug in the implementation of RFCFilter in Namespace Novell.Directory.Ldap.Rfc2251 which is used by the directory searcher.
The affected function is: private sbyte[] unescapeString(System.String string_Renamed) This function does some string encoding and returns the encoded string as a sbyte array. This bug in this function is the following: If string_Renamed contains none US-ASCII Characters (ASCII 7-bit) "unescapeString" encodes them to UTF-8 But the string returned in the sbyte array does not contain them, instead it contains null values for every none US-ASCII Char. If have traced down the problem to the following line: Array.Copy((System.Array) SupportClass.ToByteArray(utf8Bytes), 0, (System.Array)SupportClass.ToByteArray( octets), iOctets, utf8Bytes.Length); Here the converted Character (contained in utf8Bytes) should be copied to octets, but SupportClass.ToByteArray does not return a reference to octets but a new copy. Since then octets does never receive the encoded bytes -> returned value doesn't contain non US-ASCII Chars anymore. I think I can fix this bug, but I do not know how to commit my fix. Should I create a patch (using tortoise svn) and just submit it to this list or have I to do something else? Since this is a private function I also do not know how to write a test for this behavior. Thanks in advance Tobias Fischer _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
