Re: [PEPr] -1 for Networking::Net_IDNA

From: Date: Wed, 04 Aug 2004 18:24:29 +0000
Subject: Re: [PEPr] -1 for Networking::Net_IDNA
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-32437@lists.php.net to get a copy of this message
On 4 Aug 2004 08:14:51 -0000, PEPr <pear-sys@php.net> wrote: > > Stefan Neufeind (http://pear.php.net/user/neufeind) has voted -1 on the proposal for > Networking::Net_IDNA. > > Proposal information: > http://pear.php.net/pepr/pepr-proposal-show.php?id=124 > Vote information: > > http://pear.php.net/pepr/pepr-vote-show.php?id=124&handle=neufeind > > Comment: > > I'm in favor of having such a class. But imho PHP4-support as well is needed - and > possible! > > The mappings you use at the beginning of the source-file are quite "long" - and not > too self-explanatory. I'd favor using the tables provided in the RFC. This should imho also > include using one table for replacements (replacing with nothing as well as replacing with one or > more chars). Your naming $_nm_casemap is somehow irritating - because not only uppercase is mapped, > but also several chars (like the German sz [means: "ß"], which is mapped to > "ss"). So this should be clarified. > > Support for encodings other than UTF-8 and ISO-8859-1 should be added. Currently you use a > boolean to specify if input is UTF-8. Imho that should be extended to provide a more open interface. > (Note: And then we could maybe use UCS-4 in the class, since it makes multibyte-string-handling > easier and probably faster - we might want to test that). It also saves you from decomposing the > string into an array. > > I wonder if using UTF-8 is "that easy". The RFC uses Unicode in UCS4-representation > for it's explanations, and so does your class internally. What if I'm able to provide > already existing UCS4 to your class? That would ease the work, but it's not possible with the > current class. > > Nameprep should be a separate function, as it's also a separate process by definition > (RFC). > > The RFC define that separate labels (as described in RFC3490) are en/decoded. However I > didn't find any place in the source where you split the domain-name at a dot, which separates > labels. According to the RFC all labels are encoded/decoded separately and later joined with dots > again. > > Imho generally a more RFC-strict implementation would be useful. > > All in all: I think given the parts mentioned above are added/corrected the class is > "okay". However, as has already been discussed on the mailinglists, several developers > would favor multi-charset-support as well as an open API to support several extensions if they are > present (mbstring, libiconv, ... as well as libidn !!!). > > Please have a look at the implementation at > http://pear.speedpartner.de/ (as David Rech already mentioned in his > comment). It has most of the "missing" features. The "to-do" points are > supporting other character-conversion libraries (e.g. libiconv) apart from the currently used > mbstring. Also support for libidn is already in the works. (Those two things are what David Rech is > already working on, as an addition to the existing implementation. Hope to see it finished soon :-)) > ). > > PS: Sorry, I was not able to give feedback on this package earlier due to workload. > I wish you would have commented earlier, I didn't realize that this didn't conform to the RFC. I would like to throw in my support for better RFC conformance and charset handling before the first stable release. -- DB_DataObject_FormBuilder - The database at your fingertips http://pear.php.net/package/DB_DataObject_FormBuilder paperCrane --Justin Patrin--

« previous php.pear.dev (#32437) next »