Later yesterday, I got kdenetwork 1.92 and set off to enable IPv6 on it. Now, I've got a question for kdenetwork's developers: did you know there was a class called KSocket that you were supposed to use?
Well, the only major program to not use KSocket was knode. There was some well-written code there, but completely redundant, to open a connection. I say redundant because that's exactly what KSocket was supposed to do. So, all in all, I removed that code (#if 0/#endif) and added half a dozen lines to enable KSocket in its place. That done, knode now speaks IPv6.
Kppp also uses socket() but I haven't had the time to check on what. What I did have time to change was the addition of some devfs serial devices that weren't present on it. Since you are not allowed to type your own dial-out device (should that be changed?), I added four new devices, /dev/tts/0, /dev/tts/1, etc.
That also meant checking the locking code for Kppp, since you can't create a file with a slash in its name.
I'd like to know what we're supposed to replace it with. I used an underscore ('_').
Also, I noticed that the locking code is still not correct. From what I know, you're supposed to lock the file you were given and lock any other devices your file pointed to, in case it was a symlink.
Patch is here: kdenetwork-1.92.1.diff