1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448
|
#
# $Id: TODO,v 1.138 2005/12/07 21:16:18 evertonm Exp $
#
Legend:
- = todo
/ = in progress
+ = done
......................................................................
Wishlist:
- Would handling of exceptional events on sockets add any benefit?
- Actually fix the FIXMEs in the code.
- Non-standard HTTP with SRV/_http._tcp.domain, A/domain?
- Use garbage collection for memory management?
As build-time option?
Keep the application in charge of it?
Anyone?
- Launch auxiliary queries to follow CNAME chains? I believe we
don't need to use extra queries for CNAME chains, because the
recursive name server is supposed to fetch the whole chain
for us. Not sure, though.
- Use round-trip times to better distribute load among recursive
name servers?
- Add an reverse-lookup layer to the raw resolver in order to
fetch IN PTR records across CNAME chains?
- Add a CNAME-aware layer to the raw resolver in order to
fetch arbitrary record types across CNAME chains?
- ruli_txt: Recognize rfc1035-quoting (section 5.1)
slash"\.".org
slash"\046".org
This will require a variable max-length for txt dst
decoding buffer.
Relatively hard at first.
- Use EDNS0 to support larger UDP segments.
- Special behavior (smtp, http, ...) under ruli_getaddrinfo().
- check packaging against Debian Library Packaging Guide:
http://www.netfort.gr.jp/~dancer/column/libpkg-guide/
-x-
Changes:
......................................................................
0.37
- New: Autoconf/automake/libtool support.
- Rgr: Regression test cases for special SRV behavior.
(SMTP, HTTP, ...)
- Rgr: Basic regression test cases for synchronous API.
- New: Add optional logging for RULI major events and/or errors.
- New: Permit the user to limit the number of concurrent queries
thus preventing accidental overload of the library.
- New: ruli_sync: Periodically (or on usage threshold)
reload config: /etc/resolv.conf.
- New: ruli_res: Periodically (or on usage threshold)
refresh config: nameserver list & search list.
......................................................................
0.36
+ Fix: Solaris 9 port.
......................................................................
0.35
+ New: Sample code for runtime detection (dlopen()) of libruli.so.
(see sample/run_getaddrinfo.c for example of runtime code)
......................................................................
0.34
+ New: Mikael Magnusson patch to allow CNAME in SRV targets.
+ Fix: Added 'rfc3484' resolver option to sample programs.
+ Fix: Safer sockaddr structure for recvfrom().
......................................................................
0.33
+ Fix: ruli_getaddrinfo: Mikael Magnusson patch to respect address
family specified in hints.
+ Fix: Support for RFC3484 - destination address selection.
+ New: SONAME increased to reflect ABI change.
......................................................................
0.32
+ Fix: Sort MX records by priority.
+ Fix: Sort addresses by family, delivering IPv6 first, if any.
+ Fix: ruli_http: Support for specific srv-based queries for http.
+ New: Binding for Lua language.
......................................................................
0.31
+ Cln: Minor clean-ups.
+ New: Perl module 0.02: namespace "Net::RULI".
+ New: Java native interface.
......................................................................
0.30
+ Fix: Compilation fix for gcc 3.4.
+ Fix: Better error code reporting for Guile extension.
+ Fix: Solaris port.
......................................................................
0.29
+ New: Guile extension.
......................................................................
0.28
+ Cln: Use ruli_host for all address lookups.
+ walk: + Use ruli_host for address lookups.
+ Major clean-up.
+ fall: + Use ruli_host for address lookups.
+ Major clean-up.
+ Fix: Increase SONAME due to ABI changes (changed struct's members).
API remains though.
......................................................................
0.27
+ Fix: Removed INSTALL_DIR from compiler/linker search path.
+ New: Resolver options.
+ uri_port
+ nowalk
+ nofall
+ New: ruli_host: CNAME-aware, family-agnostic, address lookup layer.
......................................................................
0.26
+ Fix: ruli_smtp: Perform extra "walk" queries for MX exchange which
has no corresponding address record in the additional section?
Shouldn't MX additional processing handle this for us in the
recursive resolver? It seems MX TTL > MX target TTL partially
defeats "MX additional processing", unfortunately. Thus we
actually need to to work-around this issue by issuing queries
for address records.
+ New: Symbol versioning in shared library.
+ Fix: Solaris port.
+ Fix: ruli_addr: Better IPv6 print helper.
+ Cln: Prefix internal non-static functions with '_'.
......................................................................
0.25
+ Fix: ruli_srv: Perform 2 separate queries for addresses (IN_AAAA,
IN_A), instead of a single IN_ANY query.
+ walk_query
+ fall_query
+ Fix: Debian compiler warning for m68k, powerpc, hppa.
......................................................................
0.24
+ New: IPv6 support: AAAA resource records.
+ Fix: Better portability for ruli_getaddrinfo().
......................................................................
0.23
+ Fix: Add IPv6 support for 'tools'.
+ Fix: Perl binding updated to new address-family-aware API.
+ Fix: PHP binding updated to new address-family-aware API.
+ Fix: Incorrect pointer arithmetic in ruli_getaddrinfo().
......................................................................
0.22
+ New: IPv6 support: PF_INET6 protocol family as transport.
+ New: Change fsm to use IPv6 UDP sockets. TCP is for free.
+ New: load IPv6 nameserver addresses.
+ New: API changed to support IPv6.
+ New: ruli_inet6_ntoa(): detect valid IPv6 address.
+ New: Added ruliwrap wrapper (from http://weinholt.se/hacks/)
as ruli_getaddrinfo().
......................................................................
0.21
+ Fix: 'class' replaced by 'qclass' to avoid clash with c++ keyword.
+ Cln: Better support for Debian packaging.
+ Cln: Better portability.
......................................................................
0.20
+ New: Example programs for the Perl module.
+ New: Minimal man pages for sample programs.
+ New: Debian binary package 'libruli-bin' for sample programs.
......................................................................
0.19
+ New: Binding for Perl.
......................................................................
0.18
+ Cln: More friendly to Debian packaging.
+ New: Added bogus manpage for Debian.
+ New: Added 'debian' directory for package debianization.
+ Fix: Retrieve MX Exchange (in place of MX Owner) as SRV target.
+ New: Binding for PHP4.
......................................................................
0.17
+ Cln: Compatibility with newer gcc.
+ Fix: Better handling of remotely closed connection.
+ New: Better internal array structure.
......................................................................
0.16
+ Fix: Default config unloader was being improperly called.
+ New: Return priority/weight values in high-level interfaces.
+ New: Non-standard SMTP with SRV/_smtp._tcp.domain, MX/domain,
A/domain.
......................................................................
0.15
+ Fix: Server round-robin scanning is reset for every suffix of the
search list.
+ Cln: More ISAAC name space clean-ups.
+ New: ruli_search: Simpler, higher-level API for SRV queries.
Previous RULI's standard SRV API (ruli_srv) seemed too
complex for simple queries with trivial behavior.
+ Fix: Sample tools have been using incorrect buffer sizes for
domain names in textual form. This limited the maximum
domain name length to 252 characters instead of 253.
+ New: Sample programs under 'sample' directory show how to
write SRV-aware applications.
+ Cln: ruli_sync based on ruli_search.
+ New: ruli_search: Higher-level API for easy resolver creation.
+ Fix: Regression errors.
......................................................................
0.14
+ ruli_txt: Clean-up label handling API: ruli_txt.
+ ruli_res: Implement search list.
+ ruli_sync: Use a search list as defined by
'search'/'domain' clauses of /etc/resolv.conf.
+ Code clean-up.
......................................................................
0.13
+ ruli_rand: Use random generator with explicit state: ISAAC.
+ Clean up of ISAAC name space.
+ Follow CNAME chains while falling back to IN A queries.
Would require loop detection or limit the max chain depth.
+ Basic regression test cases for SRV API.
+ Clean up of obsolete domain comparisson code.
+ Fixed possible memory leaking in fallback answer processing.
+ Fixed possible memory leaking in "walk" answer processing.
......................................................................
0.12
+ Code clean-up.
+ Comprehensive, automated regression test cases for underlying
resolver.
+ Stricter (paranoid) checking of servers answers for flags, opcode.
......................................................................
0.11
+ ruli_srv: Better RCODE kind semantics.
+ Report timeout (alarm) condition on sample tools.
+ Checking of target-walk and fallback answer IN A records.
+ Code clean-up.
+ Stricter compiler warnings.
+ Minor bugfix: ruli_srv_t.qdomain_len was not being initialized.
+ ruli_srv: Check owner match.
+ ruli_txt: Detect name compression loop.
......................................................................
0.10
+ Return error when fallback IN A query can't find any
address.
+ Portability fixes for Solaris 7.
+ Synchronization with HTML documentation.
+ syncsolver: Minor fix for stdin parsing.
......................................................................
0.9
+ Fixed assert() triggered by late UDP answers reaching
us when we have switched to another state due to timeout.
+ Better checks of function return results for ruli_list_new(),
ruli_list_parse(), ruli_list_push().
-x-
|