Summary: | Support SRV DNS resolution | ||
---|---|---|---|
Product: | [Unmaintained] kdelibs | Reporter: | Pierre THIERRY <nowhere.man> |
Component: | general | Assignee: | Thiago Macieira <thiago> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | coline_s |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Pierre THIERRY
2003-12-11 00:49:53 UTC
It's been in my TO-DO list for a couple of years. I hope to get it working for KDE 3.3. I am lacking, though, a working implementation to base on or use. You could dig in these projects: http://libsrv.sourceforge.net/ http://www.nongnu.org/ruli/ Thank you, I will take a look. *** Bug 93904 has been marked as a duplicate of this bug. *** DNS SRV support should be provided throughout, not just kio_http but kio_ftp, webdav, fish, etc. I am working on this: http://websvn.kde.org/branches/work/srv-resolution/ I forgot to CC this bug. SVN commit 443592 by thiago: Merging branch in branches/work/kdecorenetwork-srv-resolution back to the main line: implements SRV-based DNS lookups according to RFC 2782. The code is in working condition and should compile for everyone. Bug me if it doesn't. Missing feature: sort the per-priority entries according to weight. This is a "SHOULD" feature according to the RFC. I'll implement it somewhen. Foward-port to KDE4 will not happen now because there's no QDns replacement outside the Qt3Support library. M +3 -1 Makefile.am M +4 -2 kresolver.h M +10 -1 kresolvermanager.cpp A ksrvresolverworker.cpp branches/work/kdecorenetwork-srv-resolution/ksrvresolverworker.cpp#443589 A ksrvresolverworker_p.h branches/work/kdecorenetwork-srv-resolution/ksrvresolverworker_p.h#443589 --- branches/KDE/3.5/kdelibs/kdecore/network/Makefile.am #443591:443592 @@ -26,7 +26,8 @@ khttpproxysocketdevice.cpp \ ksockssocketdevice.cpp \ kbufferedsocket.cpp \ - ksocketbuffer.cpp + ksocketbuffer.cpp \ + ksrvresolverworker.cpp include_HEADERS = kresolver.h \ kreverseresolver.h \ @@ -48,6 +49,7 @@ kresolverworkerbase.h \ kresolverstandardworkers_p.h \ ksocketbuffer_p.h \ + ksrvresolverworker_p.h \ syssocket.h configdir = $(kde_confdir) --- branches/KDE/3.5/kdelibs/kdecore/network/kresolver.h #443591:443592 @@ -341,7 +341,8 @@ * be found and recorded * @li NoResolve: request that no external resolution be performed. The given * nodename and servicename will be resolved locally only. - * @li NoSrv: don't try to use SRV-based name-resolution. + * @li NoSrv: don't try to use SRV-based name-resolution. (deprecated) + * @li UseSrv: use SRV-based name resolution. * @li Multiport: the port/service argument is a list of port numbers and * ranges. (future extension) * @@ -353,7 +354,8 @@ CanonName = 0x02, NoResolve = 0x04, NoSrv = 0x08, - Multiport = 0x10 + Multiport = 0x10, + UseSrv = 0x20 }; /** --- branches/KDE/3.5/kdelibs/kdecore/network/kresolvermanager.cpp #443591:443592 @@ -53,8 +53,16 @@ #include "kresolver.h" #include "kresolver_p.h" #include "kresolverworkerbase.h" -#include "kresolverstandardworkers_p.h" +namespace KNetwork +{ + namespace Internal + { + void initSrvWorker(); + void initStandardWorkers(); + } +} + using namespace KNetwork; using namespace KNetwork::Internal; @@ -325,6 +333,7 @@ globalManager = this; workers.setAutoDelete(true); currentRequests.setAutoDelete(true); + initSrvWorker(); initStandardWorkers(); pid = getpid(); If a SHOULD feature doesn't work, shouldn't this bug remain open? SRV resolution works. Bug closed. The weighing per priority is subject of a new bug (wish) report. |