Annotation of embedaddon/pimd/ChangeLog.org, revision 1.1.1.1
1.1 misho 1: #+TITLE: pimd | Change Log
2: #+AUTHOR: Ahmed Helmy, George Edmond Eddy, Pavlin Ivanov Radoslavov, and Markus Veranen
3: #+OPTIONS: toc:nil
4: #+OPTIONS: H:3 num:0
5: #+LaTeX_HEADER: \usepackage{parskip} \usepackage{a4wide}
6: #+LaTeX_CLASS_OPTIONS: [twoside, colorlinks=true, linkcolor=blue, urlcolor=blue]
7:
8: * Version 2.3.2: March 10, 2016
9:
10: Bug fix release. All users should upgrade, in particular FreeBSD users!
11:
12: ** Changes
13: - Minor code cleanup and readability changes to simplify the code.
14: - Update to libite v1.4.2 with improved =min()=/=max()= macros
15: - Use =-Wextra= not =-Werror= in default =CFLAGS=, this to ensure that pimd
16: still builds OK on newer and more pedantic compilers
17: - Update man page and example `pimd.conf` with details on `rp-candidate`
18: `bsr-candidate`, two very important settings for correct operation.
19:
20: ** Bug Fixes
21: - Issue #57: Multicast routing table not updated on FreeBSD. Introduced
22: with issue #23, in pimd v2.2.0. Too intrusive changes altered handling
23: (forwarding) of PIM register messages. This only affects BSD systems,
24: in particular FreeBSD 10.2 (current), or any FreeBSD < 11.0
25: - Issue #63: Mika Joutsenvirta <mailto:mika.joutsenvirta@insta.fi> found
26: and fixed serious issues with the PIM Assert timeout handling.
27: - Issue #65: Missing slash in config file path when using env. variable
28: - Issue #66: Make it possible to run =pimd= without a configuration
29: file. If =pimd= cannot find its configuration file it will use
30: built-in fallback settings for =bsr-candidate= and =rp-candidate=.
31: This to ensure you do not end up with a non-working setup. To disable
32: =bsr-candidate= and =rp-candidate=, simply leave them out of your
33: config file, and make sure =pimd= can find the file.
34: - Issue #69: Rate limit only what is actually logged. The =logit()=
35: function counted filtered messages, causing long periods of silence
36: for no reason. Fix by Apollon Oikonomopoulos <mailto:apollon@skroutz.gr>
37:
38: #+LATEX: \newpage
39: * Version 2.3.1: November 15, 2015
40:
41: Bug fix release.
42:
43: ** Changes
44: - Let build system handle missing libite GIT submodule
45: - Issue #61: Debian packaging moved to https://github.com/bobek/pkg-pimd
46:
47: ** Bug Fixes
48: - Issue #53: Build problem with Clang on FreeBSD
49: - Issue #55: Default config uses =/etcpimd.conf= instead of
50: =/etc/pimd.conf=. Slashes added and now =pimd -h= lists
51: the default path instead of a hard coded string.
52: - Issue #60: Fix minor spelling errors.
53:
54: #+LATEX: \newpage
55: * Version 2.3.0: July 31, 2015 -- /PIM-SSM & IGMPv3 release!/
56:
57: The significant new features in this release would not have been
58: possible if not for the hard work of Markus Veranen
59: <mailto:markus.veranen@gmail.com>
60:
61: Tested on Ubuntu 14.04 (GLIBC/Linux 3.13), Debian 8.1 (GLIBC/Linux
62: 3.16), FreeBSD, NetBSD, and OpenBSD.
63:
64: ** Changes and New Features
65: - Support for PIM-SSM and IGMPv3, by Markus Veranen
66: - IGMPv3 is now default, use =phyint ifname igmpv2= for old behaviour
67: - Default IGMP query interval has changed from 125 sec to 12 sec
68:
69: In =pimd.conf: igmp-query-interval <SEC>=
70:
71: - Default IGMP querier timeout has changed from 255 sec to 42 sec
72:
73: In =pimd.conf: igmp-querier-timeout <SEC>=
74:
75: - The built-in IGMP /robustness value/ changed from 2 to 3
76: - Support for changing the PIM Hello interval, by Markus Veranen
77:
78: In =pimd.conf: hello-interval <SEC>=
79:
80: - Support for multiple multicast routing tables, and running multiple
81: pimd instances, by Markus Veranen. (Only supported on Linux atm.)
82: - Support for advertising, and acting upon changes to, Generation ID
83: in PIM Hello messages, by Markus Veranen
84: - Support for advertising /DR Priority/ option in PIM Hello messages.
85: If all routers on a LAN send this option this value is used in the
86: DR election rather than the IP address. The priority is configured
87: per =phyint=. This closes the long-standing issue #5.
88: - Distribution archive format changed from XZ to Gzip, for the benefit
89: of OpenBSD that only ships Gzip in the base system.
90:
91: ** New pimd.conf syntax!
92:
93: The =pimd.conf= syntax has been changed in this release. Mainly, the
94: configuration file now use dashes =-= instead of underscore =_= as word
95: separators. However several settings have also been renamed to be more
96: familiar to commands used by major router vendors:
97:
98: - =bsr-candidate= :: replaces =cand_bootstrap_router=
99: - =rp-candidate= :: replaces =cand_rp=
100: - =group-prefix= :: replaces =group_prefix=
101: - =rp-address= :: replaces =rp_address=
102: - =spt-threshold= :: replaces the two deprecated
103: =switch_register_threshold= and =switch_data_threshold= settings
104: - =hello-interval= :: replaces =hello_period=
105: - =default-route-distance= :: replaces =default_source_preference=
106: - =default-route-metric= :: replaces =default-source-metric=
107:
108: Also, for =phyint= the =preference= sub-option has been replaced with
109: the less confusing =distance= and =ttl-threshold= replaces =threshold=.
110: See the README or the man page for more information on the metric
111: preference and admin distance confusion.
112:
113: /*Note:* The =pimd.conf= parser remains backwards compatible with the
114: old syntax!/
115:
116:
117: ** Compile Time Features
118:
119: The following are new features that must be enabled at compile time,
120: using the =configure= script, to take effect. For details, see
121: =./configure --help=
122:
123: - =--prefix=PATH= :: Standard prefix to be used at installation,
124: default =/usr/local=
125: - =--sysconfdir=PATH= :: Prefix path to be used for =pimd.conf=,
126: default =/etc=, unless =--prefix= is given.
127: - =--embedded-libc= :: Enable uClib or musl libc build, on Linux.
128: - =--disable-exit-on-error= :: Allow pimd to continue running despite
129: encountering errors.
130: - =--disable-pim-genid= :: Disable advertisement of PIM Hello GenID,
131: use for compatibility problems with older versions of pimd.
132: - =--with-max-vifs=MAXVIFS= :: Raise max number of VIFs to MAXVIFS.
133:
134: *Note:* this requires raising MAXVIFS in the kernel as well!
135: Most kernels cannot handle >255, if this is a problem, try using
136: multiple multicast routing tables instead.
137: - =--disable-masklen-check= :: Allow tunctl VIFs with masklen 32.
138:
139:
140: ** Bug Fixes
141: - Fix issue #40: FTBS with =./configure --enable-scoped-acls=
142: - Properly support cross compiling. It is now possible to actually
143: define the =$CROSS= environment variable when calling =make= to
144: allow cross compiling pimd. Should work with both GCC and Clang.
145: Tested on Ubuntu, Debian and FreeBSD.
146:
147: #+LATEX: \newpage
148: * Version 2.2.1: April 20, 2015
149: ** Bug Fixes
150: - Fix another problem with issue #22 (reopened), as laid out in
151: issue #37. This time the crash is induced when there is a link down
152: event. Lot of help debugging the propblem by @mfspeer, who also
153: suggested the fix -- to call =pim_proto.c:delete_pim_nbr()= in
154: =vif.c:stop_vif()= instead of just calling free.
155: - Fix issue with not checking return value of =open()= in daemonizing
156: code in =main()=, found by Coverity Scan.
157: - Fix issue with scoped =phyint= in =config.c=, found by Coverity Scan.
158: The =masklen= may not be zero, config file problem, alert the user.
159:
160:
161: #+LATEX: \newpage
162: * Version 2.2.0: December 28, 2014
163: ** Changes & New Features
164: - Support for IP fragmentation of PIM register messages,
165: by Michael Fine, Cumulus Networks
166: - Support =/LEN= syntax in =phyint= to complement =masklen LEN=, issue #12
167: - Add support for /31 networks, point-to-point, thanks to Apollon Oikonomopoulos
168: - Remove old broken SNMP support
169: - OpenBSD inspired cleanup (deregister)
170: - General code cleanup, shorten local variable names, func decl. etc.
171: - Support for router alert IP option in IGMP queries
172: - Support for reading IGMPv3 membership reports
173: - Update IGMP code to support FreeBSD >= 8.x
174: - Retry read of routing tables on FreeBSD
175: - Fix join/leve of ALL PIM Routers for FreeBSD and other UNIX kernels
176: - Tested on FreeBSD, NetBSD and OpenBSD
177: - Add very simple homegrown configure script
178: - Update and document support for =rp_address=, =cand_rp=, and
179: =cand_bootstrap_router=
180: - Add new =spt_threshold= to replace existing =switch_register_threshold=
181: and =switch_data_threshold settings=. Cisco-like and easier to understand
182:
183: ** Bug Fixes
184: - Fix to avoid infinite loop during unicast send failure, by Alex Tessmer
185: - Fix bug in bootstrap when configured as candidate RP, issue #15
186: - Fix segfault in =accept_igmp()=, issue #29
187: - Fix default source preference, should be 101 (not 1024!)
188: - Fix =ip_len= handling on older BSD's, thanks to Olivier
189: Cochard-Labbé, issue #23
190: - Fix default prefix len in static RP example in =pimd.conf=, should be /4
191: - Fix issue #31: Make IGMP query interval and querier timeout configurable
192: - Fix issue #33: pimd does not work in background under FreeBSD
193: - Fix issue #35: support for timing out other queriers from mrouted
194: - Hopefully fix issue #22: Crash in (S,G) state when neighbor is lost
195: - Misc. bug fixes thanks to Coverity Scan, static code analysis tool
196: https://scan.coverity.com/projects/3319
197:
198:
199: #+LATEX: \newpage
200: * Version 2.1.8: October 22, 2011
201: ** Changes & New Features
202: - Update docs of static Rendez-Vous Point, =rp_address=, configuration
203: in man page and example =pimd.conf=. Thanks to Andriy Senkovych
204: <mailto:andriysenkovych@gmail.com> and YAMAMOTO Shigeru <mailto:shigeru@iij.ad.jp>
205:
206: - Replaced =malloc()= with =calloc()= to mitigate risk of accessing
207: junk data and ease debugging. Thanks to YAMAMOTO Shigeru
208: <mailto:shigeru@iij.ad.jp>
209:
210: - Extend .conf file =rp_address= option with =priority= field. Code
211: changes and documentation updates by YAMAMOTO Shigeru
212: <mailto:shigeru@iij.ad.jp>
213:
214: ** Bug Fixes
215: - A serious bug in =pim_proto.c:receive_pim_register()= was found and
216: fixed by Jean-Pascal Billaud. In essence, the RP check was broken
217: since the code only looked at =my_cand_rp_address=, which is not set
218: when using the =rp_address= config. Everything works fine with
219: auto-RP mode though. This issue completely breaks the register path
220: since the JOIN(S,G) is never sent back ...
221:
222: - Fix FTBFS issues reported from Debian. Later GCC versions trigger unused
223: variable warnings. Patches and cleanup Antonin Kral <mailto:a.kral@bobek.cz>
224:
225: * Version 2.1.7: January 9, 2011
226: ** Changes & New Features
227: - The previous move of runtime dump files to =/var/lib/misc= have been
228: changed to =/var/run/pimd= instead. This to accomodate *BSD systems
229: that do not have the =/var/lib= tree, and also recommended in the
230: Filesystem Hierarchy Standard,
231: http://www.pathname.com/fhs/pub/fhs-2.3.html#VARRUNRUNTIMEVARIABLEDATA
232:
233:
234: #+LATEX: \newpage
235: * Version 2.1.6: January 8, 2011
236: ** Changes & New Features
237: - Debian package now conflicts with =smcroute=, in addition to
238: =mrouted=. It is only possible to run one multicast routing daemon
239: at a time, kernel limitation.
240:
241: - The location of the dump file(s) have been moved from =/var/tmp= to
242: =/var/lib/misc= due to the insecure nature of =/var/tmp=. See more
243: below.
244:
245: ** Bug Fixes
246: - =kern.c:k_del_vif()=: Fix build error on GNU/kFreeBSD
247:
248: - CVE-2011-0007: Insecure file creation in =/var/tmp=. "On USR1, pimd
249: will write to =/var/tmp/pimd.dump= a dump of the multicast route
250: table. Since =/var/tmp= is writable by any user, a user can create
251: a symlink to any file he wants to destroy with the content of the
252: multicast routing table."
253:
254: * Version 2.1.5: November 21, 2010
255: ** Changes & New Features
256: - Improved error messages in kern.c
257: - Renamed CHANGES to ChangeLog
258:
259: ** Bug Fixes
260: - Import mrouted fix: on GNU/Linux systems (only!) the call to
261: =kern.c:k_del_vif()= fails with: =setsockopt MRT_DEL_VIF on vif 3:
262: Invalid argument=. This is due to differences in the Linux and *BSD
263: =MRT_DEL_VIF= API. The Linux kernel expects to receive a =struct
264: vifctl= associated with the VIF to be deleted, *BSD systems on the
265: other hand expect to receive the index of that VIF.
266:
267: Bug reported and fixed on mrouted by Dan Kruchinin <mailto:dkruchinin@acm.org>
268:
269:
270: #+LATEX: \newpage
271: * Version 2.1.4: September 25, 2010
272: ** Changes & New Features
273: - Updates for support on Debian GNU/kFreeBSD, FreeBSD kernel with GNU userland.
274:
275: ** Bug Fixes
276: - Lior Dotan <mailto:liodot@gmail.com> reports that pimd 2.1.2 and
277: 2.1.3 are severely broken w.r.t. uninformed systematic replace of
278: =bcopy()= with =memcpy()= API.
279:
280: * Version 2.1.3: September 8, 2010
281: ** Changes & New Features
282: - =debug.c:syslog()=: Removed GNU:ism %m, use =strerror(errno)= instead.
283:
284: - Cleanup and ansification of a couple of files: rp.c, mrt.c, vif.c, route.c
285:
286: - Initialize stack variables to silence overzealous GCC on PowerPC and S/390.
287: Debian bug 595584, this closes pimd issue #3 on GitHub.
288:
289: ** Bug Fixes
290: - Merge bug fix for static-rp configurations from Kame's pim6sd route.c r1.28
291:
292: - Close TODO item by merging in relevant changes from Kame's pim6sd =vif.c r1.3=
293:
294: - Tried fixing =debug.c:logit()= build failure on Sparc due to mixup in headers
295: for =tv_usec= type.
296:
297:
298: #+LATEX: \newpage
299: * Version 2.1.2: September 4, 2010
300: ** Changes & New Features
301: - License change on mrouted code from OpenBSD team => pimd fully free
302: under the simlified 3-clause BSD license! This was also covered in
303: v2.1.0-alpha29.17, but now all files have been updated, including
304: LICENSE.mrouted.
305:
306: - Code cleanup and ansification.
307:
308: - Simplified Makefile so that it works seamlessly on GNU Make and BSD PMake.
309:
310: - Replaced all calls to =bzero()= and =bcopy()= with =memset()= and =memcpy()=.
311:
312: - Use =getopt_long()= for argument parsing.
313:
314: - Add, and improve, -h,--help output.
315:
316: - Add -f,--foreground option.
317:
318: - Add -v,--version option.
319:
320: - Add -l,--reload-config which sends SIGHUP to a running daemon.
321:
322: - Add -r,--show-routes which sends SIGUSR1 to a running daemon.
323:
324: - Add -q,--quit-daemon which sends SIGTERM to a running daemon.
325:
326: - Make it possible to call pimd as a regular user, for --help and --version.
327:
328: - Man page cleaned up, a lot, and updated with new options.
329:
330: ** Bug Fixes
331: - Replaced dangerous old string functions with safer =snprintf()= and =strlcpy()=
332:
333: - Added checks for =malloc()= return values, all over the code base.
334:
335: - Fixed issues reported by Sparse (CC=cgcc).
336:
337: - Make sure to retry syscalls =recvfrom()= and =sendto()= on signal (SIGINT).
338:
339: - Fix build issues on OpenBSD 4.7 and FreeBSD 8.1 thanks to Guillaume Sellier.
340:
341: - Kernel include issues on Ubuntu 8.04, Linux <= 2.6.25, by Nikola Knežević
342:
343: - Fix build issues on NetBSD
344:
345:
346: #+LATEX: \newpage
347: * Version 2.1.1: January 17, 2010
348:
349: Merged all patches from http://lintrack.org.
350:
351: ** Changes & New Features
352: - Bumping version again to celebrate the changes and make it easier for
353: distributions to handle the upgrade.
354: - =002-better-rp_address.diff=: Support multicast group address in static
355: Rendez-Vous Point .conf option.
356: - =004-disableall.diff=: Add -N option to pimd.
357: - =005-vifenable.diff=: Add enable keyword to phyint .conf option.
358:
359: ** Bug Fixes
360: - =001-debian-6.diff=: Already merged, no-op - only documenting in case anyone
361: wonders about it.
362: - =003-ltfixes.diff=: Various bug fixes and error handling improvements.
363: - =006-dot19.diff=: The lost alpha29.18 and alpha29.19 fixes by Pavlin Radoslavov.
364:
365: * Version 2.1.0, January 16, 2010
366: ** Changes & New Features
367: - Integrated the latest Debian patches from =pimd_2.1.0-alpha29.17-9.diff.gz=
368:
369: - Fixed the new file include/linux/netinet/in-my.h (Debian) so that the
370: #else fallback uses the system netinet/in.h, which seems to work now.
371:
372: - Bumped version number, this code has been available for a while now.
373:
374:
375: #+LATEX: \newpage
376: * Version 2.1.0-alpha29.19: January 14, 2005
377: ** Bug Fixes
378: - Don't ignore PIM Null Register messages if the IP version of the
379: inner header is not valid.
380:
381: - Add a missing bracket inside rsrr.c (a bug report and a fix by
382: <mailto:seyon@oullim.co.kr>)
383:
384: * Version 2.1.0-alpha29.18: May 21, 2003
385: ** Changes & New Features
386: - Compilation fix for Solaris 8. Though, no guarantee pimd still works on that
387: platform.
388:
389: - Define =BYTE_ORDER= if missing.
390:
391: - Update include/netinet/pim.h file with its lastest version
392:
393: - Update the copyright message of =include/netinet/pim_var.h=
394:
395: * Version 2.1.0-alpha29.17: March 20, 2003
396: ** Changes & New Features
397: - The mrouted license, LICENSE.mrouted, updated with BSD-like license!! Thanks to
398: the OpenBSD folks for the 2 years of hard work to make this happen:
399:
400: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/mrouted/LICENSE
401:
402: - Moved the pimd contact email address upfront in README. Let me repeat that here:
403: If you have any questions, suggestions, bug reports, etc., do NOT send them to
404: the PIM IETF Working Group mailing list! Instead, use the contact email address
405: specified in README.
406:
407: * Version 2.1.0-alpha29.16: February 18, 2003
408: ** Bug Fixes
409: - Compilation bugfix for Linux. Bug report by Serdar Uezuemcue
410: <mailto:serdar@eikon.tum.de>
411:
412: * Version 2.1.0-alpha29.15: February 12, 2003
413: ** Bug Fixes
414: - Routing socket descriptor leak. Bug report and fix by SUZUKI Shinsuke
415: <mailto:suz@crl.hitachi.co.jp>; incorporated back from pim6sd.
416:
417: - PIM join does not go upstream. Bug report and fix by SUZUKI Shinsuke
418: <mailto:suz@crl.hitachi.co.jp>; incorporated back from pim6sd.
419: #+BEGIN_EXAMPLE
420: [problem]
421: PIM join does not go upstream in the following topology, because oif-list
422: is NULL after subtracting iif from oif-list.
423:
424: receiver---rtr1---|
425: rtr2---|---rtr3----sender
426:
427: rtr1's nexthop to sender = rtr2
428: rtr2's nexthop to sender = rtr3
429:
430: [reason]
431: Owing to a difference between RFC2362 and the new pim-sm draft.
432: [solution]
433: Prunes iif from oiflist when installing it into kernel, instead of
434: PIM route calculation time.
435: #+END_EXAMPLE
436:
437: * Version 2.1.0-alpha29.14: February 10, 2003
438: ** Bug Fixes
439: - Bugfix in calculating the netmask for POINTOPOINT interface in config.c.
440: Bug report by J.W. (Bill) Atwood <mailto:bill@cs.concordia.ca>
441:
442: - =rp.c:rp_grp_match()=: SERIOUS bugfix in calculating the RP per group when there
443: are a number of group prefixes in the Cand-RP set. Bug report by Eva Pless
444: <mailto:eva.pless@imk.fraunhofer.de>
445:
446: * Version 2.1.0-alpha29.13: November 7, 2002
447: ** Bug Fixes
448: - Bugfix in rp.c =bootstrap_initial_delay()= in calculating BSR election delay.
449: Fix by SAKAI Hiroaki <mailto:sakai.hiroaki@finet.fujitsu.com>
450:
451: * Version 2.1.0-alpha29.12: September 26, 2002
452: ** Bug Fixes
453: - Increase size of send buffers in the kernel. Bug report by Andrea Gambirasio
454: <mailto:andrea.gambirasio@softsolutions.it>
455:
456: * Version 2.1.0-alpha29.11: July 8, 2002
457: ** Bug Fixes
458: Bug reports and fixes by SAKAI Hiroaki <mailto:sakai.hiroaki@finet.fujitsu.com>
459:
460: - =init_routesock()=: Bugfix: initializing a forgotten variable. The particular
461: code related to that variable is commented-out by default, but a bug is a bug.
462:
463: - =main.c:restart()=: Bugfix: close the =udp_socket= only when it is
464: is different from =igmp_socket=.
465:
466: - =main.c:main()=: if SIGHUP signal is received, reconstruct readers and nfds
467:
468: - Three serious bug fixes thanks to Jiahao Wang <mailto:jiahaow@yahoo.com.cn> and
469: Bo Cheng <mailto:bobobocheng@hotmail.com>:
470: - =pim_proto.c:receive_pim_join_prune()=: two bugfixes related to the processing of (*,*,RP)
471: - =pim_proto.c:add_jp_entry()=: Bugfix regarding adding prune entries
472:
473: - Remove the FTP URL from the various README files, and replace it with an HTTP
474: URL, because the FTP server on catarina.usc.edu is not operational anymore.
475:
476: * Version 2.1.0-alpha29.10: April 26, 2002
477: ** Bug Fixes
478: - Widen the space for "Subnet" addresses printed under "Virtual Interface Table"
479:
480: - Added (commented-out code) to enable different interfaces
481: to belong to overlapping subnets. See around line 200 in config.c
482:
483: - Bugfix in handling of Join/Prune messages when there is one join and one prune
484: for the same group. Thanks to Xiaofeng Liu <mailto:liu_xiao_feng@yahoo.com>.
485:
486: * Version 2.1.0-alpha29.9: November 13, 2001
487: ** Changes & New Features
488: First three entries contributed by Hiroyuki Komatsu <mailto:komatsu@taiyaki.org>
489:
490: - Print line number if there is conf file error.
491:
492: - If there is an error in the conf file, pimd won't start.
493:
494: - GRE configuration examples added to README.config.
495:
496: - New file README.debug (still very short though).
497:
498: ** Bug Fixes
499: - Increase the config line buffer size to 1024. Bug fix by Hiroyuki Komatsu
500: <mailto:komatsu@taiyaki.org>
501:
502: * Version 2.1.0-alpha29.8: September 16, 2001
503: ** Changes & New Features
504: - Better log messages for point-to-point links in config.c. Thanks to Hitoshi
505: Asaeda <mailto:asaeda@yamato.ibm.com>
506:
507: * Version 2.1.0-alpha29.7: September 10, 2001
508: ** Changes & New Features
509: - Added "phyint altnet" (see pimd.conf for usage) for allowing some senders look
510: like directly connected to a local subnet. Implemented by Marian Stagarescu
511: <mailto:marian@bile.cidera.com>
512:
513: - Added "phyint scoped" (see pimd.conf for usage) for administartively disabling
514: the forwarding of multicast groups. Implemented by Marian Stagarescu
515: <mailto:marian@bile.cidera.com>
516:
517: - The License has changed from the original USC to the more familiar BSD-like (the
518: KAME+OpenBSD guys brought to my attention that the original working in the USC
519: license "...and without fee..." is ambiguous and makes it sound that noone can
520: distribute pimd as part of some other software distribution and charge for that
521: distribution.
522:
523: - RSRR disabled by default in Makefile
524:
525: ** Bug Fixes
526: - Memory leaks bugs fixed in rp.c, thanks to Sri V <mailto:vallepal@yahoo.com>
527:
528: - Compilation problems for RedHat-7.1 fixed. Bug report by Philip Ho
529: <mailto:cbho@ie.cuhk.edu.hk>
530:
531: - PID computation fixed (it should be recomputed after a child =fork()=).
532: Thanks to Marian Stagarescu <mailto:marian@bile.cidera.com>
533:
534: - =find_route()=-related bug fixes (always explicitly check for NULL return). Bug
535: report by Marian Stagarescu <mailto:marian@bile.cidera.com>
536:
537: - Bug fix re. adding a local member with older ciscos (in =add_leaf()=). Bug report
538: by Marian Stagarescu <mailto:marian@bile.cidera.com>
539:
540: - Added explicit check whether =BYTE_ORDER= in pimd.h is defined. Bug report by
541: <mailto:mistkhan@indiatimes.com>
542:
543: * Version 2.1.0-alpha29.6: May 4, 2001
544: ** Bug Fixes
545: - Bug fixes in processing Join/Prune messages. Thanks to Sri V
546: <mailto:vallepal@yahoo.com>
547:
548: * Version 2.1.0-alpha29.5: February 22, 2001
549: ** Changes & New Features
550: - =VIFM_FORWARDER()= macro renamed to =VIFM_LASTHOP_ROUTER=.
551:
552: - Mini-FAQ entries added to README.
553:
554: ** Bug Fixes
555: - When there is a new member, =add_leaf()= is called by IGMP code for any router,
556: not only for a DR. The reason is because not only the DR must know about local
557: members, but the last-hop router as well (so eventually it will initiate a SPT
558: switch). Similar fixes to =add_leaf()= inside route.c as well. Problem
559: reported by Hitoshi Asaeda <mailto:asaeda@yamato.ibm.com>. XXX: Note the
560: lenghty comment in the beginning of =add_leaf()= about a pimd desing problem
561: that may result in SPT switch not initiated immediately by the last-hop router.
562:
563: - DR entry timer bug fix in timer.c: When (*,G)'s iif and (S,G)'s iif are not
564: same, (S,G)'s timer for the DR doesn't increase. Reported indirectly by
565: <mailto:toshiaki.nakatsu@fujixerox.co.jp>
566:
567: * Version 2.1.0-alpha29.4: December 1, 2000
568: ** Changes & New Features
569: - README cleanup + Mini-FAQ added
570:
571: - =igmp_proto.c=: printf argument cleanup (courtesy KAME)
572:
573: - =main.c:restart()=: forgotten printf argument added (courtesy KAME)
574:
575: ** Bug Fixes
576: - =kern.c:k_stop_pim()=: Fix the ordering of =MRT_PIM= and =MRT_DONE=,
577: thanks to Hitoshi Asaeda <mailto:asaeda@yamato.ibm.co.jp>.
578:
579: - =route.c:add_leaf()=: mrtentry creation logic bug fix. If the router is not a
580: DR, a mrtentry is never created. Tanks to Hitoshi Asaeda
581: <mailto:asaeda@yamato.ibm.co.jp> & (indirectly)
582: <mailto:toshiaki.nakatsu@fujixerox.co.jp>
583:
584: - =pim_proto.c=: Two critical bug fixes. J/P prune suppression related message
585: and J/P message with (*,*,RP) entry inside. Thanks to Azzurra Pantella
586: <mailto:s198804@studenti.ing.unipi.it> and Nicola Dicosmo from University of
587: Pisa
588:
589: - =pim_proto.c:receive_pim_bootstrap()=: BSR-related fix from Kame's pim6sd.
590: Even when the BSR changes, just schedule an immediate advertisemnet of C-RP-ADV,
591: instead of sending message, in order to avoid sending the advertisement to the
592: old BSR. In response to comment from <mailto:toshiaki.nakatsu@fujixerox.co.jp>
593:
594: * Version 2.1.0-alpha29.3: October 13, 2000
595: ** Bug Fixes
596: - =ADVANCE()= bug fix in routesock.c (if your system doesn't have =SA_LEN=)
597: thanks to Eric S. Johnson <mailto:esj@cs.fiu.edu>
598:
599: * Version 2.1.0-alpha29.2: October 13, 2000
600: NB: THIS pimd VERSION WON'T WORK WITH OLDER PIM-SM KERNEL PATCHES (kernel
601: patches released prior to this version)!
602:
603: ** Changes & New Features
604: - The daemon that the kernel will prepare completely the inner multicast packet for
605: PIM register messages that the kernel is supposed to encapsulate and send to the
606: RP.
607:
608: - Now pimd compiles on OpenBSD-2.7. PIM control messages exchange test passed.
609: Ddon't have the infrastructure to perform more complete testing.
610:
611: - =main.c:cleanup()=: Send =PIM_HELLO= with holdtime of '0' if pimd is going away,
612: thanks to JINMEI Tatuya <mailto:jinmei@isl.rdc.toshiba.co.jp>
613:
614: - =include/netinet/pim.h= updated
615:
616: - pimd code adapted to the new =struct pim= definition.
617:
618: - Added =PIM_OLD_KERNEL= and =BROKEN_CISCO_CHECKSUM= entries in the Makefile.
619:
620: - Don't ignore kernel signals if any of src or dst are NULL.
621:
622: - Don't touch =ip_id= on a PIM register message
623:
624: - README cleanup: kernel patches location, obsoleted systems clarification, etc.
625:
626: - =k_stop_pim()= added to =cleanup()= in =main.c= (courtesy Kame)
627:
628: ** Bug Fixes
629: - =RANDOM()=-related bug fix re. =jp_value= calculation in =pim_proto.c=,
630: thanks to JINMEI Tatuya <mailto:jinmei@isl.rdc.toshiba.co.jp>
631:
632: - =realloc()= related memory leak bug in =config_vifs_from_kernel()= in config.c
633: courtesy Kame's pim6sd code.
634:
635: - Solaris-8 fixes thanks to Eric S. Johnson <mailto:esj@cs.fiu.edu>
636:
637: - =BROKEN_CISCO_CHECKSUM= bug fix thanks to Eric S. Johnson
638: <mailto:esj@cs.fiu.edu> and Hitoshi Asaeda.
639:
640: - =main.c=: 1000000 usec -> 1 sec 0 usec. Fix courtesy of the Kame project
641:
642: - =main.c:restart()= fixup courtesy of the Kame project
643:
644: - various min. message length check for the received control messages
645: courtesy of the Kame project. XXX: the pimd check is not enough!
646:
647: - VIF name string comparison fix in =routesock.c:getmsg()= courtesy of the Kame
648: project
649:
650: - missing brackets added inside =age_routes()= (a bug that will show up
651: only if =KERNEL_MFC_WC_G= was defined); courtesy of the Kame project
652:
653: * Version 2.1.0-alpha28: March 15, 2000
654:
655: ** Changes & New Features
656: - added #ifdef =BROKEN_CISCO_CHECKSUM= (disabled by default) to make cisco RPs
657: happy (read the comments in pim.c)
658:
659: - added #ifdef =PIM_TYPEVERS_DECL= in netinet/pim.h as a workaround that ANSI-C
660: doesn't guarantee that bit-fields are tightly packed together (although all
661: modern C compilers should not create a problem).
662:
663: ** Bug Fixes
664: - Fixes to enable point-to-point interfaces being added correctly, thanks to
665: Roger Venning <mailto:Roger.Venning@corpmail.telstra.com.au>
666:
667: - A number of minor bug fixes
668:
669: * Version 2.1.0-alpha27: January 21, 2000
670: NB: this release may the the last one from 2.1.0. The next release will be 2.2.0 and
671: there will be lots of changes inside.
672:
673: ** Bug Fixes
674: - Bug fix in =rp.c:add_grp_mask()= and =rp.c:delete_grp_mask()=: in some cases if
675: the RPs are configured with nested multicast prefixes, the add/delete may
676: fail. Thanks to Hitoshi Asaeda and the KAME team for pointing out this one.
677:
678: * Version 2.1.0-alpha26: October 28, 1999
679: ** Bug Fixes
680: - Bug fix in =receive_pim_register()= in =pim_proto.c:ntohl()= was missing
681: inside =IN_MULTICAST()=. Thanks to Fred Griffoul <mailto:griffoul@ccrle.nec.de>
682:
683: - Bug report and fix by Hitoshi Asaeda <mailto:asaeda@yamato.ibm.co.jp> in
684: =pim_proto.c:receive_pim_cand_rp_adv()= (if a router is not a BSR). Another bug
685: in =rp.c:delete_grp_mask_entry()=: an entry not in the head of the list was not
686: deleted propertly.
687:
688: - Some =VIFF_TUNNEL= checks added or deleted in various places. Slowly preparing
689: pimd to be able to work with GRE tunnels...
690:
691: * Version 2.1.0-alpha25: August 30, 1999
692: Bug reports and fixes by Hitoshi Asaeda <mailto:asaeda@yamato.ibm.co.jp> inside
693: =parse_reg_threshold()= and =parse_data_threshold()= in config.c
694:
695: ** Changes & New Features
696: - Successfully added multicast prefixes configured in pimd.conf are displayed at
697: startup
698:
699: - Use =include/freebsd= as FreeBSD-3.x include files and =include/freebsd2= for
700: FreeBSD-2.x.
701:
702: ** Bug Fixes
703: - Test is performed whether a =PIM_REGISTER= has invalid source and/or group
704: address of the internal packet.
705:
706: * Version 2.1.0-alpha24: August 9, 1999
707: ** Changes & New Features
708: - =PIM_DEFAULT_CAND_RP_ADV_PERIOD= definition set to 60, but default 'time' value
709: for inter Cand-RP messages is set in pimd.conf to 30 sec.
710:
711: - =PIM_REGISTER= checksum verification in =receive_pim_register()= relaxed for
712: compatibility with some older routers. The checksum has to be computed only over
713: the first 8 bytes of the PIM Register (i.e. only over the header), but some older
714: routers might compute it over the whole packet. Hence, the checksum verification
715: is over the first 8 bytes first, and if if it fails, then over the whole
716: packet. Thus, pimd that is RP should still work with older routers that act as
717: DR, but if an older router is the RP, then pimd cannot be the DR. Sorry, don't
718: know which particular routers and models create the checksum over the whole PIM
719: Register (if there are still any left).
720:
721: * Version 2.1.0-alpha23: May 24, 1999
722: ** Changes & New Features
723: - Finally pimd works under Linux (probably 2.1.126, 2.2.x and 2.3.x). However, a
724: small fix in the kernel =linux/net/ipv4/ipmr.c= is necessary. In function
725: =pim_rcv()=, remove the call to =ip_compute_csum()=:
726:
727: #+BEGIN_SRC c
728: --- linux/net/ipv4/ipmr.c.org Thu Mar 25 09:23:34 1999
729: +++ linux/net/ipv4/ipmr.c Mon May 24 15:42:45 1999
730: @@ -1342,8 +1342,7 @@
731: if (len < sizeof(*pim) + sizeof(*encap) ||
732: pim->type != ((PIM_VERSION<<4)|(PIM_REGISTER)) ||
733: (pim->flags&PIM_NULL_REGISTER) ||
734: - reg_dev == NULL ||
735: - ip_compute_csum((void *)pim, len)) {
736: + reg_dev == NULL) {
737: kfree_skb(skb);
738: return -EINVAL;
739: }
740: #+END_SRC
741:
742: - in pimd.conf "phyint" can be specified not only by IP address, but
743: by name too (e.g. "phyint de1 disable")
744:
745: - in pimd.conf 'preference' and 'metric' can be specified per "phyint"
746: Note that these 'preference' and 'metric' are like per iif.
747:
748: - =MRT_PIM= used (again) instead of =MRT_ASSERT= in kern.c. The problem is that
749: Linux has both =MRT_ASSERT= and =MRT_PIM=, while *BSD has only =MRT_ASSERT=.
750:
751: #+BEGIN_SRC c
752: #ifndef MRT_PIM
753: #define MRT_PIM MRT_ASSERT
754: #endif
755: #+END_SRC
756:
757: - Rely on =__bsdi__=, which is defined by the OS, instead of -DBSDI in Makefile,
758: change by Hitoshi Asaeda. Similarly, use =__FreeBSD__= instead of -DFreeBSD
759:
760: - Linux patches by Fred Griffoul <mailto:griffoul@ccrle.nec.de> including
761: a =netlink.c= instead of =routesock.c=
762:
763: - =vif.c:zero_vif()=: New function
764:
765: ** Bug Fixes
766: All bug reports thanks to Kaifu Wu <mailto:kaifu@3com.com>
767:
768: - Linux-related bug fixes regarding raw IP packets byte ordering
769:
770: - Join/Prune message bug fixed if the message contains several groups joined/pruned
771:
772: * Version 2.1.0-alpha22: November 11, 1998
773: Bug reports by Jonathan Day <mailto:jd9812@my-dejanews.com>
774:
775: ** Bug Fixes
776: - Bug fixes to compile under newer Linux kernel (linux-2.1.127) To compile for
777: older kernels ( ver < ???), add =-Dold_Linux= to the Makefile
778:
779: - For convenience, the =include/linux/netinet/{in.h,mroute.h}= files are added,
780: with few modifications applied.
781:
782: * Version 2.1.0-alpha21: November 4, 1998
783: ** Bug Fixes
784: - =pim_proto.c:join_or_prune()=: Bug fixes in case of (S,G) overlapping with
785: (*,G). Bug report by Dirk Ooms <mailto:Dirk.Ooms@alcatel.be>
786:
787: - =route.c:change_interfaces()=: Join/Prune (*,G), (*,*,RP) fire timer
788: optimization/fix.
789:
790: * Version 2.1.0-alpha20: August 26, 1998
791: ** Changes & New Features
792: - (Almost) all timers manipulation now use macros
793:
794: - =pim.h= and =pim_var.h= are in separate common directory
795:
796: - Added BSDI definition to =pim_var.h=, thanks to Hitoshi Asaeda.
797:
798: ** Bug Fixes
799: - fix TIMEOUT definitions in difs.h (bug report by Nidhi Bhaskar)
800: (originally, if timer value less than 5 seconds, it won't become 0)
801: It is HIGHLY recommended to apply that fix, so here it is:
802: #+BEGIN_SRC c
803: -------------BEGIN BUG FIX-------------------
804: 1) Add the following lines to defs.h (after #define FALSE):
805:
806: #ifndef MAX
807: #define MAX(a,b) (((a) >= (b))? (a) : (b))
808: #define MIN(a,b) (((a) <= (b))? (a) : (b))
809: #endif /* MAX & MIN */
810:
811: 2) Change the listed below TIMEOUT macros to:
812:
813: #define IF_TIMEOUT(timer) \
814: if (!((timer) -= (MIN(timer, TIMER_INTERVAL))))
815:
816: #define IF_NOT_TIMEOUT(timer) \
817: if ((timer) -= (MIN(timer, TIMER_INTERVAL)))
818:
819: #define TIMEOUT(timer) \
820: (!((timer) -= (MIN(timer, TIMER_INTERVAL))))
821:
822: #define NOT_TIMEOUT(timer) \
823: ((timer) -= (MIN(timer, TIMER_INTERVAL)))
824: ---------------END BUG FIX-------
825: #+END_SRC
826:
827: * Version 2.1.0-alpha19: July 29, 1998
828: Both bug reports by Chirayu Shah <mailto:shahzad@torrentnet.com>-
829:
830: ** Bug Fixes
831: - bug fix in =find_route()= when searching for (*,*,RP)
832:
833: - bug fix in =move_kernel_cache()=: no need to do =move_kernel_cache()=
834: from (*,*,R) to (*,G) first when we call =move_kernel_cache()= for (S,G)
835:
836: * Version 2.1.0-alpha18: May 29, 1998
837: ** Changes & New Features
838: - Now compiles under Linux (haven't checked whether the PIMv2 kernel support in
839: linux-2.1.103 works)
840:
841: ** Bug Fixes
842: - =parse_default_source*()= bug fix (bug reports by Nidhi Bhaskar)
843:
844: - allpimrouters deleted from igmp.c (already defined in pim.c)
845:
846: - igmpmsg defined for IRIX
847:
848: * Version 2.1.0-alpha17: May 21, 1998
849: ** Changes & New Features
850: - (*,G) MFC kernel support completed and verified. Compile with =KERNEL_MFC_WC_G=
851: defined in Makefile, but then must use it only with a kernel that supports (*,G),
852: e.g. =pimkern-PATCH_7=. Currently, kernel patches available for FreeBSD and
853: SunOS only.
854:
855: ** Bug Fixes
856: - =MRTF_MFC_CLONE_SG= flag set after =delete_single_kernel_cache()= is called
857:
858: * Version 2.1.0-alpha16: May 19, 1998
859: ** Changes & New Features
860: - PIM registers kernel encapsulation support. Build with =PIM_REG_KERNEL_ENCAP=
861: defined in Makefile.
862:
863: - (*,G) MFC support. Build with =KERNEL_MFC_WC_G= defined in Makefile. However,
864: =MFC_WC_G= is still not supported with =pimkern-PATCH_6=, must disable it for now.
865:
866: - =mrt.c:delete_single_kernel_cache_addr()=: New function, uses source, group to
867: specify an MFC to be deleted
868:
869: * Version 2.1.0-alpha15: May 14, 1998
870: - Another few bug fixes related to NetBSD definitions thanks to Heiko W.Rupp
871: <mailto:hwr@pilhuhn.de>
872:
873: * Version 2.1.0-alpha14: May 12, 1998
874: - A few bug fixes related to NetBSD definitions thanks to Heiko W.Rupp
875: <mailto:hwr@pilhuhn.de>
876:
877: * Version 2.1.0-alpha13: May 11, 1998
878: ** Changes & New Features
879: - If the RP changes, the necessary actions are taken to pass the new RP address to
880: the kernel. To be used for kernel register encap. support. Wnat needs to be done
881: is: (a) add =rp_addr= entry to the mfcctl structure, and then just set it in
882: =kern.c:k_chf_mfc()=. Obviously, the kernel needs to support the register
883: encapsulation (instead of sending WHOLEPKT to the user level). In the near few
884: days will make the necessary kernel changes.
885:
886: - =change_interfaces()=: Added "flags" argument. The only valid flag is
887: =MFC_UPDATE_FORCE=, used for forcing kernel call when only the RP changes.
888:
889: - =k_chg_mfc()= has a new argument: rp_addr. To be used for kernel register
890: encapsulation support
891:
892: - =MRT_PIM= completely replaced by =MRT_ASSERT=
893:
894: - =move_kernel_cache()=: Argument =MFC_MOVE_FORCE= is a flag instead of TRUE/FALSE
895:
896: - =process_cache_miss()=: removed unneeded piece of code
897:
898: * Version 2.1.0-alpha12: May 10, 1998
899: ** Changes & New Features
900: - Use the cleaned up =netinet/pim.h=
901:
902: - Remove the no needed anymore pim header definition in =pimd.h=
903:
904: - Don't use =MRT_PIM= in in kern.c anymore, replaced back with =MRT_ASSERT=.
905:
906: - =added default_source_metric= and =default_source_preference= (1024) because the
907: kernel's unicast routing table is not a good source of info; configurable in
908: pimd.conf
909:
910: - Can now compile under NetBSD-1.3, thanks to Heiko W.Rupp <mailto:hwr@pilhuhn.de>
911:
912: ** Bug Fixes
913: - Incorrect setup of the borderBit and nullRegisterBit (different for big and
914: little endian machines) fixed; =*_BORDER_BIT= and =*NULL_REGISTER_BIT= redefined
915:
916: - don't send =pim_assert= on tunnels or register vifs (if for whatever reason we
917: receive on such interface)
918:
919: - ignore =WRONGVIF= messages for register and tunnel vifs (the cleaned up
920: kernel mods dont send such signal, but the older (before May 9 '98) pimd
921: mods that signaling was enabled
922:
923: * Version 2.1.0-alpha11: March 16, 1998
924: ** Changes & New Features
925: - =vif.c:find_vif_direct_local()=: New function, used in =routesock.c=, =igmp_proto.c=
926:
927: - Use =MFC_MOVE_FORCE/MFC_MOVE_DONT_FORCE= flag in =mrt.c=, =route.c=,
928: =pim_proto.c=, when need to move the kernel cache entries between (*,*,RP),
929: (*,G), (S,G)
930:
931: - new timer related macros: =SET_TIMER()=, =FIRE_TIMER()=, =IF_TIMER_SET()=,
932: =IF_TIMER_NOT_SET()=
933:
934: ** Bug Fixes
935: - =timer.c:age_routes()=: bunch of fixes regarding J/P message fragmentation
936:
937: - =route.c:process_wrong_iif()=: (S,G) SPT switch bug fix: ANDed =MRTF_RP=
938: fixed to =MRTF_RP=
939:
940: - =pim_proto.c= & =timer.c=: (S,G) Prune now is sent toward RP, when iif
941: toward S and iif toward RP are different
942:
943: - =pim_proto.c:join_or_prune()= bug fixes
944:
945: - =pim_proto.c=: (S,G)Prune entry's timer now set to J/P message holdtime
946:
947: - =pim_proto.c:receive_pim_join_prune()=: Ensure pruned interfaces are correctly
948: reestablished
949:
950: - =timer.c:age_routes()=: now (S,G) entry with local members (inherited from
951: (*,G)) is timeout propertly
952:
953: - =timer.c:age_routes()=: (S,G) J/P timer restarted propertly
954:
955: - =timer.c:age_routes()=: check also the (S,G)RPbit entries in the forwarders and
956: RP and eventually switch to the shortest path if data rate too high
957:
958: - =route.c:process_wrong_vif()= fire J/P timer
959:
960: - =route.c:switch_shortest_path()=: reset the iif toward S if there is already
961: (S,G)RPbit entry
962:
963: * Version 2.1.0-alpha10: March 3, 1998
964: Temp. non-public release.
965:
966: ** Changes & New Features
967: - `interval` can be applied for data rate check. The statement in =pimd.conf=
968: that only the default value will be used is not true anymore.
969:
970: - The RP-initiated and the forwarder-initiated (S,G) switch threshold rate
971: can be different.
972:
973: - =pim_proto.c:receive_pim_register()=: check if I am the RP for that group,
974: and if "no", send =PIM_REGISTER_STOP= (XXX: not in the spec, but should be!)
975:
976: - =pim_proto.c:receive_pim_register_stop()=: check if the =PIM_REGISTER_STOP=
977: originator is really the RP, before suppressing the sending of the PIM
978: registers. (XXX: not in the spec but should be there)
979:
980: - =rp.c:check_mrtentry_rp()=: new function added to check whether the RP
981: address is the corresponding one for the given mrtentry
982:
983: - =debug.c:dump_mrt()= timer values added
984:
985: - =route.c=: =add_leaf()=, =process_cache_miss()=, =process_wrong_iif()=
986: no routing entries created for the LAN scoped addresses
987:
988: - =DEBUG_DVMRP_DETAIL= and =DEBUG_PIM_DETAIL= added
989:
990: ** Bug Fixes
991: - =mrt.c:add_kernel_cache()=: no kernel cache duplicates
992:
993: - =mrt.c:move_kernel_cache()=: if the iif of the (*,*,R) (or (*,G))
994: and (S,G) are different, dont move the cache entry "UP"
995:
996: - =timer.c:age_routes()=: (S,G) =add_jp_entry()= flag fixed, SPT switch related.
997:
998: - =kern.c:k_get_sg_cnt()=: modified to compensate for the kernel's return code
999: bug for getting (S,G) byte count (=SIOCGETSGCNT=)
1000:
1001: - =pim_proto.c:receive_pim_register()=: if the (S,G) oif is NULL, now
1002: checks whether the iif is =register_vif=
1003:
1004: * Version 2.1.0-alpha9: February 18, 1997
1005: ** Changes & New Features
1006: - "non-commersial" statement deleted from the copyright message
1007:
1008: - mrinfo support added
1009:
1010: - mtrace support added (not completed and not enough tested)
1011:
1012: - if invalid local address for =cand_rp= or =cand_bootstrap_router= in =pimd.conf=,
1013: automatically will use the largest local multicast enabled address
1014:
1015: - "include" directory for FreeBSD and SunOS added, so now pimd can be compiled
1016: without having the necesary "include" files added to your system. Probably a bad
1017: idea and may remove it later.
1018:
1019: - some default values for the IP headers of the IGMP and PIM packets are fixed
1020:
1021: - =VIFF_PIM_NBR= and =VIFF_DVMRP_NBR= flags added
1022:
1023: - =VIFF_REGISTER= now included in the RSRR vifs report
1024:
1025: - =find_route()= debug messages removed
1026:
1027: - #ifdef for =HAVE_SA_LEN= corrected
1028:
1029: - =debug.c=: small fixes
1030:
1031: * Version 2.1.0-alpha8: November 23, 1997
1032: ** Bug Fixes
1033: - BSDI related bug fix in defs.h
1034:
1035: - small changes in Makefile
1036:
1037: * Version 2.1.0-alpha7: November 23, 1997
1038: ** Changes & New Features
1039: - RSRR support for (*,G) completed
1040:
1041: - BSDI 3.0/3.1 support by Hitoshi Asaeda <mailto:asaeda@yamato.ibm.co.jp>
1042: (the kernel patches will be available soon)
1043:
1044: - Improved debug messages format (thanks to Hitoshi Asaeda)
1045:
1046: - A new function =netname()= for network IP address print instead of =inet_fmts()=,
1047: thanks to Hitoshi Asaeda.
1048:
1049: - =pimd.conf=: format changed
1050:
1051: * Version 2.1.0-alpha6: November 20, 1997
1052: ** Bug Fixes
1053: - Remove the inherited leaves from (S,G) when a receiver drops membership
1054:
1055: - some parameters when calling =change_interface()= fixed
1056:
1057: - use =send_pim_null_register= + take the appropriate action when the register
1058: suppression timer expires
1059:
1060: - bug fix related to choosing the largest local IP address for little endian
1061: machines.
1062:
1063: * Version 2.1.0-alpha5
1064: ** Bug Fixes
1065: - =main.c:main()=: startup message fix
1066:
1067: - =timer.c:age_routes()=: bug fix in debug code
1068:
1069: * Version 2.1.0-alpha4: October 31, 1997
1070: ** Changes & New Features
1071: - Minor changes, so pimd now compiles for SunOS 4.1.3 (cc, gcc)
1072:
1073: ** Bug Fixes
1074: - =pim_proto.csend_periodic_pim_join_prune()=: bug fix thanks to SunOS cc
1075: warning(!), only affects the (*,*,RP) stuff.
1076:
1077: - =pimd.conf=: two errors, related to the rate limit fixed
1078:
1079: * Version 2.1.0-alpha3: October 13, 1997
1080: ** Changes & New Features
1081: - =Makefile=: cleanup
1082:
1083: - =defs.h=: cleanup
1084:
1085: - =routesock.c=: cleanup
1086:
1087: ** Bug Fixes
1088: - =igmp_proto.c:accept_group_report()=: bug fixes
1089:
1090: - =pim_proto.c:receive_pim_hello()=: bug fixes
1091:
1092: - =route.c:change_interfaces()=: bug fixes
1093:
1094: - =rp.c=: bug fixes in =init_rp_and_bsr()=, =add_cand_rp()=, and
1095: =create_pim_bootstrap_message()=
1096:
1097: * Version 2.1.0-alpha2: September 23, 1997
1098: ** Changes & New Features
1099: - =Makefile=: "make diff" code added
1100:
1101: - =debug.c=: debug output slightly changed
1102:
1103: ** Bug Fixes
1104: - =defs.h:*TIMEOUT()=: definitions fixed
1105:
1106: - =route.c=: bugs fixed in =change_interface()= and =switch_shortest_path()=
1107:
1108: - =timer.c:age_routes()=: number of bugs fixed
1109:
1110: * Version 2.1.0-alpha1: August 26, 1997
1111: ** Changes & New Features
1112: First alpha version of the "new, up to date" pimd. RSRR support + Solaris
1113: support added. Many functions rewritten and/or modified.
1114:
1115:
1116: # Local Variables:
1117: # mode: org
1118: # End:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>