Annotation of embedaddon/bird/ChangeLog, revision 1.1

1.1     ! misho       1: commit 017da76b729cc36c4a3416995b06386235660f42
        !             2: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !             3: Date:   Wed Dec 21 16:46:47 2016 +0100
        !             4: 
        !             5:     NEWS and version update
        !             6: 
        !             7: commit 2c33da507046c25d87741fe0ce7947985c8c7a10
        !             8: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !             9: Date:   Tue Dec 20 20:13:08 2016 +0100
        !            10: 
        !            11:     Netlink: fix occasional netlink hangs on busy machines
        !            12: 
        !            13: commit 7d95c44572d79ef15ec8b0220950b4e4374c6bc6
        !            14: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            15: Date:   Thu Dec 15 15:31:25 2016 +0100
        !            16: 
        !            17:     OSPF: Fix ECMP external merging
        !            18:     
        !            19:     The variable nfa is not cleaned before each loop iteration and can have
        !            20:     a wrong value of nfa.nhs_reuse from the previous step.
        !            21:     
        !            22:     Thanks to Bernardo Figueiredo for the bugreport and analysis.
        !            23: 
        !            24: commit 9e7d3a781075b39a7e0f97e63b6f313955daa661
        !            25: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            26: Date:   Tue Dec 13 17:34:42 2016 +0100
        !            27: 
        !            28:     OSPF: Fix net-summary origination combined with stubnet option
        !            29:     
        !            30:     Stubnet nodes in OSPF FIB were removed during rt_sync(), but the pointer
        !            31:     remained in top_hash_entry.nf, so net-summary LSA origination was
        !            32:     confused, reported 'LSA ID collision' and net-summary LSAs were not
        !            33:     originated properly.
        !            34:     
        !            35:     Thanks to Naveen Chowdary Yerramneni for bugreport and analysis.
        !            36: 
        !            37: commit ed1a908e535e4333b358d83b472453a2ad6d3f51
        !            38: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            39: Date:   Fri Nov 25 11:51:38 2016 +0100
        !            40: 
        !            41:     BGP: Fix memory leak in graceful restart code
        !            42:     
        !            43:     Prefix and bucket tables are initialized when entering established state
        !            44:     but not explicitly freed when leaving it (that is handled by protocol
        !            45:     restart). With graceful restart, BGP may enter and leave established
        !            46:     state multiple times without hard protocol restart causing memory leak.
        !            47: 
        !            48: commit 261816b0d4f3d4549a4402b95541b82fc7f10a4b
        !            49: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            50: Date:   Tue Nov 15 16:24:39 2016 +0100
        !            51: 
        !            52:     BGP: Cluster list item should be prepended
        !            53:     
        !            54:     Commit 3c09af41... changed behavior of int_set_add() from prepend to
        !            55:     append, which makes more sense for community list, but prepend must be
        !            56:     used for cluster list. Add int_set_prepend() and use it in cluster list
        !            57:     handling code.
        !            58: 
        !            59: commit c8cafc8ebb5320ac7c6117c17e6460036f0fdf62
        !            60: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            61: Date:   Tue Nov 8 17:46:29 2016 +0100
        !            62: 
        !            63:     Minor code cleanups
        !            64: 
        !            65: commit 920a86e8493fe25008f084f67f368aea9b197efd
        !            66: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            67: Date:   Thu Nov 3 09:53:53 2016 +0100
        !            68: 
        !            69:     Add missing extern
        !            70: 
        !            71: commit e03dc6a984555e3c943735d50376cada2220bac8
        !            72: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            73: Date:   Sun Oct 30 23:51:23 2016 +0100
        !            74: 
        !            75:     BFD: Authentication
        !            76:     
        !            77:     Implement BFD authentication (part of RFC 5880). Supports plaintext
        !            78:     passwords and cryptographic MD5 / SHA-1 authentication.
        !            79:     
        !            80:     Based on former commit from Pavel Tvrdik
        !            81: 
        !            82: commit 29239ba2bbee3e9ec7d17793b25936a1bfc795ca
        !            83: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            84: Date:   Thu Oct 27 20:58:21 2016 +0200
        !            85: 
        !            86:     OSPF: Use message authentication interface
        !            87:     
        !            88:     Based on former commit from Pavel Tvrdik
        !            89: 
        !            90: commit 390601f038b69d5de3841c691f92af0fcd088454
        !            91: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            92: Date:   Wed Oct 26 16:07:45 2016 +0200
        !            93: 
        !            94:     RIP: Use message authentication interface
        !            95:     
        !            96:     Based on former commit from Pavel Tvrdik
        !            97: 
        !            98: commit 64385aee0cc2dfae8297f29ce6724cedf7cc4736
        !            99: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !           100: Date:   Thu Jan 28 17:05:15 2016 +0100
        !           101: 
        !           102:     DOC: Password algorithm option
        !           103: 
        !           104: commit 56cb3bedc2634a44ea41587566c2889f5b5f5b5b
        !           105: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !           106: Date:   Tue Jan 26 16:45:13 2016 +0100
        !           107: 
        !           108:     Nest: Add support for MAC algorithms in grammar
        !           109: 
        !           110: commit de2a27e255b6ec834d11c005909b28a150c7c0db
        !           111: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           112: Date:   Tue Oct 25 17:04:17 2016 +0200
        !           113: 
        !           114:     Add generic message authentication interface
        !           115:     
        !           116:     Add generic interface for generating and verifying MACs (message
        !           117:     authentication codes). Replace multiple HMAC implementation with
        !           118:     a generic one.
        !           119: 
        !           120: commit 7eec3988758cb4c19a0ab3bf90cab2a4914165be
        !           121: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           122: Date:   Tue Nov 1 16:18:27 2016 +0100
        !           123: 
        !           124:     BSD: Fix build on OpenBSD broken by previous commit
        !           125: 
        !           126: commit 3e236955c9369475872b9b86a58502fa777b50b9
        !           127: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           128: Date:   Fri Oct 14 15:37:04 2016 +0200
        !           129: 
        !           130:     Build: switch on -Wextra, get rid of most of the warnings
        !           131:     
        !           132:     There are several unresolved -Wmissing-field-initializers on older
        !           133:     versions of GCC than 5.1, all of them false positive.
        !           134: 
        !           135: commit 17fe57d8dcc89aea520788914b252cf49cf060ff
        !           136: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           137: Date:   Tue Nov 1 11:37:49 2016 +0100
        !           138: 
        !           139:     Log: Fix broken syslog name
        !           140:     
        !           141:     BIRD passed string from configuration to openlog(), which kept it
        !           142:     internally. After reconfiguration the old string was freed, therefore
        !           143:     openlog had invalid copy.
        !           144:     
        !           145:     Thanks to Chris Caputo for the original patch.
        !           146: 
        !           147: commit 3213273d8261c69a343fcd7d4c9607385dfdbb65
        !           148: Author: Ondrej Filip <feela@network.cz>
        !           149: Date:   Thu Oct 27 11:08:28 2016 +0200
        !           150: 
        !           151:     IANA assigned a different number to large BGP communities - changed.
        !           152: 
        !           153: commit c68e8cd374f16a1d659c80f9ebe503f2dd0d4acb
        !           154: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           155: Date:   Tue Oct 18 13:06:05 2016 +0200
        !           156: 
        !           157:     Filter: Minor formatting changes in test.conf
        !           158: 
        !           159: commit 3c09af416939d26c252aa1b339b52fd8f9f8e774
        !           160: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           161: Date:   Thu Oct 13 16:57:21 2016 +0200
        !           162: 
        !           163:     Clist: The add() function will append a new value
        !           164:     
        !           165:     The add() function used to prepend a new community to clist, but after
        !           166:     this fix the add() function appends new community.
        !           167: 
        !           168: commit 5fd7dacadc3cd8f91f66cb56e3a9ef81028aa102
        !           169: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           170: Date:   Thu Oct 13 15:17:41 2016 +0200
        !           171: 
        !           172:     Filter: Expand testing of large community sets
        !           173: 
        !           174: commit 2e7fb11a6e31324151c6db98df2fe26d2d6cffab
        !           175: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           176: Date:   Wed Oct 12 14:16:34 2016 +0200
        !           177: 
        !           178:     Fixed memory bloating on kernel merge paths together with export filter.
        !           179:     
        !           180:     Some memory was being allocated from bad linpool, not from the given one
        !           181:     as they should.
        !           182:     
        !           183:     Thanks to Madhu and Justin Cattle for reporting this.
        !           184: 
        !           185: commit 9df52a98e2eae28f219510d4c3d65ec43a50c394
        !           186: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           187: Date:   Mon Sep 5 11:20:28 2016 +0200
        !           188: 
        !           189:     Doc: Change debug to { flag1|flag2|flag3  [, ...] } style
        !           190:     
        !           191:     Thanks to Micah Anderson for bug report and Ondrej Zajicek for the idea!
        !           192: 
        !           193: commit 9fcb9637b55d234dfedfcb54bd76ed5a9570b7a1
        !           194: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           195: Date:   Mon Sep 19 16:01:29 2016 +0200
        !           196: 
        !           197:     Nest: Remove trailing whitespaces
        !           198: 
        !           199: commit 3d28f0145382feddcf7f66c0a20b6c5b3e0edbc9
        !           200: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           201: Date:   Mon Sep 26 18:05:51 2016 +0200
        !           202: 
        !           203:     Doc: Fix deprecated unescaped braces in perl script
        !           204:     
        !           205:     This commit should fix warning `make docs'
        !           206:     
        !           207:     ./sgml2html bird.sgml Unescaped left brace in regex is deprecated,
        !           208:       passed through in regex; marked by <-- HERE in m/\\nameurl{ <-- HERE
        !           209:         (.*)}{(.*)}/ at fmt_latex2e.pl line 287.
        !           210: 
        !           211: commit c2564d34af9e01a828c24b0be7f269e5b036b5da
        !           212: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           213: Date:   Sat Oct 1 12:50:29 2016 +0200
        !           214: 
        !           215:     Tree/Trie: Check the end of buffer
        !           216:     
        !           217:     We set buffer->pos to buffer->end in function buffer_print() when
        !           218:     bvsnprintf() failed, so there would be uninitialized memory between
        !           219:     the old buffer->pos and the current buffer->pos.
        !           220: 
        !           221: commit 7935b9d21228dcd1eb95ebcb056b2a815e3e854b
        !           222: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           223: Date:   Thu Sep 29 18:08:40 2016 +0200
        !           224: 
        !           225:     Doc: Add tag for links to RFCs
        !           226: 
        !           227: commit 9c20a8b7ae69487397392c720a5e75087c343df1
        !           228: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           229: Date:   Mon Oct 3 12:35:36 2016 +0200
        !           230: 
        !           231:     Doc: Fix inline <htmlurl></htmlurl>
        !           232:     
        !           233:     Don't make space before or after link name.
        !           234: 
        !           235: commit 963929df021ae54d8ff4cd18ca228932fc89dc13
        !           236: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           237: Date:   Mon Oct 3 12:04:44 2016 +0200
        !           238: 
        !           239:     Doc: Do not use symlinks for files
        !           240: 
        !           241: commit 70104ef4fb5f8105422d6eb811a93b68aeae709d
        !           242: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           243: Date:   Mon Oct 3 11:46:40 2016 +0200
        !           244: 
        !           245:     Doc: Generate one-sided version
        !           246:     
        !           247:     This removes jumping offset for odd and even pages for binding book.
        !           248: 
        !           249: commit f9bd11c337afcc3e95b459e3901a4ca28cb14b85
        !           250: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           251: Date:   Mon Oct 3 11:39:56 2016 +0200
        !           252: 
        !           253:     Doc: Use [table t] or [table name]
        !           254: 
        !           255: commit 74d76f6c3877e4a745fb63b55486810322076153
        !           256: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           257: Date:   Mon Oct 3 11:36:44 2016 +0200
        !           258: 
        !           259:     Doc: Fix unnecessary special chars
        !           260: 
        !           261: commit f15dc6813870565d01378265ab20e017757af220
        !           262: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           263: Date:   Mon Oct 3 10:59:43 2016 +0200
        !           264: 
        !           265:     Doc: Enable break lines in <tag></tag>
        !           266: 
        !           267: commit f5952c7343841fe4b7b63b7a56e95aba104f2e82
        !           268: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           269: Date:   Mon Oct 3 10:32:28 2016 +0200
        !           270: 
        !           271:     Doc: Daemon command-line options alphabet order
        !           272: 
        !           273: commit 22558357d45c27583156f8c11412e37ce48a42e0
        !           274: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           275: Date:   Mon Oct 3 10:22:24 2016 +0200
        !           276: 
        !           277:     Doc: Add command-line options --version, --help
        !           278: 
        !           279: commit b9864aa87193ac1a5ebbc04d24ec782a1fe9637a
        !           280: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           281: Date:   Mon Sep 26 18:00:59 2016 +0200
        !           282: 
        !           283:     Doc: Add labels to all chapters and options
        !           284: 
        !           285: commit a2df7c0303d235f4122969243e9df152a8a16dcb
        !           286: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           287: Date:   Thu Sep 29 14:05:25 2016 +0200
        !           288: 
        !           289:     Doc: Generate clickable PDF
        !           290: 
        !           291: commit 9faf72c8cc9a099b41c90ee1822e8bca22fd0596
        !           292: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           293: Date:   Thu Sep 29 11:20:04 2016 +0200
        !           294: 
        !           295:     Doc: Fix whitespaces
        !           296: 
        !           297: commit a998836d4bd4df8820e67f51e16d81a5a8dc9e9b
        !           298: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           299: Date:   Tue Oct 4 23:19:35 2016 +0200
        !           300: 
        !           301:     Filter: fix missing separator
        !           302: 
        !           303: commit a46e01eeef17a7efe876618623397f60e62afe37
        !           304: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           305: Date:   Tue Oct 4 12:45:39 2016 +0200
        !           306: 
        !           307:     Nest: Fix signedness of large communities
        !           308: 
        !           309: commit cec4a73ccb22ed412e87560e4210b6df40832aad
        !           310: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           311: Date:   Tue Oct 4 00:31:43 2016 +0200
        !           312: 
        !           313:     Doc: Documentation for large communities
        !           314: 
        !           315: commit 60566c5c804070c145fafd75ef2c17efb489a1eb
        !           316: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           317: Date:   Sat Oct 1 22:31:01 2016 +0200
        !           318: 
        !           319:     Filter: large community sets
        !           320:     
        !           321:     Add support for lc sets to filter code. Grammar of (small) community sets
        !           322:     has to be updated to avoid parser collisions.
        !           323: 
        !           324: commit 66dbdbd993115c57acafdb776d2165d0b4a90a45
        !           325: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           326: Date:   Sat Oct 1 12:50:29 2016 +0200
        !           327: 
        !           328:     BGP: Support for large communities
        !           329:     
        !           330:     Add support for large communities (draft-ietf-idr-large-community),
        !           331:     96bit alternative to RFC 1997 communities.
        !           332:     
        !           333:     Thanks to Matt Griswold for the original patch.
        !           334: 
        !           335: commit f51b1f556595108d53b9f4580bfcb96bfbc85442
        !           336: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           337: Date:   Thu Sep 29 15:06:19 2016 +0200
        !           338: 
        !           339:     NEWS and version update
        !           340: 
        !           341: commit 5bf35a9aee448ce7e3493ec7b80c84c8f5f39242
        !           342: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           343: Date:   Thu Sep 29 13:28:18 2016 +0200
        !           344: 
        !           345:     Docs: fix BFD label
        !           346:     
        !           347:     BFD headline will appear in Table of Contents again.
        !           348: 
        !           349: commit ccd2a3eda24230df550e9880f4340fc6341c8f52
        !           350: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           351: Date:   Thu Sep 29 12:00:53 2016 +0200
        !           352: 
        !           353:     Kernel socket missing err_hook fix
        !           354:     
        !           355:     Thanks to Tim Weippert for bugreport.
        !           356: 
        !           357: commit 79e2293ab2abbd92bb3326a95759a4ca32d9af81
        !           358: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           359: Date:   Thu Sep 22 13:34:56 2016 +0200
        !           360: 
        !           361:     NEWS and version update
        !           362: 
        !           363: commit 768d5e1058693d2bfb7c3bcbe04306097c3246a0
        !           364: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           365: Date:   Tue Sep 20 15:13:01 2016 +0200
        !           366: 
        !           367:     Add !~ operator to filter grammar
        !           368: 
        !           369: commit 75ac3d199d1fd5b199dd753915234b8634c272e5
        !           370: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !           371: Date:   Wed Sep 21 12:07:59 2016 +0200
        !           372: 
        !           373:     Remove cvsignore
        !           374:     
        !           375:     We have gitignore
        !           376: 
        !           377: commit 6e75d0d27fe85f12a22928e5729465823704281e
        !           378: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           379: Date:   Mon Sep 19 12:29:56 2016 +0200
        !           380: 
        !           381:     KRT: Add krt_scope attribute
        !           382:     
        !           383:     Add a new route attribute, krt_scope, to expose the Linux kernel route
        !           384:     scope. Constants from /etc/iproute2/rt_scopes (prefixed by "ips_") are
        !           385:     expected to be used with the attribute. Both import and export are
        !           386:     supported.
        !           387:     
        !           388:     Also, the patch fixes device route export to the kernel, by setting link
        !           389:     scope automatically.
        !           390: 
        !           391: commit 292f7858e60b0dffd8c06f6818d90ccf3b34e0b2
        !           392: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           393: Date:   Thu Sep 8 16:27:40 2016 +0200
        !           394: 
        !           395:     Main: Improve BIRD help messages
        !           396: 
        !           397: commit 6273fcf072fc5789ebabf4f1acd6fc6c9fa143ee
        !           398: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           399: Date:   Wed Sep 7 14:58:51 2016 +0200
        !           400: 
        !           401:     Add stdlib.h to client/commands.c
        !           402: 
        !           403: commit 0f5054f6850c7419933a6337a34263f565663ee3
        !           404: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           405: Date:   Thu Sep 8 13:45:36 2016 +0200
        !           406: 
        !           407:     BFD: Fix invalid read from pollfd array
        !           408:     
        !           409:     It is possible that sockets_add() are called between sockets_prepare()
        !           410:     and sockets_fire() during poll loop in birdloop_main(), so we need to
        !           411:     use loop->poll_fd.used instead of loop->sock_num to find the last field.
        !           412: 
        !           413: commit a290da25a16b7c79d4a7a87f522b4068bca04979
        !           414: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           415: Date:   Tue Sep 6 17:08:45 2016 +0200
        !           416: 
        !           417:     rt-table: Fix kernel protocol export filter memory bug
        !           418:     
        !           419:     Kernel protocol calls rt_export_merged(), which used @rte_update_pool for
        !           420:     temporary allocations, supposing it is called from other functions from
        !           421:     rt-table.c that handles locking and flushing of the linpool. Therefore,
        !           422:     linpool was not flushed properly and memory leaked.
        !           423:     
        !           424:     Add linpool argument to rt_export_merged() and use @krt_filter_lp when
        !           425:     called from kernel protocol.
        !           426:     
        !           427:     Thanks to Justin Cattle and Alexander Frolkin for the bugreport.
        !           428:     
        !           429:     (Commit squashed and updated by Ondrej Zajicek)
        !           430: 
        !           431: commit bc00f058154bb4a630d24d64a55b5f181d235c63
        !           432: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           433: Date:   Tue Sep 6 17:18:15 2016 +0200
        !           434: 
        !           435:     Filter: Prefer xmalloc/xfree to malloc/free
        !           436: 
        !           437: commit 4adcb9df1bf551cc5fd1145c09af1843fdc4fe85
        !           438: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           439: Date:   Thu Sep 15 14:59:06 2016 +0200
        !           440: 
        !           441:     KRT: Add kernel metric protocol option
        !           442:     
        !           443:     Kernel routes with different metrics do not clash with each other,
        !           444:     therefore using dedicated metric value is a reliable way to avoid
        !           445:     overwriting routes from other sources (e.g. kernel device routes).
        !           446:     
        !           447:     Although kernel route metric could already be set as a route attribute by
        !           448:     filters, that is not consistent with the way how Linux kernel handles
        !           449:     route metric - not just a route attribute, but a part of a route key.
        !           450: 
        !           451: commit 2feaa6931bfe39eba696b33b0c8aac13d313b223
        !           452: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           453: Date:   Wed Sep 14 11:40:15 2016 +0200
        !           454: 
        !           455:     KRT: Support for IPv6 ECMP
        !           456:     
        !           457:     Linux represents IPv6 ECMP routes as a sequence of unipath routes with
        !           458:     the same prefix. We have to translate between our representation (one
        !           459:     route with multipath next hop) and the Linux representation in both
        !           460:     directions.
        !           461:     
        !           462:     Proper learning of alien IPv6 ECMP routes still not supported.
        !           463:     
        !           464:     Thanks to Mikhail Sennikovskii for the original patch.
        !           465: 
        !           466: commit 84cac51a51fc29349077e8cecadf1aed11f9b824
        !           467: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           468: Date:   Tue Aug 30 17:17:27 2016 +0200
        !           469: 
        !           470:     Nest: Keep multipath next hops sorted
        !           471: 
        !           472: commit a1839f3c61af66814a8c52b9ad28e59aab4ede0e
        !           473: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           474: Date:   Wed Aug 31 14:02:41 2016 +0200
        !           475: 
        !           476:     KRT: Fix trivial error
        !           477: 
        !           478: commit f9f2e280ea4fa1af19d8ce9e54abeb495694c0d5
        !           479: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           480: Date:   Tue Aug 30 12:43:46 2016 +0200
        !           481: 
        !           482:     KRT: Forbid path merging on BSD
        !           483:     
        !           484:     We support ECMP routes only on Linux. Exported routes are checked in
        !           485:     krt_capable(), but a route generated during path merging avoids this
        !           486:     check.
        !           487: 
        !           488: commit 768d013267bd2a52bab70ba6d413f49365fb31e3
        !           489: Merge: 678c97f d107ef7
        !           490: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           491: Date:   Tue Aug 23 17:35:26 2016 +0200
        !           492: 
        !           493:     Merge remote-tracking branch 'origin/misc-fixes'
        !           494: 
        !           495: commit 678c97f21ef15c98546f41647f3244799a37db1f
        !           496: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           497: Date:   Tue Aug 23 17:33:00 2016 +0200
        !           498: 
        !           499:     Minor README update
        !           500: 
        !           501: commit d107ef78df2564cba75af1a6dcc9894c4468b207
        !           502: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           503: Date:   Tue Aug 16 13:02:32 2016 +0200
        !           504: 
        !           505:     Whitespace fixes
        !           506: 
        !           507: commit dbac8793bd88279fd8956ce42db7bd2230965948
        !           508: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           509: Date:   Tue Aug 16 10:42:12 2016 +0200
        !           510: 
        !           511:     Add link to INSTALL in README file
        !           512: 
        !           513: commit 9b3d2464cd6dafdd3021f4513f24d19d56d42d3d
        !           514: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           515: Date:   Tue Aug 16 10:15:58 2016 +0200
        !           516: 
        !           517:     Rewrote README file
        !           518:     
        !           519:     * Made structure with headlines,
        !           520:     * reordered,
        !           521:     * kicked out 'What is missing' part,
        !           522:     * Updated content by home page site and user docs
        !           523: 
        !           524: commit 671ddd5b05cf35b2ab7b80f1d13641c875f22e77
        !           525: Author: OndÅ™ej Surý <ondrej@sury.org>
        !           526: Date:   Tue Aug 16 09:25:50 2016 +0200
        !           527: 
        !           528:     Add .gitignore to ignore generated files
        !           529: 
        !           530: commit 33d22f0e9e79c387c492d1cf16bdb723ca1d588a
        !           531: Author: OndÅ™ej Surý <ondrej@sury.org>
        !           532: Date:   Tue Aug 16 09:24:12 2016 +0200
        !           533: 
        !           534:     whitespace fixes
        !           535: 
        !           536: commit 61e6725335fbba86175ec770c1e94c5f60e76d5c
        !           537: Author: OndÅ™ej Surý <ondrej@sury.org>
        !           538: Date:   Tue Aug 16 09:23:55 2016 +0200
        !           539: 
        !           540:     Include <stdint.h> in cf-lex.l to avoid UINTx_MAX redefinition
        !           541: 
        !           542: commit 0ea2afe67150661328c93679587740fbd8928b2a
        !           543: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           544: Date:   Mon Aug 15 16:16:36 2016 +0200
        !           545: 
        !           546:     Adds mailing list address at the top of README file
        !           547: 
        !           548: commit 13a31a4001e02ea7c84d26cbeaaa9fea816736f7
        !           549: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           550: Date:   Wed Jul 20 15:55:45 2016 +0200
        !           551: 
        !           552:     Babel: Immediately update hello interval on interface reconfigure
        !           553:     
        !           554:     An interface reconfiguration may change both the hello and update
        !           555:     intervals. An update interval change is immediately put into effect,
        !           556:     while a hello interval change is not. This also updates the hello
        !           557:     interval immediately (if the new interval is shorter than the old one),
        !           558:     and sends a hello to notify peers of the change.
        !           559:     
        !           560:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !           561: 
        !           562: commit a08a81c6b40dcf07e786b67e5015fc91a44333ca
        !           563: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           564: Date:   Wed Jul 20 15:31:25 2016 +0200
        !           565: 
        !           566:     Netlink: Fix build with older headers missing IFA_FLAGS
        !           567: 
        !           568: commit e37d2e3e708db78f9b8f15eb34bb266cfae7bb42
        !           569: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           570: Date:   Wed Jul 20 15:06:57 2016 +0200
        !           571: 
        !           572:     Netlink: Ignore tentative addresses
        !           573:     
        !           574:     Ignore tentative IPv6 addresses and wait until finish of Duplicate
        !           575:     Address Detection (We got notification when an address is no longer
        !           576:     tentative) to avoid problems when protocols try to use interfaces
        !           577:     with tentative link-local addresses.
        !           578:     
        !           579:     Based on patch from Jan Moskyto Matejka
        !           580: 
        !           581: commit 0a21c21112eff1286a0a2a7f7afc812f8d16cfa2
        !           582: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           583: Date:   Tue Jul 19 15:40:57 2016 +0200
        !           584: 
        !           585:     Doc: Fix password ID option description
        !           586:     
        !           587:     Thanks to Alexander Velkov for noticing it
        !           588: 
        !           589: commit c6ed5a0f9925476714d6b351c61dbce704a4f09d
        !           590: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           591: Date:   Tue Jul 19 14:38:36 2016 +0200
        !           592: 
        !           593:     Babel: Do not maintain feasibility distance for our own routes
        !           594:     
        !           595:     We do not need to maintain feasibility distances for our own router
        !           596:     ID (we ignore the updates anyway). Not doing so makes the routes be
        !           597:     garbage collected sooner when export filters change.
        !           598:     
        !           599:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !           600: 
        !           601: commit 0f673666017bfc9c05c9495ae53bc323b9dc6660
        !           602: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           603: Date:   Tue Jul 19 14:28:53 2016 +0200
        !           604: 
        !           605:     Babel: Do not keep an infeasible route as selected
        !           606:     
        !           607:     When a route becomes infeasible it should not be kept as selected; this
        !           608:     is forbidden by section 3.6 of the RFC and prevents subsequent updates
        !           609:     from the same router ID from replacing it.
        !           610:     
        !           611:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !           612: 
        !           613: commit 5d6ca220850c615126ea6820f8c05528269feec6
        !           614: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           615: Date:   Tue Jul 19 14:23:41 2016 +0200
        !           616: 
        !           617:     Babel: Send wildcard retractions on shutdown and startup
        !           618:     
        !           619:     This makes BIRD send a wildcard retraction on all interfaces before
        !           620:     shutting down and right after starting up. This helps ensure that
        !           621:     neighbours will discard the announced routes as soon as possible,
        !           622:     rather than only after the normal timeout procedures.
        !           623:     
        !           624:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !           625: 
        !           626: commit ecae2f43f37df642e5098201a0472802e6a70e78
        !           627: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           628: Date:   Tue Jul 19 13:33:02 2016 +0200
        !           629: 
        !           630:     Babel: Rework handling of retractions
        !           631:     
        !           632:     An update with wildcard AE and infinite metric should be treated as a
        !           633:     global retraction of all prefixes announced by that neighbour, per
        !           634:     section 4.4.9 of the RFC. In addition, router ID and seqno in retraction
        !           635:     updates should be ignored. This reworks the handling of retractions and
        !           636:     adjusts the parser to handle all this correctly.
        !           637:     
        !           638:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !           639: 
        !           640: commit 12640c149976e1eca54d9c22c593d07a27c49d42
        !           641: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           642: Date:   Tue Jul 19 12:16:51 2016 +0200
        !           643: 
        !           644:     Babel: Documentation updates
        !           645:     
        !           646:     This updates the documentation to correctly mention Babel when protocols
        !           647:     are listed, and adds examples and route attribute documentation to the
        !           648:     Babel section of the docs.
        !           649:     
        !           650:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !           651: 
        !           652: commit 321ff8c4049ec6c2fa198858b4a7f1814ce05e39
        !           653: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           654: Date:   Tue Jul 19 11:57:20 2016 +0200
        !           655: 
        !           656:     Babel: Make sure intervals do not overflow
        !           657:     
        !           658:     Intervals are carried as 16-bit centisecond values, but kept internally
        !           659:     in 16-bit second values, which causes a potential for overflow. This adds
        !           660:     some checks to make sure this does not happen.
        !           661:     
        !           662:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !           663: 
        !           664: commit 6887f409f0766c60dd8c3d3fdf01a1d989c090a5
        !           665: Author: Ondrej Filip <feela@network.cz>
        !           666: Date:   Sun Jul 17 14:54:52 2016 +0200
        !           667: 
        !           668:     Prepare for longer interface names - clean up of the code.
        !           669: 
        !           670: commit ea0cb652e91d871e7808e93aa15ef34fc453c4fc
        !           671: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           672: Date:   Mon Jul 11 20:41:32 2016 +0200
        !           673: 
        !           674:     BGP: Fix extended messages
        !           675:     
        !           676:     Change attribute length limit to handle extended (64 kB) messages.
        !           677:     
        !           678:     Do not mix updates and withdraws (RFC 7606).
        !           679: 
        !           680: commit f0b822a831d0f0f593bbedf0a7f15b94c3ca1d43
        !           681: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           682: Date:   Mon Jul 11 20:22:55 2016 +0200
        !           683: 
        !           684:     Log: Fix error handling of debug file open
        !           685:     
        !           686:     Logging is not yet initialized, we have to use fprintf() here.
        !           687:     
        !           688:     Thanks to Pavel Tvrdik for noticing and debugging it.
        !           689: 
        !           690: commit f1f39bb9d8e2260fe181240dd8194b06bdcfb54f
        !           691: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           692: Date:   Fri Jul 1 11:03:13 2016 +0200
        !           693: 
        !           694:     Filter: Fixes reconfiguration with last_nonaggregated operator
        !           695: 
        !           696: commit 775a5a81958e66a69663803dd2e731e3800da9e7
        !           697: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           698: Date:   Wed Jun 29 14:11:03 2016 +0200
        !           699: 
        !           700:     BGP: Skip empty path segments in received AS_PATH
        !           701:     
        !           702:     Although RFC 4271 does not forbid empty path segments, they are useless
        !           703:     and some implementations consider them invalid. It is clarified in RFC 7606,
        !           704:     specifying that AS_PATH with empty segment is considered malformed.
        !           705: 
        !           706: commit 8f01879c5629bd714dfeec968337cfcd4dbe6a87
        !           707: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !           708: Date:   Tue Mar 29 10:37:31 2016 +0200
        !           709: 
        !           710:     cppcheck: fix va_end() functions
        !           711: 
        !           712: commit 122deb6d5b14f46f3cfb25bf3f5726005d6a3b3e
        !           713: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           714: Date:   Thu Jun 9 00:30:41 2016 +0200
        !           715: 
        !           716:     Filters: Fixes pm_same() w.r.t. ASN ranges and ASN expressions
        !           717:     
        !           718:     This is necessary for proper detection of filter changes during
        !           719:     reconfigurations.
        !           720: 
        !           721: commit a0fe1944d12771d60986a352552e5f4b306e5f7f
        !           722: Author: Ondrej Filip <feela@network.cz>
        !           723: Date:   Wed Jun 8 16:22:44 2016 +0200
        !           724: 
        !           725:     Add AS# ranges to bgpmask.
        !           726: 
        !           727: commit 90dc0f08434323535f84d64e113dae84675c46b2
        !           728: Author: Ondrej Filip <feela@network.cz>
        !           729: Date:   Sat Jun 4 12:38:06 2016 +0200
        !           730: 
        !           731:     Small typo in documentation example, submitted by Felix Eckhofer.
        !           732: 
        !           733: commit 9dbcb11cb50167e959536e5a564ee9aafae509c6
        !           734: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           735: Date:   Mon May 30 14:28:22 2016 +0200
        !           736: 
        !           737:     Unix IO: Tried to fix strange behavior after POLLHUP or POLLERR.
        !           738: 
        !           739: commit 3f2c7600fa2e35b1028c755aa06092b5991e1a8e
        !           740: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           741: Date:   Thu May 12 21:29:04 2016 +0200
        !           742: 
        !           743:     We don't need bvsnprintf() in BIRD client
        !           744: 
        !           745: commit 8e433d6a529a883d566dc1d5a4afe0f1e2750baf
        !           746: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           747: Date:   Thu May 12 15:49:44 2016 +0200
        !           748: 
        !           749:     Prog Doc: Complete several missing parameters
        !           750: 
        !           751: commit fff7498d6a54d4bcce4bd56db7ef3fb28be35578
        !           752: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           753: Date:   Thu May 12 13:37:23 2016 +0200
        !           754: 
        !           755:     User Doc: Fix several typing error
        !           756: 
        !           757: commit 31e9e10144a6994773a04d94903fa3bdde6de91e
        !           758: Author: Stijn Tintel <stijn@linux-ipv6.be>
        !           759: Date:   Tue May 10 16:45:35 2016 +0300
        !           760: 
        !           761:     netlink: update struct msghdr
        !           762:     
        !           763:     The netlink code assumes an order for the members of struct msghdr.
        !           764:     This breaks recvmsg and sendmsg with musl libc on mips64. Fix this by
        !           765:     using designated initializers instead.
        !           766:     
        !           767:     Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
        !           768: 
        !           769: commit f7a99acb4eac23223f51ce83b8081cc9695fef1e
        !           770: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !           771: Date:   Tue May 3 09:32:49 2016 +0200
        !           772: 
        !           773:     Initialize variable ifr in sk_setup()
        !           774:     
        !           775:     ==00:00:00:02.831 2468== Syscall param socketcall.setsockopt(optval) points to uninitialised byte(s)
        !           776:     ==00:00:00:02.831 2468==    at 0x513BDEA: setsockopt (in /usr/lib/libc-2.23.so)
        !           777:     ==00:00:00:02.831 2468==    by 0x45C7AF: sk_setup (io.c:1216)
        !           778:     ==00:00:00:02.831 2468==    by 0x45CDFF: sk_open (io.c:1417)
        !           779:     ==00:00:00:02.831 2468==    by 0x44B562: rip_open_socket (packets.c:740)
        !           780:     ==00:00:00:02.831 2468==    by 0x4481A7: rip_iface_locked (rip.c:616)
        !           781:     ==00:00:00:02.831 2468==    by 0x4133E4: olock_run_event (locks.c:177)
        !           782:     ==00:00:00:02.831 2468==    by 0x45A6DE: ev_run (event.c:85)
        !           783:     ==00:00:00:02.831 2468==    by 0x45A7AD: ev_run_list (event.c:142)
        !           784:     ==00:00:00:02.831 2468==    by 0x45E0FC: io_loop (io.c:2066)
        !           785:     ==00:00:00:02.831 2468==    by 0x463B56: main (main.c:845)
        !           786:     ==00:00:00:02.831 2468==  Address 0xffefffd24 is on thread 1's stack
        !           787:     ==00:00:00:02.831 2468==  in frame #1, created by sk_setup (io.c:1188)
        !           788:     ==00:00:00:02.831 2468==  Uninitialised value was created by a stack allocation
        !           789:     ==00:00:00:02.831 2468==    at 0x45C6BB: sk_setup (io.c:1188)
        !           790: 
        !           791: commit 1e3810f9f8e251d82a8157b39df9be196315c43e
        !           792: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           793: Date:   Fri Apr 29 13:25:46 2016 +0200
        !           794: 
        !           795:     Doc: Minor fix
        !           796: 
        !           797: commit 52bae25580e6e0edae8384885818044ef89103e3
        !           798: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           799: Date:   Fri Apr 29 13:07:21 2016 +0200
        !           800: 
        !           801:     NEWS and version update
        !           802: 
        !           803: commit 937e75d8f1d203b637ba0ea050026f9af92485f3
        !           804: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           805: Date:   Thu Apr 28 18:01:40 2016 +0200
        !           806: 
        !           807:     Add the Babel routing protocol (RFC 6126)
        !           808:     
        !           809:     This patch implements the IPv6 subset of the Babel routing protocol.
        !           810:     Based on the patch from Toke Hoiland-Jorgensen, with some heavy
        !           811:     modifications and bugfixes.
        !           812:     
        !           813:     Thanks to Toke Hoiland-Jorgensen for the original patch.
        !           814: 
        !           815: commit a7baa09862e6b4856cd66197c6bd74c7df336b8f
        !           816: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           817: Date:   Wed Apr 13 14:30:28 2016 +0200
        !           818: 
        !           819:     BSD: Add the IPsec SA/SP database entries control
        !           820:     
        !           821:     Add code for manipulation with TCP-MD5 keys in the IPsec SA/SP database
        !           822:     at FreeBSD systems. Now, BGP MD5 authentication (RFC 2385) keys are
        !           823:     handled automatically on both Linux and FreeBSD.
        !           824:     
        !           825:     Based on patches from Pavel Tvrdik.
        !           826: 
        !           827: commit 43fc6bb0fb720762f12124076e2241855741ceb5
        !           828: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           829: Date:   Mon Apr 11 00:41:10 2016 +0200
        !           830: 
        !           831:     Documentation update
        !           832: 
        !           833: commit e90dd656cc9126e1fbcc45fb77a10bf1baa2a1b5
        !           834: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           835: Date:   Fri Apr 8 15:10:57 2016 +0200
        !           836: 
        !           837:     Direct: Implement check link for direct protocol
        !           838:     
        !           839:     When enabled, direct protocol generates routes only if the underlying
        !           840:     link state is up.
        !           841: 
        !           842: commit f2ae2badff37c008ba8217a12f8ee6dc6a3c5a39
        !           843: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           844: Date:   Thu Apr 7 12:20:45 2016 +0200
        !           845: 
        !           846:     Main: Add local option
        !           847:     
        !           848:     Add option that changes default paths for config file and control socket
        !           849:     to the current working directory.
        !           850: 
        !           851: commit 06edbb67ed807811654e7fd8f0f9b83766430216
        !           852: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           853: Date:   Thu Apr 7 01:10:24 2016 +0200
        !           854: 
        !           855:     Nest: Reset export route counter during graceful restart
        !           856:     
        !           857:     Counter exp_routes is increased during initial route feed after GR
        !           858:     recovery, so it has to start with zero, otherwise BIRD will end with
        !           859:     double value in exp_routes.
        !           860: 
        !           861: commit bd22d7f41d37dec8f7b8b845f6a18c775e66ddfc
        !           862: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           863: Date:   Wed Apr 6 11:57:28 2016 +0200
        !           864: 
        !           865:     IO: Avoid multiple event cycles in one loop cycle.
        !           866:     
        !           867:     Event cycle may took too much time and trigger next timer events, so
        !           868:     avoid cycling between timer and event cycles inside the loop cycle.
        !           869: 
        !           870: commit 9e7b3ebdf9556d7464911dd39e862b1c003319b3
        !           871: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           872: Date:   Wed Apr 6 11:49:34 2016 +0200
        !           873: 
        !           874:     IO: Replace RX priority heuristic with explicit mark
        !           875:     
        !           876:     In BIRD, RX has lower priority than TX with the exception of RX from
        !           877:     control socket. The patch replaces heuristic based on socket type with
        !           878:     explicit mark and uses it for both control socket and BGP session waiting
        !           879:     to be established.
        !           880:     
        !           881:     This should avoid an issue when during heavy load, outgoing connection
        !           882:     could connect (TX event), send open, but then failed to receive OPEN /
        !           883:     establish in time, not sending notifications between and therefore
        !           884:     got hold timer expired error from the neighbor immediately after it
        !           885:     finally established the connection.
        !           886: 
        !           887: commit e86cfd41d975122cc944db68383aef4028da9575
        !           888: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           889: Date:   Wed Mar 23 18:25:15 2016 +0100
        !           890: 
        !           891:     KRT: Fix route learn scan when route changed
        !           892:     
        !           893:     When a kernel route changed, function krt_learn_scan() noticed that and
        !           894:     replaced the route in internal kernel FIB, but after that, function
        !           895:     krt_learn_prune() failed to propagate the new route to the nest, because
        !           896:     it confused the new route with the (removed) old best route and decided
        !           897:     that the best route did not changed.
        !           898:     
        !           899:     Wow, the original code (and the bug) is almost 17 years old.
        !           900: 
        !           901: commit ea0a8be2ff5afb8385a69cc0df70984e0fd3a570
        !           902: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           903: Date:   Wed Mar 30 16:21:32 2016 +0200
        !           904: 
        !           905:     IO/Poll: fix mistaken variable merge
        !           906:     
        !           907:     The events variable is used in the short loop decision. The reasons are
        !           908:     not much clear, keeping this to keep the former behaviour.
        !           909: 
        !           910: commit 54bb032d21d25a2221877e15325e79add10278ec
        !           911: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           912: Date:   Wed Mar 23 01:45:37 2016 +0100
        !           913: 
        !           914:     Birdlib: Modify lists to avoid problems with pointer aliasing rules
        !           915:     
        !           916:     The old linked list implementation used some wild typecasts and required
        !           917:     GCC option -fno-strict-aliasing to work properly. This patch fixes that.
        !           918:     However, we still keep the option due to other potential problems.
        !           919:     
        !           920:     (Commited by Ondrej Santiago Zajicek)
        !           921: 
        !           922: commit 665b8e5283df4f64eb44d8fb434489be1474b5d4
        !           923: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           924: Date:   Tue Mar 22 13:35:40 2016 +0100
        !           925: 
        !           926:     Birdlib: Do cleanups after remove/free
        !           927:     
        !           928:     To avoid byzantine behavior in case of some errors, linked lists are
        !           929:     cleared after rem_node() and resource headers are cleared after rfree().
        !           930: 
        !           931: commit 39a6b19d6d7e420805bd75783b77bf442745bccb
        !           932: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           933: Date:   Tue Mar 22 12:51:31 2016 +0100
        !           934: 
        !           935:     OSPF: Fix bogus LSA ID collisions between received and originated LSAs
        !           936:     
        !           937:     After restart, LSAs locally originated by the previous instance are
        !           938:     received from neighbors. They are installed to LSA db and flushed. If
        !           939:     export of a route triggers origination of a new external LSA before flush
        !           940:     of the received one is complete, the check in ospf_originate_lsa() causes
        !           941:     origination to fail (because en->nf is NULL for the old LSA and non-NULL
        !           942:     for the new LSA). The patch fixes this by updating the en->nf for LSAs
        !           943:     being flushed (as is already done for empty ones). Generally, en->nf
        !           944:     field deserves some better description in the code.
        !           945:     
        !           946:     Thanks to Jigar Mehta for analyzing the problem.
        !           947: 
        !           948: commit 0a505706bc909b2625d308ffb2eaed3dc8398538
        !           949: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           950: Date:   Wed Mar 9 17:51:50 2016 +0100
        !           951: 
        !           952:     Minor changes in documentation
        !           953: 
        !           954: commit a459f4df16eca156cb7c6def4a758fd89c9fa504
        !           955: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           956: Date:   Wed Mar 9 17:37:44 2016 +0100
        !           957: 
        !           958:     OSPF: Fix reading from freed memory
        !           959:     
        !           960:     Thanks to Pavel Tvrdik for noticing it.
        !           961: 
        !           962: commit 62a4ad365760afae485ae61c5aab734012545be4
        !           963: Merge: 9036bbf 9c92f69
        !           964: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           965: Date:   Tue Mar 22 13:23:55 2016 +0100
        !           966: 
        !           967:     Merge remote-tracking branch 'origin/poll'
        !           968: 
        !           969: commit 9c92f69272de3795f7289969e815d99a93d0d9b3
        !           970: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           971: Date:   Fri Mar 18 11:44:28 2016 +0100
        !           972: 
        !           973:     Unix: Substituted select -> poll also in congestion checker
        !           974:     
        !           975:     It does strange things when even one fd larger than FD_SETSIZE is
        !           976:     passed to select().
        !           977: 
        !           978: commit 9036bbf2b7cc781c87f2a6b3979198f77ec6ada1
        !           979: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !           980: Date:   Tue Mar 15 14:55:40 2016 +0100
        !           981: 
        !           982:     RIP: fix typo in configuration at rx length opt
        !           983: 
        !           984: commit 79a4f74a65941603cc42680d2e61b00ec88abe97
        !           985: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !           986: Date:   Tue Mar 15 10:29:32 2016 +0100
        !           987: 
        !           988:     BGP: Add documentaion for extended messages
        !           989: 
        !           990: commit fd926ed4eea319b94bd0e09e093b90846bcb169b
        !           991: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           992: Date:   Tue Mar 15 14:57:49 2016 +0100
        !           993: 
        !           994:     Poll: Prevent the improbable case of EAGAIN after POLLIN
        !           995: 
        !           996: commit e1c13a5a7b86f2ba09178300bad960224658c833
        !           997: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !           998: Date:   Wed Mar 9 12:12:02 2016 +0100
        !           999: 
        !          1000:     Unix: Rework of select-loop to poll-loop
        !          1001:     
        !          1002:     This should lift the limit of FD_SETSIZE and allow more than 1024 fd's.
        !          1003:     FD_SETSIZE limit doesn't matter now when creating new sockets.
        !          1004: 
        !          1005: commit ce95af7a5f5159033e569a7ccedce0e20bb5d913
        !          1006: Merge: b25509e e3f506f
        !          1007: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          1008: Date:   Thu Feb 25 18:25:53 2016 +0100
        !          1009: 
        !          1010:     Merge branch 'master' of gitlab.labs.nic.cz:labs/bird
        !          1011: 
        !          1012: commit e3f506f9b53bd8e44976df1c935c7ec417793ace
        !          1013: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1014: Date:   Thu Feb 25 18:16:59 2016 +0100
        !          1015: 
        !          1016:     OSPF: Multicast ability is irrelevant for stub interfaces
        !          1017: 
        !          1018: commit b25509e5128e6f2a856cd4a07bb78f3d6b7fc789
        !          1019: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          1020: Date:   Wed Jan 20 15:23:17 2016 +0100
        !          1021: 
        !          1022:     All the current pthread implementations are OK and working with us.
        !          1023:     
        !          1024:     No more need to disable pthread for specific BSD's.
        !          1025: 
        !          1026: commit 9c9cc35c0273f8bcae10fb8b546d199514b2bbc5
        !          1027: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1028: Date:   Tue Feb 16 17:33:58 2016 +0100
        !          1029: 
        !          1030:     Filter: Implement last_nonaggregated operator on bgp_path
        !          1031: 
        !          1032: commit c2106b674ca632f7c0bffd7cab4b1940f74d353c
        !          1033: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1034: Date:   Thu Feb 11 21:53:55 2016 +0100
        !          1035: 
        !          1036:     Unix: Fix bug in syslog name handling
        !          1037:     
        !          1038:     Pointer to current_log_name has to be changed even if the name is the
        !          1039:     same, because the old one will be invalid/freed after reconfiguration.
        !          1040: 
        !          1041: commit 487c6961cb29046dbe9560262e3e742e38691b83
        !          1042: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1043: Date:   Thu Feb 11 16:38:28 2016 +0100
        !          1044: 
        !          1045:     BGP: Fix bug in incoming connection handling
        !          1046:     
        !          1047:     When a BGP session was established by an outgoing connection with
        !          1048:     Graceful Restart behavior negotiated, a pending incoming connection in
        !          1049:     OpenSent state, and another incoming connection was received, then the
        !          1050:     outgoing connection (and whole BGP session) was closed, but the old
        !          1051:     incoming connection was just overwritten by the new one. That later
        !          1052:     caused a crash when the hold timer from the old connection fired.
        !          1053: 
        !          1054: commit 52e21323b6c49af9d076586241451973a7d1e7c6
        !          1055: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1056: Date:   Wed Nov 25 15:52:58 2015 +0100
        !          1057: 
        !          1058:     BGP: Update capability number from IANA for extended messages
        !          1059: 
        !          1060: commit 33b4f40acce02c90b4b7766c5c94ebf2d22765c6
        !          1061: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          1062: Date:   Fri Nov 13 16:08:28 2015 +0100
        !          1063: 
        !          1064:     MD5: Mormalize naming style
        !          1065: 
        !          1066: commit 90f78507f4a13673ccf0ba7c786b43d9e882fca7
        !          1067: Merge: 8eb8e54 ad27615
        !          1068: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1069: Date:   Tue Nov 24 15:21:11 2015 +0100
        !          1070: 
        !          1071:     Merge branch 'master' into rip-new
        !          1072: 
        !          1073: commit ad27615760e2795da3efe5e97c0e888281d5ca59
        !          1074: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          1075: Date:   Tue Nov 10 14:59:41 2015 +0100
        !          1076: 
        !          1077:     Netlink: attribute validation before parsing
        !          1078:     
        !          1079:     Wanted netlink attributes are defined in a table, specifying
        !          1080:     their size and neediness. Removing the long conditions that did the
        !          1081:     validation before.
        !          1082:     
        !          1083:     Also parsing IPv4 and IPv6 versions regardless on the IPV6 macro.
        !          1084: 
        !          1085: commit e422ca0f292d08a873deacdbffbb6c6cbd79f88a
        !          1086: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1087: Date:   Tue Nov 24 13:52:26 2015 +0100
        !          1088: 
        !          1089:     Some consts for function arguments
        !          1090:     
        !          1091:     Patch from Pavel Tvrdik
        !          1092: 
        !          1093: commit 5126380beace4e39578f005fe115917b8e8b8ff3
        !          1094: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1095: Date:   Tue Nov 24 13:47:28 2015 +0100
        !          1096: 
        !          1097:     Minor changes to SHA hash functions
        !          1098: 
        !          1099: commit 12d752ef24ab507d249a60098ec98dcf28b70036
        !          1100: Merge: 1e4891e f312a83
        !          1101: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1102: Date:   Mon Nov 23 11:32:18 2015 +0100
        !          1103: 
        !          1104:     Merge commit 'origin/crypto-hash^'
        !          1105: 
        !          1106: commit 1e4891e48e7b6f022564e7409d15c3fdb65ec2ad
        !          1107: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1108: Date:   Mon Nov 23 11:13:40 2015 +0100
        !          1109: 
        !          1110:     Nest: Fix bug in device proto
        !          1111:     
        !          1112:     If an interface address notification is received during device protocol
        !          1113:     shutdown/restart, BIRD crashed.
        !          1114:     
        !          1115:     Thanks to Wei Huang for the bugreport.
        !          1116: 
        !          1117: commit f312a837e919c660884ceb9c50c106df1e4c0658
        !          1118: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          1119: Date:   Fri Nov 13 16:14:36 2015 +0100
        !          1120: 
        !          1121:     Add SHA-384/512 and HMAC-SHA-384/512 crypto hash
        !          1122: 
        !          1123: commit 4035e0e79c609bde30a2f755eec864771ea08e21
        !          1124: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          1125: Date:   Fri Nov 13 16:13:15 2015 +0100
        !          1126: 
        !          1127:     Add SHA-224/256 and HMAC-SHA-224/256 crypto hash
        !          1128: 
        !          1129: commit 5d0c36f1da83b2a2a07e043247410948d90c600e
        !          1130: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          1131: Date:   Fri Nov 13 16:11:51 2015 +0100
        !          1132: 
        !          1133:     Add SHA1 and SHA1-HMAC crypto hash
        !          1134: 
        !          1135: commit 75ff08022ea58fe3efa96639f080ce375e997675
        !          1136: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          1137: Date:   Fri Nov 13 16:10:33 2015 +0100
        !          1138: 
        !          1139:     Add get_u64() and put_u64() into lib/unaligned.h
        !          1140: 
        !          1141: commit fce764f90e8331d1adb6a85ec00136dfeae1a398
        !          1142: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          1143: Date:   Mon Nov 9 09:14:26 2015 +0100
        !          1144: 
        !          1145:     Fix compiling with --enable-debug option
        !          1146: 
        !          1147: commit 9ddbfbddf87462bbf50437bdc1d44499a5c223e7
        !          1148: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          1149: Date:   Tue Nov 3 14:42:41 2015 +0100
        !          1150: 
        !          1151:     Netlink: Allow more than 256 routing tables.
        !          1152:     
        !          1153:     Since 2.6.19, the netlink API defines RTA_TABLE routing attribute to
        !          1154:     allow 32-bit routing table IDs. Using this attribute to index routing
        !          1155:     tables at Linux, instead of 8-bit rtm_table field.
        !          1156: 
        !          1157: commit 86b4e17001fe4cca6dde7ff523346121c0ae68fe
        !          1158: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1159: Date:   Mon Nov 9 01:01:12 2015 +0100
        !          1160: 
        !          1161:     Nest: Fixes bug in missing cleanup during table removal
        !          1162:     
        !          1163:     When a table is removed during reconfiguration, a reference was not
        !          1164:     cleared in the old configuration, which breaks undo.
        !          1165: 
        !          1166: commit 9b9a7143c43d01f0459d40363d56e9c7690c596f
        !          1167: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1168: Date:   Mon Nov 9 00:42:02 2015 +0100
        !          1169: 
        !          1170:     Conf: Fixes bug in symbol lookup during reconfiguration
        !          1171:     
        !          1172:     Symbol lookup by cf_find_symbol() not only did the lookup but also added
        !          1173:     new void symbols allocated from cfg_mem linpool, which gets broken when
        !          1174:     lookups are done outside of config parsing, which may lead to crashes
        !          1175:     during reconfiguration.
        !          1176:     
        !          1177:     The patch separates lookup-only cf_find_symbol() and config-modifying
        !          1178:     cf_get_symbol(), while the later is called only during parsing. Also
        !          1179:     new_config and cfg_mem global variables are NULLed outside of parsing.
        !          1180: 
        !          1181: commit 3aed0a6ff7b2b811a535202fd787281d2ac33409
        !          1182: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1183: Date:   Tue Nov 3 11:27:27 2015 +0100
        !          1184: 
        !          1185:     IO: Fix the previous bugfix
        !          1186:     
        !          1187:     I should check it after making some trivial changes. The original patch
        !          1188:     from Alexander has it right.
        !          1189: 
        !          1190: commit 338f85ca7721fac16394ccabd561ddb5ccaacb36
        !          1191: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1192: Date:   Tue Nov 3 11:08:57 2015 +0100
        !          1193: 
        !          1194:     IO: Handle fd values too big for select()
        !          1195:     
        !          1196:     If the number of sockets is too much for select(), we should at least
        !          1197:     handle it with proper error messages and reject new sockets instead of
        !          1198:     breaking the event loop.
        !          1199:     
        !          1200:     Thanks to Alexander V. Chernikov for the patch.
        !          1201: 
        !          1202: commit 8eb8e546dc8cc647fcfa4a3a17dfa8ab36b00958
        !          1203: Merge: 8465dcc acb04cf
        !          1204: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1205: Date:   Sat Oct 17 14:44:34 2015 +0200
        !          1206: 
        !          1207:     Merge branch 'master' into rip-new
        !          1208: 
        !          1209: commit acb04cfdc550697a7171a86ca559fd8c52841acb
        !          1210: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1211: Date:   Sat Oct 17 14:36:53 2015 +0200
        !          1212: 
        !          1213:     Minor changes
        !          1214: 
        !          1215: commit 8465dccb06afffed171dc1e224e4eb5f67cc3326
        !          1216: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1217: Date:   Mon Oct 5 12:14:50 2015 +0200
        !          1218: 
        !          1219:     Major RIP redesign
        !          1220:     
        !          1221:     The new RIP implementation fixes plenty of old bugs and also adds support
        !          1222:     for many new features: ECMP support, link state support, BFD support,
        !          1223:     configurable split horizon and more. Most options are now per-interface.
        !          1224: 
        !          1225: commit b5e76398de1d4468b4061d9ef57dd3154b2f745e
        !          1226: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1227: Date:   Wed Aug 19 11:16:23 2015 +0200
        !          1228: 
        !          1229:     OSPF: Fixes some issues with link detection
        !          1230:     
        !          1231:     Thanks to Bernardo Figueiredo and Israel G. Lugo for the bugreport.
        !          1232: 
        !          1233: commit c7b99a932cab1873042e356143ab71755920157a
        !          1234: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1235: Date:   Tue Jul 28 15:08:21 2015 +0200
        !          1236: 
        !          1237:     Nest: Fixes one of previous commit
        !          1238: 
        !          1239: commit dbf4c0cb258bd92efb54f95194f664f95ba98fd9
        !          1240: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1241: Date:   Tue Jul 28 12:56:51 2015 +0200
        !          1242: 
        !          1243:     Minor update to test commits
        !          1244: 
        !          1245: commit 641172c6e5e4e291029084074f94f448d6bc69dd
        !          1246: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1247: Date:   Tue Jul 28 12:35:12 2015 +0200
        !          1248: 
        !          1249:     Netlink: Fixes uninitialized variable
        !          1250:     
        !          1251:     Thanks to Pavel Tvrdik for the bugfix
        !          1252: 
        !          1253: commit 538264cf1a7690d90b2953aebff21958c2b55c44
        !          1254: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1255: Date:   Fri Jul 24 18:02:07 2015 +0200
        !          1256: 
        !          1257:     Static: Support for BFD controlled static routes
        !          1258: 
        !          1259: commit 1321e12ac460bd542d3946a0c4a4dacd71157cfa
        !          1260: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1261: Date:   Mon Jul 20 11:12:02 2015 +0200
        !          1262: 
        !          1263:     Static: Allows to specify attributes for static routes
        !          1264:     
        !          1265:     The patch adds suport for specifying route attributes together with
        !          1266:     static routes, e.g.:
        !          1267:     
        !          1268:      route 10.1.1.0/24 via 10.0.0.1 { krt_advmss = 1200; ospf_metric1 = 100; };
        !          1269: 
        !          1270: commit ffa398b8d8bac4cf6368fe700466cad4ff12fee8
        !          1271: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1272: Date:   Sun Jul 19 11:39:24 2015 +0200
        !          1273: 
        !          1274:     BFD: Fixes crash after socket error
        !          1275:     
        !          1276:     Thanks to Thomas King for the bugreport.
        !          1277: 
        !          1278: commit a8ad8fd6491d04620fe4fdebc50f0da2927f9b21
        !          1279: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1280: Date:   Sat Jul 18 23:15:04 2015 +0200
        !          1281: 
        !          1282:     Simplify build messages
        !          1283:     
        !          1284:     Thanks to Christian Tacke for the original patch.
        !          1285: 
        !          1286: commit 17661ff934a80d517284c96756357d4ed5af9a64
        !          1287: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1288: Date:   Sat Jul 18 19:30:35 2015 +0200
        !          1289: 
        !          1290:     Nest: Fixes symbols in router id
        !          1291:     
        !          1292:     Thanks to Peter Hudec for noticing the problem.
        !          1293: 
        !          1294: commit 6683d42d5b560c8805b977736b2a769ea2d9aa8b
        !          1295: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1296: Date:   Sat Jul 18 19:05:11 2015 +0200
        !          1297: 
        !          1298:     Documentation update
        !          1299: 
        !          1300: commit 06e0d1b692d8a190c3f1d073c5c557d8efe78b17
        !          1301: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1302: Date:   Sat Jul 18 13:38:21 2015 +0200
        !          1303: 
        !          1304:     BGP: Extended messages support
        !          1305:     
        !          1306:     Implements draft-ietf-idr-bgp-extended-messages-10, for now
        !          1307:     undocumented and with temporary private capability number.
        !          1308: 
        !          1309: commit ab4da3423d89fb6c60a4137f19c189a8716ecab6
        !          1310: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1311: Date:   Sat Jul 18 13:05:05 2015 +0200
        !          1312: 
        !          1313:     Direct: Fixes behavior for the same routes on different interfaces
        !          1314:     
        !          1315:     Thanks to Andrew (seti.kr.ua) for the bug report.
        !          1316: 
        !          1317: commit 8d9eef17713a9b38cd42bd59c4ce76c3ef6c2fc2
        !          1318: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1319: Date:   Mon Jun 8 02:20:43 2015 +0200
        !          1320: 
        !          1321:     BGP multipath support
        !          1322:     
        !          1323:     Kernel option 'merge paths' allows to merge routes exported to kernel
        !          1324:     protocol (currently BGP and static routes) to multipath routes.
        !          1325: 
        !          1326: commit db027a41d47b8fc52b65067ccabe2024554e53ca
        !          1327: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1328: Date:   Thu Jun 4 11:35:26 2015 +0200
        !          1329: 
        !          1330:     Fixes subtle bug in temporary attribute handling
        !          1331:     
        !          1332:     In some cases, export filter accessed attributes of a different route.
        !          1333: 
        !          1334: commit 78a2cc289fbe11d5b5783220e2cc61d119a78ec3
        !          1335: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1336: Date:   Wed Jun 3 11:58:46 2015 +0200
        !          1337: 
        !          1338:     KRT: Fixes some minor bugs in kernel protocol
        !          1339: 
        !          1340: commit d217ba5111a80a629e408961b902d7759c4b46f5
        !          1341: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1342: Date:   Sun May 31 23:25:33 2015 +0200
        !          1343: 
        !          1344:     Moving of mulipath merging code from OSPF to nest
        !          1345: 
        !          1346: commit ca34698ca62d979c281ed517f040619e31c3ada3
        !          1347: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1348: Date:   Sun May 31 11:29:53 2015 +0200
        !          1349: 
        !          1350:     Fixes bug in pipe feeding when filtered routes are kept in table
        !          1351: 
        !          1352: commit ae80a2de95d3d3c153ce20b90c9d8757d02cb33d
        !          1353: Author: Pavel Tvrdík <pawel.tvrdik@gmail.cz>
        !          1354: Date:   Tue May 19 08:53:34 2015 +0200
        !          1355: 
        !          1356:     unsigned [int] -> uint
        !          1357: 
        !          1358: commit e348ef01b433e06888310c1098a05291034a856c
        !          1359: Author: Pavel Tvrdík <pawel.tvrdik@gmail.cz>
        !          1360: Date:   Tue May 19 08:14:04 2015 +0200
        !          1361: 
        !          1362:     unsgined char -> byte
        !          1363: 
        !          1364: commit 398f92253186d70eb3f2e910c7f8dd2636ee5fa1
        !          1365: Author: Ondrej Filip <feela@network.cz>
        !          1366: Date:   Mon Jun 1 10:41:17 2015 +0200
        !          1367: 
        !          1368:     Typo fix by Hans van Kranenburg
        !          1369: 
        !          1370: commit 9fe1d3ca8a6420b4bdaf15a54ab7b13be6cc07eb
        !          1371: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1372: Date:   Fri May 22 11:12:48 2015 +0200
        !          1373: 
        !          1374:     Fixes unnamed protocols from templates
        !          1375: 
        !          1376: commit d0e23d42de133de706151411d8d4091d07904d29
        !          1377: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1378: Date:   Sun May 17 00:54:33 2015 +0200
        !          1379: 
        !          1380:     Simplify flushing process
        !          1381:     
        !          1382:     Related to changes from previous patch.
        !          1383: 
        !          1384: commit 86f567e13c2202fc3c3a1ce49f9a35220a50f117
        !          1385: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1386: Date:   Sat May 16 20:17:59 2015 +0200
        !          1387: 
        !          1388:     Fix minor issue in pipe route propagation
        !          1389:     
        !          1390:     In some circumstances during reconfiguration, routes propagated by pipes
        !          1391:     to other tables may hang there even after the primary routes are removed.
        !          1392:     
        !          1393:     There is already a workaround for this issue in the code which removes
        !          1394:     these stale routes by flush process when source protocols are shut down.
        !          1395:     
        !          1396:     This patch is a cleaner fix and allows to simplify the flush process
        !          1397: 
        !          1398: commit 38e835dede88158d97c3039ed22faabed79c7181
        !          1399: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1400: Date:   Wed May 13 13:19:26 2015 +0200
        !          1401: 
        !          1402:     Fix in the last commit
        !          1403: 
        !          1404: commit 9fdf9d29b6b570205c36934aab7e50539e042102
        !          1405: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1406: Date:   Tue May 12 16:42:22 2015 +0200
        !          1407: 
        !          1408:     KRT: Add support for plenty of kernel route metrics
        !          1409:     
        !          1410:     Linux kernel route metrics (RTA_METRICS netlink route attribute) are
        !          1411:     represented and accessible as new route attributes:
        !          1412:     
        !          1413:     krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss,
        !          1414:     krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd,
        !          1415:     krt_quickack, krt_lock_mtu, krt_lock_window, krt_lock_rtt, krt_lock_rttvar,
        !          1416:     krt_lock_sstresh, krt_lock_cwnd, krt_lock_advmss, krt_lock_reordering,
        !          1417:     krt_lock_hoplimit, krt_lock_rto_min, krt_feature_ecn, krt_feature_allfrag
        !          1418: 
        !          1419: commit 315f23a0470112ced04badbb117bc7854ee53e06
        !          1420: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1421: Date:   Sat May 9 18:50:15 2015 +0200
        !          1422: 
        !          1423:     Add bitfield route attribute type
        !          1424: 
        !          1425: commit 77edab640925e8d1131f0d00b41de055129ff99f
        !          1426: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1427: Date:   Fri May 1 14:40:56 2015 +0200
        !          1428: 
        !          1429:     OSPF: Redesign LSA checksumming
        !          1430:     
        !          1431:     New LSA checksumming code separates generic Fletcher-16 and OSPF-specific
        !          1432:     code and avoids back and forth endianity conversions, making it much more
        !          1433:     readable and also several times faster.
        !          1434: 
        !          1435: commit 30d09eb96e8d46143d04285016a137d71a87c416
        !          1436: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1437: Date:   Tue Apr 28 13:45:44 2015 +0200
        !          1438: 
        !          1439:     OSPF: Fixes validation of LSA checksums
        !          1440:     
        !          1441:     Prior to this patch, BIRD validates the OSPF LSA checksum by calculating
        !          1442:     a new checksum and comparing it with the checksum in the header. Due to
        !          1443:     the specifics of the Fletcher checksum used in OSPF, this is not
        !          1444:     necessarily correct as the checkbytes in the header may be calculated via
        !          1445:     a different means and end up with a different value that is nonetheless
        !          1446:     still correct.
        !          1447:     
        !          1448:     The documented means of validating the checksum as specified in RFC 905
        !          1449:     B.4 is to calculate c0 and c1 from the unchanged contents of the packet,
        !          1450:     which must result in a zero value to be considered valid.
        !          1451:     
        !          1452:     Thanks to Chris Boot for the patch.
        !          1453: 
        !          1454: commit 7069fc9e724134ddd841219f5673cc9b13c58490
        !          1455: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1456: Date:   Sat Apr 25 21:41:43 2015 +0200
        !          1457: 
        !          1458:     KRT: Fixes route reload
        !          1459:     
        !          1460:     Did not really worked
        !          1461: 
        !          1462: commit c5ff44a703e4ab810a5bd45cf9140643a50fb3ec
        !          1463: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1464: Date:   Sat Apr 25 20:43:43 2015 +0200
        !          1465: 
        !          1466:     KRT: Fixes learning of preferred kernel routes.
        !          1467:     
        !          1468:     When a new route was imported from kernel and chosen as preferred, then
        !          1469:     the old best route was propagated as a withdraw to the kernel protocol.
        !          1470:     Under some circumstances such withdraw propagated to the BSD kernel could
        !          1471:     remove the new alien route and thus reverting the import.
        !          1472: 
        !          1473: commit 90097f4fb924922b416247abf291fb21f39dc8e1
        !          1474: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1475: Date:   Wed Apr 22 10:53:15 2015 +0200
        !          1476: 
        !          1477:     KRT: Support for RTM_CHANGE on BSD
        !          1478: 
        !          1479: commit deec752ef941eef4c36c21c5c5426d08e98c7a44
        !          1480: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1481: Date:   Mon Apr 20 12:27:00 2015 +0200
        !          1482: 
        !          1483:     NEWS and version update
        !          1484: 
        !          1485: commit b867a87c2fd694e6e690dc94da76754e89f03370
        !          1486: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1487: Date:   Sun Apr 19 00:19:56 2015 +0200
        !          1488: 
        !          1489:     Fixes port range socket option
        !          1490: 
        !          1491: commit ef3cac669ca0f6f2b983e33ab6d553705c35f3df
        !          1492: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1493: Date:   Sat Apr 18 13:22:41 2015 +0200
        !          1494: 
        !          1495:     OSPF: Fixes handling of external routes with immediate gw
        !          1496:     
        !          1497:     The bug caused that received external LSAs with locally reachable
        !          1498:     next hops were ignored. I wonder why nobody noticed it sooner.
        !          1499: 
        !          1500: commit 304ac2e861a5ea28683489aff38ff37ff6873bb4
        !          1501: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1502: Date:   Sun Apr 12 10:47:17 2015 +0200
        !          1503: 
        !          1504:     Minor fixes
        !          1505: 
        !          1506: commit d924d5a5626397da7e71fddfb1c0fd22c2714f2c
        !          1507: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1508: Date:   Wed Apr 1 00:01:35 2015 +0200
        !          1509: 
        !          1510:     BGP: Fixes serious bug in TX handling
        !          1511:     
        !          1512:     Under some circumstances and heavy load, TX could be postponed
        !          1513:     until the session fails with hold timer expired.
        !          1514:     
        !          1515:     Thanks to Javor Kliachev for making the bug reproductible.
        !          1516: 
        !          1517: commit 16a3254c4cb592e7cfa3aea744e9fd58665d6367
        !          1518: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1519: Date:   Tue Mar 31 23:59:40 2015 +0200
        !          1520: 
        !          1521:     Understand IFF_MULTICAST flag on ifaces in Linux
        !          1522:     
        !          1523:     Unfortunately, some interfaces support multicast but do not have
        !          1524:     this flag set, so we use it only as a positive hint.
        !          1525:     
        !          1526:     Thanks to Clint Armstrong for noticing the problem.
        !          1527: 
        !          1528: commit 2eadd36fa004d705a4003892d1639485eeaf8486
        !          1529: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1530: Date:   Sun Mar 29 21:24:47 2015 +0200
        !          1531: 
        !          1532:     BGP: AS-wide unique router ID (RFC 6286) support
        !          1533:     
        !          1534:     RFC 6286 relaxed rules for router IDs, allowing EBGP sessions between
        !          1535:     routers with the same ID (but different ASN).
        !          1536: 
        !          1537: commit 9aed29e605334d34d0e6a90fc172ee83d0274ad3
        !          1538: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1539: Date:   Sun Mar 29 18:27:13 2015 +0200
        !          1540: 
        !          1541:     BGP: Enhanced route refresh (RFC 7313) support
        !          1542:     
        !          1543:     Also hook feed_done is renamed to feed_end.
        !          1544: 
        !          1545: commit a5a5a41e2ee51ad6dfef0ab24e07d6d9b16a4215
        !          1546: Author: Ondrej Filip <feela@network.cz>
        !          1547: Date:   Mon Mar 9 23:59:26 2015 +0100
        !          1548: 
        !          1549:     Possibility to define unnamed protocols from template added.
        !          1550: 
        !          1551: commit 509aab5debef5b4710d8983da6ef076a226fd7ea
        !          1552: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1553: Date:   Mon Mar 2 10:58:20 2015 +0100
        !          1554: 
        !          1555:     Fixes serious bug in BGP add-path
        !          1556:     
        !          1557:     Temporary rta is reused in BGP, while rta_lookup() breaks it.
        !          1558:     
        !          1559:     Thanks to Alexander Chernikov for analysing the problem.
        !          1560: 
        !          1561: commit af454f9b7c3930a7900e60a7fb608b7de11852aa
        !          1562: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1563: Date:   Mon Mar 2 09:42:44 2015 +0100
        !          1564: 
        !          1565:     Fixes bug in debug dumps
        !          1566:     
        !          1567:     Using 'dump sockets' in IPv6 mode caused crash due to mismatched format string.
        !          1568:     
        !          1569:     Thanks to Pavel Tvrdik for noticing it.
        !          1570: 
        !          1571: commit 8bcb5fb1e8a0718f88f99cde2f5b5a3bae5c4451
        !          1572: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1573: Date:   Mon Mar 2 09:41:14 2015 +0100
        !          1574: 
        !          1575:     Implement latency tracking, internal event log and watchdog
        !          1576: 
        !          1577: commit 4e63974471c4e2f11781cda163e0dc2ac6fb72f9
        !          1578: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1579: Date:   Tue Feb 24 16:19:14 2015 +0100
        !          1580: 
        !          1581:     Add minor comment
        !          1582: 
        !          1583: commit 9c89560e6cdf44a21b2eff8765973ed8665fa07f
        !          1584: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1585: Date:   Sun Feb 22 20:14:14 2015 +0100
        !          1586: 
        !          1587:     Use IP_PORTRANGE_HIGH for BFD where available
        !          1588: 
        !          1589: commit 6cf72d7ad7cbe1eb2f5b63660be6967d29b37044
        !          1590: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1591: Date:   Sun Feb 22 16:08:28 2015 +0100
        !          1592: 
        !          1593:     Rename BGP option 'start delay' to 'connect delay'
        !          1594:     
        !          1595:     Also update log message for error-triggered startup delay.
        !          1596: 
        !          1597: commit a1beb8f3ee7a6e41dbe4bfd336b8bf5eecb46d01
        !          1598: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1599: Date:   Sun Feb 22 13:50:58 2015 +0100
        !          1600: 
        !          1601:     Relax BGP neighbor parameter
        !          1602:     
        !          1603:     Permit specifying neighbor address, AS number and port independently.
        !          1604:     Add 'interface' parameter for specifying interface for link-local
        !          1605:     sessions independently.
        !          1606:     
        !          1607:     Thanks to Alexander V. Chernikov for the original patch.
        !          1608: 
        !          1609: commit 86c3eea0f3ec74ac1024d4aba4e98c962126f387
        !          1610: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1611: Date:   Sat Feb 21 21:19:49 2015 +0100
        !          1612: 
        !          1613:     Use AF_UNSPEC for RTM_GETLINK
        !          1614:     
        !          1615:     This value is specified in documentation.
        !          1616: 
        !          1617: commit 2bbc308321894e0fd301766e8d7d78a4ec119053
        !          1618: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1619: Date:   Sat Feb 21 21:08:23 2015 +0100
        !          1620: 
        !          1621:     Store protocol config size inside protocol structure
        !          1622:     
        !          1623:     Make proto_config_new() use this info instead of supplied size.
        !          1624:     
        !          1625:     Thanks to Alexander V. Chernikov for the patch.
        !          1626: 
        !          1627: commit 374917adccb955fbb2796955166fabe46a09e096
        !          1628: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1629: Date:   Sat Feb 21 20:39:59 2015 +0100
        !          1630: 
        !          1631:     Make BGP protocol instance search a separate function
        !          1632:     
        !          1633:     Thanks to Alexander V. Chernikov for the patch.
        !          1634: 
        !          1635: commit 6264aad16f3320eceb20825c6049917e771b9364
        !          1636: Author: Pavel Tvrdík <pawel.tvrdik@gmail.cz>
        !          1637: Date:   Wed Jan 7 15:04:02 2015 +0100
        !          1638: 
        !          1639:     Minor fixes
        !          1640: 
        !          1641: commit 85a3639d99a39a79b65c2dbc2a136baee6ba2a2b
        !          1642: Author: Pavel Tvrdik <pawel.tvrdik@gmail.cz>
        !          1643: Date:   Fri Dec 5 09:25:38 2014 +0100
        !          1644: 
        !          1645:     Better Clang compatibility
        !          1646: 
        !          1647: commit 7d37bf79de190c89f704bfbf0a753f328d995d5a
        !          1648: Author: Pavel Tvrdik <pawel.tvrdik@gmail.cz>
        !          1649: Date:   Wed Dec 3 10:32:26 2014 +0100
        !          1650: 
        !          1651:     Remove a comparison of unsigned expression < 0
        !          1652: 
        !          1653: commit e598853e681d23dd7820627eeed96bf53197eae5
        !          1654: Author: Pavel Tvrdik <pawel.tvrdik@gmail.cz>
        !          1655: Date:   Wed Dec 3 10:57:31 2014 +0100
        !          1656: 
        !          1657:     Add const to a param msg at functions log_msg, log_rl, die, bug and debug
        !          1658: 
        !          1659: commit 4a591d4b947e0abc0ad013ca1b75da27c6922be5
        !          1660: Author: Pavel Tvrdik <pawel.tvrdik@gmail.cz>
        !          1661: Date:   Wed Dec 3 10:10:34 2014 +0100
        !          1662: 
        !          1663:     Replacing GNU old-style field designator extension
        !          1664: 
        !          1665: commit 8ce9a87755372d7612375bb1a81a288f309746c8
        !          1666: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1667: Date:   Sat Feb 21 14:52:17 2015 +0100
        !          1668: 
        !          1669:     Fixes minor bug in BFD.
        !          1670:     
        !          1671:     Thanks to Pavel Tvrdik for noticing it.
        !          1672: 
        !          1673: commit 51762a45b39f906fe72db2d3d46c9890cb01bbd8
        !          1674: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1675: Date:   Sat Feb 21 14:05:20 2015 +0100
        !          1676: 
        !          1677:     Allows user data attached to f_trie_node structure.
        !          1678:     
        !          1679:     Thanks to Alexander Chernikov for the patch.
        !          1680: 
        !          1681: commit bc7f4e0e3447c579f68b43d407b64a5262f0d11e
        !          1682: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1683: Date:   Sat Feb 21 12:42:31 2015 +0100
        !          1684: 
        !          1685:     Bump max symbol length to 64.
        !          1686:     
        !          1687:     And move the constant to conf.h header.
        !          1688:     
        !          1689:     Thanks to Alexander Chernikov for the patch.
        !          1690: 
        !          1691: commit ab006391305165c805f75e3a2ce20946748233c9
        !          1692: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1693: Date:   Sat Feb 21 12:27:05 2015 +0100
        !          1694: 
        !          1695:     Fixes a bug in locking code.
        !          1696:     
        !          1697:     When multiple protocols have a lock for the same IP address, it crashes
        !          1698:     under some circumstances.
        !          1699:     
        !          1700:     Thanks to Matthias Schiffer for the bugreport.
        !          1701: 
        !          1702: commit dfc7a6c6a0758a1d9a13b94708228c9844efe97e
        !          1703: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1704: Date:   Sat Feb 21 12:24:30 2015 +0100
        !          1705: 
        !          1706:     Fixes potential alignment bug in BGP.
        !          1707:     
        !          1708:     Thanks to Andrew (seti.kr.ua) for the bug report.
        !          1709: 
        !          1710: commit 523f020b5f6b63096a7d5e90938baecd4beea0bd
        !          1711: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1712: Date:   Sat Feb 21 11:46:14 2015 +0100
        !          1713: 
        !          1714:     Link state support in BGP.
        !          1715:     
        !          1716:     Configurable fast shutdown of a BGP session when an interface loses link.
        !          1717: 
        !          1718: commit 7730553b7eeb33d21e5597f110334ca584ad532d
        !          1719: Merge: 0da562a ec2194f
        !          1720: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1721: Date:   Sat Feb 21 11:39:45 2015 +0100
        !          1722: 
        !          1723:     Merge remote-tracking branch 'origin/soft-int'
        !          1724: 
        !          1725: commit 0da562a7cb25ed2b8724248ad6f841b1831a09c3
        !          1726: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1727: Date:   Sat Nov 8 23:52:42 2014 +0100
        !          1728: 
        !          1729:     Fixes error message in 'show route' cmd.
        !          1730:     
        !          1731:     Message 'Network not in table' was not reported if a network node without
        !          1732:     any routes was found in a routing table.
        !          1733: 
        !          1734: commit ec2194fa7a20a2768ca0027b5f3c024f0a251866
        !          1735: Author: Ondrej Filip <feela@network.cz>
        !          1736: Date:   Wed Nov 5 11:07:25 2014 +0100
        !          1737: 
        !          1738:     Version 1.5.0pre
        !          1739: 
        !          1740: commit dd5ef279bce002b9942ea437ef80ce3443bbe1dc
        !          1741: Author: Ondrej Filip <feela@network.cz>
        !          1742: Date:   Tue Nov 4 18:11:59 2014 +0100
        !          1743: 
        !          1744:     Small typo fixed.
        !          1745: 
        !          1746: commit f92e6ab364d50900bc9104af4539f6ea42b25c43
        !          1747: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1748: Date:   Mon Nov 3 20:35:58 2014 +0100
        !          1749: 
        !          1750:     Changes order of iface/addr/neigh event hooks.
        !          1751:     
        !          1752:     Now the order is:
        !          1753:     
        !          1754:     Up   -> iface, addr, neigh
        !          1755:     Down -> neigh, addr, iface
        !          1756:     
        !          1757:     It fixes the case when an iface appears, related static routes are
        !          1758:     activated and exported to OSPF before the iface notification and
        !          1759:     therefore forwarding addresses are not encoded in generated external
        !          1760:     LSAs.
        !          1761: 
        !          1762: commit ac9dc669d80cbfeea3d0cdba5ec7354c804b1ae9
        !          1763: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1764: Date:   Mon Nov 3 20:35:25 2014 +0100
        !          1765: 
        !          1766:     Bugfix in latest OSPF changes.
        !          1767: 
        !          1768: commit cd3b700393144796c9dead54b6ac2fc31aaa5272
        !          1769: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1770: Date:   Mon Nov 3 14:53:59 2014 +0100
        !          1771: 
        !          1772:     Bugfix to OSPF reconfiguration.
        !          1773: 
        !          1774: commit 6f8bbaa10bbd21729d0b62a5878febcbee2c0811
        !          1775: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1776: Date:   Mon Nov 3 10:42:55 2014 +0100
        !          1777: 
        !          1778:     Fininshing integrated OSPF.
        !          1779: 
        !          1780: commit d148d0af363cdac7783c4bf79527669cdd5ddf4a
        !          1781: Author: Ondrej Filip <feela@network.cz>
        !          1782: Date:   Sat Oct 25 21:08:35 2014 +0200
        !          1783: 
        !          1784:     Mailling list location changed.
        !          1785: 
        !          1786: commit 88a183c6c9a2b86b52f67e87bbc8b7edd32670c6
        !          1787: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1788: Date:   Fri Oct 24 11:11:43 2014 +0200
        !          1789: 
        !          1790:     Integrated IP functions.
        !          1791: 
        !          1792: commit f8fefde318c6248ad94e7b6d60155deed9ab8eed
        !          1793: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1794: Date:   Fri Oct 24 10:27:21 2014 +0200
        !          1795: 
        !          1796:     Refactoring of OSPF messages.
        !          1797: 
        !          1798: commit d26cfa0519daf1369b697b0df000c8db8b730e66
        !          1799: Author: Ondrej Filip <feela@network.cz>
        !          1800: Date:   Thu Oct 16 18:05:54 2014 +0200
        !          1801: 
        !          1802:     __attribute__((packed)) added. Thank to Maksim Tamarsky
        !          1803: 
        !          1804: commit 78342404ff573e85e396f0611014b90cea9b4c0a
        !          1805: Merge: 178a197 cfdea7b
        !          1806: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1807: Date:   Tue Oct 14 17:23:34 2014 +0200
        !          1808: 
        !          1809:     Merge remote-tracking branch 'origin/master' into soft-int
        !          1810: 
        !          1811: commit cfdea7b85f6c520cc5a62eb907d2190db14c9900
        !          1812: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1813: Date:   Sun Oct 5 23:59:18 2014 +0200
        !          1814: 
        !          1815:     NEWS and version update.
        !          1816: 
        !          1817: commit 7aa809016e9a2e24ef914888f7413dc1f2721b17
        !          1818: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1819: Date:   Thu Oct 2 12:46:26 2014 +0200
        !          1820: 
        !          1821:     Implements show route noexport option.
        !          1822:     
        !          1823:     Shows routes that would be exported to the protocol but are rejected by
        !          1824:     the export filter.
        !          1825: 
        !          1826: commit 1123e707400984108f48ac7c1be559f7ed8d9306
        !          1827: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1828: Date:   Thu Oct 2 11:41:34 2014 +0200
        !          1829: 
        !          1830:     Implements token bucket filter for rate limiting.
        !          1831: 
        !          1832: commit dcde7ae597ccb7d81648b9ecab7c0f61c88e60f2
        !          1833: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1834: Date:   Thu Oct 2 11:33:55 2014 +0200
        !          1835: 
        !          1836:     Allows to configure different remote port for BGP sessions.
        !          1837:     
        !          1838:     Thanks to João Taveira Araújo for the original patch.
        !          1839: 
        !          1840: commit 252c7e4d0b7b45c89f69b3c4763b0c013aa5830d
        !          1841: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1842: Date:   Thu Oct 2 11:05:55 2014 +0200
        !          1843: 
        !          1844:     Refresh kernel protocol when interface disappears.
        !          1845:     
        !          1846:     When an interface goes down, (Linux) kernel removes routes pointing to
        !          1847:     that ifacem but does not send withdraws for them. We rescan the
        !          1848:     kernel table to ensure synchronization.
        !          1849:     
        !          1850:     Thanks to Alexander Demenshin for the bugreport.
        !          1851: 
        !          1852: commit b2f008378a39104152b20a969942cd6c99644984
        !          1853: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1854: Date:   Thu Oct 2 11:02:14 2014 +0200
        !          1855: 
        !          1856:     Allows more constants in set literals.
        !          1857:     
        !          1858:     Thanks to Michael Fincham for the bugreport.
        !          1859: 
        !          1860: commit 0479b44373892db273f3e0365c7cbaad2eeb0d5f
        !          1861: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1862: Date:   Thu Oct 2 10:59:34 2014 +0200
        !          1863: 
        !          1864:     Fixes some warnings.
        !          1865: 
        !          1866: commit 178a197afb77770d8a90765e39065679936a45d1
        !          1867: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1868: Date:   Mon Jul 21 21:50:56 2014 +0200
        !          1869: 
        !          1870:     OSPF instance id option and documentation update.
        !          1871: 
        !          1872: commit 742029eb782f19c05decbd443d245f12360d5e78
        !          1873: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1874: Date:   Sat Jul 19 17:28:38 2014 +0200
        !          1875: 
        !          1876:     Whitespace cleanup in OSPF.
        !          1877: 
        !          1878: commit a7a7372aa7c527619ee527e3b37013f9fb87d618
        !          1879: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1880: Date:   Fri Jul 18 18:24:12 2014 +0200
        !          1881: 
        !          1882:     Temporary integrated OSPF commit.
        !          1883: 
        !          1884: commit 7c00551749005ad951845eb924f76e1fd28e62a2
        !          1885: Author: Ondrej Filip <feela@network.cz>
        !          1886: Date:   Wed Jul 9 23:46:02 2014 +0200
        !          1887: 
        !          1888:     Version 1.4.4.
        !          1889: 
        !          1890: commit 06c4b6ac9da204453049fa56a204474486a9c9e9
        !          1891: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1892: Date:   Wed Jul 9 18:42:59 2014 +0200
        !          1893: 
        !          1894:     NEWS and version update.
        !          1895: 
        !          1896: commit 029ec22d0acedb79e03394b60ea99bb46c479d79
        !          1897: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1898: Date:   Wed Jul 9 18:34:42 2014 +0200
        !          1899: 
        !          1900:     Fixes a bug in BSD kernel interfacing code.
        !          1901:     
        !          1902:     The bug was introduced in 05476c4d04a24bdb26fa64e05ab31bc36118f34e.
        !          1903: 
        !          1904: commit 751482899c190194b4958bc54ded428f98f565e9
        !          1905: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1906: Date:   Mon Jul 7 22:56:21 2014 +0200
        !          1907: 
        !          1908:     Implements default router preference (RFC 4191) for RAdv.
        !          1909:     
        !          1910:     Thanks to Baptiste Jonglez for the patch.
        !          1911: 
        !          1912: commit 6285793f18817091060c7257f7d4af0db010a67a
        !          1913: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1914: Date:   Mon Jul 7 22:23:37 2014 +0200
        !          1915: 
        !          1916:     Replaces function name in test.conf as it collided with new keyword.
        !          1917: 
        !          1918: commit 20e8d040b09f1e01c431c686f1ced5a12ba7bc68
        !          1919: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1920: Date:   Mon Jun 30 11:55:22 2014 +0200
        !          1921: 
        !          1922:     Fixes integer overflow in show memory command.
        !          1923:     
        !          1924:     Thanks to Job Snijders for the bugreport.
        !          1925: 
        !          1926: commit 8945f73d946a9323daf8dfc1bf5b3884cf6d7664
        !          1927: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1928: Date:   Thu Jun 26 13:30:27 2014 +0200
        !          1929: 
        !          1930:     Ensures that msg_controllen includes last padding.
        !          1931:     
        !          1932:     Although RFC 3542 allows both cases, Theo de Raadt thinks
        !          1933:     he knows better, and msg_controllen without last padding
        !          1934:     fails on OpenBSD.
        !          1935:     
        !          1936:     Thanks to Job Snijders for the bugreport.
        !          1937: 
        !          1938: commit 70945cb645402a4bb1d3dc46a07928caeb954c1f
        !          1939: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1940: Date:   Thu Jun 26 11:58:57 2014 +0200
        !          1941: 
        !          1942:     Temporary integrated OSPF commit.
        !          1943: 
        !          1944: commit 9d5960cfa5b4c15ddd48dbab599f864a6aa1e025
        !          1945: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1946: Date:   Tue Jun 10 12:16:01 2014 +0200
        !          1947: 
        !          1948:     Fixes max include depth in documentation.
        !          1949:     
        !          1950:     Thanks to Artyom Gavrichenkov for the patch.
        !          1951: 
        !          1952: commit 9eceab33f97724be148f9f05614d7551940e85f1
        !          1953: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1954: Date:   Thu May 29 23:05:03 2014 +0200
        !          1955: 
        !          1956:     String constants could be used for string option values.
        !          1957:     
        !          1958:     Thanks to Frederik Kriewitz for the patch.
        !          1959: 
        !          1960: commit 05476c4d04a24bdb26fa64e05ab31bc36118f34e
        !          1961: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1962: Date:   Sun May 18 11:42:26 2014 +0200
        !          1963: 
        !          1964:     IPv4/IPv6 integrated socket code.
        !          1965: 
        !          1966: commit 1149aa977d906a6400f998d5f6600871584395d0
        !          1967: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1968: Date:   Mon May 5 11:05:12 2014 +0200
        !          1969: 
        !          1970:     Fixes a problem with undoing of deconfiguring of protocol.
        !          1971:     
        !          1972:     Thanks to Sergey Popovich for the original patch.
        !          1973: 
        !          1974: commit 5a3905fe905ab1cc1a58fe9e6a4284f7d5057d13
        !          1975: Merge: 66370ea 7d9ab86
        !          1976: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1977: Date:   Sun May 4 11:59:50 2014 +0200
        !          1978: 
        !          1979:     Merge commit 'origin/master'
        !          1980: 
        !          1981: commit 66370eac1f88ec74b3017f1c39038d7b8b776de6
        !          1982: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1983: Date:   Sun May 4 00:01:06 2014 +0200
        !          1984: 
        !          1985:     Fixes BGP crash when update with some attributes and empty NLRI is received.
        !          1986:     
        !          1987:     Thanks to Charlie Allom for the bugreport.
        !          1988: 
        !          1989: commit 7d9ab86b7ac7d1f039af92a58eb749a24811b5c9
        !          1990: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1991: Date:   Sun May 4 00:01:06 2014 +0200
        !          1992: 
        !          1993:     Fixes BGP crash when update with some attributes and empty NLRI is received.
        !          1994: 
        !          1995: commit c865cae3eb327d1e0a745352c483bc7cb00f9323
        !          1996: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          1997: Date:   Mon Apr 28 17:31:03 2014 +0200
        !          1998: 
        !          1999:     Fixes 'show route export' w.r.t. protocols with different RA_* types.
        !          2000: 
        !          2001: commit 984d734944a39b70a59f74e57f0e6fc3f720dd48
        !          2002: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2003: Date:   Sun Apr 27 00:46:32 2014 +0200
        !          2004: 
        !          2005:     Fixes limit verification during reconfiguration.
        !          2006: 
        !          2007: commit 145368f5474436ad7c48fa26f5bde8108ae5ef4a
        !          2008: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2009: Date:   Wed Apr 23 13:54:28 2014 +0200
        !          2010: 
        !          2011:     Extends multipath support for OSPF.
        !          2012:     
        !          2013:     Fixes cases where the same network or external route are propagated by
        !          2014:     several OSPF routes and some other corner cases in next hop construction
        !          2015:     and ECMP. Allows to specify whether external routes should be merged.
        !          2016:     
        !          2017:     Thanks to Peter Christensen for the original patch.
        !          2018: 
        !          2019: commit 4dd24f05f384ac14546d4bebbfcb0ecf9a976ec6
        !          2020: Merge: 1cb0f83 6c6ebd6
        !          2021: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2022: Date:   Wed Apr 23 13:52:15 2014 +0200
        !          2023: 
        !          2024:     Merge commit 'origin/master'
        !          2025: 
        !          2026: commit 6c6ebd64c3e44a2658a7ae8729159f1653c00a89
        !          2027: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2028: Date:   Mon Apr 14 14:47:20 2014 +0200
        !          2029: 
        !          2030:     NEWS and version update.
        !          2031: 
        !          2032: commit 7c4a8007255403d046d7e909f710f0b1ed1791b1
        !          2033: Author: Ondrej Filip <feela@network.cz>
        !          2034: Date:   Mon Apr 14 12:28:30 2014 +0200
        !          2035: 
        !          2036:     Fixed bug in unused function.
        !          2037: 
        !          2038: commit 859cbd75e12966b09985b2a992da5ffb250938f8
        !          2039: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2040: Date:   Mon Apr 14 12:50:03 2014 +0200
        !          2041: 
        !          2042:     Fixes a bug in (mainly) IPv6 BGP.
        !          2043:     
        !          2044:     Stack variable may be used unitialized and that would lead to spurious
        !          2045:     rta_free(), which may cause crash. The bug was introduced in 1.4.1 from
        !          2046:     merging add-path branch.
        !          2047:     
        !          2048:     Thanks to Peter Andreev for reporting it and Alexander V. Chernikov for
        !          2049:     resolving it.
        !          2050: 
        !          2051: commit 1cb0f83d291d9bb3da06067bc2ea838238d5c487
        !          2052: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2053: Date:   Mon Apr 7 11:48:25 2014 +0200
        !          2054: 
        !          2055:     Fixes some asserts.
        !          2056: 
        !          2057: commit 538fec7b1b7dd729eadf1c933e27f59080cd3576
        !          2058: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2059: Date:   Wed Apr 2 23:00:10 2014 +0200
        !          2060: 
        !          2061:     NEWS and version update.
        !          2062: 
        !          2063: commit 2750b2484f256686a38ef6b89db7e2afe9b7999a
        !          2064: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2065: Date:   Wed Apr 2 20:09:37 2014 +0200
        !          2066: 
        !          2067:     Fixes missing line in BFD context help.
        !          2068: 
        !          2069: commit 864f52a5f4c47ac8dc44a8808beb7f038cbf9899
        !          2070: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2071: Date:   Wed Apr 2 19:58:23 2014 +0200
        !          2072: 
        !          2073:     Fixes nasty bug in BFD.
        !          2074:     
        !          2075:     When a BFD session is removed while being scheduled for notification,
        !          2076:     the session stays in notify list and is removed twice, which leads to
        !          2077:     a strange crash after a while.
        !          2078: 
        !          2079: commit 60442b1698563ebc5837454d89dbe4afa037882d
        !          2080: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2081: Date:   Mon Mar 31 18:51:51 2014 +0200
        !          2082: 
        !          2083:     NEWS and version update.
        !          2084: 
        !          2085: commit d96ec7f6e0d26546d9a27064fd13591618258894
        !          2086: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2087: Date:   Mon Mar 31 18:51:16 2014 +0200
        !          2088: 
        !          2089:     Updates BFD documentation.
        !          2090: 
        !          2091: commit eb5ea6bdd6fa45f03425ea38b8d1b16fd5ff7469
        !          2092: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2093: Date:   Mon Mar 31 13:21:13 2014 +0200
        !          2094: 
        !          2095:     Fixes build on some old systems.
        !          2096: 
        !          2097: commit 43eb8f610f7796375419dc8d72df7a41c01c82af
        !          2098: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2099: Date:   Mon Mar 31 12:02:20 2014 +0200
        !          2100: 
        !          2101:     Removes conflicting definition.
        !          2102:     
        !          2103:     This function is a part of Readline interface for a long time
        !          2104:     (with a different type).
        !          2105: 
        !          2106: commit d7c0628591b802e202903b63fce53b6a422a3db2
        !          2107: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2108: Date:   Mon Mar 31 00:56:44 2014 +0200
        !          2109: 
        !          2110:     Check validity of interface definitions.
        !          2111:     
        !          2112:     Thanks to Aleksey Berezin for the bugreport.
        !          2113: 
        !          2114: commit 0c3d9dacafdb807d2101c67610969707353f434a
        !          2115: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2116: Date:   Tue Mar 25 14:58:00 2014 +0100
        !          2117: 
        !          2118:     Fixes file descriptor leak when parser ends with error.
        !          2119:     
        !          2120:     Thanks to MrBr for the bugreport.
        !          2121: 
        !          2122: commit 4e7c974d22ee5d938d8d8e7018f0a63f609d630b
        !          2123: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2124: Date:   Mon Mar 24 19:22:19 2014 +0100
        !          2125: 
        !          2126:     Fixes a bug in graceful restart.
        !          2127: 
        !          2128: commit 9637c7c0acbc56bbf6fedc44d89f921386843992
        !          2129: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2130: Date:   Mon Mar 24 13:33:15 2014 +0100
        !          2131: 
        !          2132:     Minor fixes in documentation.
        !          2133: 
        !          2134: commit dad92c30c7892457335d52a09548330498567ea8
        !          2135: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2136: Date:   Mon Mar 24 12:56:56 2014 +0100
        !          2137: 
        !          2138:     Reformat bird.sgml to have consistent line length.
        !          2139: 
        !          2140: commit c980f8002e0f0578d5e715d48d65d9fb9a0c5a70
        !          2141: Merge: 2e84b4e 227af30
        !          2142: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2143: Date:   Mon Mar 24 12:41:43 2014 +0100
        !          2144: 
        !          2145:     Merge branch 'bgp-grace'
        !          2146: 
        !          2147: commit 227af309e55a59f14d1a5a757f17900164bffc97
        !          2148: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2149: Date:   Mon Mar 24 12:32:12 2014 +0100
        !          2150: 
        !          2151:     Fixes some minor issues in graceful restart.
        !          2152: 
        !          2153: commit 2e84b4e82dbf8fce0fd12fb0c25d925ffd287970
        !          2154: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2155: Date:   Sun Mar 23 01:40:37 2014 +0100
        !          2156: 
        !          2157:     Fixes a bug in rte_src handling.
        !          2158: 
        !          2159: commit 6eda3f135f5bab4db456531d25bc3e5f669ec22e
        !          2160: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2161: Date:   Sun Mar 23 01:35:33 2014 +0100
        !          2162: 
        !          2163:     Documentation (and minor fixes) for BGP graceful restart.
        !          2164: 
        !          2165: commit 0c791f873aeb7c1052c97db7da4fe23873d69603
        !          2166: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2167: Date:   Thu Mar 20 14:07:12 2014 +0100
        !          2168: 
        !          2169:     BGP graceful restart support.
        !          2170:     
        !          2171:     Also significant core protocol state changes needed for that,
        !          2172:     global graceful restart recovery state and kernel proto support
        !          2173:     for recovery.
        !          2174: 
        !          2175: commit d40c26594c22ad934a13061e11b373bdf81af8f9
        !          2176: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2177: Date:   Wed Feb 26 13:25:39 2014 +0100
        !          2178: 
        !          2179:     Fixes issues with static protocol reconfiguration.
        !          2180:     
        !          2181:     The old static route was not removed when the nexthop changed and the
        !          2182:     new one was not viable (no neighbor).
        !          2183:     
        !          2184:     Thanks to Pierluigi Rolando for the original patch.
        !          2185: 
        !          2186: commit 3216eb03ddddc057bb18fa4dd02b7935a604f71f
        !          2187: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2188: Date:   Wed Feb 26 12:52:00 2014 +0100
        !          2189: 
        !          2190:     Fixes longstanding issue with interfaces staying in IF_TMP_DOWN.
        !          2191:     
        !          2192:     Thanks to Pierluigi Rolando and others for the bugreport.
        !          2193: 
        !          2194: commit d776540811cdf672dc113f29feef2415465589c6
        !          2195: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2196: Date:   Wed Feb 12 12:57:38 2014 +0100
        !          2197: 
        !          2198:     Adds configure error message.
        !          2199: 
        !          2200: commit 4e398e34bf140baf73fe8dceaf81078fb343f65a
        !          2201: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2202: Date:   Fri Feb 7 13:09:55 2014 +0100
        !          2203: 
        !          2204:     Workaround thread-unsafeness of cli_echo().
        !          2205: 
        !          2206: commit 9ae0f4b78c5e3619ee19969c052c863bf96be6d9
        !          2207: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2208: Date:   Fri Feb 7 11:46:01 2014 +0100
        !          2209: 
        !          2210:     Fixes autoconf check for ncurses.
        !          2211: 
        !          2212: commit 5c200e0a4d26d183e04fda43de16340521002c40
        !          2213: Merge: 4a5eb28 080ed4d
        !          2214: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2215: Date:   Thu Feb 6 20:15:05 2014 +0100
        !          2216: 
        !          2217:     Merge branch 'add-path'
        !          2218: 
        !          2219: commit 4a5eb284c9d51441e09976021d1bd93c21408d46
        !          2220: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2221: Date:   Thu Feb 6 18:09:18 2014 +0100
        !          2222: 
        !          2223:     Update include directive documentation.
        !          2224:     
        !          2225:     Thanks to Pierluigi Rolando for the bugreport.
        !          2226: 
        !          2227: commit 12201fd854424628be7a00e1180ba082db7efa0b
        !          2228: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2229: Date:   Thu Feb 6 18:00:41 2014 +0100
        !          2230: 
        !          2231:     Fix a documentation update.
        !          2232: 
        !          2233: commit 10c2e1e0125dfa600b1c2b6553883cccf2d025dd
        !          2234: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2235: Date:   Thu Feb 6 17:54:25 2014 +0100
        !          2236: 
        !          2237:     Fixes crash when state of disabled OSPF protocol is queried.
        !          2238:     
        !          2239:     Thanks to Ondrej Caletka for the bugreport.
        !          2240: 
        !          2241: commit cba9cbf1bdb253c7727da10ff4f835d7ffbadeed
        !          2242: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2243: Date:   Thu Feb 6 17:51:16 2014 +0100
        !          2244: 
        !          2245:     Silence this annoying warning.
        !          2246: 
        !          2247: commit 48e5f32db676645640f84ab3d630cce975aa6b20
        !          2248: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2249: Date:   Thu Feb 6 17:46:01 2014 +0100
        !          2250: 
        !          2251:     Many changes in I/O and OSPF sockets and packet handling.
        !          2252:     
        !          2253:     I/O:
        !          2254:      - BSD: specify src addr on IP sockets by IP_HDRINCL
        !          2255:      - BSD: specify src addr on UDP sockets by IP_SENDSRCADDR
        !          2256:      - Linux: specify src addr on IP/UDP sockets by IP_PKTINFO
        !          2257:      - IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO
        !          2258:      - Alternative SKF_BIND flag for binding to IP address
        !          2259:      - Allows IP/UDP sockets without tx_hook, on these
        !          2260:        sockets a packet is discarded when TX queue is full
        !          2261:      - Use consistently SOL_ for socket layer values.
        !          2262:     
        !          2263:     OSPF:
        !          2264:      - Packet src addr is always explicitly set
        !          2265:      - Support for secondary addresses in BSD
        !          2266:      - Dynamic RX/TX buffers
        !          2267:      - Fixes some minor buffer overruns
        !          2268:      - Interface option 'tx length'
        !          2269:      - Names for vlink pseudoifaces (vlinkX)
        !          2270:      - Vlinks use separate socket for TX
        !          2271:      - Vlinks do not use fixed associated iface
        !          2272:      - Fixes TTL for direct unicast packets
        !          2273:      - Fixes DONTROUTE for OSPF sockets
        !          2274:      - Use ifa->ifname instead of ifa->iface->name
        !          2275: 
        !          2276: commit f48fa14214301382b2e6b134788a7506b61b664f
        !          2277: Merge: 6601a14 300e400
        !          2278: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2279: Date:   Thu Feb 6 16:47:43 2014 +0100
        !          2280: 
        !          2281:     Merge commit 'origin/master' into socket
        !          2282: 
        !          2283: commit 300e4008f02382b87409dabb52a317b8336de55b
        !          2284: Author: Ondrej Filip <feela@network.cz>
        !          2285: Date:   Wed Feb 5 23:32:28 2014 +0100
        !          2286: 
        !          2287:     Fedora init script improvement suggested by alex@alex.org.uk
        !          2288: 
        !          2289: commit e9e6fbf924630abf821aa38f99e571f706536350
        !          2290: Author: Ondrej Filip <feela@network.cz>
        !          2291: Date:   Wed Feb 5 15:57:37 2014 +0100
        !          2292: 
        !          2293:     Minor changes in Fedora init script.
        !          2294: 
        !          2295: commit ec35c7c2fc24e499a86022860c38460ae4bbad39
        !          2296: Author: Ondrej Filip <feela@network.cz>
        !          2297: Date:   Tue Jan 21 23:43:22 2014 +0100
        !          2298: 
        !          2299:     Small doc update.
        !          2300: 
        !          2301: commit 6601a14831cdd32fc671ebc9dc299d2be427e489
        !          2302: Merge: 2d0b7e2 283c7df
        !          2303: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2304: Date:   Tue Dec 10 22:30:46 2013 +0100
        !          2305: 
        !          2306:     Merge branch 'add-path'
        !          2307: 
        !          2308: commit 2d0b7e24a52d51904faa8a8e96d68863491c110a
        !          2309: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2310: Date:   Mon Dec 2 11:54:32 2013 +0100
        !          2311: 
        !          2312:     Fixes problem with source address selection in BGP and BFD.
        !          2313: 
        !          2314: commit 080ed4d8c2c1982dd0c81c62703064b620a67a01
        !          2315: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2316: Date:   Sun Dec 1 18:25:39 2013 +0100
        !          2317: 
        !          2318:     Fixes bug in documentation.
        !          2319: 
        !          2320: commit 10115b1d70552f3ec4446dfec9e62c3a16d9eae0
        !          2321: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2322: Date:   Sun Dec 1 18:20:09 2013 +0100
        !          2323: 
        !          2324:     Updates add-path documentation.
        !          2325: 
        !          2326: commit e7d2ac4401be8aaf9629e248cad6a74498a6be24
        !          2327: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2328: Date:   Tue Nov 26 22:37:24 2013 +0100
        !          2329: 
        !          2330:     Finishes add-path.
        !          2331:     
        !          2332:     Fixes some bugs and uses generic hash implementation.
        !          2333: 
        !          2334: commit 283c7dfada53a6dee6a8a17ecab492ffafd44b66
        !          2335: Merge: 736e143 0bb4e37
        !          2336: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2337: Date:   Mon Nov 25 18:42:47 2013 +0100
        !          2338: 
        !          2339:     Merge branch 'master' into add-path
        !          2340: 
        !          2341: commit 0bb4e37db317a1290bad24fe430cac6569a9bd8c
        !          2342: Author: Ondrej Filip <feela@network.cz>
        !          2343: Date:   Mon Nov 25 15:16:20 2013 +0100
        !          2344: 
        !          2345:     Release date added.
        !          2346: 
        !          2347: commit e75520c455a1a3fd026a9633c3ad26d865165fee
        !          2348: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2349: Date:   Mon Nov 25 13:46:29 2013 +0100
        !          2350: 
        !          2351:     NEWS and version update.
        !          2352: 
        !          2353: commit 90eb5e7a8bb60cb637626a3b433caf10cd8d2a03
        !          2354: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2355: Date:   Mon Nov 25 13:44:07 2013 +0100
        !          2356: 
        !          2357:     Use ISO 8601 timeformats by default.
        !          2358: 
        !          2359: commit 0c95f85ec59cc970e8f9aa2da56e25dad249bbb8
        !          2360: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2361: Date:   Mon Nov 25 11:06:00 2013 +0100
        !          2362: 
        !          2363:     Fixes a reply code.
        !          2364: 
        !          2365: commit 8137fe6d45762844248300de2a030e96042b1975
        !          2366: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2367: Date:   Mon Nov 25 02:03:23 2013 +0100
        !          2368: 
        !          2369:     Allows shorthands for birdc noninteractive commands.
        !          2370: 
        !          2371: commit e237b28a4d4b17ab50182ac110f28594967e76dc
        !          2372: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2373: Date:   Mon Nov 25 01:21:39 2013 +0100
        !          2374: 
        !          2375:     Changes primary addr selection on BSD to respect SIOCGIFADDR ioctl() result.
        !          2376:     
        !          2377:     Thanks to Alexander V. Chernikov for the original patch.
        !          2378: 
        !          2379: commit 5ebc92935cb58c78286d91f0831de94cd4ae0f9e
        !          2380: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2381: Date:   Sun Nov 24 22:22:24 2013 +0100
        !          2382: 
        !          2383:     Last state change should track protocol state change.
        !          2384:     
        !          2385:     And not core state change, which is not much relevant
        !          2386:     (e.g. refeed in BGP).
        !          2387: 
        !          2388: commit c72aca41e5fa55b0efa768e93b55f5c307f84025
        !          2389: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2390: Date:   Sun Nov 24 22:12:51 2013 +0100
        !          2391: 
        !          2392:     OSPF ifaces on loopback should be stub.
        !          2393: 
        !          2394: commit e4d179f2c2f213c9190ff4d05979dc33f2c5b2c7
        !          2395: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2396: Date:   Sun Nov 24 12:50:53 2013 +0100
        !          2397: 
        !          2398:     Minor changes to default router ID calculation.
        !          2399: 
        !          2400: commit f3e59178506dab9d54cf19ec701f8d9a7fe283f9
        !          2401: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2402: Date:   Sun Nov 24 12:37:24 2013 +0100
        !          2403: 
        !          2404:     Enables multihop mode for IBGP by default.
        !          2405:     
        !          2406:     This is more consistent with common usage and also with the behavior of
        !          2407:     other implementations (Cisco, Juniper).
        !          2408:     
        !          2409:     Also changes the default for gw mode to be based solely on
        !          2410:     direct/multihop.
        !          2411: 
        !          2412: commit 52e030e14666ff00a4bb0c700d2c027fbeb87d04
        !          2413: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2414: Date:   Sun Nov 24 00:17:02 2013 +0100
        !          2415: 
        !          2416:     Converts filters to unsigned integers.
        !          2417: 
        !          2418: commit 65194bd1eb2e6af217a750fa1e02b6eea66c7130
        !          2419: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2420: Date:   Mon Aug 15 02:12:54 2011 +0200
        !          2421: 
        !          2422:     Removes workaround related to import of kernel device routes.
        !          2423:     
        !          2424:     Thanks to Benjamin Cama for notification.
        !          2425: 
        !          2426: commit 204e0d5d59279c4245d4d46b86a570b043d683cf
        !          2427: Author: Ondrej Filip <feela@network.cz>
        !          2428: Date:   Sat Nov 23 18:11:55 2013 +0100
        !          2429: 
        !          2430:     Dots added.
        !          2431:     New release will be 1.4.0.
        !          2432: 
        !          2433: commit d0e33681540c9ad64b15f57a9d39c27658127a31
        !          2434: Author: Ondrej Filip <feela@network.cz>
        !          2435: Date:   Sat Nov 23 13:27:47 2013 +0100
        !          2436: 
        !          2437:     Added some other features into NEWS file
        !          2438: 
        !          2439: commit d940a2c4d4096f761a750e2df42ab55fd27a7e80
        !          2440: Author: Ondrej Filip <feela@network.cz>
        !          2441: Date:   Sat Nov 23 13:26:52 2013 +0100
        !          2442: 
        !          2443:     Added a few sentences about symbol names.
        !          2444: 
        !          2445: commit 736e143fa50607fcd88132291e96089b899af979
        !          2446: Merge: 094d2bd 2b3d52a
        !          2447: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2448: Date:   Sat Nov 23 11:50:34 2013 +0100
        !          2449: 
        !          2450:     Merge branch 'master' into add-path
        !          2451:     
        !          2452:     Conflicts:
        !          2453:     
        !          2454:        filter/filter.c
        !          2455:        nest/proto.c
        !          2456:        nest/rt-table.c
        !          2457:        proto/bgp/bgp.h
        !          2458:        proto/bgp/config.Y
        !          2459: 
        !          2460: commit 2b3d52aa421ae1c31e30107beefd82fddbb42854
        !          2461: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2462: Date:   Sat Nov 23 01:56:16 2013 +0100
        !          2463: 
        !          2464:     NEWS and version update.
        !          2465: 
        !          2466: commit 77e43c8b72ff77dc7607accb09576c0baab422e0
        !          2467: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2468: Date:   Fri Nov 22 22:49:04 2013 +0100
        !          2469: 
        !          2470:     Minor fixes.
        !          2471: 
        !          2472: commit 547d3bf45dd430828d597dfb56624bdc1bd798b3
        !          2473: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2474: Date:   Fri Nov 22 22:42:47 2013 +0100
        !          2475: 
        !          2476:     Allows pthreads by default on Linux and FreeBSD only.
        !          2477: 
        !          2478: commit 41f8bf57c4d80cbec89b90b901afa9df4d2d76f1
        !          2479: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2480: Date:   Fri Nov 22 21:59:43 2013 +0100
        !          2481: 
        !          2482:     Changes identifiers to avoid use of reserved ones.
        !          2483: 
        !          2484: commit 56027b5cbd7f432d30f7fc99bcf8680c840e6163
        !          2485: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2486: Date:   Fri Nov 22 21:58:43 2013 +0100
        !          2487: 
        !          2488:     Minor fix in log_commit() w.r.t. changes in BFD branch.
        !          2489: 
        !          2490: commit 1fba34a7a1e245f08212a31a65030230da8c451d
        !          2491: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2492: Date:   Fri Nov 22 18:45:57 2013 +0100
        !          2493: 
        !          2494:     Adds check for buffer size in OSPF LSA flood.
        !          2495: 
        !          2496: commit 0aeac9cb7f9887374ce0258c8653f9518529bf08
        !          2497: Merge: 8931425 7c9930f
        !          2498: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2499: Date:   Fri Nov 22 02:43:41 2013 +0100
        !          2500: 
        !          2501:     Merge commit 'origin/bfd'
        !          2502: 
        !          2503: commit 8931425d02dd8656b48142f608d3119ab6f4a96f
        !          2504: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2505: Date:   Fri Nov 22 02:12:21 2013 +0100
        !          2506: 
        !          2507:     Fixes problem with RIP on multiple ifaces on BSD.
        !          2508:     
        !          2509:     RIP sockets for multiple ifaces collided, because we cannot bind to
        !          2510:     a specific iface on BSD. Workarounded by SO_REUSEPORT.
        !          2511:     
        !          2512:     Thanks to Eugene M. Zheganin for the bugreport.
        !          2513: 
        !          2514: commit 548c329cde371bceef05f86b7f904378a392d89c
        !          2515: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2516: Date:   Fri Nov 22 01:20:32 2013 +0100
        !          2517: 
        !          2518:     Adds rate limiting to some log messages.
        !          2519: 
        !          2520: commit 64534ea2f4361c247d7a0d1b6b14a02e8e3d6d33
        !          2521: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2522: Date:   Thu Nov 21 13:17:42 2013 +0100
        !          2523: 
        !          2524:     Fixes an issue when opposite address is mistaken for broadcast on ptp ifaces on BSDs.
        !          2525:     
        !          2526:     Thanks to Lex van Roon for the bugreport and to Alexander V. Chernikov
        !          2527:     for examining it and locating the problem.
        !          2528: 
        !          2529: commit 7c9930f9c8feb3b08f7a9e94a08807ccbbc096f5
        !          2530: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2531: Date:   Thu Nov 21 11:36:49 2013 +0100
        !          2532: 
        !          2533:     Adds a missing file.
        !          2534:     
        !          2535:     I forgot to add that to the previous commit.
        !          2536: 
        !          2537: commit f8f2419d4c5b9028b9b3d2d893fe802f18eb239b
        !          2538: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2539: Date:   Wed Nov 20 13:30:00 2013 +0100
        !          2540: 
        !          2541:     Additional filter test case.
        !          2542: 
        !          2543: commit 4d4979c67c65dceb1ae557707312b83fde4bc8a8
        !          2544: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2545: Date:   Wed Nov 20 13:25:33 2013 +0100
        !          2546: 
        !          2547:     Fixes some potential issues with invalid term size in clients.
        !          2548: 
        !          2549: commit 1ec522538fb81a56b068c087d0a842faf7aa7869
        !          2550: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2551: Date:   Tue Nov 19 22:33:48 2013 +0100
        !          2552: 
        !          2553:     BFD protocol, ready for release.
        !          2554:     
        !          2555:     Supports OSPF and BGP and also statically configured sessions.
        !          2556: 
        !          2557: commit 33be3ba713901befe2df651b869a406df8fc8ace
        !          2558: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2559: Date:   Mon Oct 21 15:06:09 2013 +0200
        !          2560: 
        !          2561:     Accepts a change of OSPFv3 neighbor's IP address.
        !          2562:     
        !          2563:     Thanks to Pierre Pfister for the patch.
        !          2564: 
        !          2565: commit a15dab76f93337b07b4b03a64ac3bac26285dfd9
        !          2566: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2567: Date:   Mon Oct 21 14:58:32 2013 +0200
        !          2568: 
        !          2569:     Implements 'allow local as' option.
        !          2570:     
        !          2571:     Similar to allowas-in option on other routers.
        !          2572: 
        !          2573: commit f8cc7396cf25328b002394bbd7af679188b03370
        !          2574: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2575: Date:   Tue Oct 15 10:57:57 2013 +0200
        !          2576: 
        !          2577:     Forces KRT rescan on syncer startup with multi syncer config.
        !          2578:     
        !          2579:     Thanks to  Sergey Popovich for the patch.
        !          2580: 
        !          2581: commit 1cd198cf52b3eae677159d81eacca3e0ebe24e71
        !          2582: Author: Ondrej Filip <feela@network.cz>
        !          2583: Date:   Sat Oct 5 22:45:08 2013 +0200
        !          2584: 
        !          2585:     Flag -f "run in foreground" added as requested by a package maintainter.
        !          2586: 
        !          2587: commit 0e175f9f0fd872e95225355dbdeca49cd35ec0fd
        !          2588: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2589: Date:   Sat Oct 5 20:12:28 2013 +0200
        !          2590: 
        !          2591:     Fixes some BFD bugs and makes logging thread-safe.
        !          2592: 
        !          2593: commit e7c2380260f20a4a3587b47df97879ef91c69774
        !          2594: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2595: Date:   Sat Oct 5 19:30:12 2013 +0200
        !          2596: 
        !          2597:     Implements PID file support.
        !          2598:     
        !          2599:     Thanks to Thierry Fournier for the original patch.
        !          2600: 
        !          2601: commit 7ccb36d3308ef57d340e663f0cabd24663f4f62a
        !          2602: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2603: Date:   Wed Oct 2 14:57:29 2013 +0200
        !          2604: 
        !          2605:     Implements C.len operator for clist and eclist types.
        !          2606:     
        !          2607:     Thanks to Sergey Popovich for the original patch.
        !          2608: 
        !          2609: commit 28a10f84cbc3635e59bff348cb1715859dfacade
        !          2610: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2611: Date:   Wed Oct 2 14:41:37 2013 +0200
        !          2612: 
        !          2613:     Some fixes in filter code.
        !          2614:     
        !          2615:     Thanks to Sergey Popovich for original patches.
        !          2616: 
        !          2617: commit 70c5780535fa3bd2360e8208f9273ac6d1741107
        !          2618: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2619: Date:   Wed Oct 2 12:10:09 2013 +0200
        !          2620: 
        !          2621:     Minor code cleanups.
        !          2622:     
        !          2623:     Thanks to Sergey Popovich for the patch.
        !          2624: 
        !          2625: commit b655596d1d9ad7664d12249c946ba3483b2de3f0
        !          2626: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2627: Date:   Wed Oct 2 11:42:46 2013 +0200
        !          2628: 
        !          2629:     Simplifies val_in_range().
        !          2630:     
        !          2631:     Also fixes missing type check for element ~ set.
        !          2632: 
        !          2633: commit ec57bbf67f9e4221fb98f6769f592cedf2eb2d24
        !          2634: Author: Ondrej Filip <feela@network.cz>
        !          2635: Date:   Mon Sep 30 14:07:34 2013 +0200
        !          2636: 
        !          2637:     Recheck export/import/receive limits during reconfiguration.
        !          2638: 
        !          2639: commit a5fc59587fe864e4fcfb44eb3be57231b4ca339b
        !          2640: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2641: Date:   Thu Sep 26 22:08:21 2013 +0200
        !          2642: 
        !          2643:     Rewrites static attribute filter code and adds ifname/ifindex attributes.
        !          2644:     
        !          2645:     Thanks to Sergey Popovich for the original ifname/ifindex patch.
        !          2646: 
        !          2647: commit 4df2019ebfc0f77feb16b6a33dea6d5ac595f55e
        !          2648: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2649: Date:   Thu Sep 26 17:36:30 2013 +0200
        !          2650: 
        !          2651:     Fixes build issues without BGP.
        !          2652:     
        !          2653:     Thanks to Sergey Popovich for the patch.
        !          2654: 
        !          2655: commit f83ce94d5e410d5e5b921121867321c19451896b
        !          2656: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2657: Date:   Thu Sep 26 17:33:00 2013 +0200
        !          2658: 
        !          2659:     Fixes missing unregister of kernel table handling code.
        !          2660:     
        !          2661:     And some minor fixes.
        !          2662:     
        !          2663:     Thanks to Sergey Popovich for the patch.
        !          2664: 
        !          2665: commit f515e22924591542a909db0deb8545386aaa576e
        !          2666: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2667: Date:   Sun Sep 22 19:15:39 2013 +0200
        !          2668: 
        !          2669:     Allows other than IA_PEER addresses on PtP ifaces on BSD.
        !          2670:     
        !          2671:     Also fixes a potential problem with link-local dest_addrs
        !          2672:     for IA_PEER addresses.
        !          2673:     
        !          2674:     Thanks to Alexander V. Chernikov for the suggestion.
        !          2675: 
        !          2676: commit 6a8d3f1c1ffbd964e4d11b452c73e1ea70310af3
        !          2677: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2678: Date:   Mon Sep 16 23:57:40 2013 +0200
        !          2679: 
        !          2680:     BFD work in progress.
        !          2681:     
        !          2682:     Now it compiles and mostly works.
        !          2683: 
        !          2684: commit e550a37206528be39e4751865b46720885fd64ed
        !          2685: Author: Ondrej Filip <feela@network.cz>
        !          2686: Date:   Fri Sep 13 18:55:02 2013 +0200
        !          2687: 
        !          2688:     Fixes problem with OSPF neighbor router ID change. Thanx to Alexander V. Chernikov
        !          2689: 
        !          2690: commit c404f4b968b69a2c5c1975d04abf7474891d5656
        !          2691: Author: Ondrej Filip <feela@network.cz>
        !          2692: Date:   Wed Sep 11 01:15:34 2013 +0200
        !          2693: 
        !          2694:     OSPF state machine fix - thanx to Alexander V. Chernikov
        !          2695: 
        !          2696: commit 92f8878cbf5d8ad9e9b909a9dcbb2112de54a542
        !          2697: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2698: Date:   Tue Sep 10 13:03:58 2013 +0200
        !          2699: 
        !          2700:     Fixes a bug related to multiple IPs and direct protocol.
        !          2701:     
        !          2702:     Multiple IPs in the same IP prefix confuse the direct
        !          2703:     protocol and could cause withdrawal of a valid prefix.
        !          2704:     
        !          2705:     Thanks to Dan Rimal for a bugreport.
        !          2706: 
        !          2707: commit 2a0130f94d2304e316f0ffad8e52fce094559782
        !          2708: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2709: Date:   Tue Sep 10 13:01:22 2013 +0200
        !          2710: 
        !          2711:     Fixes a bug in kernel extended attribute processing.
        !          2712:     
        !          2713:     The bug caused that krt_prefsrc attribute was not processed when a route
        !          2714:     received from a kernel protocol was exported to another kernel protocol.
        !          2715:     
        !          2716:     Thanks to Sergey Popovich for a bugreport.
        !          2717: 
        !          2718: commit 507e182a60c3704f8a28a0450f1affc2c7c1b66a
        !          2719: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2720: Date:   Tue Sep 10 12:58:24 2013 +0200
        !          2721: 
        !          2722:     Fixes reconfiguration of global set variables.
        !          2723:     
        !          2724:     When global set variables were used, every reconfiguration restarted
        !          2725:     protocols that use it in filters.
        !          2726:     
        !          2727:     Thanks to Sergey Popovich for a bugreport.
        !          2728: 
        !          2729: commit d27e127aa996d500fed21be2bbbe888cafecb830
        !          2730: Merge: bff9ce5 b0a8c7f
        !          2731: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2732: Date:   Tue Sep 10 12:54:57 2013 +0200
        !          2733: 
        !          2734:     Merge commit 'origin/master'
        !          2735: 
        !          2736: commit bf139664aa2ae9956b520ba4813bb6e03bf1a3e8
        !          2737: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2738: Date:   Tue Sep 10 12:09:36 2013 +0200
        !          2739: 
        !          2740:     Initial BFD commit, work in progress.
        !          2741: 
        !          2742: commit b0a8c7fc8547eef21ede33887580b5e867ee742c
        !          2743: Author: Ondrej Filip <feela@network.cz>
        !          2744: Date:   Thu Aug 15 20:26:50 2013 +0200
        !          2745: 
        !          2746:     Wrong change commited - 'route limit' marked as obsolete.
        !          2747: 
        !          2748: commit e628cad0ca9eb7d9bf4141e57201169c46faa661
        !          2749: Author: Ondrej Filip <feela@network.cz>
        !          2750: Date:   Thu Aug 15 20:20:05 2013 +0200
        !          2751: 
        !          2752:     BGP option 'route limit' is marked as obsolete. 'import limit' should be used instead.
        !          2753: 
        !          2754: commit 6d90e57332e102e261d69a1a05dfaa19fb31d933
        !          2755: Author: Ondrej Filip <feela@network.cz>
        !          2756: Date:   Thu Aug 15 19:54:18 2013 +0200
        !          2757: 
        !          2758:     Typo in documentation fixed.
        !          2759: 
        !          2760: commit 1f64a487a065cc27c52ab0d3d38b7c82926fea70
        !          2761: Author: Ondrej Filip <feela@network.cz>
        !          2762: Date:   Thu Aug 15 13:29:33 2013 +0200
        !          2763: 
        !          2764:     Symbol names enclosed by apostrophes can contain colons.
        !          2765: 
        !          2766: commit bff9ce5130d16af2fd802d42bdb2bff00980c9ae
        !          2767: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2768: Date:   Thu Aug 15 01:06:47 2013 +0200
        !          2769: 
        !          2770:     Extends delete/filter operators to work no bgp_paths.
        !          2771: 
        !          2772: commit 8a112d8ba2e77d79468146ec8f54b3c90b6e68e4
        !          2773: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2774: Date:   Tue Aug 13 23:04:06 2013 +0200
        !          2775: 
        !          2776:     Removes strip from make install
        !          2777:     
        !          2778:     Thanks to Alexander V. Chernikov for the patch.
        !          2779: 
        !          2780: commit b21955e05800c3ceedfe39eef605da84285296c7
        !          2781: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2782: Date:   Tue Aug 13 20:42:43 2013 +0200
        !          2783: 
        !          2784:     Fixes a bug related to mixed up neighbor events in BGP.
        !          2785:     
        !          2786:     Neighbor events related to received route next hops got mixed up with
        !          2787:     sticky neighbor node for an IP of the BGP peer. If a neighbor for a next
        !          2788:     hop disappears, BGP session is shut down.
        !          2789: 
        !          2790: commit 00192d5ab88ff9eeccbc1bc10cb534976a56963d
        !          2791: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2792: Date:   Tue Aug 13 20:25:05 2013 +0200
        !          2793: 
        !          2794:     Implements proper setting of 'gw' route attribute.
        !          2795:     
        !          2796:     Thanks to Sergey Popovich for the bugreport.
        !          2797: 
        !          2798: commit f8e8fcfabeb206287065f48e800743b0aa797cc2
        !          2799: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2800: Date:   Mon Jul 29 13:07:15 2013 +0200
        !          2801: 
        !          2802:     Test commit.
        !          2803: 
        !          2804: commit fd6cbe9053c529df7eac431ff72d3c509ba91ca9
        !          2805: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2806: Date:   Mon Jul 29 12:52:38 2013 +0200
        !          2807: 
        !          2808:     Test commit.
        !          2809: 
        !          2810: commit cff430f396b006ef34e756075948dcb6b07fc427
        !          2811: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2812: Date:   Mon Jul 29 12:28:03 2013 +0200
        !          2813: 
        !          2814:     Test commit.
        !          2815:     
        !          2816:     Also contains minor fixes in doc formatting.
        !          2817: 
        !          2818: commit 50b71c1b96f99ac40e733295daeb03927777b206
        !          2819: Author: Ondrej Filip <feela@network.cz>
        !          2820: Date:   Sun Jul 28 18:50:40 2013 +0200
        !          2821: 
        !          2822:     Fixed small error in documantation (thanks engels@openit.de).
        !          2823: 
        !          2824: commit 643228bc1cfb6a8f5169ee8ebfe1b75c81cc8543
        !          2825: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2826: Date:   Sat Jul 27 00:47:58 2013 +0200
        !          2827: 
        !          2828:     NEWS and version update.
        !          2829: 
        !          2830: commit f4830d8cb801c9124361bcc0c9e33f8f6005c08d
        !          2831: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2832: Date:   Sat Jul 27 00:38:29 2013 +0200
        !          2833: 
        !          2834:     Documentation update.
        !          2835: 
        !          2836: commit 4ee39ff2ff78f86ce1ec79a77e22120984452549
        !          2837: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2838: Date:   Fri Jul 26 11:06:08 2013 +0200
        !          2839: 
        !          2840:     Fixes initial random values for function arguments.
        !          2841:     
        !          2842:     Thanks to Javor Kliachev for the bugreport.
        !          2843: 
        !          2844: commit 1103b32e830fbf98d9b3e32c0425b9a589773bf8
        !          2845: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2846: Date:   Thu Jul 25 22:33:57 2013 +0200
        !          2847: 
        !          2848:     Allows to define constants of all filter types.
        !          2849: 
        !          2850: commit ac5745134847c044b21c311e5ab11d92d05bacc1
        !          2851: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2852: Date:   Thu Jul 25 13:55:24 2013 +0200
        !          2853: 
        !          2854:     Implements RFC 6608 Subcodes for BGP FSM Error.
        !          2855: 
        !          2856: commit 508d936078aecc8fbbb9ca1218104599c4a3cb4a
        !          2857: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2858: Date:   Thu Jul 25 13:15:32 2013 +0200
        !          2859: 
        !          2860:     Implements eval command and minor CLI cleanups.
        !          2861:     
        !          2862:     Implemented eval command can be used to evaluate expressions.
        !          2863:     
        !          2864:     The patch also documents echo command and allows to use log classes
        !          2865:     instead of integer as a mask for echo.
        !          2866: 
        !          2867: commit a0b176e3b2b50d3a30574afa927e0ee8ef65be68
        !          2868: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2869: Date:   Wed Jul 24 14:20:46 2013 +0200
        !          2870: 
        !          2871:     Fixes header file name.
        !          2872:     
        !          2873:     Thanks to Fritz Grimpen for the patch.
        !          2874: 
        !          2875: commit e1afee279993363ffb4a7005554d0774eb09b764
        !          2876: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2877: Date:   Wed Jul 24 14:19:37 2013 +0200
        !          2878: 
        !          2879:     Fixes socket error hook for radv protocol.
        !          2880: 
        !          2881: commit 9135c1f0ca6322bff9648895b5394b97761b4bcb
        !          2882: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2883: Date:   Wed Jul 24 14:11:12 2013 +0200
        !          2884: 
        !          2885:     Fixes bug in protocol flushing and rtable pruning.
        !          2886:     
        !          2887:     When route was propagated to another rtable through a pipe and then the
        !          2888:     pipe was reconfigured softly in such a way that any subsequent route
        !          2889:     updates are filtered, then the source protocol shutdown didn't clean up
        !          2890:     the route in the second rtable which caused stale routes and potential
        !          2891:     crashes.
        !          2892: 
        !          2893: commit 48b15ef10fede35113af71bd0dbb0b27a5fcb8f5
        !          2894: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2895: Date:   Sat Jul 13 01:39:41 2013 +0200
        !          2896: 
        !          2897:     Fixes stuck connection during BGP session shutdown.
        !          2898:     
        !          2899:     If TX buffers were full during BGP session shutdown
        !          2900:     then a protocol waited indefinitely to be able to
        !          2901:     send notification packet to close the session.
        !          2902: 
        !          2903: commit 354496ace87341428e6005fbc073fbe57b4e6c0e
        !          2904: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2905: Date:   Thu Jul 11 13:50:44 2013 +0200
        !          2906: 
        !          2907:     Some fixes for TTL security.
        !          2908: 
        !          2909: commit cc31b75a8fd7949533c12db2c3e9d67eeaf46d10
        !          2910: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2911: Date:   Tue Jul 9 23:27:10 2013 +0200
        !          2912: 
        !          2913:     Implements 'bgppath ~ int set' filter op.
        !          2914: 
        !          2915: commit c01a94663cc18f53fd741c5d44387eead9ca88af
        !          2916: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2917: Date:   Sun Jul 7 12:11:42 2013 +0200
        !          2918: 
        !          2919:     Implements multiple routing table support for FreeBSD and OpenBSD.
        !          2920:     
        !          2921:     Inspired by the patch from Alexander V. Chernikov.
        !          2922: 
        !          2923: commit c6964c305b425b98aaf0492806a28b578d799d83
        !          2924: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2925: Date:   Sat Jun 29 22:55:41 2013 +0200
        !          2926: 
        !          2927:     Makes krt.c much more readable.
        !          2928: 
        !          2929: commit 6ac4f87a2d661c739e55a63577e7bccf696c7abd
        !          2930: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2931: Date:   Wed Jun 26 14:35:39 2013 +0200
        !          2932: 
        !          2933:     Documentation for TTL security.
        !          2934: 
        !          2935: commit 70e212f913b6ce9d343d6c401b4f1712986a5f8c
        !          2936: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2937: Date:   Tue Jun 25 15:33:00 2013 +0200
        !          2938: 
        !          2939:     Implements TTL security for OSPF and RIP.
        !          2940:     
        !          2941:     Interfaces for OSPF and RIP could be configured to use (and request)
        !          2942:     TTL 255 for traffic to direct neighbors.
        !          2943:     
        !          2944:     Thanks to Simon Dickhoven for the original patch for RIPng.
        !          2945: 
        !          2946: commit ef4a50be10c6dd0abffd957132cd146029c3d79d
        !          2947: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2948: Date:   Mon Jun 24 16:37:30 2013 +0200
        !          2949: 
        !          2950:     Better packet priority and traffic class handling.
        !          2951:     
        !          2952:     Implements support for IPv6 traffic class, sets higher priority for OSPF
        !          2953:     and RIP outgoing packets by default and allows to configure ToS/DS/TClass
        !          2954:     IP header field and the local priority of outgoing packets.
        !          2955: 
        !          2956: commit fad04c750ca6906fb095f1b45958dec0ac8e210c
        !          2957: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2958: Date:   Thu Jun 13 11:27:14 2013 +0200
        !          2959: 
        !          2960:     Fixes problems with kernel routes multiple routing tables.
        !          2961:     
        !          2962:     Temporary dummy routes created by a kernel protocol during routing table
        !          2963:     scan get mixed with real routes propagated from another kernel protocol
        !          2964:     through a pipe.
        !          2965: 
        !          2966: commit f623ab9875cad2d129f708e95021d3a252930000
        !          2967: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2968: Date:   Tue Jun 11 12:12:11 2013 +0200
        !          2969: 
        !          2970:     Implements OSPF stub router option (RFC 3137).
        !          2971:     
        !          2972:     Also fixes OSPFv3 routing table calculcation w.r.t.
        !          2973:     errata 2078 to RFC 5340.
        !          2974: 
        !          2975: commit 924868543c2010f3ef2cfcb7ba6bac5988ab3264
        !          2976: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2977: Date:   Tue May 28 10:48:14 2013 +0200
        !          2978: 
        !          2979:     Fixes crash with vlinks.
        !          2980: 
        !          2981: commit 9810d055628877232f811d684567e203381e10dc
        !          2982: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2983: Date:   Tue May 28 10:44:44 2013 +0200
        !          2984: 
        !          2985:     Fixes problems with routing table scans on some platforms.
        !          2986:     
        !          2987:     Negative bit shifts are definitely undefined oprations.
        !          2988: 
        !          2989: commit 9c99d753fd672bd9839715ee325ef01cca993dbf
        !          2990: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2991: Date:   Thu May 9 11:11:06 2013 +0200
        !          2992: 
        !          2993:     Fixes a problem with BGP neighbors, link-local addresses and locking.
        !          2994:     
        !          2995:     Thanks to Fritz Grimpen for the bugfix.
        !          2996: 
        !          2997: commit a2017200c71293d0a28a39d1f250ba38d57f6289
        !          2998: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          2999: Date:   Mon Apr 29 22:33:50 2013 +0200
        !          3000: 
        !          3001:     NEWS and version update.
        !          3002: 
        !          3003: commit 572c6440432e3138ea622cfb5a4ef7580d77ef4a
        !          3004: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3005: Date:   Mon Apr 29 22:08:05 2013 +0200
        !          3006: 
        !          3007:     Fixes a crash when mrtdump is enabled and interface goes away.
        !          3008:     
        !          3009:     Thanks to Peter Christensen for the bugfix.
        !          3010: 
        !          3011: commit 32622d0ea366406f3afa14bb9edb4855d6979786
        !          3012: Merge: efd6d12 a5e9f3d
        !          3013: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3014: Date:   Tue Apr 23 02:54:13 2013 +0200
        !          3015: 
        !          3016:     Merge branch 'birdcl'
        !          3017: 
        !          3018: commit a5e9f3d26f887deb451a3ea086e52266c117aa0a
        !          3019: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3020: Date:   Tue Apr 23 02:42:35 2013 +0200
        !          3021: 
        !          3022:     Restructures birdc and birdcl to merge duplicated code.
        !          3023:     
        !          3024:     The BIRD client code is restructured that most of the code (including
        !          3025:     main function) is shared in client.c, while birdc.c and birdcl.c contain
        !          3026:     just I/O-specific callbacks. This removes all duplicated code from
        !          3027:     variant-specific files.
        !          3028: 
        !          3029: commit d2c392d44839baaefa48f4a38060be648d3415fb
        !          3030: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3031: Date:   Fri Apr 19 13:59:08 2013 +0200
        !          3032: 
        !          3033:     Removes unnecessary client subdirectories and updates buildsystem.
        !          3034:     
        !          3035:     Renames some files:
        !          3036:     birdc/client.c -> birdc.c
        !          3037:     birdcl/client.c -> birdcl.c
        !          3038:     client_common.c -> common.c
        !          3039: 
        !          3040: commit efd6d12b975441c7e1875a59dd9e0f3db7e958cb
        !          3041: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3042: Date:   Wed Apr 17 15:09:50 2013 +0200
        !          3043: 
        !          3044:     Adds two new default GCC options.
        !          3045:     
        !          3046:     Adds two new default GCC options related to optimizations
        !          3047:     (-fno-strict-aliasing and -fno-strict-overflow). This
        !          3048:     should fix some hyperaggressive GCC optimizations.
        !          3049:     
        !          3050:     Also updates autoconf option detection.
        !          3051: 
        !          3052: commit 8df02847e8af29863c325b7297e3a2b2ed5f961c
        !          3053: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3054: Date:   Wed Apr 17 13:06:40 2013 +0200
        !          3055: 
        !          3056:     Fixes a compatibility issue in OSPFv2 PtP links.
        !          3057:     
        !          3058:     BIRD used zero netmask in hello packets on all PtP links, not just on
        !          3059:     unnumbered ones. This patch fixes it and adds option 'ptp netmask'
        !          3060:     for overriding the default behavior.
        !          3061:     
        !          3062:     Thanks to Alexander V. Chernikov for the original patch.
        !          3063: 
        !          3064: commit cd3b02d198093abbbe671f647e4deb2470eb9cf1
        !          3065: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3066: Date:   Tue Apr 16 17:53:22 2013 +0200
        !          3067: 
        !          3068:     Allows IP of loopback to be used in automatic router ID selection.
        !          3069:     
        !          3070:     Thanks to Alexander V. Chernikov for the patch.
        !          3071: 
        !          3072: commit 8bd9b930c320f09d3b3792b5f991cf702e9d55be
        !          3073: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3074: Date:   Tue Apr 16 17:40:44 2013 +0200
        !          3075: 
        !          3076:     Fixes a bug in IPv6 BGP next hop processing.
        !          3077:     
        !          3078:     BGP next hop attributes with empty link-local IPv6 addresses were not
        !          3079:     handled properly.
        !          3080:     
        !          3081:     Thanks to Sergey Popovich for the bugfix.
        !          3082: 
        !          3083: commit 48bc232f08141d26691237c3d79db587ce16932b
        !          3084: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3085: Date:   Tue Apr 16 17:27:34 2013 +0200
        !          3086: 
        !          3087:     Implements 'next hop keep' option for BGP.
        !          3088:     
        !          3089:     This option allows to keep the received next hop even in cases when
        !          3090:     the route is sent to an interface with a different subnet.
        !          3091: 
        !          3092: commit 9ff5257357d9975654279db17bbc8525583ba1cc
        !          3093: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3094: Date:   Tue Apr 16 16:22:31 2013 +0200
        !          3095: 
        !          3096:     Better handling of global addresses as configured NBMA neighbors in OSPFv3.
        !          3097:     
        !          3098:     Configured NBMA neighbors in OSPFv3 should be link-local addresses, old
        !          3099:     behavior was to silently ignore global ones. The patch allows BIRD to
        !          3100:     accept global ones, but adds a warning and a documentation notice.
        !          3101:     
        !          3102:     Thanks to Wilco Baan Hofman for the bugreport.
        !          3103: 
        !          3104: commit 568d9c9faeab70951d8e9bfea521e1b38a9a3d1c
        !          3105: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          3106: Date:   Sat Apr 6 22:07:32 2013 +0200
        !          3107: 
        !          3108:     Fix birdcl async message handling
        !          3109:     
        !          3110:     Fix handling of async messafe in the bird light client. The async message
        !          3111:     may occure at the any moment so we need the client to liste for the
        !          3112:     message from server when it waits for user input.
        !          3113: 
        !          3114: commit ce1348537455e5482a283f7a4cae734d13dcf34e
        !          3115: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          3116: Date:   Tue Mar 19 18:02:40 2013 +0100
        !          3117: 
        !          3118:     Fix birdcl questionmark handling
        !          3119:     
        !          3120:     Fix handling of questionmark handling in the bird light client. The
        !          3121:     questionmark should display help when it is the last non-blank character on
        !          3122:     command line. Otherwise the questionmark does not have any special meaning
        !          3123:     and it could be a part of a pattern.
        !          3124: 
        !          3125: commit 8322ecde124188a9408b54afead4666bb954e5a5
        !          3126: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          3127: Date:   Sun Feb 24 23:47:22 2013 +0100
        !          3128: 
        !          3129:     Add lightweight client - birdcl
        !          3130:     
        !          3131:     Restructure client/ subdir. Add two different flavors of client.
        !          3132:     The full featured birdc client code is in client/birdc/.
        !          3133:     The new light client birtcl is in client/birdcl/.
        !          3134:     Common sources of both clients are directly in client/.
        !          3135:     
        !          3136:     Rework on-line auto-completion in client/command.c to conditionally turn off
        !          3137:     ncurses-specific code.
        !          3138:     
        !          3139:     Add lightweight client without libreadline and ncurses dependencies - birdcl.
        !          3140:     The birdcl lacks support of history, on-line auto-completion and there
        !          3141:     are different implementations of "more" functionality and help on '?' press.
        !          3142:     New client operates in canonical terminal mode (apart from "more" display)
        !          3143:     and therefore all commands have to be executed by a return key including help
        !          3144:     commands (called by '?' character in the end of the line).
        !          3145:     Apart from these limitations the interaction style should be the same as
        !          3146:     for the full client - birdc.
        !          3147:     Build of birdcl is always on (independent on --enable-client parameter).
        !          3148: 
        !          3149: commit e454916149d4efe66732fdd0388181813cab6ed0
        !          3150: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          3151: Date:   Wed Jan 23 17:14:53 2013 +0100
        !          3152: 
        !          3153:     Pull out independent routines from client_full.c
        !          3154:     
        !          3155:     Pull out routines for interacting with the server and interpreting
        !          3156:     internal commands which are not dependent on libreadline and
        !          3157:     ncurses libraries.
        !          3158:     
        !          3159:     This is a preparation step for a new lightweight birdc client.
        !          3160: 
        !          3161: commit 5c2c4ea8b1e924fce433094e744c0467da55aaab
        !          3162: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          3163: Date:   Wed Jan 23 15:51:04 2013 +0100
        !          3164: 
        !          3165:     Rename client/client.c to client_full.c
        !          3166:     
        !          3167:     Rename client/client.c to client-full.c and change the Makefile accordingly.
        !          3168:     This is a preparation step for introducing a new lightweight client which
        !          3169:     should reuse as much code as possible from the old one but it should not depend
        !          3170:     on external libraries.
        !          3171:     
        !          3172:     Signed-off-by: Tomas Hlavacek <tmshlvck@gmail.com>
        !          3173: 
        !          3174: commit a9fc659b840e13323aa43e92eb8f39ceb19b5ed6
        !          3175: Author: Ondrej Filip <feela@network.cz>
        !          3176: Date:   Tue Feb 26 14:29:53 2013 +0100
        !          3177: 
        !          3178:     Small typos fixed.
        !          3179: 
        !          3180: commit de41dcd13d6f9d4785c80e6234ac38f2a15f5429
        !          3181: Author: Ondrej Filip <feela@network.cz>
        !          3182: Date:   Tue Feb 26 14:13:11 2013 +0100
        !          3183: 
        !          3184:     Redundant lines removed.
        !          3185: 
        !          3186: commit e667622a35722ec007137e678f4f70841562e57f
        !          3187: Author: Ondrej Filip <feela@network.cz>
        !          3188: Date:   Mon Feb 25 10:39:46 2013 +0100
        !          3189: 
        !          3190:     Default rounting table for 'show route export/preexport/protocol' is the one related to a respective protocol.
        !          3191: 
        !          3192: commit a9c38203bdcad92f7ac0a8a912241d2acb483f2c
        !          3193: Author: Ondrej Filip <feela@network.cz>
        !          3194: Date:   Sun Feb 24 00:43:08 2013 +0100
        !          3195: 
        !          3196:     Allow 1 sec RIP update.
        !          3197: 
        !          3198: commit 04ddefb357b2b8759be16633f7bb1df49b0405ea
        !          3199: Author: Ondrej Filip <feela@network.cz>
        !          3200: Date:   Fri Feb 22 07:15:27 2013 +0100
        !          3201: 
        !          3202:     Use BIRD's ASSERT instead of assert.h
        !          3203: 
        !          3204: commit 2bf59bf4d3e4fcaff489d3445134e5e2e2af9cf6
        !          3205: Author: Ondrej Filip <feela@network.cz>
        !          3206: Date:   Thu Feb 21 00:44:59 2013 +0100
        !          3207: 
        !          3208:     Hotfix to solve an issue with delaying timers reported by Aleksey Chudov.
        !          3209: 
        !          3210: commit 9d969be5f2d867704e82bd7d6c8049623d50708f
        !          3211: Author: Ondrej Filip <feela@network.cz>
        !          3212: Date:   Thu Feb 14 23:35:51 2013 +0100
        !          3213: 
        !          3214:     I still believe that 0 == NULL, however this patch will make Santiago happy. :-)
        !          3215: 
        !          3216: commit 4c2abee74e64f64fba61aad6e2b66e3895820003
        !          3217: Author: Ondrej Filip <feela@network.cz>
        !          3218: Date:   Tue Feb 12 13:15:01 2013 +0100
        !          3219: 
        !          3220:     Allow submitting BIRD commands from UNIX shell even in restricted mode.
        !          3221: 
        !          3222: commit 8c4da7e01ded3f06cbf873e67c5ae1cf70cf280b
        !          3223: Author: Ondrej Filip <feela@network.cz>
        !          3224: Date:   Sun Feb 10 19:17:38 2013 +0100
        !          3225: 
        !          3226:     Symbol names enclosed by apostrophes can contain DOTs.
        !          3227: 
        !          3228: commit 0bc3542ab6e0a96342e35ead8ff1c52f980facc2
        !          3229: Author: Ondrej Filip <feela@network.cz>
        !          3230: Date:   Sun Feb 10 19:06:56 2013 +0100
        !          3231: 
        !          3232:     Route limits can be disabled - this makes sense for protocol templates
        !          3233: 
        !          3234: commit 155134f3960bc06a18c8c7d9a97181b786d77a3a
        !          3235: Author: Ondrej Filip <feela@network.cz>
        !          3236: Date:   Sun Feb 10 19:04:08 2013 +0100
        !          3237: 
        !          3238:     A few semicolons added to decrease a number of warnings.
        !          3239: 
        !          3240: commit c6a2fe64bed8dc67af0e868052b055aa0f45cdf2
        !          3241: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3242: Date:   Sat Feb 9 00:53:04 2013 +0100
        !          3243: 
        !          3244:     Fixes handling of iface routes in static proto during reconfiguration.
        !          3245:     
        !          3246:     During reconfiguration, iface routes were installed even when iface was down.
        !          3247: 
        !          3248: commit 36da2857bc911924a250a234f38cf58c3b21f1bc
        !          3249: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3250: Date:   Fri Feb 8 23:58:27 2013 +0100
        !          3251: 
        !          3252:     Implements router advertisements activated by received routes.
        !          3253:     
        !          3254:     The RAdv protocol could be configured to change its behavior based on
        !          3255:     availability of routes, e.g., do not announce router lifetime when a
        !          3256:     default route is not available.
        !          3257: 
        !          3258: commit d214ae4fdc1e323f89efb8a80c068fef4a45758f
        !          3259: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3260: Date:   Sat Jan 12 21:26:42 2013 +0100
        !          3261: 
        !          3262:     Fix missing documentation for one option.
        !          3263: 
        !          3264: commit 13d4dd138d5dc6c884ded280f9244fac707c4f32
        !          3265: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3266: Date:   Fri Jan 11 14:53:20 2013 +0100
        !          3267: 
        !          3268:     NEWS update.
        !          3269: 
        !          3270: commit b662290f40ea0fa0b1a1ba283e50e833724f2050
        !          3271: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3272: Date:   Thu Jan 10 13:07:33 2013 +0100
        !          3273: 
        !          3274:     Separate import and receive limits.
        !          3275:     
        !          3276:     They have different behavior w.r.t. filtered routes that are kept.
        !          3277: 
        !          3278: commit 79b4e12e6032faf6bb1f3feac385bd36ee53019e
        !          3279: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3280: Date:   Thu Dec 27 12:56:23 2012 +0100
        !          3281: 
        !          3282:     Implements interface masks for choosing router id.
        !          3283:     
        !          3284:     Router ID could be automatically determined based of subset of
        !          3285:     ifaces/addresses specified by 'router id from' option. The patch also
        !          3286:     does some minor changes related to router ID reconfiguration.
        !          3287:     
        !          3288:     Thanks to Alexander V. Chernikov for most of the work.
        !          3289: 
        !          3290: commit a92cf57dd6ba021a495fe7268c86dc8e6aeecbb2
        !          3291: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3292: Date:   Wed Dec 26 12:40:48 2012 +0100
        !          3293: 
        !          3294:     Implements undo command and optional timeout for configuration
        !          3295:     
        !          3296:     Several new configure command variants:
        !          3297:     
        !          3298:     configure undo - undo last reconfiguration
        !          3299:     configure timeout - configure with scheduled undo if not confirmed in timeout
        !          3300:     configure confirm - confirm last configuration
        !          3301:     configure check - just parse and validate config file
        !          3302: 
        !          3303: commit 80a9cadc76101157707aecc0b482ad88ad702fc3
        !          3304: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3305: Date:   Tue Nov 27 02:08:04 2012 +0100
        !          3306: 
        !          3307:     Changes static route targets drop/reject to blackhole/unreachable.
        !          3308:     
        !          3309:     To be consistent with rest of BIRD and Linux. Old names are also
        !          3310:     allowed for compatibility.
        !          3311: 
        !          3312: commit b31774eeb01a2f63e4ce4dc83f36ffd17879593e
        !          3313: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3314: Date:   Tue Nov 27 01:30:09 2012 +0100
        !          3315: 
        !          3316:     Removes some nonsense.
        !          3317: 
        !          3318: commit 3e40f3e795e39f0b92445fd5295382220077c77f
        !          3319: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3320: Date:   Tue Nov 27 01:25:47 2012 +0100
        !          3321: 
        !          3322:     Fixes setting of route attributes of type router id.
        !          3323: 
        !          3324: commit c93c02088a026b83f452fbd260135ba4c8da7ecf
        !          3325: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3326: Date:   Fri Nov 16 13:30:54 2012 +0100
        !          3327: 
        !          3328:     NEWS and version update.
        !          3329: 
        !          3330: commit 70577529244d6d920b75d95e797156e05141db30
        !          3331: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3332: Date:   Fri Nov 16 13:29:16 2012 +0100
        !          3333: 
        !          3334:     Fixes route tracing w.r.t. kept filtered routes.
        !          3335: 
        !          3336: commit cf3a704b6a2263aba6bb6adb4c2c9dd93b72f470
        !          3337: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3338: Date:   Fri Nov 16 02:34:12 2012 +0100
        !          3339: 
        !          3340:     Updates the documentation.
        !          3341: 
        !          3342: commit 6cadbf325bfcf25a04d869778abb443f9e1b6119
        !          3343: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3344: Date:   Thu Nov 15 14:08:20 2012 +0100
        !          3345: 
        !          3346:     Change unnamed ptp link description on OSPFv2.
        !          3347:     
        !          3348:     Although it is a slight deviation from the standard, it has no ill
        !          3349:     consequences for OSPFv2 and the change fixes a compatibility issue
        !          3350:     with some broken implementations.
        !          3351: 
        !          3352: commit 15550957957f3c790f3bec3f6b8721559ea25969
        !          3353: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3354: Date:   Thu Nov 15 01:29:01 2012 +0100
        !          3355: 
        !          3356:     Changes 'rejected' to 'filtered' in one of the last patches.
        !          3357: 
        !          3358: commit e16469bc4d182428687a5ef5f2fb4707afa15abd
        !          3359: Author: Ondrej Filip <feela@network.cz>
        !          3360: Date:   Mon Nov 12 13:48:29 2012 +0100
        !          3361: 
        !          3362:     AS# in bgp.agreggator was a signed integer - fixed.
        !          3363: 
        !          3364: commit 227af52fb5be09c841fbd9f86e7bb3992b981a4a
        !          3365: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3366: Date:   Sat Nov 10 16:18:12 2012 +0100
        !          3367: 
        !          3368:     Fixes OSPF reconfigure w.r.t. downed ifaces.
        !          3369: 
        !          3370: commit a55a90faec5cce09cee65f484e3731207af00335
        !          3371: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3372: Date:   Sat Nov 10 14:54:35 2012 +0100
        !          3373: 
        !          3374:     Peer address of stub iface should be announced in OSPF Router LSA.
        !          3375: 
        !          3376: commit cf98be7b6743e45dde9e0458664cc0762bf08867
        !          3377: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3378: Date:   Sat Nov 10 14:26:13 2012 +0100
        !          3379: 
        !          3380:     Allows rejected routes to be kept and examined.
        !          3381:     
        !          3382:     When 'import keep rejected' protocol option is activated, routes
        !          3383:     rejected by the import filter are kept in the routing table, but they
        !          3384:     are hidden and not propagated to other protocols. It is possible to
        !          3385:     examine them using 'show route rejected'.
        !          3386: 
        !          3387: commit dd4da6f640fb581cbd7d1ca537bf382558492b8e
        !          3388: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3389: Date:   Wed Oct 31 17:14:35 2012 +0100
        !          3390: 
        !          3391:     Fixes another bug in OSPFv3 vlinks.
        !          3392: 
        !          3393: commit 8249ad9b304ea88b29e3aea76ebe49bb50348aaa
        !          3394: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3395: Date:   Mon Oct 29 20:39:03 2012 +0100
        !          3396: 
        !          3397:     Fixes sorting in OSPF show state.
        !          3398: 
        !          3399: commit e4404cef0be10e639566986a2f8c1906c9f37de1
        !          3400: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3401: Date:   Mon Oct 29 20:29:31 2012 +0100
        !          3402: 
        !          3403:     Fixes several bugs related to OSPFv3 vlinks.
        !          3404: 
        !          3405: commit 0343d066dab077d1391640c53198199b16bef993
        !          3406: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3407: Date:   Wed Aug 29 12:42:49 2012 +0200
        !          3408: 
        !          3409:     Fixes a bug in primary IP selection.
        !          3410: 
        !          3411: commit 8ecbaf9c70b802a1200ad37f2bfd4bc64173c5fe
        !          3412: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3413: Date:   Thu Aug 16 13:09:26 2012 +0200
        !          3414: 
        !          3415:     Fixes a bug with neighbor cache and overlapping IP prefixes.
        !          3416:     
        !          3417:     When there are overlapping IP prefixes and one disappears,
        !          3418:     neighbors associated with it was removed even if there
        !          3419:     is another covering IP prefix.
        !          3420: 
        !          3421: commit 094d2bdb79e1ffa0a02761fd651aa0f0b6b0c585
        !          3422: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3423: Date:   Tue Aug 14 16:25:22 2012 +0200
        !          3424: 
        !          3425:     Implements ADD-PATH extension for BGP.
        !          3426:     
        !          3427:     Allows to send and receive multiple routes for one network by one BGP
        !          3428:     session. Also contains necessary core changes to support this (routing
        !          3429:     tables accepting several routes for one network from one protocol).
        !          3430:     It needs some more cleanup before merging to the master branch.
        !          3431: 
        !          3432: commit d760229ab897fa1bf1fd0fe7019cc2431d21a1cc
        !          3433: Author: Ondrej Filip <feela@network.cz>
        !          3434: Date:   Wed Aug 8 14:10:31 2012 +0200
        !          3435: 
        !          3436:     DragonFly support add - thanks to john@marino.st
        !          3437: 
        !          3438: commit 60c412b9368fd7c3b0a8df2200f02140adcb0cf3
        !          3439: Merge: 3fe1d9e 94e2f1c
        !          3440: Author: Ondrej Filip <feela@network.cz>
        !          3441: Date:   Tue Aug 7 11:15:23 2012 +0200
        !          3442: 
        !          3443:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          3444: 
        !          3445: commit 94e2f1c111721d6213ea65cac5c53036e38e3973
        !          3446: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3447: Date:   Tue Aug 7 11:06:57 2012 +0200
        !          3448: 
        !          3449:     NEWS and version update.
        !          3450: 
        !          3451: commit c06de722ddf36f3d6aaabfd4ae9d74a3ea72bbf9
        !          3452: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3453: Date:   Mon Aug 6 11:09:13 2012 +0200
        !          3454: 
        !          3455:     Some minor fixes.
        !          3456: 
        !          3457: commit 5400c0e7f982757418a0aeb892459b52fbbcffc3
        !          3458: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3459: Date:   Mon Aug 6 02:42:24 2012 +0200
        !          3460: 
        !          3461:     Fixes BGP subcode during global shutdown.
        !          3462: 
        !          3463: commit bbcfd5a0485a8df9568d8da0fc524e272e3e7601
        !          3464: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3465: Date:   Thu Jul 26 13:59:50 2012 +0200
        !          3466: 
        !          3467:     Fixes default route in OSPF multiple area setting.
        !          3468: 
        !          3469: commit 48cf5e84e6ed17578e4ad43c5ef54d6ff7d825c4
        !          3470: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3471: Date:   Tue Jul 24 20:12:14 2012 +0200
        !          3472: 
        !          3473:     Documentation update,
        !          3474: 
        !          3475: commit 0e224d598579626e03d3727d5901ba2d654ac521
        !          3476: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3477: Date:   Sun Jul 22 12:35:04 2012 +0200
        !          3478: 
        !          3479:     RDNSS and DNSSL documentation for RAdv.
        !          3480: 
        !          3481: commit 36415e4b1dd769458cced44525ee74d26d15f9c6
        !          3482: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3483: Date:   Fri Jul 20 19:56:57 2012 +0200
        !          3484: 
        !          3485:     Allows to redefine master table.
        !          3486: 
        !          3487: commit c4b76d7b19cf48ddbcbe913c22ef7f1e8429f5ea
        !          3488: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3489: Date:   Wed Jul 18 19:35:30 2012 +0200
        !          3490: 
        !          3491:     Rename sk_new() to avoid name collision with OpenSSL.
        !          3492: 
        !          3493: commit 4be266a9831799dcc2e67e83fc83d9db43828a64
        !          3494: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3495: Date:   Wed Jul 18 19:29:33 2012 +0200
        !          3496: 
        !          3497:     Implements wildcard matching in config file include.
        !          3498:     
        !          3499:     Also fixes some minor bugs in include.
        !          3500:     
        !          3501:     Thanks Kelly Cochran for suggestion and draft patch.
        !          3502: 
        !          3503: commit abced4a91495e27fe86b142bc1967cec53bab3dc
        !          3504: Merge: fc06fb6 7617026
        !          3505: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3506: Date:   Mon Jul 16 14:44:45 2012 +0200
        !          3507: 
        !          3508:     Merge branch 'rt-accepted'
        !          3509:     
        !          3510:     Conflicts:
        !          3511:     
        !          3512:        nest/config.Y
        !          3513:        nest/rt-table.c
        !          3514:        proto/bgp/bgp.c
        !          3515: 
        !          3516: commit 761702644397886bd3c1be10fd55c01485b7c454
        !          3517: Merge: 26822d8 553e405
        !          3518: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3519: Date:   Mon Jul 16 10:41:29 2012 +0200
        !          3520: 
        !          3521:     Merge commit 'origin/rt-accepted' into rt-accepted
        !          3522: 
        !          3523: commit 26822d8fe1376b2ffd902a3b5caa47f81a88e74e
        !          3524: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3525: Date:   Wed Jul 4 21:31:03 2012 +0200
        !          3526: 
        !          3527:     Finalize RA_ACCEPTED handling.
        !          3528: 
        !          3529: commit fc06fb62443c135773ee4c05ed83925cc47b046d
        !          3530: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3531: Date:   Sat Jul 7 10:40:00 2012 +0200
        !          3532: 
        !          3533:     Implements RDNSS and DNSSL support for RAdv.
        !          3534: 
        !          3535: commit 3fe1d9e4a40663b93b59f5b6f9d61af9dc6a8ae6
        !          3536: Merge: 72b2db8 95127cb
        !          3537: Author: Ondrej Filip <feela@network.cz>
        !          3538: Date:   Tue May 15 23:40:37 2012 +0200
        !          3539: 
        !          3540:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          3541: 
        !          3542: commit 95127cbbb76e8870e029454a5313bc4b6ce69a4a
        !          3543: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3544: Date:   Mon May 14 11:47:41 2012 +0200
        !          3545: 
        !          3546:     Real broadcast mode for OSPFv2.
        !          3547: 
        !          3548: commit 0ec031f7400fbacdd86b40ae1870c58715a7f108
        !          3549: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3550: Date:   Fri May 11 18:52:59 2012 +0200
        !          3551: 
        !          3552:     Allows to set instance ID for OSPFv3 interfaces.
        !          3553: 
        !          3554: commit 47c447c42e0bfa1836d951d1e6c1a2236d39dcbb
        !          3555: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3556: Date:   Fri May 4 23:05:47 2012 +0200
        !          3557: 
        !          3558:     Minor cleanups.
        !          3559: 
        !          3560: commit b7f3df79054aca327654c1fb4739c4ff02e59e6e
        !          3561: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3562: Date:   Fri May 11 12:01:27 2012 +0200
        !          3563: 
        !          3564:     Fixes a bug in RA_ACCEPTED handling.
        !          3565: 
        !          3566: commit 72b2db8db7534c52e928618410ec1f18787752c8
        !          3567: Merge: 2795700 95616c8
        !          3568: Author: Ondrej Filip <feela@network.cz>
        !          3569: Date:   Fri May 11 00:01:29 2012 +0200
        !          3570: 
        !          3571:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          3572: 
        !          3573: commit 95616c820248018f4999972cad315f2da60e4960
        !          3574: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3575: Date:   Fri May 4 16:38:25 2012 +0200
        !          3576: 
        !          3577:     Cleanup in sysdep KRT code, part 4.
        !          3578:     
        !          3579:     Adding some files that was accidentally removed
        !          3580:     (instead of moved) in cleanup part 2.
        !          3581: 
        !          3582: commit 064e7be5cd4dffd564b4ea41ba6d843492a55c97
        !          3583: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3584: Date:   Fri May 4 00:20:23 2012 +0200
        !          3585: 
        !          3586:     History deduplication in birdc.
        !          3587: 
        !          3588: commit e14bd38087ed8ef1945dd0a3878cc560478145f0
        !          3589: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3590: Date:   Thu May 3 14:04:56 2012 +0200
        !          3591: 
        !          3592:     Fixes flushing of device routes.
        !          3593: 
        !          3594: commit ab188fb76d7822350724b182106a19995a73d719
        !          3595: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3596: Date:   Thu May 3 12:25:15 2012 +0200
        !          3597: 
        !          3598:     Implements build options to specify socket dir and suffix.
        !          3599: 
        !          3600: commit 2795700c3158fa52b6cf957e9d0b9ad4a27c67a5
        !          3601: Merge: 1f85226 bf42207
        !          3602: Author: Ondrej Filip <feela@network.cz>
        !          3603: Date:   Wed May 2 11:10:40 2012 +0200
        !          3604: 
        !          3605:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          3606: 
        !          3607: commit 7a2c48dafce9420a23fd57408c31eecfc20c4fe0
        !          3608: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3609: Date:   Mon Apr 30 22:34:06 2012 +0200
        !          3610: 
        !          3611:     Cleanup in sysdep KRT code, part 3.
        !          3612:     
        !          3613:     Just one more renaming, old krt_set_notify() to krt_replace_rte().
        !          3614: 
        !          3615: commit f1aceff59bbf942bc11c2e9a4c51e381c06f2b20
        !          3616: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3617: Date:   Mon Apr 30 22:21:52 2012 +0200
        !          3618: 
        !          3619:     Cleanup in sysdep KRT code, part 2.
        !          3620:     
        !          3621:     Remove support for historic Linux kernels,
        !          3622:     merge krt-iface, krt-set and krt-scan stub headers.
        !          3623: 
        !          3624: commit 396dfa9042305f62da1f56589c4b98fac57fc2f6
        !          3625: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3626: Date:   Mon Apr 30 15:31:32 2012 +0200
        !          3627: 
        !          3628:     Cleanup in sysdep KRT code, part 1.
        !          3629:     
        !          3630:     OS-dependent functions renamed to be more consistent,
        !          3631:     prepared to merge krt-set and krt-scan headers.
        !          3632:     
        !          3633:     Name changes:
        !          3634:     
        !          3635:     struct krt_if_params -> struct kif_params
        !          3636:     struct krt_if_status -> struct kif_status
        !          3637:     struct krt_set/scan_params -> struct krt_params
        !          3638:     struct krt_set/scan_status -> struct krt_status
        !          3639:     
        !          3640:     krt_if_params_same -> kif_sys_reconfigure
        !          3641:     krt_if_copy_params -> kif_sys_copy_config
        !          3642:     krt_set/scan_params_same -> krt_sys_reconfigure
        !          3643:     krt_set/scan_copy_params -> krt_sys_copy_config
        !          3644:     
        !          3645:     krt_if_scan -> kif_do_scan
        !          3646:     krt_set_notify -> krt_do_notify
        !          3647:     krt_scan_fire -> krt_do_scan
        !          3648:     
        !          3649:     krt_if_ -> kif_sys_
        !          3650:     krt_scan_ -> krt_sys_
        !          3651:     krt_set_ -> krt_sys_
        !          3652: 
        !          3653: commit 182a78957d60a4c91c1ff8d1ff0f09b1b64b70ba
        !          3654: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3655: Date:   Sun Apr 29 01:35:52 2012 +0200
        !          3656: 
        !          3657:     Allows some modifications of dest attribute in filters.
        !          3658: 
        !          3659: commit bf42207332e8e502d636038f1ec44aaea6ec50e0
        !          3660: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3661: Date:   Sat Apr 28 13:03:48 2012 +0200
        !          3662: 
        !          3663:     Changes keyword 'exceed' to 'action'.
        !          3664: 
        !          3665: commit ab758e4fb205346946f2d828236bd23efc2a419e
        !          3666: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3667: Date:   Sat Apr 28 12:59:40 2012 +0200
        !          3668: 
        !          3669:     Some fixes in route export limits.
        !          3670: 
        !          3671: commit d494df63ac3061accdff348511a565c021411b28
        !          3672: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3673: Date:   Fri Apr 27 00:04:51 2012 +0200
        !          3674: 
        !          3675:     Some minor fixes.
        !          3676: 
        !          3677: commit 1f85226ecb76d3803b8fe37eb0891c45a6557dcd
        !          3678: Merge: 92f8f7e d9b77cc
        !          3679: Author: Ondrej Filip <feela@network.cz>
        !          3680: Date:   Thu Apr 26 17:03:53 2012 +0200
        !          3681: 
        !          3682:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          3683: 
        !          3684: commit d9b77cc28115e5c1ef64c69722c9d1fd1392dcd1
        !          3685: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3686: Date:   Tue Apr 24 23:39:57 2012 +0200
        !          3687: 
        !          3688:     Implements generalized export limits.
        !          3689:     
        !          3690:     And also fixes some minor bugs in limits.
        !          3691: 
        !          3692: commit 3589546af4baa4d349409a318f8c9658dd11b3cc
        !          3693: Merge: 7d0a31d cca9706
        !          3694: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3695: Date:   Tue Apr 24 23:37:01 2012 +0200
        !          3696: 
        !          3697:     Merge commit 'origin/master'
        !          3698: 
        !          3699: commit 92f8f7e3a3a5a42768c18c1f3d4d8f9f98150c61
        !          3700: Author: Ondrej Filip <feela@network.cz>
        !          3701: Date:   Tue Apr 24 16:31:17 2012 +0200
        !          3702: 
        !          3703:     Small bug in detection of class-A networks.
        !          3704: 
        !          3705: commit cca970666a90af02eaeb6848bbfc3d5a2222fa21
        !          3706: Author: Ondrej Filip <feela@network.cz>
        !          3707: Date:   Sun Apr 22 14:03:07 2012 +0200
        !          3708: 
        !          3709:     Small typo in programmer's documentation.
        !          3710: 
        !          3711: commit 7d0a31deed92971e274aa0314e12619f93c850c9
        !          3712: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3713: Date:   Sat Apr 21 21:05:36 2012 +0200
        !          3714: 
        !          3715:     Fixes in generalized import limits.
        !          3716: 
        !          3717: commit 334a0ed24d015e106558cc9eeef301c6f0d21aec
        !          3718: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3719: Date:   Fri Apr 20 21:04:55 2012 +0200
        !          3720: 
        !          3721:     Fixes missing device attributes when exporting routes to kernel.
        !          3722:     
        !          3723:     Thanks to Howden Nick for the bugreport.
        !          3724: 
        !          3725: commit 9b2b502be521b58a736f7b78644e89ee01b4418b
        !          3726: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3727: Date:   Fri Apr 20 21:04:55 2012 +0200
        !          3728: 
        !          3729:     Fixes missing device attributes when exporting routes to kernel.
        !          3730:     
        !          3731:     Thanks to Howden Nick for the bugreport.
        !          3732: 
        !          3733: commit f93e6f338e59e02b0cddea85e7d367948d9cf3f2
        !          3734: Author: Ondrej Filip <feela@network.cz>
        !          3735: Date:   Thu Apr 19 17:14:16 2012 +0200
        !          3736: 
        !          3737:     Small clean up in debug texts
        !          3738: 
        !          3739: commit 553e4054609e7aa8dcb92849c92a6fea73354f0e
        !          3740: Author: Ondrej Filip <feela@network.cz>
        !          3741: Date:   Thu Apr 19 17:12:13 2012 +0200
        !          3742: 
        !          3743:     Small clean up in debug texts
        !          3744: 
        !          3745: commit ebecb6f6a11bb418dd054cf12a2673ca0d9eac37
        !          3746: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3747: Date:   Sun Apr 15 15:28:29 2012 +0200
        !          3748: 
        !          3749:     Implements generalized import hooks.
        !          3750:     
        !          3751:     Thanks to Alexander V. Chernikov for the original patch.
        !          3752: 
        !          3753: commit 3e17e380598b9a512bb369f51a4cf55da269f608
        !          3754: Merge: 00a09f3 ae8b300
        !          3755: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3756: Date:   Sun Apr 15 15:17:03 2012 +0200
        !          3757: 
        !          3758:     Merge branch 'master' into rt-accepted
        !          3759: 
        !          3760: commit ae8b300164a975597f9b6caea0b205af2e4db30b
        !          3761: Merge: d360f12 ed7c4b0
        !          3762: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3763: Date:   Sun Apr 15 15:15:05 2012 +0200
        !          3764: 
        !          3765:     Merge commit 'origin/master'
        !          3766: 
        !          3767: commit d360f129e393298ff3e5309ec06a3baf170784fb
        !          3768: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3769: Date:   Sun Apr 15 15:13:12 2012 +0200
        !          3770: 
        !          3771:     Fix static protocol w.r.t. some recent changes in protocol ahooks.
        !          3772: 
        !          3773: commit 00a09f3c367e79297f827b52ec5f16842db1ac4e
        !          3774: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3775: Date:   Sun Apr 15 15:07:58 2012 +0200
        !          3776: 
        !          3777:     Implement RA_ACCEPTED mode of route propagation.
        !          3778: 
        !          3779: commit ed7c4b0cd530126b9a794f817f5d1d93556a1bce
        !          3780: Author: Ondrej Filip <feela@network.cz>
        !          3781: Date:   Mon Apr 9 14:19:28 2012 +0200
        !          3782: 
        !          3783:     Small bugfix in error message related to reconfiguration.
        !          3784: 
        !          3785: commit bf2abe2f515d7b7aaed5fb4f37af82169adcd2f2
        !          3786: Merge: fb829de c0adf7e
        !          3787: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3788: Date:   Fri Mar 30 11:04:12 2012 +0200
        !          3789: 
        !          3790:     Merge branch 'soon'
        !          3791:     
        !          3792:     Conflicts:
        !          3793:     
        !          3794:        nest/proto.c
        !          3795:        nest/rt-table.c
        !          3796: 
        !          3797: commit fb829de69052755a31d76d73e17525d050e5ff4d
        !          3798: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3799: Date:   Wed Mar 28 18:40:04 2012 +0200
        !          3800: 
        !          3801:     Fixes responsiveness for protocol shutdown.
        !          3802:     
        !          3803:     When a protocol went down, all its routes were flushed in one step, that
        !          3804:     may block BIRD for too much time. The patch fixes that by limiting
        !          3805:     maximum number of routes flushed in one step.
        !          3806: 
        !          3807: commit cb3cf95859d81c711337738f004675f43c8bbb0e
        !          3808: Merge: c9df01d 16fc65a
        !          3809: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3810: Date:   Sun Mar 25 20:59:13 2012 +0200
        !          3811: 
        !          3812:     Merge commit 'origin/master'
        !          3813: 
        !          3814: commit c9df01d3215379c0463dd2a3b0c9b1700d6e2ac3
        !          3815: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3816: Date:   Sun Mar 25 19:44:14 2012 +0200
        !          3817: 
        !          3818:     Fixes several minor bugs in kernel syncer.
        !          3819: 
        !          3820: commit 9ba2798c65c02254ec000ab03a76fbbaae1ddc97
        !          3821: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3822: Date:   Fri Mar 23 01:17:02 2012 +0100
        !          3823: 
        !          3824:     Adds krt_metric linux route attribute.
        !          3825: 
        !          3826: commit 72aed1a00ba9e18116d6fd907f7e1a36d0a0a583
        !          3827: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3828: Date:   Fri Mar 23 00:26:26 2012 +0100
        !          3829: 
        !          3830:     Adds krt_source route attribute.
        !          3831:     
        !          3832:     Thanks Jeremie Dimino for the original patch.
        !          3833: 
        !          3834: commit 16fc65acc536d3788efe4c0554a2f52699fedc7f
        !          3835: Author: Ondrej Filip <feela@network.cz>
        !          3836: Date:   Thu Mar 22 14:52:40 2012 +0100
        !          3837: 
        !          3838:     Minor correction
        !          3839: 
        !          3840: commit 89647357af0d8507652f257f1e8f5679fe9a7078
        !          3841: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3842: Date:   Thu Mar 22 12:29:02 2012 +0100
        !          3843: 
        !          3844:     NEWS and version update.
        !          3845: 
        !          3846: commit c47d037ecb5b9c835700b152eed7589409a2e42f
        !          3847: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3848: Date:   Thu Mar 22 11:46:38 2012 +0100
        !          3849: 
        !          3850:     Some minor changes to CLI.
        !          3851: 
        !          3852: commit df27911880bffb88c1eae90e36c755a3ed3d77ad
        !          3853: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3854: Date:   Mon Mar 19 13:00:00 2012 +0100
        !          3855: 
        !          3856:     Fixes problem with dirname().
        !          3857:     
        !          3858:     Thanks Henrique de Moraes Holschuh for the original patch.
        !          3859: 
        !          3860: commit af582c4811175d9a27ed5d08a4f6d5eaa69ecec7
        !          3861: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3862: Date:   Sun Mar 18 17:32:30 2012 +0100
        !          3863: 
        !          3864:     Route Origin Authorization basics.
        !          3865:     
        !          3866:      - ROA tables, which are used as a basic part for RPKI.
        !          3867:      - Commands for examining and modifying ROA tables.
        !          3868:      - Filter operators based on ROA tables consistent with RFC 6483.
        !          3869: 
        !          3870: commit fd087589f80a435a42cedb87b917c71363b11860
        !          3871: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3872: Date:   Fri Mar 16 13:01:12 2012 +0100
        !          3873: 
        !          3874:     Fixes broken vlinks in OSPF.
        !          3875: 
        !          3876: commit 0f808c066f3b5b190de951db042a34a1eb957a16
        !          3877: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3878: Date:   Fri Mar 16 12:47:12 2012 +0100
        !          3879: 
        !          3880:     Adds filtering to 'show symbols' command.
        !          3881:     
        !          3882:     Thanks Alexander V. Chernikov for the original patch.
        !          3883: 
        !          3884: commit 20ab192beca749166e19118e987b53b5e131d0cf
        !          3885: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3886: Date:   Fri Mar 16 12:12:26 2012 +0100
        !          3887: 
        !          3888:     Adds filtering to 'show ospf lsadb' command.
        !          3889:     
        !          3890:     Thanks Alexander V. Chernikov for the original patch.
        !          3891: 
        !          3892: commit 0888a737b045b48106edbd28ba3cd62fcc8c191e
        !          3893: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3894: Date:   Thu Mar 15 20:42:29 2012 +0100
        !          3895: 
        !          3896:     Extends set operations in filters.
        !          3897:     
        !          3898:     Allows add/filter/delete clist on clist (set algebra on clists).
        !          3899:     
        !          3900:     Allows number ~ bgppath match.
        !          3901: 
        !          3902: commit 9f1500f50a0196f912eeb97e77ccf6873e186c29
        !          3903: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3904: Date:   Thu Mar 15 13:45:55 2012 +0100
        !          3905: 
        !          3906:     Adds warning for mismatch MTU in OSPF packets.
        !          3907:     
        !          3908:     Thanks Alexander V. Chernikov for the original patch.
        !          3909: 
        !          3910: commit 2f9955b5d508698b04ff41e5e38097acdac416b9
        !          3911: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3912: Date:   Thu Mar 15 13:12:00 2012 +0100
        !          3913: 
        !          3914:     Fixes TTL for multicast OSPF packets.
        !          3915:     
        !          3916:     Thanks Alexander V. Chernikov for the suggestion.
        !          3917: 
        !          3918: commit 8796a8a56edbcd420de724a58947c7aedadf04de
        !          3919: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3920: Date:   Thu Mar 15 12:50:49 2012 +0100
        !          3921: 
        !          3922:     Fixes name for unnamed filters.
        !          3923:     
        !          3924:     Thanks to Alexander V. Chernikov for the suggestion.
        !          3925: 
        !          3926: commit 7d837aa014a78bce2b329cc9f56e8dc799d456e8
        !          3927: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3928: Date:   Thu Mar 15 12:43:47 2012 +0100
        !          3929: 
        !          3930:     Fixes documentation - default pipe mode.
        !          3931:     
        !          3932:     Thanks to Benjamin Cama for the bugreport.
        !          3933: 
        !          3934: commit e2bf812f3dc84981eac045b617261987c25b5e90
        !          3935: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3936: Date:   Thu Mar 15 12:38:08 2012 +0100
        !          3937: 
        !          3938:     Fixes RIPng compatibility.
        !          3939:     
        !          3940:     Also probably breaks compatibility with older BIRDs, but RIPng not
        !          3941:     really worked here.
        !          3942:     
        !          3943:     Thanks to Goesta Smekal for the original patch.
        !          3944: 
        !          3945: commit f761503760fba2d4124cc3352f5260c31fac526d
        !          3946: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3947: Date:   Thu Mar 15 12:23:49 2012 +0100
        !          3948: 
        !          3949:     Fixes RIPng socket and neighbor handling.
        !          3950:     
        !          3951:     RIPng did not really work because of link-local addresses.
        !          3952:     
        !          3953:     Thanks to Roman Hoog Antink for some notes.
        !          3954: 
        !          3955: commit 117e3c4bbfd4b7f1b2cae6ef9e5cb603fe33307a
        !          3956: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3957: Date:   Thu Mar 15 12:18:26 2012 +0100
        !          3958: 
        !          3959:     Fixes a bug in pair set intervals.
        !          3960:     
        !          3961:     Pair intervals in form (a,b)..(c,d) were mishanded.
        !          3962:     
        !          3963:     Thanks to Alexander Shikoff for the bugreport.
        !          3964: 
        !          3965: commit c0adf7e9fc0bb920175a639c6f56ed7b4190f3e4
        !          3966: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3967: Date:   Thu Mar 15 11:58:08 2012 +0100
        !          3968: 
        !          3969:     Better support for multitable protocols.
        !          3970:     
        !          3971:     The nest-protocol interaction is changed to better handle multitable
        !          3972:     protocols. Multitable protocols now declare that by 'multitable' field,
        !          3973:     which tells nest that a protocol handles things related to proto-rtable
        !          3974:     interaction (table locking, announce hook adding, reconfiguration of
        !          3975:     filters) itself.
        !          3976:     
        !          3977:     Filters and stats are moved to announce hooks, a protocol could have
        !          3978:     different filters and stats to different tables.
        !          3979:     
        !          3980:     The patch is based on one from Alexander V. Chernikov, thanks.
        !          3981: 
        !          3982: commit 46c1a583a5c1ea81e8d8f372bd7f614506a63938
        !          3983: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3984: Date:   Fri Feb 3 11:50:51 2012 +0100
        !          3985: 
        !          3986:     Fixes a bug causing crash during soft reconfiguration of export to kernel proto.
        !          3987: 
        !          3988: commit 39c028e9e9e3acf840051f4271fadd4939fde2af
        !          3989: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3990: Date:   Tue Jan 24 11:31:00 2012 +0100
        !          3991: 
        !          3992:     Assign default protocol preference via proto_config_new().
        !          3993:     
        !          3994:     The patch from Alexander V. Chernikov.
        !          3995: 
        !          3996: commit 09686693d35bd71187847c95c0967d4125215b97
        !          3997: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          3998: Date:   Mon Jan 23 03:15:12 2012 +0100
        !          3999: 
        !          4000:     Implements handling of BSD iface arrival/departure notifications.
        !          4001:     
        !          4002:     Thanks to Alexander V. Chernikov for original patch.
        !          4003: 
        !          4004: commit 732a0a257d180a95a02587203555b8552b6128ac
        !          4005: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4006: Date:   Mon Jan 23 01:26:40 2012 +0100
        !          4007: 
        !          4008:     Fixes problems with creating/removing/renaming ifaces on BSD.
        !          4009: 
        !          4010: commit 5c78e0e386d4c770b646cab4a8adc3c87987f50f
        !          4011: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4012: Date:   Sun Jan 22 11:03:30 2012 +0100
        !          4013: 
        !          4014:     Some more verbose warnings.
        !          4015: 
        !          4016: commit bc092571171d00de8b429fec8ba70c39240d7e91
        !          4017: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4018: Date:   Sat Jan 21 22:56:16 2012 +0100
        !          4019: 
        !          4020:     Fixes another minor bug in iface scan.
        !          4021:     
        !          4022:     Iface flags are not updated in some cases.
        !          4023: 
        !          4024: commit b573755df426156c22d2a4c65e3f502284820166
        !          4025: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4026: Date:   Sat Jan 21 22:41:31 2012 +0100
        !          4027: 
        !          4028:     Fixes a bug in BSD iface scan.
        !          4029:     
        !          4030:     if_update() should be called always, because periodic iface scan code
        !          4031:     removes all not-updated ifaces.
        !          4032: 
        !          4033: commit 544f2e1b36fb9473132f77d9c0f6e97d1495bb24
        !          4034: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4035: Date:   Fri Jan 20 18:16:35 2012 +0100
        !          4036: 
        !          4037:     NEWS and version update.
        !          4038: 
        !          4039: commit 3ce17142791b2e1a7f0b8e512b5b74224600056c
        !          4040: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4041: Date:   Fri Jan 20 16:20:03 2012 +0100
        !          4042: 
        !          4043:     Fixes a new bug in BGP route ordering.
        !          4044: 
        !          4045: commit 2c5ca47ad4d18cae162c2ddf85af2dedb89f00a5
        !          4046: Author: Ondrej Filip <feela@network.cz>
        !          4047: Date:   Tue Jan 10 13:44:06 2012 +0100
        !          4048: 
        !          4049:     New version 1.3.5
        !          4050: 
        !          4051: commit 4b3a8ff8c6e34f0486b82a10706f1ee0b688048e
        !          4052: Author: root <root@localhost.(none)>
        !          4053: Date:   Mon Jan 9 16:57:45 2012 +0100
        !          4054: 
        !          4055:     Extend buffer for netlink messages.
        !          4056: 
        !          4057: commit 2c67a564b368bee94f387ba988e8a2e9a76a04ce
        !          4058: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4059: Date:   Mon Jan 9 03:32:34 2012 +0100
        !          4060: 
        !          4061:     NEWS and version update.
        !          4062: 
        !          4063: commit 8cf8f820fe66af1755e360ea1c5179483766131d
        !          4064: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4065: Date:   Mon Jan 9 03:20:52 2012 +0100
        !          4066: 
        !          4067:     Show interface for link-local gw in static protocol.
        !          4068: 
        !          4069: commit d7f469c15c1fd8315061f85b87a19946c3ea4700
        !          4070: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4071: Date:   Mon Jan 9 02:40:57 2012 +0100
        !          4072: 
        !          4073:     Some minor fixes.
        !          4074: 
        !          4075: commit 3f58437405f8e37e9c14d83274a6b82ffd9583f8
        !          4076: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4077: Date:   Sun Jan 8 16:28:33 2012 +0100
        !          4078: 
        !          4079:     Fix for IPv6 addresses on non-multiaccess ifaces on BSD.
        !          4080:     
        !          4081:     Thanks Matthias Schiffer for the patch.
        !          4082: 
        !          4083: commit 53ffbff39f054e1302fb296327b9bb1b4f88226c
        !          4084: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4085: Date:   Sun Jan 8 15:28:27 2012 +0100
        !          4086: 
        !          4087:     Implements support for link-local addresses in BGP.
        !          4088:     
        !          4089:     Thanks Matthias Schiffer for the original patch.
        !          4090: 
        !          4091: commit eb1451a3a0c45a4cc62dd0f1f3c3157ec38e2f8e
        !          4092: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4093: Date:   Sun Jan 8 15:27:04 2012 +0100
        !          4094: 
        !          4095:     Better support for link-local addresses in IO code.
        !          4096: 
        !          4097: commit a03ede64936d0aee1a760a19dc6194b2fdc9c692
        !          4098: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4099: Date:   Tue Jan 3 00:42:25 2012 +0100
        !          4100: 
        !          4101:     Fixes a tricky bug in route filtering.
        !          4102:     
        !          4103:     Route attributes was used after rta was freed during copy-on-write in
        !          4104:     filter code. This causes some random crashes, esp. with multipath
        !          4105:     routes.
        !          4106: 
        !          4107: commit 69a8259c5e438f949bd58b1a2f8e1d12a49f9216
        !          4108: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4109: Date:   Sun Jan 1 12:02:20 2012 +0100
        !          4110: 
        !          4111:     Allows sticky link-local neighbors.
        !          4112:     
        !          4113:     Allows using NEF_STICKY neighbors with link-local addresses. This is
        !          4114:     used for static route nexthops, they can be specified like fe80::1%eth0
        !          4115:     .
        !          4116: 
        !          4117: commit c32c3f88f0c8788118ed3701c11a5aea2aaf9356
        !          4118: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4119: Date:   Thu Dec 22 13:44:43 2011 +0100
        !          4120: 
        !          4121:     Fixes parsing larger numbers on 64bit platforms.
        !          4122: 
        !          4123: commit be4cd99a3688cef19f66e1c8b8e0506ffc1e13fc
        !          4124: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4125: Date:   Thu Dec 22 13:20:29 2011 +0100
        !          4126: 
        !          4127:     Implements deterministic MED handling.
        !          4128:     
        !          4129:     Thanks to Alexander V. Chernikov for many suggestions.
        !          4130: 
        !          4131: commit cf7f0645316f5df0984467cf7001f5466254eaf3
        !          4132: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4133: Date:   Mon Dec 12 00:24:15 2011 +0100
        !          4134: 
        !          4135:     Fixes problem with sticky neighbors and iface address changes.
        !          4136:     
        !          4137:     Thanks Matthias Schiffer for the bugreport and the original patch.
        !          4138: 
        !          4139: commit 2779d50a24dc1b7c6b4cf83a17af817c02462855
        !          4140: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4141: Date:   Thu Nov 17 21:12:23 2011 +0100
        !          4142: 
        !          4143:     Fixes RAdv proto w.r.t. templates.
        !          4144:     
        !          4145:     Thanks Alexander V. Chernikov for this.
        !          4146: 
        !          4147: commit 60fd666b796dfa8ba12b44338754ca73b76da2e8
        !          4148: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4149: Date:   Thu Nov 10 09:22:20 2011 +0100
        !          4150: 
        !          4151:     Fixes missing header.
        !          4152: 
        !          4153: commit a7f23f581f5e3efe92ec97dfca7d01c66f31ab04
        !          4154: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4155: Date:   Mon Nov 7 00:31:23 2011 +0100
        !          4156: 
        !          4157:     Implements protocol templates.
        !          4158:     
        !          4159:     Based on the patch from Alexander V. Chernikov.
        !          4160:     Extended to support almost all protocols.
        !          4161:     Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
        !          4162: 
        !          4163: commit 74add5df17c386bd109ebea7b1dac04d1651ae51
        !          4164: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4165: Date:   Thu Oct 27 13:21:24 2011 +0200
        !          4166: 
        !          4167:     Fixes seqnum generation.
        !          4168:     
        !          4169:     Thanks Mohammad Amin Shoaie for notification.
        !          4170: 
        !          4171: commit 78e33c29bbbc6f4dd308cd8ef589ce543c3d8d6e
        !          4172: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4173: Date:   Wed Oct 26 20:06:36 2011 +0200
        !          4174: 
        !          4175:     Some minor fixes in parser.
        !          4176: 
        !          4177: commit 14a8f396e1d8fc5787041eace8ab026fe5a0896c
        !          4178: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4179: Date:   Wed Oct 26 13:55:24 2011 +0200
        !          4180: 
        !          4181:     Fixes sockets for IPv4 RIP.
        !          4182:     
        !          4183:     Thanks Roman Hoog Antink for a suggestion.
        !          4184: 
        !          4185: commit 00a124e3fc218aa39c634bbda244789f2ea0cd3d
        !          4186: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4187: Date:   Mon Oct 10 02:33:11 2011 +0200
        !          4188: 
        !          4189:     NEWS and version update.
        !          4190: 
        !          4191: commit 9b7fdfc84a516ede415cd1941e5ff1d6312e83ff
        !          4192: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4193: Date:   Mon Oct 10 01:01:58 2011 +0200
        !          4194: 
        !          4195:     Fixes for include.
        !          4196: 
        !          4197: commit 1cb97af419ee5bff45049f4d3a85acadbb5b1cb9
        !          4198: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4199: Date:   Sun Oct 9 17:01:01 2011 +0200
        !          4200: 
        !          4201:     Extend the error message.
        !          4202: 
        !          4203: commit 9491f9f593c1195039cecd1bb2a502363b58c66d
        !          4204: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4205: Date:   Thu Oct 6 23:01:23 2011 +0200
        !          4206: 
        !          4207:     Use reserved address blocks for documentation (RFC 5737).
        !          4208: 
        !          4209: commit 32f95476a8d60508ca9d24fe20b09899b72de9d7
        !          4210: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4211: Date:   Thu Oct 6 22:48:49 2011 +0200
        !          4212: 
        !          4213:     Signal problems with route installation to kernel tables.
        !          4214: 
        !          4215: commit 35c875f0d1eb7c72e0b0ab8a90eb32cbcbfdac02
        !          4216: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4217: Date:   Sat Oct 1 09:57:49 2011 +0200
        !          4218: 
        !          4219:     Fixes some error messages and the NSSA gw lookup.
        !          4220:     
        !          4221:     Thanks to Alexander V. Chernikov for the patch.
        !          4222: 
        !          4223: commit 736fd7303cb05e910507edaa9310178a23dbcf1e
        !          4224: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4225: Date:   Tue Sep 27 13:49:32 2011 +0200
        !          4226: 
        !          4227:     Fixes a bug with multiple function arguments.
        !          4228: 
        !          4229: commit bf6d91dc4edf3d08f0de41f71503159b1713fc9a
        !          4230: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4231: Date:   Sat Sep 24 11:06:42 2011 +0200
        !          4232: 
        !          4233:     Use undefined scope for undefined IPv6 addresses.
        !          4234: 
        !          4235: commit 4116db182d8d80d26902a8b33f82664bb5770066
        !          4236: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4237: Date:   Sat Sep 24 02:21:52 2011 +0200
        !          4238: 
        !          4239:     Implements static recursive routes.
        !          4240: 
        !          4241: commit 4271f2b77ed3862a2356475dc18b0cf5c1086364
        !          4242: Author: Ondrej Filip <feela@network.cz>
        !          4243: Date:   Sun Sep 18 13:52:50 2011 +0200
        !          4244: 
        !          4245:     Fixed problem during 'configure' with EC
        !          4246: 
        !          4247: commit 55b58d8c1f51942c487cc268bd9e2ca214913377
        !          4248: Author: Ondrej Filip <feela@network.cz>
        !          4249: Date:   Mon Sep 12 12:13:53 2011 +0200
        !          4250: 
        !          4251:     Removed some completed jobs.
        !          4252: 
        !          4253: commit 1e69379e70da3486a601cab7a41ccf7a5825101d
        !          4254: Author: Ondrej Filip <feela@network.cz>
        !          4255: Date:   Sun Sep 11 21:43:24 2011 +0200
        !          4256: 
        !          4257:     NEWS file updated.
        !          4258: 
        !          4259: commit 48ec367aabaaa5328f4072d237001e245a7363df
        !          4260: Author: Ondrej Filip <feela@network.cz>
        !          4261: Date:   Sun Sep 11 21:21:47 2011 +0200
        !          4262: 
        !          4263:     Configuration can include other files.
        !          4264: 
        !          4265: commit a98995273bd8788cf525f44479026d5ce6b7dd52
        !          4266: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4267: Date:   Sun Sep 4 13:23:26 2011 +0200
        !          4268: 
        !          4269:     NEWS and version update.
        !          4270: 
        !          4271: commit cb2b586f00f5e7ef9a902b028fc5bfe117890457
        !          4272: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4273: Date:   Sun Sep 4 10:39:10 2011 +0200
        !          4274: 
        !          4275:     NetBSD compile fix.
        !          4276: 
        !          4277: commit 51947659abbf9af861aa7dec36fd1c845fb617ab
        !          4278: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4279: Date:   Sun Sep 4 00:56:02 2011 +0200
        !          4280: 
        !          4281:     Minor changes in BGP protocol info.
        !          4282:     
        !          4283:     Shows neighbor IP and ASN even if protocol is down.
        !          4284: 
        !          4285: commit 6c4df70373fa640a7f068d4e1b563621b67c0d2b
        !          4286: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4287: Date:   Sat Sep 3 21:59:40 2011 +0200
        !          4288: 
        !          4289:     Fixes possible buffer overflow when printing BGP attributes.
        !          4290:     
        !          4291:     Thanks to Alexander V. Chernikov for the patch.
        !          4292: 
        !          4293: commit 2918e61046388821c3d4411c602dc5b28ad59329
        !          4294: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4295: Date:   Sat Sep 3 21:31:26 2011 +0200
        !          4296: 
        !          4297:     Fixes for OSPF NSSA handling.
        !          4298: 
        !          4299: commit b1b19433602f2a2ff58cfe2c1858ff883eee7b20
        !          4300: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4301: Date:   Tue Aug 16 23:05:35 2011 +0200
        !          4302: 
        !          4303:     The generalized TTL security mechanism (RFC 5082) support.
        !          4304:     
        !          4305:     Thanks to Alexander V. Chernikov for the patch.
        !          4306: 
        !          4307: commit a52d52fa91ffcbcea58326fc2de476ce5644256f
        !          4308: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4309: Date:   Mon Aug 15 20:54:58 2011 +0200
        !          4310: 
        !          4311:     Fixes some missing tabs.
        !          4312:     
        !          4313:     They unintentionally disappeared in 1.3.2.
        !          4314: 
        !          4315: commit a209d5d8e1bea2b37a7cddebe1f275da4ebde4e3
        !          4316: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4317: Date:   Mon Aug 15 02:06:56 2011 +0200
        !          4318: 
        !          4319:     A minor fix in BSD.
        !          4320: 
        !          4321: commit 8815d846bf77e4231f36b64d8e4ac9a3ec2d1504
        !          4322: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4323: Date:   Sun Aug 14 15:53:47 2011 +0200
        !          4324: 
        !          4325:     BGP Extended communities documentation.
        !          4326: 
        !          4327: commit 42a0c05408c4151442e6a0ec1c6889acbcfe9c17
        !          4328: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4329: Date:   Fri Aug 12 21:03:43 2011 +0200
        !          4330: 
        !          4331:     BGP Extended communities.
        !          4332: 
        !          4333: commit bde872bba745e5596bdb066df6ef323b7cabcfdd
        !          4334: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4335: Date:   Mon Aug 8 10:57:54 2011 +0200
        !          4336: 
        !          4337:     The documentation update.
        !          4338: 
        !          4339: commit ed317862c2958303cf541fe63f4ea26d00918a9a
        !          4340: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4341: Date:   Mon Aug 8 01:45:31 2011 +0200
        !          4342: 
        !          4343:     OSPF NSSA support, inter-area LSA translation.
        !          4344: 
        !          4345: commit aca0e79faa391a2841134dac78a499dfdca68bd9
        !          4346: Author: root <root@localhost.(none)>
        !          4347: Date:   Fri Jul 29 14:52:28 2011 +0200
        !          4348: 
        !          4349:     Handles missing macro.
        !          4350: 
        !          4351: commit 14272097df989808790673521f643053f898aa8c
        !          4352: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4353: Date:   Thu Jul 28 13:50:02 2011 +0200
        !          4354: 
        !          4355:     Fixes crash on BSD.
        !          4356: 
        !          4357: commit 4160a9dd9416ee5afd215750bdd6c6e7a4e7ed1f
        !          4358: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4359: Date:   Fri Jul 22 20:00:24 2011 +0200
        !          4360: 
        !          4361:     OSPF NSSA translator election.
        !          4362: 
        !          4363: commit 41b612c31be05409e69e7365db82b3d1aefc4ca3
        !          4364: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4365: Date:   Wed Jul 20 23:40:20 2011 +0200
        !          4366: 
        !          4367:     OSPF NSSA support, part one.
        !          4368: 
        !          4369: commit 9008579b97239564e1dcac855cf726fa9ab7dabd
        !          4370: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4371: Date:   Wed Jul 20 23:46:03 2011 +0200
        !          4372: 
        !          4373:     Fixes broken multi-area OSPF.
        !          4374: 
        !          4375: commit c49490f8c096ef1379f08e7d70cc24f0c28b80ef
        !          4376: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4377: Date:   Fri Jul 8 08:58:50 2011 +0200
        !          4378: 
        !          4379:     NEWS and version update.
        !          4380: 
        !          4381: commit beeda6af44e72e3a20fcd2837b231a04354790fa
        !          4382: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4383: Date:   Thu Jul 7 17:43:39 2011 +0200
        !          4384: 
        !          4385:     Removes timers for stub interfaces. Also fixes some minor bugs.
        !          4386: 
        !          4387: commit 7d4e923603fdb43b6f017e5ef78e37d0891c699c
        !          4388: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4389: Date:   Wed Jul 6 03:10:02 2011 +0200
        !          4390: 
        !          4391:     Do not open sockets for stub interfaces.
        !          4392: 
        !          4393: commit f796945f04d8be4e71cdf48d919c2035c0a2551d
        !          4394: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4395: Date:   Sun Jul 3 23:24:38 2011 +0200
        !          4396: 
        !          4397:     Fixes LSA checksum computation for larger LSAs.
        !          4398: 
        !          4399: commit fdf16eb65872b3bee02fb9e25c80ea32cf59f8e9
        !          4400: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4401: Date:   Sun Jul 3 19:43:30 2011 +0200
        !          4402: 
        !          4403:     Prints full community lists during 'show route all'.
        !          4404: 
        !          4405: commit 6370d6f61b30b2390727eee8136e0e575dff609f
        !          4406: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4407: Date:   Sun Jun 26 22:25:09 2011 +0200
        !          4408: 
        !          4409:     Fix route types in rta_show().
        !          4410: 
        !          4411: commit e08d2ff08e4cff4bec38878e084fee7666caaaf2
        !          4412: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4413: Date:   Sun Jun 26 17:09:24 2011 +0200
        !          4414: 
        !          4415:     Adds filter clist operation.
        !          4416: 
        !          4417: commit 35f8c731ea29bd534c74b2d0de089d5683ebcd8d
        !          4418: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4419: Date:   Sat Jun 25 14:51:16 2011 +0200
        !          4420: 
        !          4421:     Fixes output of BGP timers in 'show protocols all'.
        !          4422: 
        !          4423: commit d8b5a786d27eed72106f88f893c521e67f1bef06
        !          4424: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4425: Date:   Sat Jun 25 11:35:54 2011 +0200
        !          4426: 
        !          4427:     IPV6_CHECKSUM should not be used on ICMPv6 sockets.
        !          4428: 
        !          4429: commit 23fd464447c4d0f0efe7b61ca3128bbb1bc1c21c
        !          4430: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4431: Date:   Mon Jun 20 20:35:59 2011 +0200
        !          4432: 
        !          4433:     Fixes a bug related to protocol enabling and reconfigure.
        !          4434:     
        !          4435:     When a protocol was enabled interactively (but disabled in the config
        !          4436:     file), then reconfigure in some cases forgets to disable it.
        !          4437: 
        !          4438: commit ae85e28cf410cefe4f6e1cdf92510fbf9cea7ae0
        !          4439: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4440: Date:   Mon Jun 20 07:37:55 2011 +0200
        !          4441: 
        !          4442:     Fixes a bug in OSPF causing DoS by an invalid packet.
        !          4443: 
        !          4444: commit 61c96d724464ee067e589b72ca9d10a2f7692901
        !          4445: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4446: Date:   Tue May 31 17:27:46 2011 +0200
        !          4447: 
        !          4448:     Fixes bug that causes crash with strange BGP updates.
        !          4449: 
        !          4450: commit 5e9bdac28ec95172b0c31641507f6a2fcd2e95fb
        !          4451: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4452: Date:   Sat May 21 22:48:08 2011 +0200
        !          4453: 
        !          4454:     Fixes a bug with setting preference during show route cmd.
        !          4455:     
        !          4456:     If show route cmd was used with a filter that changed preference,
        !          4457:     BIRD crashed.
        !          4458: 
        !          4459: commit 1155c79209b6a670d0e1f85b2603363ba1132ae0
        !          4460: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4461: Date:   Thu May 19 01:20:00 2011 +0200
        !          4462: 
        !          4463:     Fixes compatibility with Mikrotik.
        !          4464: 
        !          4465: commit b54ad333b3c8b486b059f6c0e1afc8c35b64ebea
        !          4466: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4467: Date:   Mon May 16 12:39:55 2011 +0200
        !          4468: 
        !          4469:     Documentation update.
        !          4470: 
        !          4471: commit e8b89a610443f32b901801668cbae634e13f3e68
        !          4472: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4473: Date:   Sun May 15 16:29:44 2011 +0200
        !          4474: 
        !          4475:     Update and document the privilege restriction.
        !          4476: 
        !          4477: commit 1bc2695744c729804af32d48ce68854cba4de8f7
        !          4478: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4479: Date:   Tue May 10 02:42:17 2011 +0200
        !          4480: 
        !          4481:     Allows run with restricted privileges.
        !          4482:     
        !          4483:     Adds option -u and -g to specify user and group.
        !          4484:     When different user (than root) is specified,
        !          4485:     linux capabilities CAP_NET_* are kept.
        !          4486: 
        !          4487: commit 46bb7e0d176a4dc0a47bb406988f92fb29cceaf4
        !          4488: Merge: b8cc390 b7c4898
        !          4489: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4490: Date:   Fri May 6 22:09:44 2011 +0200
        !          4491: 
        !          4492:     Merge commit 'origin/master'
        !          4493: 
        !          4494: commit b8cc390e7ed724a9ad605453227d1e4686f3a11b
        !          4495: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4496: Date:   Fri May 6 22:00:54 2011 +0200
        !          4497: 
        !          4498:     Fixes several problems in filter syntax.
        !          4499:     
        !          4500:      - Fixes several conflicts in the grammar.
        !          4501:      - Fixes a bug in (a..b, c) pair patterns.
        !          4502:      - Makes pair patterns orthogonal.
        !          4503:      - Allows term expressions in pair patterns without additional ( ).
        !          4504:      - Allows several comma separated values in switch cases.
        !          4505: 
        !          4506: commit b7c48981069f25c01c552519e10aec4ebab1f031
        !          4507: Author: Ondrej Filip <feela@network.cz>
        !          4508: Date:   Thu May 5 14:14:20 2011 +0200
        !          4509: 
        !          4510:     Compilation was failing without OSPF or RIP protocol - FIXED.
        !          4511: 
        !          4512: commit 409e8a6e21d3df0919fd2e131ba9a58222baee50
        !          4513: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4514: Date:   Mon May 2 02:06:03 2011 +0200
        !          4515: 
        !          4516:     NEWS and version update.
        !          4517: 
        !          4518: commit a506476acd4baa212f542b257eb5abba733ba4c5
        !          4519: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4520: Date:   Sun May 1 17:16:05 2011 +0200
        !          4521: 
        !          4522:     There may be more IP address records with the same IP.
        !          4523: 
        !          4524: commit 5964569c23829ec93fcf671a2582be01c8aebecf
        !          4525: Merge: acc93ef d600909
        !          4526: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4527: Date:   Fri Apr 29 19:03:19 2011 +0200
        !          4528: 
        !          4529:     Merge commit 'origin/master'
        !          4530: 
        !          4531: commit acc93efd4c754cc995ee8edf52ce0bc45511062e
        !          4532: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4533: Date:   Thu Apr 28 00:31:37 2011 +0200
        !          4534: 
        !          4535:     Use constants from /etc/iproute2/rt_* files.
        !          4536: 
        !          4537: commit 73272f04af40484b72451f541a986da996b0da58
        !          4538: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4539: Date:   Fri Apr 22 16:13:27 2011 +0200
        !          4540: 
        !          4541:     Adds BGP option related to MED handling.
        !          4542:     
        !          4543:     Adds option 'med metric' allows to compare MEDs
        !          4544:     between routes received from different neighbors.
        !          4545: 
        !          4546: commit d600909da9ef0a4b25052c1bf2de83d4e7628b0e
        !          4547: Author: Ondrej Filip <feela@trubka.network.cz>
        !          4548: Date:   Wed Apr 13 13:19:37 2011 +0200
        !          4549: 
        !          4550:     Fixed bug FICORA #503685.
        !          4551: 
        !          4552: commit 71ca77169d5d3e67459e46841b8bdb95accd8c2a
        !          4553: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4554: Date:   Wed Apr 13 12:32:27 2011 +0200
        !          4555: 
        !          4556:     Adds support for several Linux kernel route attributes.
        !          4557: 
        !          4558: commit 4aef102be1e29d3450e53a20a6b2f96d50527139
        !          4559: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4560: Date:   Thu Apr 7 11:31:56 2011 +0200
        !          4561: 
        !          4562:     Fixes KRT sync in BSD.
        !          4563:     
        !          4564:     When buffer is too small (because of change between sysctls()),
        !          4565:     needed is *not* changed.
        !          4566: 
        !          4567: commit 489c308a75b121f286cc8637ead8b2bf7bf896ec
        !          4568: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4569: Date:   Tue Apr 5 11:41:18 2011 +0200
        !          4570: 
        !          4571:     Minor fixes.
        !          4572: 
        !          4573: commit bf27abd6d4a20448f5b4c80e9aa9258dc8670f62
        !          4574: Merge: 4ef0950 a5b84ab
        !          4575: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4576: Date:   Fri Apr 1 13:56:42 2011 +0200
        !          4577: 
        !          4578:     Merge commit 'origin/master'
        !          4579: 
        !          4580: commit 4ef0950603ffbd515d97359015585b4a7512bc75
        !          4581: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4582: Date:   Fri Apr 1 13:54:39 2011 +0200
        !          4583: 
        !          4584:     Fixes a problem with BGP protocols and implicit router IDs.
        !          4585: 
        !          4586: commit d93a43a57d37b7cc5506a823a081d21f515c3820
        !          4587: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4588: Date:   Fri Apr 1 12:21:18 2011 +0200
        !          4589: 
        !          4590:     Fix leaked debug message.
        !          4591: 
        !          4592: commit a5b84ab540ff3131938b38ebc82ed8e3ce46f261
        !          4593: Author: Ondrej 'Feela' Filip <feela@atrey.karlin.mff.cuni.cz>
        !          4594: Date:   Thu Mar 31 10:30:58 2011 +0200
        !          4595: 
        !          4596:     NEWS updated.
        !          4597: 
        !          4598: commit eb3786e4ea46ce1abc4ca211346369b36dc17dd7
        !          4599: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4600: Date:   Wed Mar 30 02:00:56 2011 +0200
        !          4601: 
        !          4602:     NEWS and version update.
        !          4603:     
        !          4604:     (and minor changes in documentation)
        !          4605: 
        !          4606: commit 06fb60c4af38d529d20b662748243b3f4a693c60
        !          4607: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4608: Date:   Wed Mar 30 01:09:18 2011 +0200
        !          4609: 
        !          4610:     Fixes some problems in BGP error handling.
        !          4611: 
        !          4612: commit 83696b3913c9f52a3d53db073e1ba0641b60ab07
        !          4613: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4614: Date:   Tue Mar 29 02:44:39 2011 +0200
        !          4615: 
        !          4616:     Hide 6to4 route warnings.
        !          4617: 
        !          4618: commit ab164971891c64126097eedca11d2f5586f1d8e7
        !          4619: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4620: Date:   Tue Mar 29 01:41:46 2011 +0200
        !          4621: 
        !          4622:     Fixes a nasty bug in OSPF.
        !          4623:     
        !          4624:     Sending malformed network prefixes in LSAs causes OSPF to crash
        !          4625:     just after the LSA is propagated to the other routers.
        !          4626: 
        !          4627: commit 52a43ae3b76f86b697537bc3ad8afdb3b421cf2c
        !          4628: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4629: Date:   Mon Mar 28 22:46:18 2011 +0200
        !          4630: 
        !          4631:     Minor changes in addresses.
        !          4632:     
        !          4633:     Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not
        !          4634:     show broadcast addr in show interfaces. Nobody cares for that.
        !          4635: 
        !          4636: commit c454872f4e81e69a8e9950289ab810fcac3fc922
        !          4637: Author: Ondrej Filip <feela@network.cz>
        !          4638: Date:   Sun Mar 27 23:27:37 2011 +0200
        !          4639: 
        !          4640:     Avoid using stack.
        !          4641: 
        !          4642: commit 4e712ec3b7cb4678607b2a48a2feaa0658333ab2
        !          4643: Author: Ondrej Filip <feela@network.cz>
        !          4644: Date:   Sat Mar 26 15:21:35 2011 +0100
        !          4645: 
        !          4646:     Added CZ.NIC copyright.
        !          4647: 
        !          4648: commit 86c038ccae2149645058d4288ff8efb498013522
        !          4649: Author: Ondrej Filip <feela@network.cz>
        !          4650: Date:   Sat Mar 26 14:38:00 2011 +0100
        !          4651: 
        !          4652:     Documentation about previous commit added.
        !          4653: 
        !          4654: commit 4fc36f394ec0988a18decb2d1916e3cebef18d22
        !          4655: Author: Ondrej Filip <feela@network.cz>
        !          4656: Date:   Sat Mar 26 14:18:56 2011 +0100
        !          4657: 
        !          4658:     This adds (*,x) functionality.
        !          4659: 
        !          4660: commit d0e9b36d30176a9e18cad6151b20746e1588cdc8
        !          4661: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4662: Date:   Wed Mar 23 17:15:11 2011 +0100
        !          4663: 
        !          4664:     Added header file.
        !          4665: 
        !          4666: commit 0aa88530ad3c58a6bdab886cabd9b2a4278486e8
        !          4667: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4668: Date:   Wed Mar 23 13:40:46 2011 +0100
        !          4669: 
        !          4670:     Convert && and || to shortcut boolean operators.
        !          4671: 
        !          4672: commit 26d92bb8921ac4e022cdc88bde8fc7bc617f8766
        !          4673: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4674: Date:   Wed Mar 23 12:49:53 2011 +0100
        !          4675: 
        !          4676:     A hack to distinguish if..else from else: in case.
        !          4677:     
        !          4678:     The old BIRD grammar needs two lookaheads to distinguish if..else from
        !          4679:     else: in case, which caused the parser to fail on some combinations of
        !          4680:     both expressions.
        !          4681:     
        !          4682:     This patch replaces two tokens 'else' ':' by one token 'else:' to fix
        !          4683:     that.
        !          4684: 
        !          4685: commit 6bcef22580010aec695fb2b559c7b33ee00261b0
        !          4686: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4687: Date:   Sat Mar 19 12:13:59 2011 +0100
        !          4688: 
        !          4689:     Documentation for the router advertisement protocol.
        !          4690: 
        !          4691: commit 8e48831a970a784a979446813191628790d477f1
        !          4692: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4693: Date:   Thu Mar 17 15:53:36 2011 +0100
        !          4694: 
        !          4695:     Vastly improved OSPF reconfiguration.
        !          4696:     
        !          4697:     Now it can handle a change in iface pattern structure.
        !          4698:     It can add, remove and reconfigure interfaces, vlinks and areas.
        !          4699: 
        !          4700: commit 93e868c730dc0b1825b2a685e0b066c051b1cb07
        !          4701: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4702: Date:   Sun Mar 13 11:33:50 2011 +0100
        !          4703: 
        !          4704:     Implements Router Advertisement protocol.
        !          4705: 
        !          4706: commit 9d67ffb0b4cdfbbf88779ce2b44ba810d1ba85d3
        !          4707: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4708: Date:   Sat Jan 8 19:34:12 2011 +0100
        !          4709: 
        !          4710:     Fixes scope for sticky neighbors.
        !          4711: 
        !          4712: commit d32a071da9655c2d05038e721bcf020498263c1e
        !          4713: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4714: Date:   Sat Jan 8 11:31:12 2011 +0100
        !          4715: 
        !          4716:     Some cleanups in krt_read_ifinfo().
        !          4717: 
        !          4718: commit dad7ee70c1711b2cbdfd86c615736fe12c0d126a
        !          4719: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4720: Date:   Sat Jan 8 11:22:38 2011 +0100
        !          4721: 
        !          4722:     Fixes interface names on BSD systems.
        !          4723: 
        !          4724: commit e7b4948cbd3e4cacf4fe0f774b44d1f74029ea6d
        !          4725: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4726: Date:   Tue Dec 28 01:43:07 2010 +0100
        !          4727: 
        !          4728:     A simplification of the next-hop calculation.
        !          4729:     
        !          4730:     Thanks to Joakim Tjernlund for the idea.
        !          4731: 
        !          4732: commit 919f5411c48f509a49400a1293e670f5d5d2bcf1
        !          4733: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4734: Date:   Fri Dec 24 18:08:07 2010 +0100
        !          4735: 
        !          4736:     Implements Point-to-MultiPoint interface type for OSPF.
        !          4737: 
        !          4738: commit 39847cda73d8e8536300b74d90d01b6e2f233ef7
        !          4739: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4740: Date:   Thu Dec 23 12:24:40 2010 +0100
        !          4741: 
        !          4742:     Add some comments.
        !          4743: 
        !          4744: commit f0160f0e06be883528e5e29edfd509efa14d0c78
        !          4745: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4746: Date:   Thu Dec 23 10:25:22 2010 +0100
        !          4747: 
        !          4748:     Fixes a minor memory wasting.
        !          4749: 
        !          4750: commit 8cab377d92b62c028ee7aab49049b7cb6cd53ab9
        !          4751: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4752: Date:   Wed Dec 22 23:33:40 2010 +0100
        !          4753: 
        !          4754:     Remove unnecessary check.
        !          4755: 
        !          4756: commit 154e2aeded13f46666a69b7a7241149c43ebc01f
        !          4757: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4758: Date:   Mon Dec 13 11:17:11 2010 +0100
        !          4759: 
        !          4760:     Fixes string handling in birdc.
        !          4761: 
        !          4762: commit e91f6960bae16314e9429719c2c2321edb484a44
        !          4763: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4764: Date:   Tue Dec 7 23:36:48 2010 +0100
        !          4765: 
        !          4766:     Documentation update (multipath).
        !          4767: 
        !          4768: commit 32b4972834352d641f7d2c08a27c18b0babd3790
        !          4769: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4770: Date:   Tue Dec 7 23:36:11 2010 +0100
        !          4771: 
        !          4772:     Multipath support for linux kernel protocol.
        !          4773: 
        !          4774: commit 57c574d82a44d10143aba7aaea6d1384d850c079
        !          4775: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4776: Date:   Tue Dec 7 23:35:39 2010 +0100
        !          4777: 
        !          4778:     Multipath support for OSPF
        !          4779: 
        !          4780: commit 9852f81064a38d35ff1bd5cc9fab7fc33926c83c
        !          4781: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4782: Date:   Tue Dec 7 23:34:36 2010 +0100
        !          4783: 
        !          4784:     Multipath support for static protocol.
        !          4785: 
        !          4786: commit 7e95c05d889f22be44aef5051eb07d35a4a8f579
        !          4787: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4788: Date:   Tue Dec 7 23:33:55 2010 +0100
        !          4789: 
        !          4790:     Core multipath support.
        !          4791: 
        !          4792: commit 01427d3f2b69a4ae1b616b380d4911a132ec450f
        !          4793: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4794: Date:   Fri Nov 19 18:03:27 2010 +0100
        !          4795: 
        !          4796:     Remove some runaway debug messages and typos.
        !          4797: 
        !          4798: commit 391931d45686a807d322878d4b3d5c9634e2dbca
        !          4799: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4800: Date:   Fri Nov 19 13:46:21 2010 +0100
        !          4801: 
        !          4802:     Minor finalizations of link state checks.
        !          4803: 
        !          4804: commit 79f561a173c9ceb824d64aa32d82e43ba62acebc
        !          4805: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4806: Date:   Sat Nov 13 14:19:55 2010 +0100
        !          4807: 
        !          4808:     Fixes a typo (in OSPF_MAX_PKT_SIZE value).
        !          4809:     
        !          4810:     And updates a comment.
        !          4811: 
        !          4812: commit d9e7e1b13d69fa50d1979576c418c579f05463c6
        !          4813: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4814: Date:   Sat Nov 13 14:19:23 2010 +0100
        !          4815: 
        !          4816:     Adds support for iface link detection to OSPF.
        !          4817: 
        !          4818: commit fe181e7c63843ad65401cc1e400ae1ac3187122f
        !          4819: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4820: Date:   Thu Nov 11 12:24:27 2010 +0100
        !          4821: 
        !          4822:     Adds support for iface link check to static protocol.
        !          4823: 
        !          4824: commit f25cb0ef9f6341648513e793a3162b32fc250d2b
        !          4825: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4826: Date:   Thu Nov 11 10:03:02 2010 +0100
        !          4827: 
        !          4828:     Implements link state detection.
        !          4829:     
        !          4830:     Also changes some symbol names (IFF_ADMIN_DOWN -> IFF_SHUTDOWN,
        !          4831:     IFF_LINK_UP -> IFF_ADMIN_UP).
        !          4832: 
        !          4833: commit 5cdf264f937687aff194574f5fe2badb087337b8
        !          4834: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4835: Date:   Wed Nov 10 16:43:11 2010 +0100
        !          4836: 
        !          4837:     Fixes a bug related to implicit backbone on ABR.
        !          4838: 
        !          4839: commit c4443085a198c26a478463429477e7e8a599fa07
        !          4840: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4841: Date:   Thu Nov 4 17:25:48 2010 +0100
        !          4842: 
        !          4843:     OSPF tx buffers should have the same size as rx buffers.
        !          4844:     
        !          4845:     We should be able to send everything we received.
        !          4846: 
        !          4847: commit d5356072ac18d5b0eb12f14afca6bfbea702dda2
        !          4848: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4849: Date:   Thu Nov 4 17:22:43 2010 +0100
        !          4850: 
        !          4851:     Fixes a bug in LSA update of large LSAs.
        !          4852: 
        !          4853: commit d3209d939d4d0d8801432f212edd4302a7d03633
        !          4854: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4855: Date:   Wed Nov 3 10:04:46 2010 +0100
        !          4856: 
        !          4857:     Fixes a bug in OSPF.
        !          4858: 
        !          4859: commit fcf5a4f4b3e1a984f65d873e7a5a8c830b1ad9bf
        !          4860: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4861: Date:   Wed Nov 3 10:02:24 2010 +0100
        !          4862: 
        !          4863:     Change default for BGP IPv6 socket to V6ONLY.
        !          4864:     
        !          4865:     Also add a new option 'dual' for the old behavior.
        !          4866: 
        !          4867: commit 5adc02a6f87bda06094ce36eb699884c03760bf5
        !          4868: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4869: Date:   Fri Oct 22 11:25:47 2010 +0200
        !          4870: 
        !          4871:     Documentation update.
        !          4872: 
        !          4873: commit ed76033c847939877e4fbfadf06898521aafb740
        !          4874: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4875: Date:   Fri Oct 22 08:35:19 2010 +0200
        !          4876: 
        !          4877:     Fixes some typos.
        !          4878: 
        !          4879: commit 938b191b9282b138cbdd30dfc11b78c0467d6380
        !          4880: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4881: Date:   Sat Oct 9 01:00:53 2010 +0200
        !          4882: 
        !          4883:     Fixes error handling in ASN expressions.
        !          4884: 
        !          4885: commit 112d71a73f30d26891eda4374bf0f2ab31c5c048
        !          4886: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4887: Date:   Fri Oct 8 14:25:53 2010 +0200
        !          4888: 
        !          4889:     Fixes syntactic priority of '.' .
        !          4890:     
        !          4891:     Dot in expressions like net.len definitely should have the highhest
        !          4892:     priority.
        !          4893: 
        !          4894: commit b2b7bbfc690a7ad6a61a8cdf4abe87345057fb2e
        !          4895: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4896: Date:   Mon Oct 4 19:55:11 2010 +0200
        !          4897: 
        !          4898:     Fixes scope of filter symbols.
        !          4899: 
        !          4900: commit 0d1b3c4c0e3261d1d4261e9aeb9975a01d0ff2f9
        !          4901: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4902: Date:   Mon Sep 20 13:01:01 2010 +0200
        !          4903: 
        !          4904:     Changes print-like filter commands to use a log instead of a stderr.
        !          4905:     
        !          4906:     And extends the log subsystem to better handle that.
        !          4907: 
        !          4908: commit 2dec1e3471385ea191862c8fe85d76a8e47410de
        !          4909: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4910: Date:   Wed Sep 15 02:01:23 2010 +0200
        !          4911: 
        !          4912:     Fixes a bug in pair sets.
        !          4913: 
        !          4914: commit a58022a64ee8aa2fc46816020723dfbf4bfd08d9
        !          4915: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4916: Date:   Sat Sep 11 20:14:53 2010 +0200
        !          4917: 
        !          4918:     Fixes a bug in community set delete.
        !          4919: 
        !          4920: commit 4ca93a50675489a6a5ef9369c24806cc3cbff45e
        !          4921: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4922: Date:   Wed Sep 8 12:08:38 2010 +0200
        !          4923: 
        !          4924:     Fixes a one byte buffer overflow.
        !          4925: 
        !          4926: commit 948c865fac85f91dd7463195b190d8f133e0f741
        !          4927: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4928: Date:   Fri Sep 3 17:15:02 2010 +0200
        !          4929: 
        !          4930:     Fixes a crash in RIP during reconfigure.
        !          4931: 
        !          4932: commit 3cb6c83f1a2eb563e459ce34d0f4850cc9dd4776
        !          4933: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4934: Date:   Fri Sep 3 16:32:00 2010 +0200
        !          4935: 
        !          4936:     Fixes a memory leak in RIP.
        !          4937: 
        !          4938: commit faf58cec4d0c0d3c1fddee6faf2f57a1362477bb
        !          4939: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4940: Date:   Sun Aug 22 14:43:53 2010 +0200
        !          4941: 
        !          4942:     Fixes a bug in NBMA on an iface with multiple IP addresses.
        !          4943: 
        !          4944: commit ac4a1eedfc515e041877d48fd5f64ee4e3b30532
        !          4945: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4946: Date:   Fri Aug 13 14:30:36 2010 +0200
        !          4947: 
        !          4948:     Change default for handling missing link-local addresses on route servers.
        !          4949: 
        !          4950: commit dcc71a7fb7e507acc2e0b417e6c9d1940448908e
        !          4951: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4952: Date:   Thu Aug 12 10:22:40 2010 +0200
        !          4953: 
        !          4954:     Supports unique local unicast addresses.
        !          4955: 
        !          4956: commit 0ef69b1c4a255360e1fa76dffd7a0cb97ea1e9dc
        !          4957: Author: Ondrej Filip <feela@network.cz>
        !          4958: Date:   Mon Aug 9 14:09:53 2010 +0200
        !          4959: 
        !          4960:     Typo in doc.
        !          4961: 
        !          4962: commit 265d06dcbc138c7373ec7b341fcd628eb87e4c4b
        !          4963: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4964: Date:   Wed Aug 4 15:27:11 2010 +0200
        !          4965: 
        !          4966:     Fixes IPv6 build.
        !          4967: 
        !          4968: commit 373d3dbe8dfbce21af72618c0f912dd0e23a6f3c
        !          4969: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          4970: Date:   Wed Aug 4 13:53:52 2010 +0200
        !          4971: 
        !          4972:     Fixes build on Sparc.
        !          4973: 
        !          4974: commit 946dc15c928d9a48cdcc857bc80f4fabf9a4e2bf
        !          4975: Author: Ondrej Filip <feela@network.cz>
        !          4976: Date:   Tue Aug 3 17:35:34 2010 +0200
        !          4977: 
        !          4978:     Documentation update and improvement of tests related to expressions in sets.
        !          4979: 
        !          4980: commit e0e8c04a83bbe24cdcf3836ca171ce60db299b1f
        !          4981: Author: Ondrej Filip <feela@network.cz>
        !          4982: Date:   Tue Aug 3 15:23:30 2010 +0200
        !          4983: 
        !          4984:     Small typo in documentation.
        !          4985: 
        !          4986: commit edaec901e12c2f0756ab44f7493e999145d7dff9
        !          4987: Author: Ondrej Filip <feela@network.cz>
        !          4988: Date:   Tue Aug 3 15:22:29 2010 +0200
        !          4989: 
        !          4990:     Even set of number can be made by expressions.
        !          4991: 
        !          4992: commit 4733b49ed6ec11669061e15680417961d13c7a61
        !          4993: Author: Ondrej Filip <feela@network.cz>
        !          4994: Date:   Tue Aug 3 15:14:26 2010 +0200
        !          4995: 
        !          4996:     Syntax of sets improved.
        !          4997: 
        !          4998: commit 2c9033afd5ce5e99255d248fb065e94534405da7
        !          4999: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5000: Date:   Tue Aug 3 08:26:47 2010 +0200
        !          5001: 
        !          5002:     Do not allow interdependent recursive routes.
        !          5003: 
        !          5004: commit f428631cd6f48c5155bd1b7724e9bb8a545fda12
        !          5005: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5006: Date:   Tue Aug 3 01:12:43 2010 +0200
        !          5007: 
        !          5008:     Ignore warning when BGP peer is unreachable.
        !          5009: 
        !          5010: commit b74f45f8a05444dca16f0995c7d201ea592ce299
        !          5011: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5012: Date:   Tue Aug 3 00:59:13 2010 +0200
        !          5013: 
        !          5014:     Documentation update.
        !          5015: 
        !          5016: commit ba5e5940aa1f11128c76a3964823bda22e47ab04
        !          5017: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5018: Date:   Mon Aug 2 13:11:53 2010 +0200
        !          5019: 
        !          5020:     Adds igp_metric attribute.
        !          5021: 
        !          5022: commit d395fe48553062413a85fd04cda0752f933e70c6
        !          5023: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5024: Date:   Sat Jul 31 11:37:30 2010 +0200
        !          5025: 
        !          5026:     Fixes bug in OSPF ext-LSA origination.
        !          5027: 
        !          5028: commit d1e146f2f8da303af7bbe0cec363cc15c58c37fd
        !          5029: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5030: Date:   Sat Jul 31 01:04:32 2010 +0200
        !          5031: 
        !          5032:     Implements IGP metric comparison for BGP routes.
        !          5033: 
        !          5034: commit ac3ac49a71d4b290cfb28aecafc8ac4a69df7a64
        !          5035: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5036: Date:   Wed Jul 28 13:13:34 2010 +0200
        !          5037: 
        !          5038:     Adds route resolvability test.
        !          5039: 
        !          5040: commit 1b180121a90ef98f3adce1a355d48d64c6fc3c4f
        !          5041: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5042: Date:   Wed Jul 28 11:45:35 2010 +0200
        !          5043: 
        !          5044:     Use link-local addresses in recursive next hops for IPv6 BGP.
        !          5045: 
        !          5046: commit c477f48916d74c2db6156145851f9536ae0a0a6c
        !          5047: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5048: Date:   Tue Jul 27 18:20:12 2010 +0200
        !          5049: 
        !          5050:     Hostcache should use trie to filter relevant route changes.
        !          5051: 
        !          5052: commit 7f0d245a5e6d2d789e1fce4b5388ea69aba3b428
        !          5053: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5054: Date:   Tue Jul 27 17:17:11 2010 +0200
        !          5055: 
        !          5056:     Minor changes in prefix trie.
        !          5057: 
        !          5058: commit f2b76f2c45bb8e7c1f13f6d4924e10f0c6b12778
        !          5059: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5060: Date:   Mon Jul 26 16:39:27 2010 +0200
        !          5061: 
        !          5062:     For hostentry cache, replace FIB with a hash table using (IP, dep table) as a key.
        !          5063: 
        !          5064: commit 852b7062e33b9886eb869fac8b9354497c49b126
        !          5065: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5066: Date:   Thu Jul 22 15:09:35 2010 +0200
        !          5067: 
        !          5068:     Fixes a buffer overflow in TX code of IPv6 BGP.
        !          5069: 
        !          5070: commit 7873e9828ff7ba7203fd30ffa7d50859d583d4ca
        !          5071: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5072: Date:   Wed Jul 14 19:03:23 2010 +0200
        !          5073: 
        !          5074:     Fixes the documentation.
        !          5075: 
        !          5076: commit 087cecd0e2db0ec1e630fde67ec560578264bf32
        !          5077: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5078: Date:   Tue Jul 13 12:48:23 2010 +0200
        !          5079: 
        !          5080:     Adds some options and documentation related to recursive next hops.
        !          5081: 
        !          5082: commit f038f0a6385d7b81f57254e3c9bf84021a6b040d
        !          5083: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5084: Date:   Mon Jul 12 21:39:10 2010 +0200
        !          5085: 
        !          5086:     Fixes missing check in reconfiguration.
        !          5087: 
        !          5088: commit 9be9a264137cdd881f339c37d1a1918527924254
        !          5089: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5090: Date:   Mon Jul 12 17:39:39 2010 +0200
        !          5091: 
        !          5092:     Implements proper multihop BGP.
        !          5093:     
        !          5094:     Also does some incompatible changes to config file syntax,
        !          5095:     like removing 'via IP' from multihop option.
        !          5096: 
        !          5097: commit cfe34a316e35a209fcd814ccf3523c262e8d4b0a
        !          5098: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5099: Date:   Mon Jul 5 17:50:19 2010 +0200
        !          5100: 
        !          5101:     Implements hostcache and recursive next hops.
        !          5102:     
        !          5103:     Hostcache is a structure for monitoring changes in a routing table that
        !          5104:     is used for routes with dynamic/recursive next hops. This is needed for
        !          5105:     proper iBGP next hop handling.
        !          5106: 
        !          5107: commit 824de84d48eff6cbd0c550309fbd0bbf7740cb14
        !          5108: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5109: Date:   Wed Jun 2 22:25:39 2010 +0200
        !          5110: 
        !          5111:     Do not start with huge OSPF FIBs.
        !          5112:     
        !          5113:     Most OSPF instances don't need 64k FIB fields. This change halves
        !          5114:     resident memory usage on small OSPF networks.
        !          5115: 
        !          5116: commit acb60628f53ba1fc29d1a554683acdb03f961c6f
        !          5117: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5118: Date:   Wed Jun 2 22:20:40 2010 +0200
        !          5119: 
        !          5120:     Implements command that shows memory usage.
        !          5121: 
        !          5122: commit 4461b8979143bd13024663622c419646a1db0c85
        !          5123: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5124: Date:   Wed Jun 2 12:11:20 2010 +0200
        !          5125: 
        !          5126:     Minor bug that appears only in debug mode.
        !          5127: 
        !          5128: commit 9ef239946b7298a679a9b155606257738bb52347
        !          5129: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5130: Date:   Mon May 31 20:41:40 2010 +0200
        !          5131: 
        !          5132:     NEWS and version update.
        !          5133: 
        !          5134: commit a34b09349e809a6d8f696fb0897c0bfdc3b66159
        !          5135: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5136: Date:   Mon May 31 11:35:29 2010 +0200
        !          5137: 
        !          5138:     Disable BGP protocol when cannot open listening socket.
        !          5139: 
        !          5140: commit 9b061f7ea5933f70c200bb3b3a7be5a2e472e805
        !          5141: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5142: Date:   Fri May 28 11:16:39 2010 +0200
        !          5143: 
        !          5144:     Minor fixes.
        !          5145: 
        !          5146: commit 691057f03310e712428e19214ae48462d0f258e1
        !          5147: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5148: Date:   Wed May 26 16:09:22 2010 +0200
        !          5149: 
        !          5150:     Support loopback/dummy addresses.
        !          5151: 
        !          5152: commit e0a62ad0f8be198bf8afb1f6900f138dfe12d4fb
        !          5153: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5154: Date:   Wed May 26 12:32:30 2010 +0200
        !          5155: 
        !          5156:     Fixes a bug in duplicit configured stubnets.
        !          5157:     
        !          5158:     If there was the same configured stubnet on local and remote
        !          5159:     router, the remote route always won regardless of its cost.
        !          5160: 
        !          5161: commit 52572e94ec75728c114f47db37aaf220c1af29d6
        !          5162: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5163: Date:   Sun May 23 12:34:09 2010 +0200
        !          5164: 
        !          5165:     Check for OSPF seqnum wraparound and handle it.
        !          5166: 
        !          5167: commit ba5c0057ed01fb006b7a6fb1bd8c21f0c9ae12be
        !          5168: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5169: Date:   Sat May 22 22:47:24 2010 +0200
        !          5170: 
        !          5171:     Extends pair set syntax, matching and deleting against clist.
        !          5172:     
        !          5173:     Expressions like (123,*) can be used in pair set literals, clists can be
        !          5174:     matched against pair sets (community ~ pairset) and pair sets can be
        !          5175:     used to specify items to delete from clists (community.delete(pairset)).
        !          5176: 
        !          5177: commit 6d04ef8987f6f5483d353d393ef66dae4b887f30
        !          5178: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5179: Date:   Fri May 21 16:40:09 2010 +0200
        !          5180: 
        !          5181:     Comment update.
        !          5182: 
        !          5183: commit 87a9abeac976180ade1c7619545e610d743994b5
        !          5184: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5185: Date:   Fri May 21 15:17:49 2010 +0200
        !          5186: 
        !          5187:     Fixes interface scan on Linux 2.4.x in IPv6 mode.
        !          5188: 
        !          5189: commit 002b6423188abdd62c5a494069fd299b96863a79
        !          5190: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5191: Date:   Fri May 21 11:51:39 2010 +0200
        !          5192: 
        !          5193:     Fixes bug on Linux 2.4.x - kernel sync does not work until restart of kernel protocol.
        !          5194:     
        !          5195:     Which was, actually, a bug in timers - on older kernel, monotonic timer
        !          5196:     is missing and the other implementation started with now == 0, which
        !          5197:     collides with usage 0 as a special value in timer->expires field.
        !          5198: 
        !          5199: commit c1cefd7bea79201c58c7c0fa8e192be3cc5ed771
        !          5200: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5201: Date:   Sun May 16 11:03:59 2010 +0200
        !          5202: 
        !          5203:     Do not remove old static route if it is in new config with different gw.
        !          5204: 
        !          5205: commit 7ff5803becec14da870d3997d78e3963fa5ec6e6
        !          5206: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5207: Date:   Sun May 16 10:27:20 2010 +0200
        !          5208: 
        !          5209:     Do not originate summary or external LSA if it already here and not changed.
        !          5210: 
        !          5211: commit 475977242ac5bb9ff8826c2dd8c9a1a180320de2
        !          5212: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5213: Date:   Fri May 14 16:54:39 2010 +0200
        !          5214: 
        !          5215:     Handle EPIPE as a common connection close event.
        !          5216: 
        !          5217: commit 0267f49fb2e44525aa2777bcb9900c4bb2db41e1
        !          5218: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5219: Date:   Fri May 14 15:24:53 2010 +0200
        !          5220: 
        !          5221:     Do not add community if it is already in clist.
        !          5222: 
        !          5223: commit ee7408c2be2cd514ba6eefc5589e57a6056198dc
        !          5224: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5225: Date:   Fri May 7 15:54:27 2010 +0200
        !          5226: 
        !          5227:     Fixes a bug in LSA flooding.
        !          5228:     
        !          5229:     LSAs are sometimes prematurely removed from LS retransmission lists.
        !          5230: 
        !          5231: commit 54818e9beb6bfcbcb5dcc2b175dca9d174012e6c
        !          5232: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5233: Date:   Mon May 3 00:10:48 2010 +0200
        !          5234: 
        !          5235:     A minor bugfix in OSPF ext-LSA processing.
        !          5236: 
        !          5237: commit 506fa1a73eab0c6426f68cd7784c6712898b88f3
        !          5238: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5239: Date:   Sun May 2 22:41:40 2010 +0200
        !          5240: 
        !          5241:     Merge several fixes suggested by Joakim Tjernlund.
        !          5242: 
        !          5243: commit 6384c7d7aa85d1e593eca30cda48f6677b023cb0
        !          5244: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5245: Date:   Sun May 2 19:58:34 2010 +0200
        !          5246: 
        !          5247:     OSPF: most of summary LSA orig./flush logic rewritten.
        !          5248:     
        !          5249:     Fixes many bugs in the old code and makes it much cleaner.
        !          5250: 
        !          5251: commit ba321706578de8402d50214a9e79a65835cdd821
        !          5252: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5253: Date:   Wed Apr 28 00:39:57 2010 +0200
        !          5254: 
        !          5255:     Better support for /31 networks.
        !          5256: 
        !          5257: commit 48b0814ace2d05f9fef093d9f309bfa186a6f365
        !          5258: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5259: Date:   Tue Apr 27 18:29:01 2010 +0200
        !          5260: 
        !          5261:     A fix in OSPFv3 next_hop calculation.
        !          5262: 
        !          5263: commit 96599c957baa9c82bde91d610ce4f519aead05e9
        !          5264: Merge: ba13017 9d1ee13
        !          5265: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5266: Date:   Tue Apr 27 11:28:44 2010 +0200
        !          5267: 
        !          5268:     Merge branch 'master' of ssh://git.nic.cz/projects/bird/GIT/bird
        !          5269: 
        !          5270: commit ba130172549ef2313f713e048083432f74e7d03d
        !          5271: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5272: Date:   Tue Apr 27 11:27:54 2010 +0200
        !          5273: 
        !          5274:     Avoid warning if not compiled with pipes.
        !          5275: 
        !          5276: commit 9d1ee1388771a3caa6c23163571a80457adfab2c
        !          5277: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5278: Date:   Mon Apr 26 19:08:57 2010 +0200
        !          5279: 
        !          5280:     Neighbors on OSPF broadcast networks should be identified by IP address, not RID.
        !          5281:     
        !          5282:     Allows simple support for multiple interfaces to the same network.
        !          5283: 
        !          5284: commit 4e5fb4b60c59db3248fd12db2bc6f0424d798122
        !          5285: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5286: Date:   Sun Apr 25 20:12:34 2010 +0200
        !          5287: 
        !          5288:     Skip LSA host<->network endianity conversions on big endians.
        !          5289: 
        !          5290: commit c1b51598d49ff737b926bd8ad2e308a5a15ce3a2
        !          5291: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5292: Date:   Sun Apr 25 19:13:49 2010 +0200
        !          5293: 
        !          5294:     Implements changes in checksum alg suggested by Joakim Tjernlund.
        !          5295: 
        !          5296: commit 0ea8fb4abe5acad0b8f470bbdc5cc929b6a58ced
        !          5297: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5298: Date:   Sat Apr 24 15:18:21 2010 +0200
        !          5299: 
        !          5300:     Fixes and enhancements in 'show ospf state' command.
        !          5301:     
        !          5302:     Now it shows a distance, option to change showing reachable/all network
        !          5303:     nodes and better handling of AS-external LSAs in multiple areas. The
        !          5304:     command 'show ospf topology' was changed to not show stubnets in both
        !          5305:     OSPFv2 and OSPFv3 (previously it displayed stubnets in OSPFv2).
        !          5306: 
        !          5307: commit 1d44ddf20f3ecef864d4bd20355251839fcd10ee
        !          5308: Merge: 3b89a23 6bc414d
        !          5309: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5310: Date:   Wed Apr 21 21:52:10 2010 +0200
        !          5311: 
        !          5312:     Merge commit 'origin/master' into new
        !          5313: 
        !          5314: commit 3b89a2327ba385abf2a8321a5a900faba3765612
        !          5315: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5316: Date:   Wed Apr 21 21:50:38 2010 +0200
        !          5317: 
        !          5318:     Fixes several problems in OSPF vlink implementation.
        !          5319: 
        !          5320: commit 6bc414d619e1d8710990e89e5085d18e2d5c544c
        !          5321: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5322: Date:   Mon Apr 19 16:10:20 2010 +0200
        !          5323: 
        !          5324:     It seems that prefixes /31 and /127 are valid and used in this strange world.
        !          5325: 
        !          5326: commit 607d991424006c083be63878b6a606e76679e1ce
        !          5327: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5328: Date:   Wed Apr 14 15:35:08 2010 +0200
        !          5329: 
        !          5330:     Fixes build on newer Linux systems.
        !          5331: 
        !          5332: commit dcc6049444f5e12e0d0fcc4cfbb244c08b4c20b0
        !          5333: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5334: Date:   Wed Apr 14 14:46:21 2010 +0200
        !          5335: 
        !          5336:     Fixes IPv6 build on older systems.
        !          5337: 
        !          5338: commit 6e8067609673afef9eb9e786f4e43a73a3b544f0
        !          5339: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5340: Date:   Sun Apr 11 12:22:47 2010 +0200
        !          5341: 
        !          5342:     Fixes next hop calculation on NBMA and parallel PTP links.
        !          5343: 
        !          5344: commit 7969ea3b41db05294c78a5e0ec0bd3c29ae8c549
        !          5345: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5346: Date:   Sun Apr 11 10:19:54 2010 +0200
        !          5347: 
        !          5348:     Fixes a bug in OSPF on NBMA interfaces.
        !          5349:     
        !          5350:     A very tricky bug. OSPF on NBMA interfaces probably never really worked.
        !          5351:     When a packet was sent to multiple destinations, the checksum was
        !          5352:     calculated multiple times from a packet with already filled checksum
        !          5353:     field (from previous calculation). Therefore, many packets were sent
        !          5354:     with an invalid checksum.
        !          5355: 
        !          5356: commit d759c1a6f834cd8a8a7c264d159b9ceb246aec2a
        !          5357: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5358: Date:   Fri Apr 9 17:42:39 2010 +0200
        !          5359: 
        !          5360:     NEWS and version update.
        !          5361: 
        !          5362: commit de14a7c7aa9225cbc9f837fac9e332a99a99ed69
        !          5363: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5364: Date:   Fri Apr 9 00:56:47 2010 +0200
        !          5365: 
        !          5366:     Ignore routes with next-hop 127.0.0.1 on BSD.
        !          5367: 
        !          5368: commit a9f380fe83187a95ead715e516696024e73f3fb7
        !          5369: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5370: Date:   Thu Apr 8 18:41:17 2010 +0200
        !          5371: 
        !          5372:     On BSD, consider unmarked non-device routes as alien.
        !          5373: 
        !          5374: commit 6b5a8649a48d7616efbc798095eee2c10563b4e6
        !          5375: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5376: Date:   Thu Apr 8 17:56:56 2010 +0200
        !          5377: 
        !          5378:     Do not export empty community list attribute in BGP.
        !          5379: 
        !          5380: commit 0277cc0baf1439a779f4c3ed8b2a77f29f5cfed7
        !          5381: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5382: Date:   Thu Apr 8 17:47:14 2010 +0200
        !          5383: 
        !          5384:     Revert "Fixes behavior of defined() on bgp_community attribute."
        !          5385:     
        !          5386:     This reverts commit 74e9331fe0892c4c96b4c4d7db3f14bb7e9d928e.
        !          5387: 
        !          5388: commit 646b24d93249199ee59fdecd685532212b506bda
        !          5389: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5390: Date:   Wed Apr 7 23:15:56 2010 +0200
        !          5391: 
        !          5392:     Minor changes.
        !          5393: 
        !          5394: commit 44d4ab7a960cf143c43d1645f2985cc9d74e3077
        !          5395: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5396: Date:   Wed Apr 7 11:00:36 2010 +0200
        !          5397: 
        !          5398:     Configurable syslog name.
        !          5399:     
        !          5400:     Also fixes a bug in syslog initialization.
        !          5401: 
        !          5402: commit b8113a5e92cb19a0910041d5708f4eafeb713b54
        !          5403: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5404: Date:   Wed Apr 7 00:19:23 2010 +0200
        !          5405: 
        !          5406:     Implements BGP 'show protocols' info details.
        !          5407: 
        !          5408: commit c429d4a4ba2cc8778634461e8adea33e0f0ae022
        !          5409: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5410: Date:   Sun Apr 4 15:41:31 2010 +0200
        !          5411: 
        !          5412:     Restrict export of device routes to the kernel protocol.
        !          5413:     
        !          5414:     In usual configuration, such export is already restricted
        !          5415:     with the aid of the direct protocol but there are some
        !          5416:     races that can circumvent it. This makes it harder to
        !          5417:     break kernel device routes. Also adds an option to
        !          5418:     disable this restriction.
        !          5419: 
        !          5420: commit d2d2b5d2ae43f608d03304d280367b658650138b
        !          5421: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5422: Date:   Sat Apr 3 12:03:52 2010 +0200
        !          5423: 
        !          5424:     Ignore some kernel messages.
        !          5425: 
        !          5426: commit 44aa101cd0716daf1b9f0d9ca5ec1814386c1e0d
        !          5427: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5428: Date:   Sat Apr 3 11:42:18 2010 +0200
        !          5429: 
        !          5430:     Fixes related to routes with link-local gw on BSD.
        !          5431: 
        !          5432: commit 46a82e9c2c04c432775c7db5ab5d5cc0301b2a94
        !          5433: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5434: Date:   Sat Apr 3 10:45:21 2010 +0200
        !          5435: 
        !          5436:     Fixes missing header.
        !          5437: 
        !          5438: commit e60d55becdd9b2eeb36ac16daedae2ab54d05b0c
        !          5439: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5440: Date:   Fri Apr 2 19:03:18 2010 +0200
        !          5441: 
        !          5442:     Fixes OSPFv3 route generation for local stub networks.
        !          5443: 
        !          5444: commit e7b09e4ab99fc850480480bbb577ffa36a6c5cd7
        !          5445: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5446: Date:   Fri Apr 2 16:11:46 2010 +0200
        !          5447: 
        !          5448:     Use SO_BINDTODEVICE also in Linux/IPv6.
        !          5449: 
        !          5450: commit 97ab4c34986139b2419c563a3de7ddfe41727d07
        !          5451: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5452: Date:   Fri Apr 2 11:36:38 2010 +0200
        !          5453: 
        !          5454:     Fixes link-local addresses on BSD.
        !          5455: 
        !          5456: commit bed417288e989c48a1362bb1177f436a2e2f9f4f
        !          5457: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5458: Date:   Fri Apr 2 11:31:20 2010 +0200
        !          5459: 
        !          5460:     Minor fixes to previous patches.
        !          5461: 
        !          5462: commit 126683feeda03ffb5a4ce23611e59a4598382d49
        !          5463: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5464: Date:   Mon Mar 29 19:29:03 2010 +0200
        !          5465: 
        !          5466:     Filter language updates; new route attributes and datatype.
        !          5467:     
        !          5468:      - Adds bgp_originator_id and bgp_cluster_list route attributes.
        !          5469:      - Adds dotted quad filter datatype (for router IDs, used by
        !          5470:        bgp_originator_id and ospf_router_id route attributes).
        !          5471:      - Fixes pair ~ pair set matching.
        !          5472:      - Documentation updates.
        !          5473: 
        !          5474: commit eb0f129fcedcecbee85403095abad8f59b82683c
        !          5475: Merge: b1c030b 48cff37
        !          5476: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5477: Date:   Fri Mar 26 18:53:31 2010 +0100
        !          5478: 
        !          5479:     Merge branch 'socket2' into new
        !          5480: 
        !          5481: commit 48cff379a718998cd984d60fb6f8b48cb961c0f1
        !          5482: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5483: Date:   Fri Mar 26 16:21:29 2010 +0100
        !          5484: 
        !          5485:     Added some comments.
        !          5486: 
        !          5487: commit af157fa3dbe2bba0674eb7634efd3ade6c89d604
        !          5488: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5489: Date:   Fri Mar 26 14:48:01 2010 +0100
        !          5490: 
        !          5491:     Disable multiple OSPF pseudointerfaces on BSD.
        !          5492: 
        !          5493: commit b1c030b0ba59eed6da5271ed592d6b93ed088518
        !          5494: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5495: Date:   Wed Mar 24 16:39:18 2010 +0100
        !          5496: 
        !          5497:     Adds autoconf test for -Wno-pointer-sign compliler option.
        !          5498: 
        !          5499: commit 4d9a0d1f02134235bf686caf49af44232590c456
        !          5500: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5501: Date:   Wed Mar 24 10:39:14 2010 +0100
        !          5502: 
        !          5503:     Update lastmod in 'ignored' case only for RIP routes.
        !          5504: 
        !          5505: commit 885b3d6127ae2c5c4f17d9dba95ffe67bdf7a688
        !          5506: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5507: Date:   Fri Mar 19 19:23:34 2010 +0100
        !          5508: 
        !          5509:     Fixes LLS compatibility.
        !          5510: 
        !          5511: commit 5d53b80770b4927b5a8205ee0e57f80454b0abf5
        !          5512: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5513: Date:   Fri Mar 19 18:46:56 2010 +0100
        !          5514: 
        !          5515:     Allow iface pattern matching code to match peer address on ptp links.
        !          5516: 
        !          5517: commit aa4612480424ad2fede0cd4ae4c7a893f61c6c0f
        !          5518: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5519: Date:   Fri Mar 19 09:41:18 2010 +0100
        !          5520: 
        !          5521:     Clear local variables in filters and functions.
        !          5522:     
        !          5523:     Fixes crash when used uninitialized variables.
        !          5524:     This problem was surprisingly tricky to fix.
        !          5525: 
        !          5526: commit 74e9331fe0892c4c96b4c4d7db3f14bb7e9d928e
        !          5527: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5528: Date:   Thu Mar 18 00:10:35 2010 +0100
        !          5529: 
        !          5530:     Fixes behavior of defined() on bgp_community attribute.
        !          5531: 
        !          5532: commit 1528d30aebc462a13861d7cdb827e74556f3aa91
        !          5533: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5534: Date:   Wed Mar 17 23:17:55 2010 +0100
        !          5535: 
        !          5536:     Fixes unterminated string for atomic_aggr attribute formatting.
        !          5537: 
        !          5538: commit 97e46d28fff1aa27d7d15e113cc3a52ae20934c7
        !          5539: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5540: Date:   Wed Mar 17 12:19:22 2010 +0100
        !          5541: 
        !          5542:     Adds check for no protocol and some minor CLI fixes.
        !          5543:     
        !          5544:     - Adds check to deny config file with no specified protocol to prevent
        !          5545:       loading of empty config file.
        !          5546:     - Moves CLI init before config parse to receive immediate error message
        !          5547:       when cannot open control socket.
        !          5548:     - Fixes socket name path check and other error handling in CLI init.
        !          5549: 
        !          5550: commit 4e3bfd9006ba3033a814a392f9bf4bbca060c8a9
        !          5551: Merge: e8da1bd cda2dfb
        !          5552: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5553: Date:   Mon Mar 15 00:39:45 2010 +0100
        !          5554: 
        !          5555:     Merge commit 'origin/master' into new
        !          5556: 
        !          5557: commit e8da1bd0b5f83991d37bc7e8364101c3faa78b3b
        !          5558: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5559: Date:   Mon Mar 15 00:34:44 2010 +0100
        !          5560: 
        !          5561:     Fixes missing cases in filters.
        !          5562: 
        !          5563: commit 0aad2b9292f8e5ff32d048378faf80d2d0bfbb80
        !          5564: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5565: Date:   Sun Mar 14 16:36:59 2010 +0100
        !          5566: 
        !          5567:     Temporary OSPF commit - sockets.
        !          5568: 
        !          5569: commit 54305181f6ee3af57dd3d15d53ea2e851b36ed23
        !          5570: Merge: e7b76b9 afa9f66
        !          5571: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5572: Date:   Thu Mar 11 18:55:59 2010 +0100
        !          5573: 
        !          5574:     Merge branch 'new' into socket2
        !          5575: 
        !          5576: commit e7b76b976084006e430543f4b872f624326dbfe6
        !          5577: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5578: Date:   Thu Mar 11 18:07:24 2010 +0100
        !          5579: 
        !          5580:     Temoporary OSPF commit - socket changes.
        !          5581: 
        !          5582: commit afa9f66c27e2f96b92059131def53cc7b2497705
        !          5583: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5584: Date:   Wed Mar 10 01:04:09 2010 +0100
        !          5585: 
        !          5586:     Adds support for PTP links on BSD.
        !          5587: 
        !          5588: commit cda2dfb7a9e03543eaf407ee26e5046fc589ef29
        !          5589: Author: Ondrej Filip <feela@trubka.network.cz>
        !          5590: Date:   Mon Mar 8 00:05:37 2010 +0100
        !          5591: 
        !          5592:     Arnold from DE-CIX suggested to have this formulation more precise.
        !          5593: 
        !          5594: commit 53434e44a95fe9334f4bdf5e0da987929addffb1
        !          5595: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5596: Date:   Sat Feb 27 16:00:07 2010 +0100
        !          5597: 
        !          5598:     Better flushing of interfaces.
        !          5599:     
        !          5600:     When device protocol goes down, interfaces should be flushed
        !          5601:     asynchronously (in the same way like routes from protocols are flushed),
        !          5602:     when protocol goes to DOWN/HUNGRY.
        !          5603:     
        !          5604:     This fixes the problem with static routes staying in kernel routing
        !          5605:     table after BIRD shutdown.
        !          5606: 
        !          5607: commit 3075824dbd4bb654e98614dfd9992ceec0428beb
        !          5608: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5609: Date:   Fri Feb 26 14:09:24 2010 +0100
        !          5610: 
        !          5611:     Comparing cluster list length should be later in bgp_rte_better().
        !          5612: 
        !          5613: commit 212ff335828fbe28311fcbae6154cf2495a44d0e
        !          5614: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5615: Date:   Fri Feb 26 13:55:22 2010 +0100
        !          5616: 
        !          5617:     Fixes signedness in format route attributes.
        !          5618: 
        !          5619: commit ff2857b03db854f99902766ad842aaa5fa29ec3c
        !          5620: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5621: Date:   Fri Feb 26 10:55:58 2010 +0100
        !          5622: 
        !          5623:     Many changes in (mainly) kernel syncers.
        !          5624:     
        !          5625:     - BSD kernel syncer is now self-conscious and can learn alien routes
        !          5626:     - important bugfix in BSD kernel syncer (crash after protocol restart)
        !          5627:     - many minor changes and bugfixes in kernel syncers and neighbor cache
        !          5628:     - direct protocol does not generate host and link local routes
        !          5629:     - min_scope check is removed, all routes have SCOPE_UNIVERSE by default
        !          5630:     - also fixes some remaining compiler warnings
        !          5631: 
        !          5632: commit e81b440f6878605edd19ed62441648ac71260881
        !          5633: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5634: Date:   Sun Feb 21 14:34:53 2010 +0100
        !          5635: 
        !          5636:     Fix configure to enable warnings and fix most of them.
        !          5637: 
        !          5638: commit 9e43ccf07b96597ef098955a07383d826938cd2d
        !          5639: Merge: e285bd2 89534cd
        !          5640: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5641: Date:   Sun Feb 21 10:15:49 2010 +0100
        !          5642: 
        !          5643:     Merge commit 'origin/master' into new
        !          5644: 
        !          5645: commit e285bd236e9cd42e3f92db3a35b5ec2d307c7a48
        !          5646: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5647: Date:   Sun Feb 21 10:14:41 2010 +0100
        !          5648: 
        !          5649:     Fixes installation (missing /usr/local/var/run).
        !          5650: 
        !          5651: commit e0a45fb42163a6bfdeeee44bd0a6a7461552e10f
        !          5652: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5653: Date:   Sun Feb 21 09:57:26 2010 +0100
        !          5654: 
        !          5655:     Restricted read-only CLI.
        !          5656:     
        !          5657:     Also adds support for executing commands using birdc <cmd>.
        !          5658: 
        !          5659: commit 89534cdae500cc82d9081088be90013e4121542d
        !          5660: Author: Ondrej Filip <feela@trubka.network.cz>
        !          5661: Date:   Sat Feb 20 21:14:02 2010 +0100
        !          5662: 
        !          5663:     'rr client id' is not expression but ID (like router id).
        !          5664: 
        !          5665: commit a68066538fde600941ea43c40d777e14cfac0ee7
        !          5666: Author: Ondrej Filip <feela@trubka.network.cz>
        !          5667: Date:   Sat Feb 20 21:09:40 2010 +0100
        !          5668: 
        !          5669:     Minor typos in configuration example.
        !          5670: 
        !          5671: commit e304fd4bcf5813b581a39078a25a5cf6916b9f29
        !          5672: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5673: Date:   Sat Feb 20 00:03:31 2010 +0100
        !          5674: 
        !          5675:     Implements pattern match for 'show protocols' command.
        !          5676:     
        !          5677:     And generally consolidates protocol commands.
        !          5678: 
        !          5679: commit dfd48621d1a54f2beb461fe3847fc4b2a535675e
        !          5680: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5681: Date:   Wed Feb 17 21:53:07 2010 +0100
        !          5682: 
        !          5683:     Replaces the algorithm for building balanced trees.
        !          5684:     
        !          5685:     Changes the time complexity of the algorithm from O(n^2) to O(n*log(n)).
        !          5686:     This speeds up loading of huge DEC-IX config from 128 s to 15 s. It also
        !          5687:     makes the code significantly simpler.
        !          5688: 
        !          5689: commit 14f6aca48037a0653e6bcfa27a4da48e8f962198
        !          5690: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5691: Date:   Wed Feb 17 11:29:48 2010 +0100
        !          5692: 
        !          5693:     Changes right recursion to left in the grammar of the case expression.
        !          5694: 
        !          5695: commit dca75fd7c207f0bfc627cb6b74a484da3b27e05f
        !          5696: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5697: Date:   Sat Feb 13 12:26:26 2010 +0100
        !          5698: 
        !          5699:     Removes phantom protocol from the pipe design.
        !          5700:     
        !          5701:     It seems that by adding one pipe-specific exception to route
        !          5702:     announcement code and by adding one argument to rt_notify() callback i
        !          5703:     could completely eliminate the need for the phantom protocol instance
        !          5704:     and therefore make the code more straightforward. It will also fix some
        !          5705:     minor bugs (like ignoring debug flag changes from the command line).
        !          5706: 
        !          5707: commit 9db74169be76f658df2207d1ec99eac48fa36f5f
        !          5708: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5709: Date:   Sat Feb 13 10:44:46 2010 +0100
        !          5710: 
        !          5711:     Fixes protocol statistics for pipes.
        !          5712: 
        !          5713: commit c83876265eeae3591bfe90375503728e633cb807
        !          5714: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5715: Date:   Thu Feb 11 22:27:06 2010 +0100
        !          5716: 
        !          5717:     Fixes a tricky bug in the pipe protocol.
        !          5718:     
        !          5719:     When uncofiguring the pipe and the peer table, the peer table was
        !          5720:     unlocked when pipe protocol state changed to down/flushing and not to
        !          5721:     down/hungry. This leads to the removal of the peer table before
        !          5722:     the routes from the pipe were flushed.
        !          5723:     
        !          5724:     The fix leads to adding some pipe-specific hacks to the nest,
        !          5725:     but this seems inevitable.
        !          5726: 
        !          5727: commit a2ea1bac601ca79946e2a215dac9427c526cedab
        !          5728: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5729: Date:   Thu Feb 11 21:19:20 2010 +0100
        !          5730: 
        !          5731:     Moves errno.h include.
        !          5732: 
        !          5733: commit 2af25a971a28ccac05d2385669e8b103c0328f7d
        !          5734: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5735: Date:   Thu Feb 11 11:12:58 2010 +0100
        !          5736: 
        !          5737:     Fixes a crash caused by missing error hook on BGP listening socket.
        !          5738:     
        !          5739:     Error happened when too many BGP connections arrived in one moment
        !          5740:     (ECONNABORTED).
        !          5741: 
        !          5742: commit 353729f513aa6a1f9e7f66083a0f9d2117fe2be5
        !          5743: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5744: Date:   Thu Feb 11 10:23:35 2010 +0100
        !          5745: 
        !          5746:     Temporary OSPF commit - socket changes.
        !          5747: 
        !          5748: commit fa5a99c766dde2a4ac3d44596ff5396a0efd1cc8
        !          5749: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5750: Date:   Wed Feb 10 23:09:23 2010 +0100
        !          5751: 
        !          5752:     NEWS version update.
        !          5753: 
        !          5754: commit 75f8861898d53f43cb23dbba9c776bce223c18c8
        !          5755: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5756: Date:   Wed Feb 10 16:18:17 2010 +0100
        !          5757: 
        !          5758:     NEWS and version update.
        !          5759: 
        !          5760: commit fae9be7782a161bdf93c83884d62941a34cbe518
        !          5761: Merge: 7d19666 0efd646
        !          5762: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5763: Date:   Wed Feb 10 14:59:26 2010 +0100
        !          5764: 
        !          5765:     Merge commit 'origin/master' into new
        !          5766: 
        !          5767: commit 7d1966689f3f748d8bfa36eef64ced6a750ecb47
        !          5768: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5769: Date:   Wed Feb 10 14:57:16 2010 +0100
        !          5770: 
        !          5771:     RTF_CLONING is removed in FreeBSD 8.
        !          5772: 
        !          5773: commit 0efd646278987df023586d85817a848c2bb39a1d
        !          5774: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5775: Date:   Wed Feb 10 12:30:14 2010 +0100
        !          5776: 
        !          5777:     Define symbols as text between ''.
        !          5778: 
        !          5779: commit c27b2449d1f57e780974ed13fbd572a48e2a3602
        !          5780: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5781: Date:   Mon Feb 8 16:01:03 2010 +0100
        !          5782: 
        !          5783:     Shows source (Router ID) for OSPF routes and adds such attribute.
        !          5784:     
        !          5785:     A sad thing is that we does not have a 'router_id' filter type,
        !          5786:     so it must be given as decimal number in filters.
        !          5787: 
        !          5788: commit 5a56f27cd00c2cad661aed9b54696699e800883c
        !          5789: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5790: Date:   Mon Feb 8 12:42:09 2010 +0100
        !          5791: 
        !          5792:     Adds asterisk to the primary route in 'show route' cmd.
        !          5793:     
        !          5794:     And also fixes a minor bug.
        !          5795: 
        !          5796: commit aa80826e4af4e6e0a6de5604ab5ce7991f2a8b4e
        !          5797: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5798: Date:   Sun Feb 7 09:49:34 2010 +0100
        !          5799: 
        !          5800:     Unnumbered OSPF interfaces should be always in the point-to-point mode.
        !          5801: 
        !          5802: commit 76b53a4e207696c535a45f4358a8e047ca936e45
        !          5803: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5804: Date:   Sat Feb 6 22:57:51 2010 +0100
        !          5805: 
        !          5806:     Adds some log messages related to configure.
        !          5807:     
        !          5808:     Also fixes a bug in the previous patch.
        !          5809: 
        !          5810: commit ebae4770c949de41c64c9efbeaaef44adfb25790
        !          5811: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5812: Date:   Sat Feb 6 19:19:09 2010 +0100
        !          5813: 
        !          5814:     Modifies configure to just reload protocols when filters change.
        !          5815:     
        !          5816:     Before this change, protocols were restarted in that case.
        !          5817: 
        !          5818: commit c37e78510f2ac4d9bb4c44eddf33352eda72fd0f
        !          5819: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5820: Date:   Wed Feb 3 00:19:24 2010 +0100
        !          5821: 
        !          5822:     Makes date/time formats configurable.
        !          5823: 
        !          5824: commit 44f26560ec9f108039e6736d6de929f899bf20ea
        !          5825: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5826: Date:   Tue Feb 2 10:14:21 2010 +0100
        !          5827: 
        !          5828:     Workaround for some broken BGP implementations that skip initial KEEPALIVE.
        !          5829: 
        !          5830: commit 5f47c4c11ed8da3415c4c8c247bf52ab6a48255d
        !          5831: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5832: Date:   Tue Feb 2 00:03:46 2010 +0100
        !          5833: 
        !          5834:     Changes right-recursion to left-recursion in a filter grammar.
        !          5835:     
        !          5836:     Because we don't want to have a limit on a function/filter length.
        !          5837: 
        !          5838: commit 1a7a4e59a22f903a0be791f229e86ab881593851
        !          5839: Merge: 4167702 1960d20
        !          5840: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5841: Date:   Thu Jan 28 16:00:16 2010 +0100
        !          5842: 
        !          5843:     Merge commit 'origin/master' into new
        !          5844: 
        !          5845: commit 41677025ee67fcccd34493f9b205037dd68811c9
        !          5846: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5847: Date:   Thu Jan 28 15:59:18 2010 +0100
        !          5848: 
        !          5849:     Changes 'ignore communities' to 'interpret communities'.
        !          5850: 
        !          5851: commit 1960d20350c5191b089f0a233d99969a0ff23ef6
        !          5852: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5853: Date:   Wed Jan 27 23:45:36 2010 +0100
        !          5854: 
        !          5855:     Priority for '||' and '&&' fixed.
        !          5856: 
        !          5857: commit 7515dafc006f8b71bc15aa7ed9749c7d4fb00153
        !          5858: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5859: Date:   Wed Jan 27 22:26:45 2010 +0100
        !          5860: 
        !          5861:     Allow multiple || and && statements.
        !          5862: 
        !          5863: commit 6cb8f742f1adf99881334b8ae21c398d98571aa1
        !          5864: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5865: Date:   Wed Jan 27 17:22:57 2010 +0100
        !          5866: 
        !          5867:     Better handling of well-known communities.
        !          5868:     
        !          5869:     Process well-known communities before the export filter (old behavior is
        !          5870:     to process these attributes after, which does not allow to send route
        !          5871:     with such community) and just for routes received from other BGP
        !          5872:     protocols. Also fixes a bug in next_hop check.
        !          5873: 
        !          5874: commit a3062085827db3115961eacd9d945ac202728174
        !          5875: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5876: Date:   Wed Jan 13 14:53:33 2010 +0100
        !          5877: 
        !          5878:     Comment update.
        !          5879: 
        !          5880: commit 974363c172e026b00be5f78ec585dda1e402b6f6
        !          5881: Merge: 99f5fc1 844e0f6
        !          5882: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5883: Date:   Fri Jan 8 22:20:09 2010 +0100
        !          5884: 
        !          5885:     Merge commit 'origin/master' into new
        !          5886: 
        !          5887: commit 99f5fc14cd457f71973bc2264566284049ccfb2c
        !          5888: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5889: Date:   Fri Jan 8 22:19:41 2010 +0100
        !          5890: 
        !          5891:     A partial vlink fix.
        !          5892: 
        !          5893: commit 844e0f65dbab98f71f2a5631277a720613d4d7a5
        !          5894: Merge: 3242ab4 fc33143
        !          5895: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5896: Date:   Fri Jan 8 21:19:03 2010 +0100
        !          5897: 
        !          5898:     Merge branch 'master' of ssh://git.nic.cz/projects/bird/GIT/bird
        !          5899: 
        !          5900: commit 3242ab437f47f34d6734726003d647d0f493a163
        !          5901: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5902: Date:   Fri Jan 8 21:06:06 2010 +0100
        !          5903: 
        !          5904:     Typo in documentation.
        !          5905: 
        !          5906: commit fc33143f02642cc775a704dec37446e0b4343a43
        !          5907: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5908: Date:   Fri Jan 8 17:22:51 2010 +0100
        !          5909: 
        !          5910:     A fix for broken multi-area OSPF
        !          5911: 
        !          5912: commit 0741e68750fdda754790b6de7739e06310bdf723
        !          5913: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5914: Date:   Fri Jan 8 10:21:51 2010 +0100
        !          5915: 
        !          5916:     Socket table update.
        !          5917: 
        !          5918: commit 538dd2e486c3cc95ffebbdf73c934ddc71d70e09
        !          5919: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5920: Date:   Fri Jan 8 01:14:34 2010 +0100
        !          5921: 
        !          5922:     Cryptographic auth can be used also on virtual links.
        !          5923: 
        !          5924: commit 5f47fd85e341d94e2cbf46801cc14be06fb65dd8
        !          5925: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5926: Date:   Fri Jan 8 01:13:58 2010 +0100
        !          5927: 
        !          5928:     Small typo.
        !          5929: 
        !          5930: commit 6901fd0685f75ad5e95ea252039eec9e8926cd6a
        !          5931: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5932: Date:   Thu Jan 7 23:42:11 2010 +0100
        !          5933: 
        !          5934:     More information about vlinks.
        !          5935: 
        !          5936: commit 18722dc98c57af6bfa2d9b967417b65db263e5ca
        !          5937: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5938: Date:   Thu Jan 7 23:03:19 2010 +0100
        !          5939: 
        !          5940:     Bugfix in DBG call.
        !          5941: 
        !          5942: commit 3127b81755de4a09475df71072964e292c6994a7
        !          5943: Author: Ondrej Filip <feela@majklik.network.cz>
        !          5944: Date:   Thu Jan 7 22:54:39 2010 +0100
        !          5945: 
        !          5946:     Be a little bit more verbose on virtual links.
        !          5947: 
        !          5948: commit cf0858c2174c6bf0a4f63b914d06a2342c433b09
        !          5949: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5950: Date:   Thu Jan 7 22:43:06 2010 +0100
        !          5951: 
        !          5952:     A fix of a previous fix.
        !          5953: 
        !          5954: commit ba39197c11db085c4bc062e45fd9c74f42b41ca0
        !          5955: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5956: Date:   Thu Jan 7 22:22:10 2010 +0100
        !          5957: 
        !          5958:     Fixes vlinks for OSPFv2.
        !          5959: 
        !          5960: commit 29bfbae7936beb401d944daf0f0106aa8a92ef50
        !          5961: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5962: Date:   Thu Jan 7 16:24:36 2010 +0100
        !          5963: 
        !          5964:     Debugging change leaked to repository.
        !          5965: 
        !          5966: commit 3034b384dd9e6c78e686a294b1f80775fdb3e392
        !          5967: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5968: Date:   Thu Jan 7 11:46:11 2010 +0100
        !          5969: 
        !          5970:     A minor fix in OSPF.
        !          5971: 
        !          5972: commit 861f223a531be17d2e3e7abc0246be3057b809a0
        !          5973: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5974: Date:   Wed Jan 6 23:20:43 2010 +0100
        !          5975: 
        !          5976:     BSD compatibility fix.
        !          5977: 
        !          5978: commit 0c75411bec2f4e37bfdb4c7162631a22898052c1
        !          5979: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5980: Date:   Wed Jan 6 16:57:20 2010 +0100
        !          5981: 
        !          5982:     NEWS, version and documentation update.
        !          5983: 
        !          5984: commit cf31112f0d7618464097f71228f84bd534f1bc0f
        !          5985: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5986: Date:   Sun Jan 3 12:17:52 2010 +0100
        !          5987: 
        !          5988:     Implements MRTdump feature.
        !          5989: 
        !          5990: commit 610bb3cff05f6d5b09c77724bc97295b809d15e2
        !          5991: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5992: Date:   Tue Dec 22 10:49:39 2009 +0100
        !          5993: 
        !          5994:     Show command cleanups.
        !          5995: 
        !          5996: commit 0ad19261bf551ef49a1565e21e384ec749ec16d4
        !          5997: Merge: c4ae538 67b24e7
        !          5998: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5999: Date:   Tue Dec 22 01:34:01 2009 +0100
        !          6000: 
        !          6001:     Merge commit 'origin/master' into new
        !          6002: 
        !          6003: commit 67b24e7c1991de345dcb14173943a28d499f6f85
        !          6004: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6005: Date:   Mon Dec 21 16:29:23 2009 +0100
        !          6006: 
        !          6007:     Wrong switch name in configuration example.
        !          6008: 
        !          6009: commit c4ae53858be1bce6798f31ee2fb46775a607085f
        !          6010: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6011: Date:   Mon Dec 21 11:53:58 2009 +0100
        !          6012: 
        !          6013:     Change default mode of pipes to transparent.
        !          6014:     
        !          6015:     Opaque pipes are obsolete and should disappear in the future.
        !          6016: 
        !          6017: commit fbcb7d5faf419057ccbe2340f3714f8885495c51
        !          6018: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6019: Date:   Mon Dec 21 11:50:42 2009 +0100
        !          6020: 
        !          6021:     Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277).
        !          6022: 
        !          6023: commit ba9a122142a3d42137c129fabaef097702d44801
        !          6024: Merge: 0225ea4 c4199e3
        !          6025: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6026: Date:   Sun Dec 20 22:57:44 2009 +0100
        !          6027: 
        !          6028:     Merge branch 'ospf3' into new
        !          6029: 
        !          6030: commit c4199e30313c88c0911060a5b5f3cc181ceedb37
        !          6031: Merge: f2d7da7 ea7ada3
        !          6032: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6033: Date:   Sun Dec 20 22:56:09 2009 +0100
        !          6034: 
        !          6035:     Merge branch 'dev' into ospf3
        !          6036: 
        !          6037: commit 053dc3d81fe6470966bc35a852e791de0c00ee68
        !          6038: Author: Ondrej 'Feela' Filip <feela@atrey.karlin.mff.cuni.cz>
        !          6039: Date:   Sun Dec 20 16:18:22 2009 +0100
        !          6040: 
        !          6041:     Typo corrected.
        !          6042: 
        !          6043: commit ea7ada3809ed672bd9d2f9e5742f42b238cc5389
        !          6044: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6045: Date:   Sun Dec 20 14:59:12 2009 +0100
        !          6046: 
        !          6047:     Fixes a new bug in the pipe protocol soft reconfiguration.
        !          6048:     
        !          6049:     Also updates route reload for pipes.
        !          6050: 
        !          6051: commit 1a5178587ff63234d1b323fca965acb4a42cb9e2
        !          6052: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6053: Date:   Sun Dec 20 12:13:15 2009 +0100
        !          6054: 
        !          6055:     Fixes unnecessary pipe restart during configure.
        !          6056: 
        !          6057: commit 6877ff73a61d1924bc8940f7b646f52f7b34eca0
        !          6058: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6059: Date:   Sat Dec 19 18:45:46 2009 +0100
        !          6060: 
        !          6061:     NEWS and version update.
        !          6062: 
        !          6063: commit 0225ea4eddb44bd9dd4f112e512325cbf80134d3
        !          6064: Merge: 43c1cec f2d7da7
        !          6065: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6066: Date:   Tue Dec 15 00:32:13 2009 +0100
        !          6067: 
        !          6068:     Merge branch 'ospf3' into new
        !          6069: 
        !          6070: commit f2d7da742bd683b8eaecb1be8e3b04618171c796
        !          6071: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6072: Date:   Tue Dec 15 00:30:07 2009 +0100
        !          6073: 
        !          6074:     Fixes export of routes with link-local gw.
        !          6075: 
        !          6076: commit 43c1ceccb9caf8c4f63f191346c2f33889b4ad22
        !          6077: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6078: Date:   Mon Dec 14 23:31:25 2009 +0100
        !          6079: 
        !          6080:     Remove bgp_as4_support variable.
        !          6081: 
        !          6082: commit 13a7395704deeeff2d86910d8bcf9a6f32a7b207
        !          6083: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6084: Date:   Mon Dec 14 23:08:48 2009 +0100
        !          6085: 
        !          6086:     Minor doc update.
        !          6087: 
        !          6088: commit f75747073e45c3129568c4936c2f34fa618db41e
        !          6089: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6090: Date:   Mon Dec 14 21:17:15 2009 +0100
        !          6091: 
        !          6092:     Implements route reload for OSPF.
        !          6093: 
        !          6094: commit 63542845dfb6d2277f93f77ad9ca3ad8bbaddd09
        !          6095: Merge: 34a877c 8a7fb88
        !          6096: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6097: Date:   Mon Dec 14 20:37:32 2009 +0100
        !          6098: 
        !          6099:     Merge branch 'dev' into ospf3
        !          6100:     
        !          6101:     Conflicts:
        !          6102:     
        !          6103:        proto/ospf/lsreq.c
        !          6104:        proto/ospf/lsupd.c
        !          6105:        proto/ospf/rt.c
        !          6106: 
        !          6107: commit 34a877ccac25d38172716d3d2488449c870cad0b
        !          6108: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6109: Date:   Mon Dec 14 17:29:33 2009 +0100
        !          6110: 
        !          6111:     Minor updates.
        !          6112: 
        !          6113: commit 8a7fb8858fa87bce6f2f15ee2bbb77704b5fff4e
        !          6114: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6115: Date:   Mon Dec 14 01:32:37 2009 +0100
        !          6116: 
        !          6117:     Finishes 'route reload' feature.
        !          6118: 
        !          6119: commit 28008482a97c0ac70e648759fe37bad0633ed9f7
        !          6120: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6121: Date:   Sat Dec 12 01:35:51 2009 +0100
        !          6122: 
        !          6123:     Minor fixes in OSPF.
        !          6124: 
        !          6125: commit 8a70a13e7e79afa6818b10cf64d4f1ae4cf89e4b
        !          6126: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6127: Date:   Fri Dec 11 01:20:53 2009 +0100
        !          6128: 
        !          6129:     Implements protocol-specific Router ID for OSPF.
        !          6130:     
        !          6131:     And fixes one minor bug.
        !          6132: 
        !          6133: commit be2d38b7e977c1f72ed9cd52f8e3e85130c0aaa1
        !          6134: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6135: Date:   Fri Dec 11 00:31:56 2009 +0100
        !          6136: 
        !          6137:     Temporary OSPFv3 commit.
        !          6138: 
        !          6139: commit 9807690b413f3a1d29d064761cc99ed5261cfb58
        !          6140: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6141: Date:   Sun Dec 6 22:05:50 2009 +0100
        !          6142: 
        !          6143:     Fixes link-back check.
        !          6144: 
        !          6145: commit b76aeb823446616b746b52b5c8152f4c5a73b242
        !          6146: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6147: Date:   Fri Dec 4 22:20:13 2009 +0100
        !          6148: 
        !          6149:     Fixes next hop handling.
        !          6150: 
        !          6151: commit 98955023926734c7ecf79f9b8d004baff5225a78
        !          6152: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6153: Date:   Thu Dec 3 23:20:02 2009 +0100
        !          6154: 
        !          6155:     Fixes OSPFv2 build.
        !          6156: 
        !          6157: commit bb3c7c6d22c48cd78b4c5b77a78ff1b92adca053
        !          6158: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6159: Date:   Thu Dec 3 18:56:39 2009 +0100
        !          6160: 
        !          6161:     Fixes some log messages.
        !          6162: 
        !          6163: commit 69fbf9a25190e0149dcc31e830e952c586fe2024
        !          6164: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6165: Date:   Thu Dec 3 18:25:14 2009 +0100
        !          6166: 
        !          6167:     Minor fix in LSA update.
        !          6168: 
        !          6169: commit a421ec33cb9029899122d0ab63bab0fa268348d2
        !          6170: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6171: Date:   Wed Dec 2 22:22:40 2009 +0100
        !          6172: 
        !          6173:     Fixes silly bug.
        !          6174: 
        !          6175: commit 11361a101517c2c87e3d35d2c63cacb3ddb97724
        !          6176: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6177: Date:   Wed Dec 2 22:19:47 2009 +0100
        !          6178: 
        !          6179:     Implements route re-feed.
        !          6180:     
        !          6181:     This can be used to re-feed routes to protocol after soft change in
        !          6182:     export filters.
        !          6183: 
        !          6184: commit 11787b8473ae1685d43dad809592fabc64eb8f46
        !          6185: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6186: Date:   Wed Dec 2 17:26:16 2009 +0100
        !          6187: 
        !          6188:     Fixes some problems in pipes.
        !          6189:     
        !          6190:     For transparent pipes, loop detection works correctly now.
        !          6191:     Pipes are now more symmetric - in both directions filtering
        !          6192:     is done in do_rte_announce().
        !          6193: 
        !          6194: commit e8b29bdc8dc34d4a0358458907a5d8ac29011d28
        !          6195: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6196: Date:   Wed Dec 2 14:33:34 2009 +0100
        !          6197: 
        !          6198:     Fixes one missing log message.
        !          6199: 
        !          6200: commit 4b84bd4554b2a9331055bfd8d02a0bab0d10df92
        !          6201: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6202: Date:   Sun Nov 29 10:29:33 2009 +0100
        !          6203: 
        !          6204:     Fixes some crashes in OSPFv2.
        !          6205: 
        !          6206: commit e4a810b0ce3d7904e87a210c44c36eda7cba7a3e
        !          6207: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6208: Date:   Sun Nov 29 10:09:25 2009 +0100
        !          6209: 
        !          6210:     Temporary commit.
        !          6211: 
        !          6212: commit a6250a7d1013442ad4feb0d67128a707f2c6880b
        !          6213: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6214: Date:   Thu Nov 26 23:23:29 2009 +0100
        !          6215: 
        !          6216:     Fix -p option.
        !          6217: 
        !          6218: commit bf47fe4b2e40ccfcfe6af2d86548d06cdf9739c5
        !          6219: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6220: Date:   Thu Nov 26 20:47:59 2009 +0100
        !          6221: 
        !          6222:     Implements BGP route refresh.
        !          6223: 
        !          6224: commit 5e6f568115511e2bcf43c60dfdcbd7a35cb04b93
        !          6225: Merge: 069bfcb 1f8be1e
        !          6226: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6227: Date:   Tue Nov 24 17:19:23 2009 +0100
        !          6228: 
        !          6229:     Merge commit 'origin/master' into dev
        !          6230: 
        !          6231: commit 069bfcb53cef012c063a27e5af93d620be2917bd
        !          6232: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6233: Date:   Tue Nov 24 17:15:20 2009 +0100
        !          6234: 
        !          6235:     Fixes serious bug in core related to route filtering.
        !          6236:     
        !          6237:     If protocol announces a route, route is accepted by import filter to
        !          6238:     routing table, and later it announces replacement of that route that is
        !          6239:     rejected by import filter, old route remains in routing table.
        !          6240: 
        !          6241: commit 717e4c4d8173a8dbae2956f1703ff6d4365a9d34
        !          6242: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6243: Date:   Fri Nov 20 09:29:29 2009 +0100
        !          6244: 
        !          6245:     Fixes in the documentation.
        !          6246: 
        !          6247: commit 1f8be1e46f666e79072cc5f800c2dba91788368b
        !          6248: Author: Ondrej Filip <feela@trubka.network.cz>
        !          6249: Date:   Thu Nov 19 23:15:58 2009 +0100
        !          6250: 
        !          6251:     Added word 'IPv6' to underline, that this problem was not IPv4 related.
        !          6252: 
        !          6253: commit 6a72a276f6a677a8adec9566867023d76ac7da7e
        !          6254: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6255: Date:   Thu Nov 19 12:53:55 2009 +0100
        !          6256: 
        !          6257:     New version.
        !          6258: 
        !          6259: commit a4644ed6ab32c098b755bdac03498634b2794409
        !          6260: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6261: Date:   Thu Nov 19 11:44:17 2009 +0100
        !          6262: 
        !          6263:     Implement option to exit after config file parsing.
        !          6264: 
        !          6265: commit 3f9b7bfe9ff050430a5886b22a5ab11b5f253048
        !          6266: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6267: Date:   Wed Nov 18 20:32:36 2009 +0100
        !          6268: 
        !          6269:     Implements option that controls IPv6 BGP next hops when lladdr is missing.
        !          6270: 
        !          6271: commit 62aa96caa28180f76c8aff0c49dd21128e396153
        !          6272: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6273: Date:   Tue Nov 17 15:50:29 2009 +0100
        !          6274: 
        !          6275:     Adds some documentation to the description option.
        !          6276: 
        !          6277: commit e04555c04545278cfe3aeae85d707b1d78e5abeb
        !          6278: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6279: Date:   Tue Nov 17 15:45:05 2009 +0100
        !          6280: 
        !          6281:     Implement description field of protocol.
        !          6282: 
        !          6283: commit d0e2d6d1e05455cf1ec4e71135edaa659fe96dac
        !          6284: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6285: Date:   Tue Nov 17 14:17:23 2009 +0100
        !          6286: 
        !          6287:     Show both IPv6 next hop addresses in BGP.
        !          6288: 
        !          6289: commit 3228c72cc030f409914134440a7e55bbcfc9ff6a
        !          6290: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6291: Date:   Tue Nov 17 11:41:29 2009 +0100
        !          6292: 
        !          6293:     Implements RFC 5004 - prefer older external routes.
        !          6294: 
        !          6295: commit cbf8b08d622695f360bcdd80d61eb4add967749e
        !          6296: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6297: Date:   Tue Nov 17 10:31:33 2009 +0100
        !          6298: 
        !          6299:     Temporary OSPFv3 devel commit
        !          6300: 
        !          6301: commit 2eece54a04d95f534b935ccac4c3959b25516bd5
        !          6302: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6303: Date:   Sun Nov 15 14:24:20 2009 +0100
        !          6304: 
        !          6305:     Fixes bug related to reconfiguration with bgp_path first/last operators.
        !          6306: 
        !          6307: commit 653b4015f137d9590147f8774ec686031696f81c
        !          6308: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6309: Date:   Fri Nov 13 14:54:43 2009 +0100
        !          6310: 
        !          6311:     After shutdown, BIRD should have exit code 0.
        !          6312: 
        !          6313: commit d3f36e5978e85a926c497e2aa2cbdf319776ebb5
        !          6314: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6315: Date:   Fri Nov 13 14:43:29 2009 +0100
        !          6316: 
        !          6317:     Fixes BIRD socket unlink.
        !          6318: 
        !          6319: commit 4ac7c8341c660db654821ed2dc0273645dc19645
        !          6320: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6321: Date:   Mon Nov 9 23:22:53 2009 +0100
        !          6322: 
        !          6323:     Use IPv6 checksums in OSPFv3.
        !          6324: 
        !          6325: commit 3f22fa9e74c8643d3e4f7e3a7b4f2aa992ad09f5
        !          6326: Merge: a6bc04d b7c0e93
        !          6327: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6328: Date:   Mon Nov 9 22:54:39 2009 +0100
        !          6329: 
        !          6330:     Merge branch 'dev' into ospf3
        !          6331: 
        !          6332: commit b7c0e93ebd40cdc4f6e89067a3e5f7293263c7f9
        !          6333: Merge: 7965e17 f1f1e89
        !          6334: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6335: Date:   Mon Nov 2 16:27:17 2009 +0100
        !          6336: 
        !          6337:     Merge commit 'origin/master' into dev
        !          6338: 
        !          6339: commit 7965e17d67e8e2e68d96a8471f4828c0dc0d0b21
        !          6340: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6341: Date:   Mon Nov 2 16:25:05 2009 +0100
        !          6342: 
        !          6343:     Fixes build in Debian GNU/kFreeBSD.
        !          6344: 
        !          6345: commit f1f1e899b708e0e2ebaba46444fad650648ccb93
        !          6346: Author: Ondrej 'Feela' Filip <feela@atrey.karlin.mff.cuni.cz>
        !          6347: Date:   Mon Nov 2 15:59:01 2009 +0100
        !          6348: 
        !          6349:     Version 1.1.5
        !          6350: 
        !          6351: commit a6bc04d59130c49a1dbfadffa4285b11e2ff4939
        !          6352: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6353: Date:   Thu Oct 29 23:57:42 2009 +0100
        !          6354: 
        !          6355:     Implements better checks on incoming packets and LSAs in OSPF.
        !          6356: 
        !          6357: commit 9d4d38d1a5d67f5485d2b2fa439c879583dfdcb0
        !          6358: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6359: Date:   Wed Oct 28 22:39:24 2009 +0100
        !          6360: 
        !          6361:     Fixes some problems related to link-local routes in KRT interface.
        !          6362: 
        !          6363: commit b5332824ea4108d62cb559205391fd2c530348e4
        !          6364: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6365: Date:   Wed Oct 28 20:33:08 2009 +0100
        !          6366: 
        !          6367:     New version.
        !          6368: 
        !          6369: commit e6ff7a08e4e7808e1175c3c3bc830d93c0454b19
        !          6370: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6371: Date:   Tue Oct 27 22:25:36 2009 +0100
        !          6372: 
        !          6373:     Replaces local endianity testing macro with the common one.
        !          6374:     
        !          6375:     That makes it easier to integrate BIRD to crosscompiling
        !          6376:     buildsystems.
        !          6377: 
        !          6378: commit 9727681a38d3a7c474892e167c0e5a4e0cfac844
        !          6379: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6380: Date:   Sun Oct 25 20:02:28 2009 +0100
        !          6381: 
        !          6382:     Implements proper handling of summary/external LSA IDs.
        !          6383: 
        !          6384: commit bff74c7aa3ce4d407cb18b48c9df7b670c3c7a3d
        !          6385: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6386: Date:   Tue Oct 20 19:04:28 2009 +0200
        !          6387: 
        !          6388:     Allows importing 'onlink' routes.
        !          6389: 
        !          6390: commit 988992446d3aaaef9c19902d94cd1908a963fd80
        !          6391: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6392: Date:   Thu Oct 15 11:57:25 2009 +0200
        !          6393: 
        !          6394:     Implement command to show LSA db.
        !          6395: 
        !          6396: commit b66abe8ef986698caccd08b38a991330f0791075
        !          6397: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6398: Date:   Thu Oct 15 00:28:04 2009 +0200
        !          6399: 
        !          6400:     Reimplements 'show ospf state' for OSPFv3 and fixes some bugs.
        !          6401: 
        !          6402: commit 4cdd078453d585ac97a183ea1f3951d85f1b8784
        !          6403: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6404: Date:   Mon Oct 12 23:31:42 2009 +0200
        !          6405: 
        !          6406:     Implements protocol-specific router id and updates documentation.
        !          6407: 
        !          6408: commit 52b9b2a1786140c38af03de570b0cc96c835c1d3
        !          6409: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6410: Date:   Mon Oct 12 20:44:58 2009 +0200
        !          6411: 
        !          6412:     Rename as_path_get_last/as_path_get_first to be consistent.
        !          6413: 
        !          6414: commit ea89da381fc682155e7d08d6ad3d4ac8aa5fe115
        !          6415: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6416: Date:   Sun Oct 11 18:56:16 2009 +0200
        !          6417: 
        !          6418:     Workaround for stupid callback scheduler.
        !          6419:     
        !          6420:     There is no reak callback scheduler and previous behavior causes
        !          6421:     bad things during hard congestion (like BGP hold timeouts).
        !          6422:     
        !          6423:     Smart callback scheduler is still missing, but main loop was
        !          6424:     changed such that it first processes all tx callbacks (which
        !          6425:     are fast enough) (but max 4* per socket) + rx callbacks for CLI,
        !          6426:     and in the second phase it processes one rx callback per
        !          6427:     socket up to four sockets (as rx callback can be slow when
        !          6428:     there are too many protocols, because route redistribution
        !          6429:     is done synchronously inside rx callback). If there is event
        !          6430:     callback ready, second phase is skipped in 90% of iterations
        !          6431:     (to speed up CLI during congestion).
        !          6432: 
        !          6433: commit 7ea5b00f42bd3d1fdafb0be349e3ebbcdf3ea466
        !          6434: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6435: Date:   Thu Oct 8 15:23:24 2009 +0100
        !          6436: 
        !          6437:     First and last accessors to as_paths.
        !          6438: 
        !          6439: commit d82fc18d75e4ebf615657cb5d98f000c728b13e4
        !          6440: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6441: Date:   Wed Oct 7 21:10:29 2009 +0100
        !          6442: 
        !          6443:     Implement proper LSA ID generation.
        !          6444: 
        !          6445: commit 43c7a1ffa07dda2a9f37c046e1cd9a75242db2b7
        !          6446: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6447: Date:   Wed Sep 30 18:48:38 2009 +0200
        !          6448: 
        !          6449:     New version.
        !          6450: 
        !          6451: commit aa7088fe2646e53b5168f7ea4e5bd098f891951c
        !          6452: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6453: Date:   Wed Sep 30 16:34:47 2009 +0200
        !          6454: 
        !          6455:     Fixes one previous commit.
        !          6456: 
        !          6457: commit a5bf5f781cf921bd1e092b7f9ae6ccdbf7424428
        !          6458: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6459: Date:   Thu Sep 24 23:14:44 2009 +0200
        !          6460: 
        !          6461:     Show bad peer AS number in log in decimal.
        !          6462: 
        !          6463: commit be6e39ebbf7ed107abde6fc1a18e8827ca47a7c1
        !          6464: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6465: Date:   Thu Sep 24 22:12:11 2009 +0200
        !          6466: 
        !          6467:     Passive option.
        !          6468: 
        !          6469: commit 2d507e64b7d7029906aac30dbea317795b5339de
        !          6470: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6471: Date:   Thu Sep 24 19:08:14 2009 +0200
        !          6472: 
        !          6473:     Do not allow gateway routes with NULL iface.
        !          6474: 
        !          6475: commit 54fe0d9230be440d9f627ff7f94a202e6117e1b9
        !          6476: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6477: Date:   Fri Sep 18 13:59:04 2009 +0200
        !          6478: 
        !          6479:     Fixes setting of IP addresses to route attributes (NEXT_HOP).
        !          6480: 
        !          6481: commit db96fccb31bc0436ec182ff825f592d6c16dc930
        !          6482: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6483: Date:   Fri Sep 18 01:11:09 2009 +0200
        !          6484: 
        !          6485:     Fixes bug in filter rta copy-on-write.
        !          6486:     
        !          6487:     Filters should try to copy-on-write just cached rtas.
        !          6488: 
        !          6489: commit 46eb80d5d50a2b284cae19444149d57d857a8e02
        !          6490: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6491: Date:   Thu Sep 17 17:52:36 2009 +0200
        !          6492: 
        !          6493:     Fixes headers for uintptr_t (and build on NetBSD).
        !          6494: 
        !          6495: commit f4c6ca8c9c7ca7c0d481e6059396beed6adc768d
        !          6496: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6497: Date:   Thu Sep 17 13:35:37 2009 +0200
        !          6498: 
        !          6499:     Fixes preference bounds.
        !          6500: 
        !          6501: commit 0781e9c62cd34175eb4e3bc61ffe785d08538727
        !          6502: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6503: Date:   Thu Sep 17 12:40:02 2009 +0200
        !          6504: 
        !          6505:     Fixes preference in transparent pipes.
        !          6506: 
        !          6507: commit 9f0ba7b1c7a0754c473b8ab202f572c9c8363285
        !          6508: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6509: Date:   Thu Sep 17 12:18:03 2009 +0200
        !          6510: 
        !          6511:     Implements proper RID handling in OSPFv3.
        !          6512: 
        !          6513: commit 5eb4d0180ed92cee31d962fbc4d0175a7e1d5933
        !          6514: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6515: Date:   Fri Sep 11 12:20:30 2009 +0200
        !          6516: 
        !          6517:     New release 1.1.3
        !          6518: 
        !          6519: commit c15e569065e80f91b4c9c77b86640aac72aa0a47
        !          6520: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6521: Date:   Tue Sep 8 17:06:47 2009 +0200
        !          6522: 
        !          6523:     Make endianity swapping simpler.
        !          6524: 
        !          6525: commit be862406627da3bd1facea9309b3f32e67422eab
        !          6526: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6527: Date:   Tue Sep 8 13:45:02 2009 +0200
        !          6528: 
        !          6529:     Temporary OSPFv3 development commit.
        !          6530:     
        !          6531:     Finally, it is working.
        !          6532: 
        !          6533: commit 29bcd04e75a4d145bee500b8aef79052974b1981
        !          6534: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6535: Date:   Sun Sep 6 21:26:46 2009 +0200
        !          6536: 
        !          6537:     Update of config.sub & config.guess
        !          6538: 
        !          6539: commit daeeb8e982a3463f4a866e805b64f214d9f44160
        !          6540: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6541: Date:   Fri Sep 4 11:24:08 2009 +0200
        !          6542: 
        !          6543:     Clear memory allocated by ralloc().
        !          6544:     
        !          6545:     This also fixes bug that timer->recurrent was not cleared
        !          6546:     in tm_new() and unexpected recurrence of startup timer
        !          6547:     in BGP confused state machine and caused crash.
        !          6548: 
        !          6549: commit f9c799a00e705b1420b214628c2bb2a30bf491d9
        !          6550: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6551: Date:   Fri Sep 4 11:06:51 2009 +0200
        !          6552: 
        !          6553:     Temporary OSPFv3 development commit (changing multicast support).
        !          6554: 
        !          6555: commit d2ceaf4ec82837239a35ace00399ce3aa845849e
        !          6556: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6557: Date:   Fri Aug 28 13:45:43 2009 +0200
        !          6558: 
        !          6559:     Temporary OSPFv3 development commit
        !          6560: 
        !          6561: commit 05198c12f48c9d4a65ee6d1d4117bd8067a71131
        !          6562: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6563: Date:   Thu Aug 27 19:01:04 2009 +0200
        !          6564: 
        !          6565:     Some cleanups.
        !          6566: 
        !          6567: commit 061ab802a67cfc336785f6daeecdcbd4910734ed
        !          6568: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6569: Date:   Thu Aug 27 18:25:46 2009 +0200
        !          6570: 
        !          6571:     Temporary OSPFv3 development commit
        !          6572: 
        !          6573: commit 949bd34e81ee99370decdabefa51c9c11ffe915b
        !          6574: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6575: Date:   Tue Aug 25 19:01:37 2009 +0200
        !          6576: 
        !          6577:     Fixes bug related to AS2->AS4 conversion.
        !          6578: 
        !          6579: commit b49e6f5a65d437cb7e7bdefe8397e0f550496012
        !          6580: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6581: Date:   Tue Aug 25 16:42:14 2009 +0200
        !          6582: 
        !          6583:     Temporary OSPFv3 development commit
        !          6584: 
        !          6585: commit a0c405501fa6a0df8472f1598256e725cec753fd
        !          6586: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6587: Date:   Sun Aug 23 23:04:59 2009 +0200
        !          6588: 
        !          6589:     Version 1.1.2
        !          6590: 
        !          6591: commit d2f8d0a509d96d752c86f8807e7f6644467e5af5
        !          6592: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6593: Date:   Sun Aug 23 23:03:31 2009 +0200
        !          6594: 
        !          6595:     Version 1.1.2
        !          6596: 
        !          6597: commit 2ef58837dcb7b78edc193bc9ef1da316bba86998
        !          6598: Merge: 86975e5 5516a66
        !          6599: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6600: Date:   Fri Aug 21 09:46:49 2009 +0200
        !          6601: 
        !          6602:     Merge commit 'origin/master' into dev
        !          6603: 
        !          6604: commit 86975e584eeabbc4f3111f2d100f05ca00579d31
        !          6605: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6606: Date:   Fri Aug 21 09:43:31 2009 +0200
        !          6607: 
        !          6608:     Allow more kernel routing tables in IPv6.
        !          6609: 
        !          6610: commit fee78355b480294f28c3c6814953297dca92d4a0
        !          6611: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6612: Date:   Fri Aug 21 09:31:35 2009 +0200
        !          6613: 
        !          6614:     Fixes bug in eattr binary search.
        !          6615: 
        !          6616: commit c3226991a061415fa83b757cbff678111c586e58
        !          6617: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6618: Date:   Fri Aug 21 09:27:52 2009 +0200
        !          6619: 
        !          6620:     Temporary OSPFv3 development commit
        !          6621: 
        !          6622: commit 5516a66d492497ba8776212defb3117ed1dbfbf8
        !          6623: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6624: Date:   Sun Aug 16 22:41:07 2009 +0200
        !          6625: 
        !          6626:     Ondrej Zajicek add to the team.
        !          6627: 
        !          6628: commit 87d7fd9725ded186f6fa331d68a1e9df5d1982cf
        !          6629: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6630: Date:   Sun Aug 16 22:36:41 2009 +0200
        !          6631: 
        !          6632:     Bugfix - each protocol can be compiled separately.
        !          6633: 
        !          6634: commit c5be5a163c2a7b640cb3d0942de44ec87de0f25b
        !          6635: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6636: Date:   Wed Aug 12 10:26:42 2009 +0200
        !          6637: 
        !          6638:     NEWS and version update.
        !          6639: 
        !          6640: commit 9c46ad8e2fba592d28d19757d39bc090fc5b0d47
        !          6641: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6642: Date:   Wed Aug 12 10:16:32 2009 +0200
        !          6643: 
        !          6644:     Count number of lines (and not messages) in 'more'.
        !          6645: 
        !          6646: commit c0973621bc1e06cb6176dc2dfd97bec637861edd
        !          6647: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6648: Date:   Tue Aug 11 15:49:56 2009 +0200
        !          6649: 
        !          6650:     Fixes another bug in rte_recalculate().
        !          6651:     
        !          6652:     Previous bugfix revealed another hidden bug here.
        !          6653: 
        !          6654: commit ac07aacd2cdb5cf69a3bfdbc0e078cb0ae96c0db
        !          6655: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6656: Date:   Tue Aug 11 11:03:37 2009 +0200
        !          6657: 
        !          6658:     Replace assert with log.
        !          6659:     
        !          6660:     Although it is true unless there is a bug in BIRD,  this assert is not
        !          6661:     needed (code below does not require that assumption), so we should not
        !          6662:     crash.
        !          6663: 
        !          6664: commit 024e633c16cf21ae94d7e023e057e59080f92175
        !          6665: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6666: Date:   Tue Aug 11 10:54:50 2009 +0200
        !          6667: 
        !          6668:     Fixes bug that caused losing of some routes.
        !          6669:     
        !          6670:     When update changes preferred route in such a way that
        !          6671:     it ceased to be preferred, the new route was linked
        !          6672:     to wrong place and lost.
        !          6673: 
        !          6674: commit e75d3c74a8f665a6e7dc0cc743a68e980e7c10da
        !          6675: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6676: Date:   Mon Aug 10 14:36:30 2009 +0200
        !          6677: 
        !          6678:     Flex does not need the output of Bison.
        !          6679: 
        !          6680: commit ea9097eaad7dfccd5a88480d748781d947b25cc8
        !          6681: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6682: Date:   Mon Aug 10 14:13:28 2009 +0200
        !          6683: 
        !          6684:     Fixes parallel runs of Bison.
        !          6685:     
        !          6686:     Previous version of Makefile executed Bison two times (in parallel),
        !          6687:     because of two specified targets. I am not sure wheter this is the best
        !          6688:     fix.
        !          6689:     
        !          6690:     Previon
        !          6691: 
        !          6692: commit f2cfc509960741bd587cf92f7d154d06fbb2c9a4
        !          6693: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6694: Date:   Mon Aug 10 13:59:56 2009 +0200
        !          6695: 
        !          6696:     Compilation and dependency generation should be serialized.
        !          6697: 
        !          6698: commit 581b59907ca5b79b44cc0654e57c34ab77883a96
        !          6699: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6700: Date:   Mon Aug 10 13:57:08 2009 +0200
        !          6701: 
        !          6702:     Clean files generated by Bison and Flex.
        !          6703: 
        !          6704: commit 5b1f877e6edfb3b541d444ae5b1ffd025dd9fbd6
        !          6705: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6706: Date:   Mon Aug 10 12:04:25 2009 +0200
        !          6707: 
        !          6708:     Fixes typo in Makefile
        !          6709: 
        !          6710: commit b92c8e30191dd757c76239076eda82d0065f2348
        !          6711: Merge: 54d70d3 71a9574
        !          6712: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6713: Date:   Mon Aug 10 10:16:00 2009 +0200
        !          6714: 
        !          6715:     Merge branch 'master' into dev
        !          6716: 
        !          6717: commit 71a9574a515613cded23b20f260a88784bcd4286
        !          6718: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6719: Date:   Sun Aug 9 19:43:42 2009 +0200
        !          6720: 
        !          6721:     Makefile changed to make it work with 'make -jN' where N>1
        !          6722: 
        !          6723: commit 0ac39033c7470f7301bb108f8e777c7ce6af273f
        !          6724: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6725: Date:   Sun Aug 9 19:43:15 2009 +0200
        !          6726: 
        !          6727:     Missing dependency added.
        !          6728: 
        !          6729: commit 0d328932be54a6756c6b43b0cd6d8d314a5b7fe2
        !          6730: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6731: Date:   Thu Jul 30 18:39:41 2009 +0200
        !          6732: 
        !          6733:     Symbols PASSWORDS and BROADCAST not declared for OSPF
        !          6734: 
        !          6735: commit 54d70d3ebb20c36f483cde9d7d5b877772d4884e
        !          6736: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6737: Date:   Thu Jul 23 22:21:17 2009 +0200
        !          6738: 
        !          6739:     Fixes compiler warning in OFFSETOF().
        !          6740: 
        !          6741: commit 3aab39f589c352e30e9db92346b579dd561482b3
        !          6742: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6743: Date:   Thu Jul 23 16:51:28 2009 +0200
        !          6744: 
        !          6745:     Use %R in OSPF when appropriate.
        !          6746: 
        !          6747: commit 2f6483cd312ffd7ef055099ce801fb8f437d9abe
        !          6748: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6749: Date:   Thu Jul 23 16:06:25 2009 +0200
        !          6750: 
        !          6751:     Adds %R printf directive for Router ID.
        !          6752: 
        !          6753: commit f0333f44a5a4bec9f3978a90cf7eda1b0a2ec151
        !          6754: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6755: Date:   Wed Jul 15 01:47:29 2009 +0200
        !          6756: 
        !          6757:     Implements 'more' feature to birdc.
        !          6758:     
        !          6759:     Also does some code restructuring.
        !          6760: 
        !          6761: commit 6baef17ecf1ed994cfc8038bc610e8b7ff88506a
        !          6762: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6763: Date:   Tue Jul 14 14:18:54 2009 +0200
        !          6764: 
        !          6765:     Fixes bug in CLI TX buffer management.
        !          6766: 
        !          6767: commit 70670bf317a612a1700ffbd0dbc8d92614e0caf2
        !          6768: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6769: Date:   Thu Jul 9 15:42:39 2009 +0200
        !          6770: 
        !          6771:     Fixed bug related to reconfiguration of BGP with MD5 passwords.
        !          6772: 
        !          6773: commit dd7b4a13848f5a92b403a563e8e27a3cbdfc937f
        !          6774: Merge: d1abbea bffd4c0
        !          6775: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6776: Date:   Mon Jul 6 23:10:33 2009 +0200
        !          6777: 
        !          6778:     Merge branch 'master' into dev
        !          6779: 
        !          6780: commit d1abbeacfb5a099418f53b583625ac97b1c62059
        !          6781: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6782: Date:   Mon Jul 6 19:07:01 2009 +0200
        !          6783: 
        !          6784:     Fixes memory alignment problems on Sparc64.
        !          6785:     
        !          6786:     Not quite standard construction, i should add
        !          6787:     some autoconf macro.
        !          6788:     
        !          6789:     Not tested yet.
        !          6790: 
        !          6791: commit 2389c46fe314867f99bbdfa1f6c9ff92d433d754
        !          6792: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6793: Date:   Sun Jul 5 21:18:55 2009 +0200
        !          6794: 
        !          6795:     Another pile of ipa_from_u32() calls.
        !          6796: 
        !          6797: commit b082c1bfcc53b10012a427aa3b4b8281fe2f496c
        !          6798: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6799: Date:   Sun Jul 5 20:26:51 2009 +0200
        !          6800: 
        !          6801:     Fixes OSPF on big-endians.
        !          6802:     
        !          6803:     Hmm, #ifdef is not very typo-safe.
        !          6804: 
        !          6805: commit f9bdcad4694cf80690982dfc58d28f91216c8bd0
        !          6806: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6807: Date:   Sun Jul 5 19:01:54 2009 +0200
        !          6808: 
        !          6809:     Fixes type mismatch in OSPF printf statements.
        !          6810:     
        !          6811:     Mixing ip_addr and u32 does bad things on Ultrasparc.
        !          6812:     Although both have the same size. Fascinating.
        !          6813:     It was not catched by compiler because of varargs.
        !          6814: 
        !          6815: commit bffd4c0b3900b28cfa84131752d44277866cb413
        !          6816: Author: Ondrej Filip <feela@trubka.network.cz>
        !          6817: Date:   Sun Jun 28 10:03:24 2009 +0200
        !          6818: 
        !          6819:     Small typos.
        !          6820: 
        !          6821: commit f1684ae6c05a52e1757c709dfbbedb5fc8ae1e07
        !          6822: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6823: Date:   Sun Jun 28 09:43:29 2009 +0200
        !          6824: 
        !          6825:     New release 1.1.0!
        !          6826: 
        !          6827: commit ef86b8465ff7d8e81038f37103594eb9c66d9c58
        !          6828: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6829: Date:   Sat Jun 27 18:56:26 2009 +0200
        !          6830: 
        !          6831:     Unused file removed.
        !          6832: 
        !          6833: commit 2d785e8d6a646a878c970583aa54a15209fa0e6e
        !          6834: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6835: Date:   Fri Jun 26 13:33:41 2009 +0200
        !          6836: 
        !          6837:     Fixes bug on TCP passive socket binding on BSD.
        !          6838:     
        !          6839:     BGP on BSD was bound to random port. I am surprised that
        !          6840:     nobody noticed it already.
        !          6841: 
        !          6842: commit 5004d02cb9df1f3ee231632a8e89929f4eb4f088
        !          6843: Merge: 1876e18 99355da
        !          6844: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6845: Date:   Fri Jun 26 01:06:12 2009 +0200
        !          6846: 
        !          6847:     Merge branch 'master' into dev
        !          6848: 
        !          6849: commit 1876e18d32fa4b21888aae2c984b1b61338c3e60
        !          6850: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6851: Date:   Thu Jun 25 15:44:43 2009 +0200
        !          6852: 
        !          6853:     Minor bugfix.
        !          6854: 
        !          6855: commit 200ede8226a4173b2405bcd1c98cf20604c33545
        !          6856: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6857: Date:   Thu Jun 25 14:42:25 2009 +0200
        !          6858: 
        !          6859:     NEWS and version update.
        !          6860: 
        !          6861: commit d72cdff411d0bf4ddecaea5d0fc6d4341b4cb3f1
        !          6862: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6863: Date:   Tue Jun 23 11:08:30 2009 +0200
        !          6864: 
        !          6865:     Replace 'bind' option with 'listen' option.
        !          6866:     
        !          6867:     To be consistent with other daemons.
        !          6868: 
        !          6869: commit da95a7a7dad6ebf572adfb448dfc1a5c8400e6ab
        !          6870: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6871: Date:   Tue Jun 23 11:00:38 2009 +0200
        !          6872: 
        !          6873:     Fixes bug in ORIGIN check.
        !          6874: 
        !          6875: commit 29c430f8569b90e1962d92a26f96fad7e72d27ec
        !          6876: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6877: Date:   Tue Jun 23 10:50:57 2009 +0200
        !          6878: 
        !          6879:     Changes handling of AS_PATH_CONFED_* segments in AS_PATH.
        !          6880:     
        !          6881:     Although standard says that if we receive AS_PATH_CONFED_*
        !          6882:     (and we are not a part of a confederation) segment, we should
        !          6883:     drop session, nobody does that and it is unwise to do that.
        !          6884:     
        !          6885:     Now we drop session just in case that peer ASN is in
        !          6886:     AS_PATH_CONFED_* segment (to detect peer that considers BIRD
        !          6887:     as a part of its confederation).
        !          6888: 
        !          6889: commit 4323099da9e6e8d53072595009731da9b39e9f19
        !          6890: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6891: Date:   Sat Jun 20 00:59:32 2009 +0200
        !          6892: 
        !          6893:     Fixes bug in scheduling of callback by main loop.
        !          6894:     
        !          6895:     If other side of a socket is sending data faster than
        !          6896:     BIRD is processing, BIRD does not schedule any other
        !          6897:     callbacks (events, timers, rx/tx callbacks).
        !          6898: 
        !          6899: commit 2757985709f0a132427d4f440ec913b6a0064f80
        !          6900: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6901: Date:   Sat Jun 20 00:40:21 2009 +0200
        !          6902: 
        !          6903:     Documentation update
        !          6904: 
        !          6905: commit bf1aec970e9ac0600266fe7a045847a62f18ac3b
        !          6906: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6907: Date:   Fri Jun 19 23:49:34 2009 +0200
        !          6908: 
        !          6909:     Adds support for soft reconfiguration.
        !          6910: 
        !          6911: commit 789772ed4586213d6a7fbb867b9296a01ce1b9c0
        !          6912: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6913: Date:   Thu Jun 18 19:20:07 2009 +0200
        !          6914: 
        !          6915:     Implements option that changes BGP listening socket parametres.
        !          6916: 
        !          6917: commit 1b3b3e34ecbc281a13d4ca0b99e891ee9c4d5cac
        !          6918: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6919: Date:   Thu Jun 18 14:32:44 2009 +0200
        !          6920: 
        !          6921:     Minor bugfixes.
        !          6922: 
        !          6923: commit 6f5603badc12dbbf440e8f85b1165cc8f5d671c7
        !          6924: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6925: Date:   Thu Jun 11 20:51:13 2009 +0200
        !          6926: 
        !          6927:     Documentation update.
        !          6928: 
        !          6929: commit 386752028143e78d0a617216d86f95af4024346d
        !          6930: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6931: Date:   Thu Jun 11 17:25:38 2009 +0200
        !          6932: 
        !          6933:     Implements an option that allows to change a set of stub networks.
        !          6934: 
        !          6935: commit 3d15dcdb1cc91c694aa9319b86bb37510d7ed12b
        !          6936: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6937: Date:   Wed Jun 10 23:45:08 2009 +0200
        !          6938: 
        !          6939:     Changes OSPF to generate stub networks for non-primary addresses.
        !          6940:     
        !          6941:     Also does some reorganization in RT LSA announcement.
        !          6942: 
        !          6943: commit b99d378698641b9821e4b708a90761aeb9bf6cc4
        !          6944: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6945: Date:   Sun Jun 7 00:38:38 2009 +0200
        !          6946: 
        !          6947:     Minor BGP changes related to error wait time.
        !          6948: 
        !          6949: commit 723826267101cfbb918125f0f270166cd309229d
        !          6950: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6951: Date:   Sat Jun 6 18:56:33 2009 +0200
        !          6952: 
        !          6953:     Fixes bug related to startup delay change.
        !          6954: 
        !          6955: commit dd91e467657b2dba84df308d0dc74d268bbfa228
        !          6956: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6957: Date:   Sat Jun 6 18:16:22 2009 +0200
        !          6958: 
        !          6959:     Differentiate between error delay and connect/reconnect delay.
        !          6960:     
        !          6961:     The difference is here to reject incoming connections in the
        !          6962:     first case.
        !          6963: 
        !          6964: commit 2a04b045e480bbf75229f0177abbd7f84d3b7089
        !          6965: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6966: Date:   Thu Jun 4 13:38:18 2009 +0200
        !          6967: 
        !          6968:     Adds route limit documentation.
        !          6969: 
        !          6970: commit 72b28a041df18f0da2e6a85360d6935c6a2db471
        !          6971: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6972: Date:   Thu Jun 4 13:31:09 2009 +0200
        !          6973: 
        !          6974:     Implements import route limits.
        !          6975: 
        !          6976: commit 925fe2d3de0e12c644f91f94d13bf388aeda9b57
        !          6977: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          6978: Date:   Thu Jun 4 01:22:56 2009 +0200
        !          6979: 
        !          6980:     Implements route statistics and fixes some minor bugs.
        !          6981: 
        !          6982: commit 99355da18f8598e93d0e55167582da9687eae082
        !          6983: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6984: Date:   Tue Jun 2 12:01:24 2009 +0200
        !          6985: 
        !          6986:     Inlude DESTDIR in install to make life of packagers easier.
        !          6987: 
        !          6988: commit 26978ec419217fccfbb8901033703ede886e78b7
        !          6989: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6990: Date:   Tue Jun 2 11:36:07 2009 +0200
        !          6991: 
        !          6992:     Clean also ipv6 bird.ctl
        !          6993: 
        !          6994: commit de8f238fdb85bdba8ce4b5988584403cf5dbcd1e
        !          6995: Author: Ondrej Filip <feela@majklik.network.cz>
        !          6996: Date:   Tue Jun 2 11:00:12 2009 +0200
        !          6997: 
        !          6998:     Error in test fixed.
        !          6999: 
        !          7000: commit dc16584ac2be1c097acbf8a0b2f6d412214f2a01
        !          7001: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7002: Date:   Tue Jun 2 00:28:08 2009 +0200
        !          7003: 
        !          7004:     Small change to make BIRD's IPv6 packaging easier
        !          7005: 
        !          7006: commit c07c65d6d079eaf4525f03f5d126d51caa2595d6
        !          7007: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7008: Date:   Mon Jun 1 23:18:45 2009 +0200
        !          7009: 
        !          7010:     Escaped debbuging message removed.
        !          7011: 
        !          7012: commit 92a72a4cbdd010f69e8d054019770e55a47637e0
        !          7013: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7014: Date:   Mon Jun 1 19:32:41 2009 +0200
        !          7015: 
        !          7016:     Adds support for dynamic pair and bgp mask expressions.
        !          7017: 
        !          7018: commit f429d4348275030a9f488046c4021aa377ad1a79
        !          7019: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7020: Date:   Mon Jun 1 16:20:48 2009 +0200
        !          7021: 
        !          7022:     Removes some remnant of '|' bgp path separator.
        !          7023: 
        !          7024: commit f98e2915794e8641f0704b22cbd9b574514f5b23
        !          7025: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7026: Date:   Mon Jun 1 14:07:13 2009 +0200
        !          7027: 
        !          7028:     The pipe cleanup.
        !          7029: 
        !          7030: commit 2d45e09f58c4ce857e10c241cf0e89b51b9ec49c
        !          7031: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7032: Date:   Mon Jun 1 12:10:10 2009 +0200
        !          7033: 
        !          7034:     Adds opaque/transparent pipe mode selection.
        !          7035: 
        !          7036: commit 23ac9e9a9eefe13918ee7f21a1d0f271a44d9efd
        !          7037: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7038: Date:   Sun May 31 15:24:27 2009 +0200
        !          7039: 
        !          7040:     Changes pipes to transfer all routes between routing table, not just optimal routes.
        !          7041: 
        !          7042: commit 23e563d86b412632644bdc4a886b0b7fb60e5175
        !          7043: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7044: Date:   Sat May 30 00:35:35 2009 +0200
        !          7045: 
        !          7046:     Fixes buggy prefix ~ prefix matching.
        !          7047: 
        !          7048: commit 9be1086d2970633fb5af2a1faaae16d5a1cf48ea
        !          7049: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7050: Date:   Fri May 29 23:08:28 2009 +0200
        !          7051: 
        !          7052:     New type variable 'V' defined in filters. This type is checked
        !          7053:     only for name, never for value in function filter_same()
        !          7054: 
        !          7055: commit 43de796b8a10f561d8b3ef64a86e5ce70de01eb5
        !          7056: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7057: Date:   Fri May 29 23:04:54 2009 +0200
        !          7058: 
        !          7059:     Function pm_path_compare() checked just length of the bgpmasks
        !          7060: 
        !          7061: commit d59405ec6652e95f4825492c7322536bb7044db0
        !          7062: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7063: Date:   Fri May 29 23:02:36 2009 +0200
        !          7064: 
        !          7065:     Typo in warning fixed.
        !          7066: 
        !          7067: commit 874b868544c3a6ba45ace062091cc3aee007b719
        !          7068: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7069: Date:   Fri May 29 22:49:30 2009 +0200
        !          7070: 
        !          7071:     Implements primary address selection base on 'primary' option.
        !          7072: 
        !          7073: commit 51f4469f03759642870a45634d9b53054e3deb92
        !          7074: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7075: Date:   Fri May 29 17:36:37 2009 +0200
        !          7076: 
        !          7077:     Fixes problems with rewriting of kernel device routes.
        !          7078: 
        !          7079: commit 6f68f066b63e992321ec1873a15c233f567b9aca
        !          7080: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7081: Date:   Fri May 29 13:32:24 2009 +0200
        !          7082: 
        !          7083:     Add 'primary' configuration option.
        !          7084: 
        !          7085: commit 7c3d06b087946cbea4affa4a814e72b7a3556833
        !          7086: Merge: f571473 4c2507d
        !          7087: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7088: Date:   Thu May 28 13:58:51 2009 +0200
        !          7089: 
        !          7090:     Merge branch 'dev' into ospf
        !          7091: 
        !          7092: commit a6c9f0648db56175ee9e077e2ca631b678552835
        !          7093: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7094: Date:   Thu May 28 13:37:04 2009 +0200
        !          7095: 
        !          7096:     Missing boolean comparison added.
        !          7097: 
        !          7098: commit 4c2507da687cdad1b9d147c1655e5ac46aaaa511
        !          7099: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7100: Date:   Tue May 26 10:43:59 2009 +0200
        !          7101: 
        !          7102:     Warning for BSD system and TCP-MD5.
        !          7103: 
        !          7104: commit 0c8c86c825f9cebf4c1d9f8d9cd57b2fad84d35b
        !          7105: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7106: Date:   Mon May 25 01:41:20 2009 +0200
        !          7107: 
        !          7108:     Adds INSTALL file.
        !          7109: 
        !          7110: commit f571473ef3f78f6e38558d306d4d16ce7797e26c
        !          7111: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7112: Date:   Sun May 24 17:55:33 2009 +0200
        !          7113: 
        !          7114:     Hello packets on PTP networks should have zero netmask.
        !          7115:     
        !          7116:     This also ensures that misconfigured routers (one side
        !          7117:     ptp and one side broadcast) do not make adjacency.
        !          7118: 
        !          7119: commit 8cc598a5205dbe46f5f249fa4f2de0586438965d
        !          7120: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7121: Date:   Sun May 24 17:51:27 2009 +0200
        !          7122: 
        !          7123:     Ignore Hello packets from different IP network (than primary).
        !          7124: 
        !          7125: commit 050ceb867fbb96395c6f7d3207acbb5fe57b8d1c
        !          7126: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7127: Date:   Fri May 22 18:41:52 2009 +0200
        !          7128: 
        !          7129:     Update versions.
        !          7130: 
        !          7131: commit 0c51083e97a4288219b29e82be65f399d085adee
        !          7132: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7133: Date:   Fri May 22 18:08:54 2009 +0200
        !          7134: 
        !          7135:     NEWS update.
        !          7136: 
        !          7137: commit ea2ae6dd0ae3f5dd8cd41c1e5a1170a163027725
        !          7138: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7139: Date:   Fri May 22 17:12:15 2009 +0200
        !          7140: 
        !          7141:     Change import/preimport to export/preexport to be consistent with filters.
        !          7142: 
        !          7143: commit d72a0ac2396471ffb2b3a580ee986f950e4d23ae
        !          7144: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7145: Date:   Fri May 22 15:16:53 2009 +0200
        !          7146: 
        !          7147:     Fixes serious bug in route attribute handing.
        !          7148:     
        !          7149:     ea_same() sometimes returns true for different route attributes,
        !          7150:     which caused that hash table in BGP does not work correctly and
        !          7151:     some routes were sent with different attributes.
        !          7152: 
        !          7153: commit 80f0d6764aa2c54eabdc1b41321a46e8cbcce2b9
        !          7154: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7155: Date:   Fri May 22 13:37:07 2009 +0200
        !          7156: 
        !          7157:     Fixes type mismatch on BSD systems.
        !          7158: 
        !          7159: commit d0c64519e798132b73ae5769b9246acb77b4c5aa
        !          7160: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7161: Date:   Fri May 22 01:13:07 2009 +0200
        !          7162: 
        !          7163:     Ugly hack for finding readline on NetBSD
        !          7164: 
        !          7165: commit 8de11deb9107b0bcfc7bf3922ee7edff3dbcd73a
        !          7166: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7167: Date:   Fri May 22 00:26:30 2009 +0200
        !          7168: 
        !          7169:     Better checks for M4 in configure.
        !          7170: 
        !          7171: commit 6c84554b671fce473fe333ab3d8b548a0768882b
        !          7172: Merge: f434d19 4d176e1
        !          7173: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7174: Date:   Thu May 21 09:26:59 2009 +0200
        !          7175: 
        !          7176:     Merge branch 'master' into dev
        !          7177: 
        !          7178: commit f434d19174cb2d3054a00248ca609aa87bf8c263
        !          7179: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7180: Date:   Wed May 13 22:04:44 2009 +0200
        !          7181: 
        !          7182:     Documentation updates
        !          7183: 
        !          7184: commit 4d176e14509c71823a539b3c8b6103e254296d4f
        !          7185: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7186: Date:   Mon May 11 02:01:11 2009 +0200
        !          7187: 
        !          7188:     'show route protocol <p>' added to CLI.
        !          7189: 
        !          7190: commit ef9c9ab9b64a6f3b5154e5340ffdcd1d211ec4c5
        !          7191: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7192: Date:   Mon May 11 01:32:49 2009 +0200
        !          7193: 
        !          7194:     OpenBSD port related changes.
        !          7195: 
        !          7196: commit dd8d2acd3c4ed7d7eb56ca9dbb7c9a6d43e2a869
        !          7197: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7198: Date:   Sun May 10 19:23:05 2009 +0200
        !          7199: 
        !          7200:     Fixed bug in cli help.
        !          7201: 
        !          7202: commit e755986a342b9a35cb7dd52e055066b1168aef12
        !          7203: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7204: Date:   Sun May 10 13:15:17 2009 +0200
        !          7205: 
        !          7206:     Fixes in documentation.
        !          7207: 
        !          7208: commit 19e10907c197ef123fafdd8a2783f9eb5f4a6f72
        !          7209: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7210: Date:   Fri May 8 14:37:06 2009 +0200
        !          7211: 
        !          7212:     Fixes communication on netlink sockets
        !          7213:     
        !          7214:     Independent sessions on netlink sockets mixed state
        !          7215:     in some common variables.
        !          7216: 
        !          7217: commit 20e94fb85b7097b57089e3912475ac881fd5528d
        !          7218: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7219: Date:   Wed May 6 22:02:45 2009 +0200
        !          7220: 
        !          7221:     A change in OSPF and RIP interface patterns.
        !          7222:     
        !          7223:     Allows to add more interface patterns to one common 'options'
        !          7224:     section like:
        !          7225:     
        !          7226:     interface "eth3", "eth4" { options common to eth3 and eth4 };
        !          7227:     
        !          7228:     Also removes undocumented and unnecessary ability to specify
        !          7229:     more interface patterns with different 'options' sections:
        !          7230:     
        !          7231:     interface "eth3" { options ... }, "eth4" { options ... };
        !          7232: 
        !          7233: commit 10ab65a8c9eb846655feacd22c29747743a65328
        !          7234: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7235: Date:   Wed May 6 15:18:52 2009 +0200
        !          7236: 
        !          7237:     Fixes one recently introduced IPv6 BGP compatibility problem.
        !          7238: 
        !          7239: commit 2b70f0742e808053f87315433a2a64c749c3ec1d
        !          7240: Author: Ondrej Filip <feela@mamlas.feela.net>
        !          7241: Date:   Mon May 4 18:17:46 2009 +0200
        !          7242: 
        !          7243:     Linux specific TCP-MD5 handling moved to sysdep/linux/sysio.h
        !          7244:     FreeBSD coded added. BSD cannot set BGP passwords itself.
        !          7245:     This has to be done by external command.
        !          7246: 
        !          7247: commit 1bc4b2cc840eb3f48c7e245528ef79c2b0ba50e7
        !          7248: Author: Ondrej Filip <feela@mamlas.feela.net>
        !          7249: Date:   Mon May 4 17:49:56 2009 +0200
        !          7250: 
        !          7251:     Syntax error fix for systems without CONFIG_SELF_CONSCIOUS (KRT_ALLOW_LEARN)
        !          7252: 
        !          7253: commit b7a735ea9d14ceb5c31712fbe122b54f0d7ec6e7
        !          7254: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7255: Date:   Wed Apr 29 22:17:40 2009 +0200
        !          7256: 
        !          7257:     Allow 'third party' BGP updates for originated routes.
        !          7258: 
        !          7259: commit 4827b69ff43661f4f34d437999b0edaac76f7355
        !          7260: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7261: Date:   Wed Apr 29 18:58:24 2009 +0200
        !          7262: 
        !          7263:     Fixes BGP IPv6 link local next hop handling.
        !          7264:     
        !          7265:     When sending 'third party' BGP update, Bird used bogus link local
        !          7266:     addresses instead of addresses it received before.
        !          7267: 
        !          7268: commit ad440a570b37e8674ef35f3a18df48f0eb2579eb
        !          7269: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7270: Date:   Tue Apr 28 18:11:56 2009 +0200
        !          7271: 
        !          7272:     Fixes handling of 'next hop self' and 'source address' configuration
        !          7273:     options.
        !          7274: 
        !          7275: commit a6ee026693a9c24c71dcf846abd32508782e0249
        !          7276: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7277: Date:   Tue Apr 28 11:56:33 2009 +0200
        !          7278: 
        !          7279:     Typo in gendist script.
        !          7280: 
        !          7281: commit f8fbda6fb0c30fdc6e5182679e7bf1eb2fb9c8e9
        !          7282: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7283: Date:   Tue Apr 28 11:53:12 2009 +0200
        !          7284: 
        !          7285:     Small formatting typo in documentation.
        !          7286: 
        !          7287: commit 73841442d916490fa6a9b5967dbb1f797ca3dac1
        !          7288: Author: Ondrej Filip <feela@majklik.network.cz>
        !          7289: Date:   Tue Apr 28 10:20:50 2009 +0200
        !          7290: 
        !          7291:     Gendist script adapted to git.
        !          7292: 
        !          7293: commit 11e0568f8b7a51584c7d0fa60368050dfba17193
        !          7294: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7295: Date:   Tue Apr 28 09:46:59 2009 +0200
        !          7296: 
        !          7297:     NEWS and version update
        !          7298: 
        !          7299: commit 64cf11f544257cae443d899111be1299b1ec0684
        !          7300: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7301: Date:   Thu Apr 23 23:15:07 2009 +0200
        !          7302: 
        !          7303:     Fixes BGPv6 bug - missing endianity conversion.
        !          7304:     
        !          7305:     Also removes code skipping SNPAs
        !          7306:     (obsoleted by newer RFCs, should be ignored).
        !          7307: 
        !          7308: commit f307842ad85396f8186fa049d551b6cde9925484
        !          7309: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7310: Date:   Thu Apr 23 14:44:02 2009 +0200
        !          7311: 
        !          7312:     Fixes BGPv6 bug - mandatory attributes weren't validated;
        !          7313: 
        !          7314: commit 8f0c887a52fb19cee14725f66d435cebf2010390
        !          7315: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7316: Date:   Thu Apr 23 14:16:05 2009 +0200
        !          7317: 
        !          7318:     Fixe bug in BGPv6 that causes to send invalid network withdraws.
        !          7319: 
        !          7320: commit b9539e78d8ebfa9e13d7b61ec9278b76abefdac3
        !          7321: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7322: Date:   Thu Apr 23 12:36:24 2009 +0200
        !          7323: 
        !          7324:     Fixes bug in BGPv6 causing crash by checking missing attributes.
        !          7325: 
        !          7326: commit e366625c0ef21d02caf2dab1935862ace1e10fed
        !          7327: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7328: Date:   Fri Apr 17 18:43:11 2009 +0200
        !          7329: 
        !          7330:     Fixes mixed-up messages on netlink socket
        !          7331:     
        !          7332:     Under specific circumstances there might be two mixed-up
        !          7333:     netlink sessions (one for scan, the other for route change
        !          7334:     request). This patch separates netlink scans and requests
        !          7335:     to two fds (and seq counters).
        !          7336:     
        !          7337:     This should fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=428865
        !          7338: 
        !          7339: commit c8a6b9a3d199444fd45879dd5cc5ececd9624822
        !          7340: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7341: Date:   Fri Apr 17 01:48:36 2009 +0200
        !          7342: 
        !          7343:     Rewrite of buggy AS path matching.
        !          7344:     
        !          7345:     Old AS path maching supposes thath AS number appears
        !          7346:     only once in AS path, but that is not true. It also
        !          7347:     contains some bugs related to AS path sets.
        !          7348:     
        !          7349:     New code does not use any assumptions about semantic
        !          7350:     structure of AS path. It is asymptotically slower than
        !          7351:     the old code, but on real paths it is not significant.
        !          7352:     
        !          7353:     It also allows '?' for matching one arbitrary AS number.
        !          7354: 
        !          7355: commit 024c310b537abc3ddbac3054de71fd759d422824
        !          7356: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7357: Date:   Wed Apr 8 20:15:01 2009 +0200
        !          7358: 
        !          7359:     Fixes broken cryptographic authentication in OSPF
        !          7360:     
        !          7361:     Cryptographic authentication in OSPF is defective by
        !          7362:     design - there might be several packets independently
        !          7363:     sent to the network (for example HELLO, LSUPD and LSACK)
        !          7364:     where they might be reordered and that causes crypt.
        !          7365:     sequence number error.
        !          7366:     
        !          7367:     That can be workarounded by not incresing sequence number
        !          7368:     too often. Now we update it only when last packet was sent
        !          7369:     before at least one second. This can constitute a risk of
        !          7370:     replay attacks, but RFC supposes something similar (like time
        !          7371:     in seconds used as CSN).
        !          7372: 
        !          7373: commit b722fe7ebdf7e11f097ed0a85302769de2ac10fb
        !          7374: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7375: Date:   Mon Apr 6 16:53:06 2009 +0200
        !          7376: 
        !          7377:     Fixes bug in OSPF packet retransmission.
        !          7378:     
        !          7379:     If a DBDES packet from a master to a slave is lost, then the old code
        !          7380:     does not retransmit it and instead send a next one with the same
        !          7381:     sequence number. That leads to silent desynchronization of LSA
        !          7382:     databases.
        !          7383: 
        !          7384: commit 8298d780be5a5b00c31c10a37a5f3a1353d6e234
        !          7385: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7386: Date:   Mon Apr 6 16:17:47 2009 +0200
        !          7387: 
        !          7388:     Better OSPF packet tracing log messages.
        !          7389:     
        !          7390:     Replaces old OSPF packet tracing messages with
        !          7391:     uniform messages with packet dumps.
        !          7392: 
        !          7393: commit bcb81251b4e37b96743aa1cdf790f30ef41a465e
        !          7394: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7395: Date:   Tue Mar 31 21:30:58 2009 +0200
        !          7396: 
        !          7397:     Documentation update
        !          7398: 
        !          7399: commit c60cdd8c3926a1b3d9156327e8aae64986084ff4
        !          7400: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7401: Date:   Tue Mar 31 21:17:00 2009 +0200
        !          7402: 
        !          7403:     Cleanup changes
        !          7404: 
        !          7405: commit b1a597e0c3821c791a41278454e74261cf1b95fb
        !          7406: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7407: Date:   Tue Mar 31 12:55:57 2009 +0200
        !          7408: 
        !          7409:     Reimplementation of prefix sets.
        !          7410:     
        !          7411:     Prefix sets were broken beyond any repair and have to be reimplemented.
        !          7412:     They are reimplemented using a trie with bitmasks in nodes.
        !          7413:     There is also change in the interpretation of minus prefix pattern,
        !          7414:     but the old interpretation was already inconsistent with
        !          7415:     the documentation and broken.
        !          7416:     
        !          7417:     There is also some bugfixes in filter code related to set variables.
        !          7418: 
        !          7419: commit 1733d080c9f60de69e843f22e138f27240a8176c
        !          7420: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7421: Date:   Wed Mar 25 19:15:26 2009 +0100
        !          7422: 
        !          7423:     Minor text updates.
        !          7424: 
        !          7425: commit 40b65f947aed065c03c5f2d5c66c6c794a5aadda
        !          7426: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7427: Date:   Wed Mar 25 19:05:52 2009 +0100
        !          7428: 
        !          7429:     Fixes bug in pipe route filtering.
        !          7430:     
        !          7431:     Routes comming through pipe from primary to secondary table were
        !          7432:     filtered by both EXPORT and IMPORT filters, but they should be
        !          7433:     only filtered by EXPORT filters.
        !          7434: 
        !          7435: commit 4d7d0cb137b700a17751b5a565539357304f9080
        !          7436: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7437: Date:   Wed Mar 25 18:29:17 2009 +0100
        !          7438: 
        !          7439:     Fixes minor bug in pipe.
        !          7440:     
        !          7441:     Missing macro leads to not calling some of protocol's
        !          7442:     callbacks.
        !          7443: 
        !          7444: commit 3d574679b8cceb1362bb973e7dfe9981fc93b79b
        !          7445: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7446: Date:   Fri Mar 20 12:58:21 2009 +0100
        !          7447: 
        !          7448:     Fix bugs related to kernel table synchronization.
        !          7449:     
        !          7450:     KRF_INSTALLED flag was not cleared during reconfiguration
        !          7451:     that lead to not removing routes during reconfigure when
        !          7452:     export rules changed.
        !          7453:     
        !          7454:     We also should not try to remove routes we didi not installed,
        !          7455:     on Linux this leads to warnings (as kernel checks route source
        !          7456:     field and do not allow to remove non-bird routes) but we should
        !          7457:     not rely on it.
        !          7458: 
        !          7459: commit 48d79d521cc13f11eafa129a4216512403b83115
        !          7460: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7461: Date:   Wed Mar 18 20:30:21 2009 +0100
        !          7462: 
        !          7463:     Better handling of AS4 optional attribute errors
        !          7464:     
        !          7465:     AS4 optional attribute errors were handled by session
        !          7466:     drop (according to BGP RFC). This patch implements
        !          7467:     error handling according to new BGP AS4 draft (*)
        !          7468:      - ignoring invalid AS4 optional attributes.
        !          7469:     
        !          7470:     (*) http://www.ietf.org/internet-drafts/draft-chen-rfc4893bis-02.txt
        !          7471: 
        !          7472: commit eb875dbbe1afaceaf3645384f2a35c98b4c5b5f6
        !          7473: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7474: Date:   Sat Mar 14 22:18:49 2009 +0100
        !          7475: 
        !          7476:     Documentation fixes.
        !          7477: 
        !          7478: commit ad586334d51a0aef9de868e9586198e402576599
        !          7479: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7480: Date:   Sat Mar 14 14:01:39 2009 +0100
        !          7481: 
        !          7482:     Path related documentation update
        !          7483: 
        !          7484: commit cf1860349182503523975fb8084d514407a75fb4
        !          7485: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7486: Date:   Sat Mar 14 12:43:10 2009 +0100
        !          7487: 
        !          7488:     New syntax for bgp_path
        !          7489: 
        !          7490: commit f16ad72ed76c398f081b97b09d56f4b199822464
        !          7491: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7492: Date:   Fri Mar 13 14:19:03 2009 +0100
        !          7493: 
        !          7494:     Update NEWS
        !          7495: 
        !          7496: commit e8ba557c7f66aaf02dd24f554fba8b3607c2b3d5
        !          7497: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7498: Date:   Fri Mar 13 12:49:44 2009 +0100
        !          7499: 
        !          7500:     Update capability handshake options
        !          7501:     
        !          7502:     Add 'capabilities' option, change default behavior to advertise ipv4,
        !          7503:     add some checks and ignore incoming capabilities when capabilities
        !          7504:     are disabled.
        !          7505: 
        !          7506: commit e3299ab14877de6ce688050e550c44cd4e85b212
        !          7507: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7508: Date:   Thu Mar 5 11:52:47 2009 +0100
        !          7509: 
        !          7510:     Added Cisco and Quagga capability workaround option.
        !          7511: 
        !          7512: commit 82a79586e5810af2f0338cb4c5982e085b5c5292
        !          7513: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7514: Date:   Fri Feb 27 15:24:46 2009 +0100
        !          7515: 
        !          7516:     Better handling of too long attributes
        !          7517:     
        !          7518:     This patch extends the length for attributes from 1024 to 2048
        !          7519:     (because both AS_PATH and AS4_PATH attributes take 2+4 B per AS).
        !          7520:     
        !          7521:     If there is not enough space for attributes, Bird skips that
        !          7522:     route group. Old behavior (skipping remaining attributes)
        !          7523:     leads to skipping required attributes and session drop.
        !          7524: 
        !          7525: commit cb5303927188de9504a6e18aedec299956a22b6f
        !          7526: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7527: Date:   Thu Feb 26 14:23:54 2009 +0100
        !          7528: 
        !          7529:     Rate limit for most abundant log messages
        !          7530: 
        !          7531: commit a9dc5e1ef2fd08c53bceb54690f6dac83ddf0c81
        !          7532: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7533: Date:   Wed Feb 25 16:28:21 2009 +0100
        !          7534: 
        !          7535:     Fixes another bug in packet retransmissions.
        !          7536:     
        !          7537:     When slave was in full state, it didn't retransmit
        !          7538:     lost packets. That leads to OSPF connection locked
        !          7539:     in states loading-full.
        !          7540: 
        !          7541: commit 82ba9032be9cf1210ffffd01245b99ce5d9b6b1b
        !          7542: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7543: Date:   Sat Feb 21 22:46:50 2009 +0100
        !          7544: 
        !          7545:     Fixes crash during some expressions
        !          7546:     
        !          7547:     Bird crashed when 'bgp_path.len' was used for routes that does
        !          7548:     not came from BGP.
        !          7549: 
        !          7550: commit cd17c651a60c30837b683f8ca6e07139dc57d882
        !          7551: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7552: Date:   Sat Feb 21 17:47:56 2009 +0100
        !          7553: 
        !          7554:     Add format for BGP_AGGREGATOR attribute
        !          7555: 
        !          7556: commit 25cb9f1d0165df5e86956021cc3e6ee87730ef3b
        !          7557: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7558: Date:   Sat Feb 21 16:20:45 2009 +0100
        !          7559: 
        !          7560:     Fix bug in empty bgp mask handling
        !          7561: 
        !          7562: commit e312bb4014d5b4ccc706c737f4362ac6ca1046ee
        !          7563: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7564: Date:   Thu Feb 12 21:53:44 2009 +0100
        !          7565: 
        !          7566:     Documentation update
        !          7567: 
        !          7568: commit d901db3fb72860d4669793bfb1af3a9aa7a27b91
        !          7569: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7570: Date:   Thu Feb 12 19:46:51 2009 +0100
        !          7571: 
        !          7572:     Fixes bug in packet retransmissions.
        !          7573:     
        !          7574:     When packet was lost during dbdes exchange, slave did not retransmit
        !          7575:     it. That leads to OSPF connection locked in states exchange-exstart.
        !          7576: 
        !          7577: commit b807ef9a15db2a5db14f68011923975dfc472f49
        !          7578: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7579: Date:   Thu Feb 12 13:43:06 2009 +0100
        !          7580: 
        !          7581:     Fixes bug in protocol state machine
        !          7582:     
        !          7583:     Scheduling flush must be done before resource pool freeing as it
        !          7584:     frees some allocated list nodes from a global list.
        !          7585: 
        !          7586: commit 80ac7dc18145baa04a05eee3a69d325087cb9472
        !          7587: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7588: Date:   Thu Feb 12 13:41:34 2009 +0100
        !          7589: 
        !          7590:     Do not use ? for client-side help when in new BGP path syntax
        !          7591: 
        !          7592: commit f9491630390da4de138961354433635729668b7d
        !          7593: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7594: Date:   Tue Jan 27 17:35:00 2009 +0100
        !          7595: 
        !          7596:     New syntax for bgp_path
        !          7597: 
        !          7598: commit 11ec0f1a5171c556dec09e90c20af12f45a6d902
        !          7599: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7600: Date:   Fri Jan 16 12:49:51 2009 +0100
        !          7601: 
        !          7602:     Fixes compilation on older systems.
        !          7603:     
        !          7604:     Older kernel headers (the ones in Debian Sarge) does not
        !          7605:     have __kernel_sockaddr_storage .
        !          7606: 
        !          7607: commit e3c460bc9034b30743dd861ddbdbc026cd2997b5
        !          7608: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7609: Date:   Fri Jan 16 12:08:07 2009 +0100
        !          7610: 
        !          7611:     Fixes some past config grammar update that caused password related regression.
        !          7612: 
        !          7613: commit 3b108f18e8c151d9c570fd418fc822c1e9ad5e79
        !          7614: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7615: Date:   Fri Jan 16 10:58:52 2009 +0100
        !          7616: 
        !          7617:     One null-pointer dereference bugfix hidden in whitespace changes
        !          7618: 
        !          7619: commit 0dd7ccc7669834495c637f5055f2cd783367f8f9
        !          7620: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7621: Date:   Tue Jan 13 19:25:27 2009 +0100
        !          7622: 
        !          7623:     Fix typo.
        !          7624: 
        !          7625: commit 0844b65d13d7a5928d425e9adaf28de63550a542
        !          7626: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7627: Date:   Tue Jan 13 19:15:49 2009 +0100
        !          7628: 
        !          7629:     Fix OSPF protocol error recovery behavior.
        !          7630:     
        !          7631:     When OSPF neighbor state drops down to EXSTART,
        !          7632:     clear LSA request and retransmit lists, as specified
        !          7633:     by RFC. I hope that this will prevent oscillations
        !          7634:     between EXSTART and LOADING states, which sometimes
        !          7635:     happened.
        !          7636:     
        !          7637:     It also contains related fix from Yury Shevchuk that
        !          7638:     properly resets DB summary list iterator.
        !          7639: 
        !          7640: commit f15cb99c79034fbd98d90b104bd6267e6c2fec81
        !          7641: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7642: Date:   Mon Jan 12 23:42:51 2009 +0100
        !          7643: 
        !          7644:     Add check detecting packet overwrite in TX buffer.
        !          7645: 
        !          7646: commit 02a9eeeb8547b3f0940a0295df8a78ce2181ec30
        !          7647: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7648: Date:   Mon Jan 12 14:40:21 2009 +0100
        !          7649: 
        !          7650:     Slist update
        !          7651: 
        !          7652: commit 23d6702952841184d364a5520dbe6be7a1a5d14b
        !          7653: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7654: Date:   Sun Jan 11 12:14:27 2009 +0100
        !          7655: 
        !          7656:     Some fixes and update of OSPF debug messages
        !          7657: 
        !          7658: commit 0e9617e400d54f6f5119a24e7380b7719c2fc3dd
        !          7659: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7660: Date:   Sun Jan 11 10:51:54 2009 +0100
        !          7661: 
        !          7662:     Move check for NULL before usage of variable.
        !          7663: 
        !          7664: commit f20907adf60960f63b797f4423b4790e8591e99c
        !          7665: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7666: Date:   Sun Jan 11 10:47:41 2009 +0100
        !          7667: 
        !          7668:     Fixes bug in OSPF
        !          7669:     
        !          7670:     Checksum was not recalculated when LSA was changed and
        !          7671:     packets with bad checksum were sent.
        !          7672: 
        !          7673: commit 330aecead80140b0016d6de56dad1d193be774c8
        !          7674: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7675: Date:   Thu Dec 25 17:49:57 2008 +0100
        !          7676: 
        !          7677:     Bugfix in interpret
        !          7678:     
        !          7679:     Missing cases in filter code interpret leads to crash
        !          7680:     when  bgp_next_hop attr was queried.
        !          7681: 
        !          7682: commit 083c43e22efb5353a258827a9e6f2f995cfe822d
        !          7683: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7684: Date:   Thu Dec 25 11:55:27 2008 +0100
        !          7685: 
        !          7686:     fixes some 64-bit related bugs.
        !          7687:     
        !          7688:     Filter code used 'aux' integer field of 'symbol' struct to store ptr
        !          7689:     to next symbol and both 'aux2' and 'def' fields for value.
        !          7690:     Changed to just 'def' for value and 'aux2' for ptr to next symbol.
        !          7691:     Also another minor bugfix.
        !          7692: 
        !          7693: commit 165a62272720071ca5e9ed1badfddc78b7a7af10
        !          7694: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7695: Date:   Wed Dec 24 17:24:41 2008 +0100
        !          7696: 
        !          7697:     Adds support for fallback to capabilityless BGP connect
        !          7698:     
        !          7699:     When capability related error is received, next connect will be
        !          7700:     without capabilities. Also cease error subcodes descriptions
        !          7701:     (according to [RFC4486]) are added.
        !          7702: 
        !          7703: commit 591211557f4106ed9e877fa9b80eb56ffb99fef3
        !          7704: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7705: Date:   Wed Dec 24 12:18:10 2008 +0100
        !          7706: 
        !          7707:     Fixes bug related to reconfiguration of BGP.
        !          7708:     
        !          7709:     BGP keeps its copy of configuration ptr and didn't update it during
        !          7710:     reconfiguration. But old configuration is freed during reconfiguration.
        !          7711:     That leads to unnecessary reset of BGP connection during reconfiguration
        !          7712:     (old conf is corrupted and therefore different) and possibly other strange
        !          7713:     behavior.
        !          7714: 
        !          7715: commit 11b32d911715cbfb3ce4c87685b1388e4b0de1c4
        !          7716: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7717: Date:   Fri Dec 19 01:34:39 2008 +0100
        !          7718: 
        !          7719:     Major changes to BGP
        !          7720:     
        !          7721:     Fixes two race conditions causing crash of Bird, several unhandled
        !          7722:     cases during BGP initialization, and some other bugs. Also changes
        !          7723:     handling of startup delay to be more useful and implement
        !          7724:     reporting of last error in 'show protocols' command.
        !          7725: 
        !          7726: commit b933281ed5efb9ad9375c3ea41ee2412b9f89c15
        !          7727: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7728: Date:   Thu Dec 18 23:26:08 2008 +0100
        !          7729: 
        !          7730:     Fixes nasty bug in event processing.
        !          7731:     
        !          7732:     WALK_LIST_DELSAFE (in ev_run_list) is not safe with regard
        !          7733:     to deletion of next node. When some events are rescheduled
        !          7734:     during event execution, it may lead to deletion of next
        !          7735:     node and some events are skipped. Such skipped nodes remain
        !          7736:     in temporary list on stack and the last of them contains
        !          7737:     'next' pointer to stack area. When this event is later
        !          7738:     scheduled, it damages stack area trying to remove it from
        !          7739:     the list, which leads to random crashes with funny
        !          7740:     backtraces :-) .
        !          7741: 
        !          7742: commit 35164c501722f07beef21178b19090fa9d1930cd
        !          7743: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7744: Date:   Fri Dec 12 17:48:03 2008 +0100
        !          7745: 
        !          7746:     rx_hook may be cleaned in some callback so we check it before
        !          7747:     executing sk_read().
        !          7748: 
        !          7749: commit d6a836f8d673a117fd19136d24e98fa9bbc4b27e
        !          7750: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7751: Date:   Mon Dec 8 12:24:55 2008 +0100
        !          7752: 
        !          7753:     Fixes core state machine.
        !          7754:     
        !          7755:     The core state machine was broken - it didn't free resources
        !          7756:     in START -> DOWN transition and might freed resources after
        !          7757:     UP -> STOP transition before protocol turned down. It leads
        !          7758:     to deadlock on olock acquisition when lock was not freed
        !          7759:     during previous stop.
        !          7760:     
        !          7761:     The current behavior is that resources, allocated during
        !          7762:     DOWN -> * transition, are freed in * -> DOWN transition,
        !          7763:     and flushing (scheduled in UP -> *) just counteract
        !          7764:     feeding (scheduled in * -> UP). Protocol fell down
        !          7765:     when both flushing is done (if needed) and protocol
        !          7766:     reports DOWN.
        !          7767:     
        !          7768:     BTW, is thera a reason why neighbour cache item acquired
        !          7769:     by protocol is not tracked by resource mechanism?
        !          7770: 
        !          7771: commit fbde6c39084637c2f3f4d31261a44dbf367958d1
        !          7772: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7773: Date:   Sat Nov 22 01:12:22 2008 +0100
        !          7774: 
        !          7775:     Fixes race condition leading to memory corruption and crash.
        !          7776:     
        !          7777:     When protocol started, feeding was scheduled. If protocol
        !          7778:     got down before feeding was executed, then function
        !          7779:     responsible for connecting protocol to kernel routing
        !          7780:     tables was called after the function responsible for
        !          7781:     disconnecting, then resource pool of protocol was freed,
        !          7782:     but freed linked list structures remains in the list.
        !          7783: 
        !          7784: commit 35f983f88912eadb1e0b25d800693256cbee33ce
        !          7785: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7786: Date:   Fri Nov 21 18:17:03 2008 +0100
        !          7787: 
        !          7788:     Fixes segfault with multiple routing tables.
        !          7789: 
        !          7790: commit 661ec5db7fa047d883997d0b2cbdd71659f80777
        !          7791: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7792: Date:   Fri Nov 21 13:05:12 2008 +0100
        !          7793: 
        !          7794:     I am not sure whether this is proper fix for a problem that birdc
        !          7795:     shows only parts of larger outputs (for example 'show route all').
        !          7796:     It seems that birdc reads (from bird) and writes (to stdout)
        !          7797:     everything but during execution of some readline code some already
        !          7798:     written output disappeared (although it is fflush()ed and
        !          7799:     tcdrain()ed).
        !          7800:     
        !          7801:     As birdc reads from stdin when select said there are some data,
        !          7802:     O_NONBLOCK for stdin is unnecessary and when it is removed,
        !          7803:     i didn't notified this problem.
        !          7804: 
        !          7805: commit eac21b46f7cf0f704c976f2ffdb289837ad100cc
        !          7806: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7807: Date:   Fri Nov 21 13:01:05 2008 +0100
        !          7808: 
        !          7809:     This is bug, isn't it?
        !          7810: 
        !          7811: commit e00115904ff7c1854957117d52a6db484050965b
        !          7812: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7813: Date:   Fri Nov 21 12:59:03 2008 +0100
        !          7814: 
        !          7815:     birdc died during terminal resize because of unhandled EINTR
        !          7816:     in select loop.
        !          7817: 
        !          7818: commit 44711e0ca2658da080e04ce7e208a78c9b20e927
        !          7819: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7820: Date:   Sun Nov 16 22:16:04 2008 +0100
        !          7821: 
        !          7822:     Fix some bugs in filter interpret.
        !          7823: 
        !          7824: commit ebacaf6f7b4418dd283fd3e39b84e48e331a6a66
        !          7825: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7826: Date:   Sun Nov 16 11:35:30 2008 +0100
        !          7827: 
        !          7828:     Fix bug in AS path matching
        !          7829: 
        !          7830: commit 258d0ad4ca550895a1ef20fc478c0160be5374f2
        !          7831: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7832: Date:   Fri Nov 14 23:03:15 2008 +0100
        !          7833: 
        !          7834:     Fixes feeding of new protocol, only preferred routes are announced.
        !          7835: 
        !          7836: commit 3f670371cfeef155256a8a77ac5581accee13b05
        !          7837: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7838: Date:   Fri Nov 14 21:13:56 2008 +0100
        !          7839: 
        !          7840:     OSPF routes appeared with random value of ospf_tag attribute.
        !          7841:     This patch fixes it.
        !          7842: 
        !          7843: commit e29fa06ece1bf9f9a47f224db797df940556136e
        !          7844: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7845: Date:   Fri Nov 14 14:50:37 2008 +0100
        !          7846: 
        !          7847:     New read-only route attribute 'proto' added. It returns a string
        !          7848:     representing a name of the protocol that originated the route.
        !          7849:     Strings can be compared using = or matched using ~. Routes can
        !          7850:     be filtered, for example:
        !          7851:     
        !          7852:     show route where proto ~ "bgp1*"
        !          7853: 
        !          7854: commit aebe06b40ce730a88cc8a3121be1944b3ddf5765
        !          7855: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7856: Date:   Sat Nov 8 23:33:22 2008 +0100
        !          7857: 
        !          7858:     Proper format functions for ORIGINATOR_ID, CLUSTER_LIST
        !          7859: 
        !          7860: commit b21f68b4cd4794c84e5f0eb2c34204c87ccf0e9a
        !          7861: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7862: Date:   Sat Nov 8 17:24:23 2008 +0100
        !          7863: 
        !          7864:     Fix bugs in OSPF MD5 authentication. First bug is that default
        !          7865:     values for MD5 password ID changed during reconfigure, Second
        !          7866:     bug is that BIRD chooses password in first-fit manner, but RFC
        !          7867:     says that it should use the one with the latest generate-from.
        !          7868:     
        !          7869:     It also modifies the syntax for multiple passwords.
        !          7870:     Now it is possible to just add more 'password' statements
        !          7871:     to the interface section and it is not needed to use
        !          7872:     'passwords' section. Old syntax can be used too.
        !          7873: 
        !          7874: commit 08cca48a149bd6d5210659daf220b6dae87a43b3
        !          7875: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7876: Date:   Thu Nov 6 19:13:55 2008 +0100
        !          7877: 
        !          7878:     Uprava configure
        !          7879: 
        !          7880: commit fd91ae3325adfdc83f95a284caa746c000ad7e30
        !          7881: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7882: Date:   Wed Nov 5 22:36:49 2008 +0100
        !          7883: 
        !          7884:     Fix problem with local time changes.
        !          7885: 
        !          7886: commit 1389f3699fc643dac6fd4d2f19fb59da3624a2fa
        !          7887: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7888: Date:   Wed Nov 5 21:39:04 2008 +0100
        !          7889: 
        !          7890:     Fixes bugs in IPv6 code caused by recent commits.
        !          7891: 
        !          7892: commit baa9ef18c62612bd91a8362ef20427046105c113
        !          7893: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7894: Date:   Tue Nov 4 14:52:47 2008 +0100
        !          7895: 
        !          7896:     These warnings are so abundant (because char * / byte * mix) that they
        !          7897:     are completely useless.
        !          7898: 
        !          7899: commit 6c8102e3a8bf8ae4c15d383f0bd31294dd2ef76e
        !          7900: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7901: Date:   Tue Nov 4 14:51:45 2008 +0100
        !          7902: 
        !          7903:     Ignore messages related to wireless extensions.
        !          7904: 
        !          7905: commit a39b165e45fbfea053fd0237e0d5a3ebdcf40f78
        !          7906: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7907: Date:   Sat Nov 1 16:58:40 2008 +0100
        !          7908: 
        !          7909:     Multihop BGP was completely broken, because listening socket has always
        !          7910:     ttl 1.
        !          7911: 
        !          7912: commit a92fe607173b52cf28256f00399953c623788c35
        !          7913: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7914: Date:   Sat Nov 1 12:55:43 2008 +0100
        !          7915: 
        !          7916:     Implementation of route server.
        !          7917: 
        !          7918: commit e16466b379be2b94c84b351a69e63b6de5be9dc5
        !          7919: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7920: Date:   Wed Oct 29 14:16:34 2008 +0100
        !          7921: 
        !          7922:     Fix race condition that breaks BGP connections after reconfigure.
        !          7923:     
        !          7924:     RFC says that only connections in OpenConfirm and Established state
        !          7925:     should participate in connection collision detection.
        !          7926:     
        !          7927:     The current implementation leads to race condition when both sides
        !          7928:     are trying to connect at the almost same time, then both sides
        !          7929:     receive OPEN message by different connections at the almost same
        !          7930:     time and close the other connection. Both connections are
        !          7931:     closed and the both sides end in  start/idle or start/active
        !          7932:     state.
        !          7933: 
        !          7934: commit f0ad56f4414fef2781339cfa41704f7bf4c61ad2
        !          7935: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7936: Date:   Tue Oct 28 16:10:42 2008 +0100
        !          7937: 
        !          7938:     Fixes some sloppiness of commit a3b70dc499b64f41aa776b5b4afee5c7bfb8dfa6.
        !          7939: 
        !          7940: commit a98fbf0f12b5e83e25afa0f585ca6a4d4ac5f6bf
        !          7941: Merge: a3b70dc 1567ede
        !          7942: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7943: Date:   Mon Oct 27 00:20:22 2008 +0100
        !          7944: 
        !          7945:     Merge branch 'dev' into out
        !          7946: 
        !          7947: commit a3b70dc499b64f41aa776b5b4afee5c7bfb8dfa6
        !          7948: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7949: Date:   Mon Oct 27 00:03:30 2008 +0100
        !          7950: 
        !          7951:     Two new informative CLI commands for OSPF.
        !          7952:     
        !          7953:     Two new CLI commands for OSPF giving nice informative (and still machine
        !          7954:     parsable) representation of OSPF network graph (based on datas from the
        !          7955:     LSA database).
        !          7956:     
        !          7957:     The first command (show ospf topology) shows routers, networks and stub
        !          7958:     networks, The second command (show ospf state) shows also external
        !          7959:     routes and area-external networks and routers propagated by given area
        !          7960:     boundary router.
        !          7961: 
        !          7962: commit 68fa95cfec78f1bfe790949bf747d578ad583ec2
        !          7963: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7964: Date:   Sun Oct 26 23:55:38 2008 +0100
        !          7965: 
        !          7966:     Check of socket name length
        !          7967: 
        !          7968: commit 52586ccdf17cd9f34f767718d97f8a258da5efdb
        !          7969: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7970: Date:   Sun Oct 26 23:53:05 2008 +0100
        !          7971: 
        !          7972:     Missing newline.
        !          7973: 
        !          7974: commit a97122a3caff40bf35e6019a9b60d5e5ef35a84f
        !          7975: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7976: Date:   Sun Oct 26 23:43:13 2008 +0100
        !          7977: 
        !          7978:     Bugfix in LSA origination for PTP OSPF links.
        !          7979:     
        !          7980:     The code generating LSAs for PTP OSPF links is buggy. The old behavior
        !          7981:     is that it generates PTP link if there is a full/ptp neighbor and stub
        !          7982:     link if there isn't. According to RFC 2328, the correct behavior is to
        !          7983:     generate stub link in both cases (in the first case together with PTP
        !          7984:     link).
        !          7985:     
        !          7986:     And because of buggy detection of unnumbered networks, for numbered
        !          7987:     networks the code creates stub links with 0.0.0.0/32.
        !          7988: 
        !          7989: commit 4c94a6c7e78fb75a9952d891db9d47605f8a26e1
        !          7990: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7991: Date:   Sun Oct 26 23:23:09 2008 +0100
        !          7992: 
        !          7993:     Do not repeat 'Invalid broadcast address' error message.
        !          7994:     
        !          7995:     'Invalid broadcast address' error is reported only once for
        !          7996:     an interface and not during every interface scan.
        !          7997: 
        !          7998: commit d7f3b306495327e76aa9ae381c6c7575104e0e24
        !          7999: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8000: Date:   Sun Oct 26 23:20:50 2008 +0100
        !          8001: 
        !          8002:     Ignore unknown netlink events.
        !          8003:     
        !          8004:     Bird sometimes reported 'bird: nl_parse_link: Malformed message received'.
        !          8005:     The cause is that bird asynchronously received netlink packet from
        !          8006:     wireless driver about some wireless event on its link layer. In that
        !          8007:     case bird shouldn't complain.
        !          8008: 
        !          8009: commit 1567edea8d3da7da08092eef15bb3bd4544c6464
        !          8010: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8011: Date:   Sun Oct 26 23:09:46 2008 +0100
        !          8012: 
        !          8013:     Bugfix for routing table breaking bug.
        !          8014:     
        !          8015:     Here is a patch fixing a bug that causes breakage of a local routing
        !          8016:     table during shutdown of Bird. The problem was caused by shutdown
        !          8017:     of 'device' protocol before shutdown of 'kernel' protocol.  When
        !          8018:     'device' protocol went down, the route (with local network prefix)
        !          8019:     From different protocol (BGP or OSPF) became preferred and installed
        !          8020:     to the kernel routing table. Such routes were broken (like
        !          8021:     192.168.1.0/24 via 192.168.1.2). I think it is also the cause
        !          8022:     of problem reported by Martin Kraus.
        !          8023:     
        !          8024:     The patch disables updating of kernel routing table during shutdown of
        !          8025:     Bird. I am not sure whether this is the best way to fix it, I would
        !          8026:     prefer to forbid 'kernel' protocol to overwrite routes with
        !          8027:     'proto kernel'.
        !          8028:     
        !          8029:     The patch also fixes a problem that during shutdown sometimes routes
        !          8030:     created by Bird remained in the kernel routing table.
        !          8031: 
        !          8032: commit b6bf284a905412cfe107b4967e55649e6194187e
        !          8033: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8034: Date:   Sun Oct 26 22:59:21 2008 +0100
        !          8035: 
        !          8036:     Bugfixes in MULIT_EXIT_DISC attribute handling.
        !          8037:     
        !          8038:      - Old MED handling was completely different from behavior
        !          8039:        specified in RFCs - for example they havn't been propagated
        !          8040:        to neighboring areas.
        !          8041:     
        !          8042:      - Update tie-breaking according to RFC 4271.
        !          8043:     
        !          8044:      - Change default value for 'default bgp_med' configuration
        !          8045:        option according to RFC 4271.
        !          8046: 
        !          8047: commit 4819c3e17ac22c6810ee80261ac3bffb5127e39d
        !          8048: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8049: Date:   Sun Oct 26 22:54:23 2008 +0100
        !          8050: 
        !          8051:     Bugfix in LOCAL_PREF attribute handling.
        !          8052: 
        !          8053: commit 1adc17b4b57267e301fcd67309494bbbddbfa718
        !          8054: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8055: Date:   Sun Oct 26 22:52:21 2008 +0100
        !          8056: 
        !          8057:     Update of a documentation - new options for AS4, MD5 auth and route reflection.
        !          8058: 
        !          8059: commit ba5ed6f3e4eb4b2899cdad08e2edb99063bfbcee
        !          8060: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8061: Date:   Sun Oct 26 22:48:02 2008 +0100
        !          8062: 
        !          8063:     Implementation of an option for disabling AS4 support per BGP instance.
        !          8064: 
        !          8065: commit 4847a894bf7d4852325c3f1ea4bb4890054a1f66
        !          8066: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8067: Date:   Sun Oct 26 22:45:09 2008 +0100
        !          8068: 
        !          8069:     Implementation of route reflection for BGP
        !          8070: 
        !          8071: commit d51aa2819005a03e4cfb6f62333be6ccadfb3c06
        !          8072: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8073: Date:   Sun Oct 26 22:42:39 2008 +0100
        !          8074: 
        !          8075:     Implementation of MD5 authentication of BGP sessions.
        !          8076: 
        !          8077: commit 11cb620266035ffbe17b21c4a174380cb8b6a521
        !          8078: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8079: Date:   Sun Oct 26 22:36:08 2008 +0100
        !          8080: 
        !          8081:     Implementation of 4B ASN support for BGP
        !          8082: 
        !          8083: commit 44cb1449edec6a80e063981a955e8025ee87ea65
        !          8084: Author: Martin Mares <mj@ucw.cz>
        !          8085: Date:   Sun Oct 26 14:14:37 2008 +0100
        !          8086: 
        !          8087:     The top-level Makefile is a generated file, so remove it from the repo.
        !          8088: 
        !          8089: commit c94d56cb04b15dc32f54e8e39b877a92d7bda8c5
        !          8090: Author: Martin Mares <mj@ucw.cz>
        !          8091: Date:   Sun Oct 26 14:11:06 2008 +0100
        !          8092: 
        !          8093:     Updated version number in the README.
        !          8094: 
        !          8095: commit 226cb2bc3ff573c4c027d525a96aa2b10a28b817
        !          8096: Author: Ondrej Filip <feela@network.cz>
        !          8097: Date:   Mon Aug 25 12:51:06 2008 +0000
        !          8098: 
        !          8099:     Expand ospf dump information.
        !          8100: 
        !          8101: commit 97c6fa02e089e3fb057185fe5937297afc5a11ec
        !          8102: Author: Ondrej Filip <feela@network.cz>
        !          8103: Date:   Mon Aug 25 12:06:20 2008 +0000
        !          8104: 
        !          8105:     Previous patch reverted. :-(
        !          8106: 
        !          8107: commit 73e53eb555a58846c4d2db6464d41d1761a60169
        !          8108: Author: Ondrej Filip <feela@network.cz>
        !          8109: Date:   Mon Aug 25 12:00:55 2008 +0000
        !          8110: 
        !          8111:     Endianity problem in debug message fix.
        !          8112: 
        !          8113: commit 030e3a79cb9376fa85597fdb8243299cd843ca3a
        !          8114: Author: Ondrej Filip <feela@network.cz>
        !          8115: Date:   Mon Aug 25 11:57:46 2008 +0000
        !          8116: 
        !          8117:     Buffer overflow fix.
        !          8118: 
        !          8119: commit 057021df0d699f9c21368ab0fa51fe821cc9a544
        !          8120: Author: Martin Mares <mj@ucw.cz>
        !          8121: Date:   Mon Aug 25 11:19:49 2008 +0000
        !          8122: 
        !          8123:     Fix behavior of ipa_opposite().
        !          8124:     
        !          8125:     It was giving wrong results on /30 networks.
        !          8126: 
        !          8127: commit 6c36c4b66be5c67a8d5cfa9578aa5a85ebebab6d
        !          8128: Author: Martin Mares <mj@ucw.cz>
        !          8129: Date:   Mon Aug 25 11:14:14 2008 +0000
        !          8130: 
        !          8131:     Updated config.{guess,sub} to a recent version.
        !          8132:     
        !          8133:     Patch from the Debian package.
        !          8134: 
        !          8135: commit 3c3271d9fce8cdd614f1d1b24bcebb3599aad930
        !          8136: Author: Ondrej Filip <feela@network.cz>
        !          8137: Date:   Sun Aug 24 23:24:14 2008 +0000
        !          8138: 
        !          8139:     Close fd of config file after reconfiguration.
        !          8140: 
        !          8141: commit 85ae398a61184d8f7a353eacaa6aefd3422dfd71
        !          8142: Author: Ondrej Filip <feela@network.cz>
        !          8143: Date:   Sun Aug 24 23:20:46 2008 +0000
        !          8144: 
        !          8145:     The source address configuration in BGP added.
        !          8146: 
        !          8147: commit a456788bce7f9d1e54b19ffbfd35b8fa889c4b47
        !          8148: Author: Ondrej Filip <feela@network.cz>
        !          8149: Date:   Wed Jun 20 12:32:39 2007 +0000
        !          8150: 
        !          8151:     New version of flex needs argument separated.
        !          8152: 
        !          8153: commit 8411a37e7dc72a5fd2e4fb68d1c557dc89253973
        !          8154: Author: Martin Mares <mj@ucw.cz>
        !          8155: Date:   Wed Jun 20 07:33:26 2007 +0000
        !          8156: 
        !          8157:     Detach from the TTY properly.
        !          8158: 
        !          8159: commit 4b1cf69e765b19ebc0cb988be08910c156c76376
        !          8160: Author: Ondrej Filip <feela@network.cz>
        !          8161: Date:   Wed Mar 16 16:09:28 2005 +0000
        !          8162: 
        !          8163:     Again back to regina.gin.cz.
        !          8164: 
        !          8165: commit c81b4ec36105ff036a7e2423936ab5773011fed1
        !          8166: Author: Ondrej Filip <feela@network.cz>
        !          8167: Date:   Wed Mar 16 16:08:40 2005 +0000
        !          8168: 
        !          8169:     Yes, we will go for 1.0.12
        !          8170: 
        !          8171: commit f39e3bfdbff318b3a889f42acfb589e9dfd34c2f
        !          8172: Author: Ondrej Filip <feela@network.cz>
        !          8173: Date:   Tue Mar 15 23:42:41 2005 +0000
        !          8174: 
        !          8175:     Small bugfix in tracing.
        !          8176: 
        !          8177: commit 94c42054ea65d10477afc76f221e3ac345a431eb
        !          8178: Author: Ondrej Filip <feela@network.cz>
        !          8179: Date:   Tue Mar 15 22:06:36 2005 +0000
        !          8180: 
        !          8181:     Added new parametr 'rx buffer <num>'. BIRD is able to receive
        !          8182:     very large packets (if configured).
        !          8183: 
        !          8184: commit e6ea2e375e4c547ca1b6fc9c313c2b7940acbd77
        !          8185: Author: Ondrej Filip <feela@network.cz>
        !          8186: Date:   Tue Mar 15 20:51:33 2005 +0000
        !          8187: 
        !          8188:     Maximal packet size in virtual links is 576.
        !          8189: 
        !          8190: commit e300066d5f66b8bd1d5561d63c10a8fbdce3ba8e
        !          8191: Author: Ondrej Filip <feela@network.cz>
        !          8192: Date:   Mon Mar 14 11:24:56 2005 +0000
        !          8193: 
        !          8194:     OSPF can accept larger packets than MTU.
        !          8195: 
        !          8196: commit 427e59939bc72c79f1566167b337927b14cb1715
        !          8197: Author: Ondrej Filip <feela@network.cz>
        !          8198: Date:   Mon Mar 14 11:07:10 2005 +0000
        !          8199: 
        !          8200:     Look for large packets.
        !          8201: 
        !          8202: commit a2d5b405d41c212993e47d47607df3b708254c97
        !          8203: Author: Ondrej Filip <feela@network.cz>
        !          8204: Date:   Mon Mar 14 10:59:52 2005 +0000
        !          8205: 
        !          8206:     Bugfix in external routes calculation.
        !          8207: 
        !          8208: commit f735de0290ce9a8f119f3d72bdde5a16dafe27ad
        !          8209: Author: Ondrej Filip <feela@network.cz>
        !          8210: Date:   Mon Feb 21 14:06:22 2005 +0000
        !          8211: 
        !          8212:     Small typos in documentation.
        !          8213: 
        !          8214: commit 129e912924b7726166b9ff5925a9dff84ee511f9
        !          8215: Author: Ondrej Filip <feela@network.cz>
        !          8216: Date:   Mon Feb 21 10:22:57 2005 +0000
        !          8217: 
        !          8218:     Ftp server change.
        !          8219: 
        !          8220: commit 89478fe3ab6d07b824adbd4c8ed997ccaca5c7b4
        !          8221: Author: Ondrej Filip <feela@network.cz>
        !          8222: Date:   Mon Feb 21 10:04:37 2005 +0000
        !          8223: 
        !          8224:     Change of ftp servers.
        !          8225: 
        !          8226: commit 39fc85b4c63582b56c4f96de49d0c6aad03c4086
        !          8227: Author: Ondrej Filip <feela@network.cz>
        !          8228: Date:   Sun Feb 20 19:03:34 2005 +0000
        !          8229: 
        !          8230:     Unused code deleted.
        !          8231: 
        !          8232: commit 63ca37f3139505a1881bf2c343f18d4ed8e22ce4
        !          8233: Author: Ondrej Filip <feela@network.cz>
        !          8234: Date:   Sun Feb 20 18:56:06 2005 +0000
        !          8235: 
        !          8236:     Cleanup - all unused variables deleted.
        !          8237: 
        !          8238: commit efc9e1b78b9332a0a8dfce31f1ef8efc82edc63d
        !          8239: Author: Ondrej Filip <feela@network.cz>
        !          8240: Date:   Sun Feb 20 17:04:00 2005 +0000
        !          8241: 
        !          8242:     Some tasks are fulfilled. :-)
        !          8243: 
        !          8244: commit 52d61a84989cc40140e7e8b5fc294ac48d4e0245
        !          8245: Author: Ondrej Filip <feela@network.cz>
        !          8246: Date:   Sun Feb 20 16:54:09 2005 +0000
        !          8247: 
        !          8248:     Intelligent reconfiguration should work again.
        !          8249: 
        !          8250: commit dafaef9ba9e7b46b9ff42b2cb75954a86f920951
        !          8251: Author: Ondrej Filip <feela@network.cz>
        !          8252: Date:   Sun Feb 20 16:53:06 2005 +0000
        !          8253: 
        !          8254:     Originate default route into stub areas.
        !          8255: 
        !          8256: commit 028a4cfc02f425de34323082d800a39b7bbc51de
        !          8257: Author: Ondrej Filip <feela@network.cz>
        !          8258: Date:   Sun Feb 20 04:28:55 2005 +0000
        !          8259: 
        !          8260:     Let's go for 1.0.11.
        !          8261: 
        !          8262: commit d8c7d9e8846f025e42227c64e992a3a52ca7dfb4
        !          8263: Author: Ondrej Filip <feela@network.cz>
        !          8264: Date:   Sun Feb 20 04:27:56 2005 +0000
        !          8265: 
        !          8266:     Since now I can also use 'dead interval', not just 'dead counter'.
        !          8267: 
        !          8268: commit 7de7470a2a6c649ce4d4ce52146e84e6638ebf58
        !          8269: Author: Ondrej Filip <feela@network.cz>
        !          8270: Date:   Sun Feb 20 03:37:47 2005 +0000
        !          8271: 
        !          8272:     Bugfix - count courrectly next hop on single hop virtual link.
        !          8273: 
        !          8274: commit 6eb4b73fe829cf5da56d8990c33e5c7edaa19d77
        !          8275: Author: Ondrej Filip <feela@network.cz>
        !          8276: Date:   Sun Feb 20 03:30:44 2005 +0000
        !          8277: 
        !          8278:     Time of neighbor's dead was not shown correctly.
        !          8279: 
        !          8280: commit 5506c82ce6123f70220f2d84ff21269bb832bfac
        !          8281: Author: Ondrej Filip <feela@network.cz>
        !          8282: Date:   Fri Feb 18 19:36:32 2005 +0000
        !          8283: 
        !          8284:     Bugfix in previous bugfix.
        !          8285: 
        !          8286: commit 60e04f041303fdafd0abf0dec003a9745345c68a
        !          8287: Author: Ondrej Filip <feela@network.cz>
        !          8288: Date:   Fri Feb 18 18:51:42 2005 +0000
        !          8289: 
        !          8290:     Minor bugfix: Summary LSA for aggregated area was always propagated with
        !          8291:     metric = 1. Now it's metric of most distant component.
        !          8292: 
        !          8293: commit 27a1e3ac35bd3f6a9b5161eafb5b8178162a37f8
        !          8294: Author: Ondrej Filip <feela@network.cz>
        !          8295: Date:   Tue Feb 15 16:17:42 2005 +0000
        !          8296: 
        !          8297:     Minor bugfixes in routing table calsulation.
        !          8298: 
        !          8299: commit 8ffc753441cd58acf46783de335062ed9af7a12e
        !          8300: Author: Ondrej Filip <feela@network.cz>
        !          8301: Date:   Tue Feb 15 06:32:31 2005 +0000
        !          8302: 
        !          8303:     Minor changes to keep gcc happy.
        !          8304: 
        !          8305: commit c025b85273178bc7c129bf54e420a91c775a9340
        !          8306: Author: Ondrej Filip <feela@network.cz>
        !          8307: Date:   Mon Feb 14 23:15:04 2005 +0000
        !          8308: 
        !          8309:     Real write is only in sk_maybe_write. Previous change partially reverted.
        !          8310:     Thank you MJ.
        !          8311: 
        !          8312: commit 2eef9e887ad82976476ea81aa3a25d97c3956b87
        !          8313: Author: Ondrej Filip <feela@network.cz>
        !          8314: Date:   Mon Feb 14 21:34:46 2005 +0000
        !          8315: 
        !          8316:     Be more verbose in log.
        !          8317: 
        !          8318: commit 7c49f715593ad7bbe0a4fb86284e2023f7b65bc1
        !          8319: Author: Ondrej Filip <feela@network.cz>
        !          8320: Date:   Mon Feb 14 21:28:51 2005 +0000
        !          8321: 
        !          8322:     Added s->err_hook wrapper that empties socket.
        !          8323: 
        !          8324: commit 030d3b387edae4a30fb524ed839be020b7b8df8e
        !          8325: Author: Ondrej Filip <feela@network.cz>
        !          8326: Date:   Mon Feb 14 11:58:46 2005 +0000
        !          8327: 
        !          8328:     Small changed to reduce the number of warnings.
        !          8329: 
        !          8330: commit b181f444a6538b03a02296f02928e3c131b251a6
        !          8331: Author: Ondrej Filip <feela@network.cz>
        !          8332: Date:   Mon Feb 14 11:54:16 2005 +0000
        !          8333: 
        !          8334:     Small changes to reduce number of warnings.
        !          8335: 
        !          8336: commit 75c1c585197f2b4a1b0295d36fe16a4869c21914
        !          8337: Author: Ondrej Filip <feela@network.cz>
        !          8338: Date:   Mon Feb 14 11:37:40 2005 +0000
        !          8339: 
        !          8340:     Yes, I'd like to go to 1.0.10
        !          8341: 
        !          8342: commit 5d3f555234d7144272e3081665411d098280d5ad
        !          8343: Author: Ondrej Filip <feela@network.cz>
        !          8344: Date:   Sun Feb 13 23:36:31 2005 +0000
        !          8345: 
        !          8346:     Many bugfixes in routing table calculation and summary LSA origination.
        !          8347: 
        !          8348: commit 0d3effcf8ca3784c36ce6229343ddfd754e405dc
        !          8349: Author: Ondrej Filip <feela@network.cz>
        !          8350: Date:   Sat Feb 12 22:27:55 2005 +0000
        !          8351: 
        !          8352:     Time added in password management.
        !          8353: 
        !          8354: commit 89ba9a18068dc83557e03c58bf280f4dc203271d
        !          8355: Author: Ondrej Filip <feela@network.cz>
        !          8356: Date:   Sat Feb 12 22:22:18 2005 +0000
        !          8357: 
        !          8358:     Bugfix in inter-area route calculation and summary LSA origination.
        !          8359:     Bugfix of some debugging commands.
        !          8360: 
        !          8361: commit bae7c43ff35482807654519253b1daa0a6518951
        !          8362: Author: Ondrej Filip <feela@network.cz>
        !          8363: Date:   Sat Feb 12 22:19:46 2005 +0000
        !          8364: 
        !          8365:     Bugfix in password acceptance
        !          8366: 
        !          8367: commit 9912fa51c8dabbbdf068d271ee7bddfb4a8526ef
        !          8368: Author: Ondrej Filip <feela@network.cz>
        !          8369: Date:   Sat Feb 12 22:18:48 2005 +0000
        !          8370: 
        !          8371:     Bugfix - cost of interface can be larger than 0xffff
        !          8372: 
        !          8373: commit 4991756863538cc5168cc5f10b2599c84eafd8bf
        !          8374: Author: Ondrej Filip <feela@network.cz>
        !          8375: Date:   Wed Sep 15 19:33:01 2004 +0000
        !          8376: 
        !          8377:     Dont check netmask field on PTP links.
        !          8378: 
        !          8379: commit 8910351c76af983411e09e04aff86ea5d9940cf1
        !          8380: Author: Ondrej Filip <feela@network.cz>
        !          8381: Date:   Wed Sep 8 16:06:07 2004 +0000
        !          8382: 
        !          8383:     sort from GNU coreutils 5.2.1 doesn't accept the +- syntax
        !          8384:     anymore. Hopefully the -k syntax is supported by all other
        !          8385:     sort versions
        !          8386: 
        !          8387: commit c6dce04bed40959b331a5b79aadd11c3b34d4af5
        !          8388: Author: Ondrej Filip <feela@network.cz>
        !          8389: Date:   Wed Sep 8 16:04:02 2004 +0000
        !          8390: 
        !          8391:     Bugfix.
        !          8392: 
        !          8393: commit 27e3e5e0c95b068111bf00d7dceb473dc77a93f2
        !          8394: Author: Martin Mares <mj@ucw.cz>
        !          8395: Date:   Thu Aug 19 09:15:36 2004 +0000
        !          8396: 
        !          8397:     Do not forget to propagate LDFLAGS from configure. Allows static linking,
        !          8398:     among other things.
        !          8399: 
        !          8400: commit 7715f9d9edb2cd5a230424881b1d5ec4e842738a
        !          8401: Author: Ondrej Filip <feela@network.cz>
        !          8402: Date:   Tue Aug 10 17:47:32 2004 +0000
        !          8403: 
        !          8404:     Bugfix in config.y
        !          8405: 
        !          8406: commit 56e2a4b776b0d013f71bff9fbf8550442c11df91
        !          8407: Author: Ondrej Filip <feela@network.cz>
        !          8408: Date:   Thu Aug 5 18:06:30 2004 +0000
        !          8409: 
        !          8410:     Bugfix in OSPF - BIRD sometimes failed during rt calculation with VLINKs.
        !          8411: 
        !          8412: commit 6236beab1ec5ba61487c418119e01a933e1cacee
        !          8413: Author: Ondrej Filip <feela@network.cz>
        !          8414: Date:   Mon Aug 2 22:38:43 2004 +0000
        !          8415: 
        !          8416:     Some more TODOs for OSPF.
        !          8417: 
        !          8418: commit 8d94a524b637dbb1513c23daefa8411dcdc9a054
        !          8419: Author: Ondrej Filip <feela@network.cz>
        !          8420: Date:   Fri Jul 16 08:27:11 2004 +0000
        !          8421: 
        !          8422:     Added handling of STUB bool.
        !          8423: 
        !          8424: commit 73089070e6e5c94ffac2da4c9e267ae9bcda2164
        !          8425: Author: Ondrej Filip <feela@network.cz>
        !          8426: Date:   Fri Jul 16 08:01:32 2004 +0000
        !          8427: 
        !          8428:     Typo.
        !          8429: 
        !          8430: commit 002ecc063845243613eb1ff40c3aa2a46c7013a1
        !          8431: Author: Ondrej Filip <feela@network.cz>
        !          8432: Date:   Fri Jul 16 07:22:43 2004 +0000
        !          8433: 
        !          8434:     Bugfix - bird needed double ';' after rfc1583compat.
        !          8435: 
        !          8436: commit 4e9742bb597225d7cefc0ee08270f76db29b65f1
        !          8437: Author: Ondrej Filip <feela@network.cz>
        !          8438: Date:   Thu Jul 15 19:46:52 2004 +0000
        !          8439: 
        !          8440:     Added note about *BSD.
        !          8441: 
        !          8442: commit 6b68de07d9a4f1ad122e46dc40c6cdfd8b06ae4b
        !          8443: Author: Ondrej Filip <feela@network.cz>
        !          8444: Date:   Thu Jul 15 17:58:07 2004 +0000
        !          8445: 
        !          8446:     News update to 1.0.9.
        !          8447: 
        !          8448: commit 004cf4fc0ced85dba570173f372c51b1bf71dafe
        !          8449: Author: Ondrej Filip <feela@network.cz>
        !          8450: Date:   Thu Jul 15 17:28:13 2004 +0000
        !          8451: 
        !          8452:     Minor bugfix to compile bird in IPv6.
        !          8453: 
        !          8454: commit b37bb5ce03aed03d8b1bb0346f3277a93ff76da4
        !          8455: Author: Ondrej Filip <feela@network.cz>
        !          8456: Date:   Thu Jul 15 16:48:12 2004 +0000
        !          8457: 
        !          8458:     Minor bugfix - add interface routes.
        !          8459: 
        !          8460: commit 28e8d862b7952419e6050230cf154d244a5bae51
        !          8461: Author: Ondrej Filip <feela@network.cz>
        !          8462: Date:   Thu Jul 15 16:42:06 2004 +0000
        !          8463: 
        !          8464:     Minor bugfix in calculation of external routes.
        !          8465: 
        !          8466: commit 86c84d76b706e77ec5977a3c9e300b0fca9f6b10
        !          8467: Author: Ondrej Filip <feela@network.cz>
        !          8468: Date:   Thu Jul 15 16:37:52 2004 +0000
        !          8469: 
        !          8470:     Huge OSPF database redesign. Since now, all LSAs of all areas
        !          8471:     are in single database. This avoids duplication of external LSAs and
        !          8472:     fixes bug in external LSA distribution.
        !          8473: 
        !          8474: commit 777acf91bb0d8ca0f33f367ae5fa00f46dde5a9a
        !          8475: Author: Ondrej Filip <feela@network.cz>
        !          8476: Date:   Wed Jul 14 21:47:39 2004 +0000
        !          8477: 
        !          8478:     Everything is tested and works. I thins it's right time to go to 1.0.9.
        !          8479: 
        !          8480: commit 3b16080c97a2d89c90f7df7a8fda0401ec9abe42
        !          8481: Author: Ondrej Filip <feela@network.cz>
        !          8482: Date:   Wed Jul 14 21:46:20 2004 +0000
        !          8483: 
        !          8484:     Multiple OSPF areas can be attached.
        !          8485:     Origination of summary LSA works.
        !          8486:     Routing table calculation works.
        !          8487:     Virtual links works.
        !          8488:     
        !          8489:     Well, I hope, OSPF is fully compatible with RFC2328!!!!
        !          8490: 
        !          8491: commit a417ad13a117d2458702cbec4aa418ba99981611
        !          8492: Author: Ondrej Filip <feela@network.cz>
        !          8493: Date:   Tue Jul 13 23:42:14 2004 +0000
        !          8494: 
        !          8495:     Send hello just after interface is up.
        !          8496:     This makes the adjacency forming faster.
        !          8497:     Minor code clean up.
        !          8498: 
        !          8499: commit 897999c22a85499e4e8a476e27469201645012fb
        !          8500: Author: Ondrej Filip <feela@network.cz>
        !          8501: Date:   Tue Jul 13 23:31:37 2004 +0000
        !          8502: 
        !          8503:     Send hello as soon as possible after the interface is up.
        !          8504:     This helps to faster establish the adjacency.
        !          8505: 
        !          8506: commit 490767adfce6207012f54f004babcb2aef7f33f8
        !          8507: Author: Ondrej Filip <feela@network.cz>
        !          8508: Date:   Tue Jul 13 22:10:14 2004 +0000
        !          8509: 
        !          8510:     Add more reasonable options to LSAs. (But it seems, that it's ignored.)
        !          8511: 
        !          8512: commit fe1489e6c13a405b0c76c36213af4017dd4ea2ec
        !          8513: Author: Ondrej Filip <feela@network.cz>
        !          8514: Date:   Tue Jul 13 22:04:57 2004 +0000
        !          8515: 
        !          8516:     Bugfix: Router was unable to advertise AS external routes.
        !          8517: 
        !          8518: commit 62eee82321a9a0451eea9b41a478444ceb87ecb0
        !          8519: Author: Ondrej Filip <feela@network.cz>
        !          8520: Date:   Tue Jul 13 21:27:33 2004 +0000
        !          8521: 
        !          8522:     Default tick = 1. The today's CPU is fast enough.
        !          8523: 
        !          8524: commit 35fdf4b6a2c3d8ad11be3a7d2525d653237fa3bf
        !          8525: Author: Ondrej Filip <feela@network.cz>
        !          8526: Date:   Tue Jul 13 21:22:32 2004 +0000
        !          8527: 
        !          8528:     Don't inform us about every ospf_age()
        !          8529: 
        !          8530: commit 16c2d48d8fe10521fd493886cf245c75d843fc69
        !          8531: Author: Ondrej Filip <feela@network.cz>
        !          8532: Date:   Tue Jul 13 20:53:56 2004 +0000
        !          8533: 
        !          8534:     Bugfix - RIP now updates routes with worse metric.
        !          8535: 
        !          8536: commit bc956fcab678f591137cba2a0ebe80c0812437db
        !          8537: Author: Ondrej Filip <feela@network.cz>
        !          8538: Date:   Tue Jul 13 14:46:14 2004 +0000
        !          8539: 
        !          8540:     MD5 authentication in OSPF works. :-)
        !          8541: 
        !          8542: commit 32d3228d864cb6af8c679a7742f4b0a71c2facc0
        !          8543: Author: Ondrej Filip <feela@network.cz>
        !          8544: Date:   Tue Jul 13 13:52:54 2004 +0000
        !          8545: 
        !          8546:     Bugfix in simple authentification.
        !          8547: 
        !          8548: commit 12dd8dc8779c13889a6860b769df7e0d68e7764c
        !          8549: Author: Ondrej Filip <feela@network.cz>
        !          8550: Date:   Tue Jul 13 12:21:24 2004 +0000
        !          8551: 
        !          8552:     Bugfix - nasty bug in router LSA origination - Router did not describe all interfaces.
        !          8553: 
        !          8554: commit 621ccdfe5acd2889956ec0f8e96b812acd09f168
        !          8555: Author: Ondrej Filip <feela@network.cz>
        !          8556: Date:   Tue Jul 13 11:58:50 2004 +0000
        !          8557: 
        !          8558:     Bugfix - options bits were not included in LSAs
        !          8559:     Bugfix - E bit was not unset on stub areas.
        !          8560: 
        !          8561: commit 9baece57d308d9e0d8eaab9d068471e1884817b8
        !          8562: Author: Ondrej Filip <feela@network.cz>
        !          8563: Date:   Thu Jul 8 16:56:49 2004 +0000
        !          8564: 
        !          8565:     Syntax bugfix.
        !          8566: 
        !          8567: commit 69b27ed6fd7794d36852764319e4dad19d4b6f87
        !          8568: Author: Ondrej Filip <feela@network.cz>
        !          8569: Date:   Thu Jul 1 15:01:44 2004 +0000
        !          8570: 
        !          8571:     Length calculation bugfix.
        !          8572: 
        !          8573: commit 02ad2737fd24573d870a5009a624c9b3c49aa176
        !          8574: Author: Ondrej Filip <feela@network.cz>
        !          8575: Date:   Thu Jul 1 15:01:26 2004 +0000
        !          8576: 
        !          8577:     Password WALK_LIST bugfix.
        !          8578: 
        !          8579: commit bc4ea680cea9eca46cd2c5f41db91c3014f90167
        !          8580: Author: Ondrej Filip <feela@network.cz>
        !          8581: Date:   Thu Jul 1 15:01:04 2004 +0000
        !          8582: 
        !          8583:     Hello reading bugfix.
        !          8584: 
        !          8585: commit ea357b8b6de387a55930a3fc831b8ccbcef24582
        !          8586: Author: Ondrej Filip <feela@network.cz>
        !          8587: Date:   Sat Jun 26 22:52:39 2004 +0000
        !          8588: 
        !          8589:     Update of the documentation. (passwords and md5).
        !          8590:     Option for md5 auth in config.
        !          8591: 
        !          8592: commit 3e2bd0f17aab3d2bd460d5f7aef4d3bc152ea1ab
        !          8593: Author: Ondrej Filip <feela@network.cz>
        !          8594: Date:   Sat Jun 26 20:15:34 2004 +0000
        !          8595: 
        !          8596:     Md5 authentification added (unsested).
        !          8597:     Packet receiving clean up.
        !          8598: 
        !          8599: commit 5236fb03afecd3d7a6ec6e96712c79a31be32132
        !          8600: Author: Ondrej Filip <feela@network.cz>
        !          8601: Date:   Sat Jun 26 20:11:14 2004 +0000
        !          8602: 
        !          8603:     Password management redesigned (untested).
        !          8604: 
        !          8605: commit 98ac61766d81d9f20c4a7c7e12859c3b82b24f4c
        !          8606: Author: Ondrej Filip <feela@network.cz>
        !          8607: Date:   Fri Jun 25 16:39:53 2004 +0000
        !          8608: 
        !          8609:     A lot of changes:
        !          8610:        - metric is 3 byte long now
        !          8611:        - summary lsa originating
        !          8612:        - more OSPF areas possible
        !          8613:        - virtual links
        !          8614:        - better E1/E2 routes handling
        !          8615:        - some bug fixes..
        !          8616:     
        !          8617:     I have to do:
        !          8618:        - md5 auth (last mandatory item from rfc2328)
        !          8619:        - !!!!DEBUG!!!!! (mainly virtual link system has probably a lot of bugs)
        !          8620:        - 2328 appendig E
        !          8621: 
        !          8622: commit 5ed68e46d781f8a14d3ef3ffd7fe3afc4a62260e
        !          8623: Author: Ondrej Filip <feela@network.cz>
        !          8624: Date:   Wed Jun 23 23:59:48 2004 +0000
        !          8625: 
        !          8626:     Small typo changes.
        !          8627: 
        !          8628: commit 973cf09c3b311691d063a00f52be7e9b8bdec376
        !          8629: Author: Ondrej Filip <feela@network.cz>
        !          8630: Date:   Wed Jun 23 21:36:55 2004 +0000
        !          8631: 
        !          8632:     Hotfix to problem with metric change reported by Luca.
        !          8633: 
        !          8634: commit 3fe5f8990764b33cc0245317e90fbbcd0cde84de
        !          8635: Author: Ondrej Filip <feela@network.cz>
        !          8636: Date:   Wed Jun 23 21:34:26 2004 +0000
        !          8637: 
        !          8638:     P->magic used just in LOCAL_DEBUG mode
        !          8639: 
        !          8640: commit 09e4117cc19dd94efbdad6edde9bc7d715a58a9a
        !          8641: Author: Ondrej Filip <feela@network.cz>
        !          8642: Date:   Fri Jun 18 12:54:53 2004 +0000
        !          8643: 
        !          8644:     sk_write bugfix for BSD.
        !          8645: 
        !          8646: commit b4d8a0c280d34e6164a88d0e2f9ebf16fd5a1d68
        !          8647: Author: Ondrej Filip <feela@network.cz>
        !          8648: Date:   Wed Jun 16 23:01:49 2004 +0000
        !          8649: 
        !          8650:     Some cisco routers send shorter ospf messages in larger packets.
        !          8651:     Well it's strange, but, actually it's correct.
        !          8652: 
        !          8653: commit 1a61882d370e6aef99ebc11d6bbc4e9dc48c6b95
        !          8654: Author: Ondrej Filip <feela@network.cz>
        !          8655: Date:   Fri Jun 11 09:36:50 2004 +0000
        !          8656: 
        !          8657:     Better routing table calculation. We are ready to work with
        !          8658:     multiple OSPF areas.
        !          8659: 
        !          8660: commit b1f7229ad7d0b10fcc1fde6645c8b8ebbb3644a6
        !          8661: Author: Ondrej Filip <feela@network.cz>
        !          8662: Date:   Fri Jun 11 09:34:48 2004 +0000
        !          8663: 
        !          8664:     Better adjacency building, some minor bugfixes.
        !          8665: 
        !          8666: commit 9a4b87905d727a518af04c16b8d7b603404098b7
        !          8667: Author: Ondrej Filip <feela@network.cz>
        !          8668: Date:   Fri Jun 11 09:06:08 2004 +0000
        !          8669: 
        !          8670:     Deleted RTS_OSPF_BOUNDARY
        !          8671: 
        !          8672: commit 8bf684eca2de6ffd9ba797cad485e36db0b9548f
        !          8673: Author: Ondrej Filip <feela@network.cz>
        !          8674: Date:   Fri Jun 11 09:05:06 2004 +0000
        !          8675: 
        !          8676:     RTS_OSPF_BONDARY is nonsense, RTS_OSPF_IA must have smaller id than RTS_OSPF_EXT
        !          8677: 
        !          8678: commit 7df86c25fc6c871795265faebe02bf4dcecdd190
        !          8679: Author: Ondrej Filip <feela@network.cz>
        !          8680: Date:   Wed Jun 9 12:39:49 2004 +0000
        !          8681: 
        !          8682:     Better checking of configuration.
        !          8683: 
        !          8684: commit b7e9c74cba36ed6932dbc30a4b9b0b9f9a06dba5
        !          8685: Author: Ondrej Filip <feela@network.cz>
        !          8686: Date:   Mon Jun 7 16:51:23 2004 +0000
        !          8687: 
        !          8688:     Used parameter can be marked as unused. :-) Thanx MJ.
        !          8689: 
        !          8690: commit e02652a7d2e1f9bb599dbf9fa5862f03f4188efa
        !          8691: Author: Ondrej Filip <feela@network.cz>
        !          8692: Date:   Mon Jun 7 16:42:48 2004 +0000
        !          8693: 
        !          8694:     Bugfix in RT calculation.
        !          8695: 
        !          8696: commit 6721e2862bf69d3af7dd643cd9f442b76e134d5b
        !          8697: Author: Ondrej Filip <feela@network.cz>
        !          8698: Date:   Mon Jun 7 14:38:35 2004 +0000
        !          8699: 
        !          8700:     Build and run both IPv4 and IPv6.
        !          8701: 
        !          8702: commit ff61673427370c71d0a5f2d0d838f00ff46bbda1
        !          8703: Author: Ondrej Filip <feela@network.cz>
        !          8704: Date:   Mon Jun 7 14:37:29 2004 +0000
        !          8705: 
        !          8706:     Delete automate*cache.
        !          8707: 
        !          8708: commit bf1b1b605b26202466f58b0572db5918acf8cf22
        !          8709: Author: Ondrej Filip <feela@network.cz>
        !          8710: Date:   Mon Jun 7 13:07:12 2004 +0000
        !          8711: 
        !          8712:     Let's go for release.
        !          8713: 
        !          8714: commit 541cbe97633281b273ade8045b77834a5b6a1db4
        !          8715: Author: Ondrej Filip <feela@network.cz>
        !          8716: Date:   Mon Jun 7 12:52:32 2004 +0000
        !          8717: 
        !          8718:     It was too verbose.
        !          8719: 
        !          8720: commit c90ac711bc5d1989dcb093088c74d062b43e9914
        !          8721: Author: Ondrej Filip <feela@network.cz>
        !          8722: Date:   Mon Jun 7 10:42:24 2004 +0000
        !          8723: 
        !          8724:     Cleanup in show route import <p>.
        !          8725: 
        !          8726: commit 282997f21e6d40c840433128b198a19e9fdf41fb
        !          8727: Author: Ondrej Filip <feela@network.cz>
        !          8728: Date:   Mon Jun 7 10:00:29 2004 +0000
        !          8729: 
        !          8730:     Some new warnings eliminated.
        !          8731: 
        !          8732: commit 19d9e3033661b49cd4e4771166c45db2f1f24805
        !          8733: Author: Ondrej Filip <feela@network.cz>
        !          8734: Date:   Mon Jun 7 09:52:15 2004 +0000
        !          8735: 
        !          8736:     Marked unused parameters as unused.
        !          8737: 
        !          8738: commit fb257e43fc23f9e0455444ef67c4be0dae22a713
        !          8739: Author: Ondrej Filip <feela@network.cz>
        !          8740: Date:   Mon Jun 7 09:09:14 2004 +0000
        !          8741: 
        !          8742:     Deleted some unused code.
        !          8743: 
        !          8744: commit 5e3436d20ffdd95a164ffcb82f584fad76fb94e7
        !          8745: Author: Ondrej Filip <feela@network.cz>
        !          8746: Date:   Sun Jun 6 19:53:52 2004 +0000
        !          8747: 
        !          8748:     Cleanup in packet.c. Deleted unused parameters.
        !          8749: 
        !          8750: commit d5d9693ce90c190ca7358b4ac71b9d034603a3ae
        !          8751: Author: Ondrej Filip <feela@network.cz>
        !          8752: Date:   Sun Jun 6 18:45:08 2004 +0000
        !          8753: 
        !          8754:     Deleted unused parameters.
        !          8755: 
        !          8756: commit e677d04aeb19e26da30e6a3ae94ad6e183d7af8e
        !          8757: Author: Ondrej Filip <feela@network.cz>
        !          8758: Date:   Sun Jun 6 17:20:16 2004 +0000
        !          8759: 
        !          8760:     RPM is now able to build IPv4 and IPv6 bird.
        !          8761: 
        !          8762: commit 41c8976e29bbf2986b063d1a8c5c8b386fae500e
        !          8763: Author: Ondrej Filip <feela@network.cz>
        !          8764: Date:   Sun Jun 6 17:05:25 2004 +0000
        !          8765: 
        !          8766:     Test old instance of BIRD.
        !          8767: 
        !          8768: commit cd09226078471cf9a2db4e755fbd5f6f137137c9
        !          8769: Author: Ondrej Filip <feela@network.cz>
        !          8770: Date:   Sun Jun 6 17:03:56 2004 +0000
        !          8771: 
        !          8772:     Be sure, that ospf_area is aged before routing table calculation.
        !          8773: 
        !          8774: commit 933bfdde2a0bc4e31e74a3f9e03174b0287c03fb
        !          8775: Author: Ondrej Filip <feela@network.cz>
        !          8776: Date:   Sun Jun 6 16:14:57 2004 +0000
        !          8777: 
        !          8778:     Keep al lSAs invalidated.
        !          8779: 
        !          8780: commit 54a2178fd4c16189e7e0140c0a885b2cd6d2025e
        !          8781: Author: Ondrej Filip <feela@network.cz>
        !          8782: Date:   Sun Jun 6 16:05:14 2004 +0000
        !          8783: 
        !          8784:     TODO updated.
        !          8785: 
        !          8786: commit b8f17cf1923ff5894b6689479f7fb7d008b8ce44
        !          8787: Author: Ondrej Filip <feela@network.cz>
        !          8788: Date:   Sun Jun 6 16:00:09 2004 +0000
        !          8789: 
        !          8790:     Small cleanup, indentation and preparation for multiple areas routing table calculation.
        !          8791: 
        !          8792: commit d631698ec8a63270f7ca9bc069508d1313a08f92
        !          8793: Author: Ondrej Filip <feela@network.cz>
        !          8794: Date:   Sun Jun 6 14:27:11 2004 +0000
        !          8795: 
        !          8796:     Indentation.
        !          8797: 
        !          8798: commit d8d553cadfecab2a2f3d8a69624b5a743bd97ce3
        !          8799: Author: Ondrej Filip <feela@network.cz>
        !          8800: Date:   Sun Jun 6 14:25:55 2004 +0000
        !          8801: 
        !          8802:     This warning is stupid.
        !          8803: 
        !          8804: commit 2e10a170fe70e405b5d6cb2cb53cd9a15de25b73
        !          8805: Author: Ondrej Filip <feela@network.cz>
        !          8806: Date:   Sun Jun 6 09:37:54 2004 +0000
        !          8807: 
        !          8808:     Indentation.
        !          8809: 
        !          8810: commit 66261211a9c9abd5e1591f0875d16da1e3975fcb
        !          8811: Author: Ondrej Filip <feela@network.cz>
        !          8812: Date:   Sun Jun 6 09:13:37 2004 +0000
        !          8813: 
        !          8814:     Struct area_net changed.
        !          8815: 
        !          8816: commit b9ed99f738c10c0576a9ab8a70b028a92d0d74a7
        !          8817: Author: Ondrej Filip <feela@network.cz>
        !          8818: Date:   Sun Jun 6 08:55:33 2004 +0000
        !          8819: 
        !          8820:     Cleanup in iface.c
        !          8821: 
        !          8822: commit a5918961f3a62c55857f811f712f861fa3d35d4f
        !          8823: Author: Ondrej Filip <feela@network.cz>
        !          8824: Date:   Sun Jun 6 08:12:42 2004 +0000
        !          8825: 
        !          8826:     Be more verbose in troubles.
        !          8827: 
        !          8828: commit 66004c91a89479abd3df89404afff62c5d60d4c3
        !          8829: Author: Ondrej Filip <feela@network.cz>
        !          8830: Date:   Sat Jun 5 15:02:52 2004 +0000
        !          8831: 
        !          8832:     Set size of the buffers. (Thanx MJ.)
        !          8833: 
        !          8834: commit 9831e5916f6956377739f948869d377b091f5c92
        !          8835: Author: Martin Mares <mj@ucw.cz>
        !          8836: Date:   Sat Jun 5 09:58:23 2004 +0000
        !          8837: 
        !          8838:     Staticized lots of local functions.
        !          8839: 
        !          8840: commit 598b984d1f04ea71fc04bc89f390f230a3960680
        !          8841: Author: Martin Mares <mj@ucw.cz>
        !          8842: Date:   Sat Jun 5 09:58:06 2004 +0000
        !          8843: 
        !          8844:     One less unused variable.
        !          8845: 
        !          8846: commit 2f6de49f8c4d9c7ebd12554d386037e5b063beda
        !          8847: Author: Martin Mares <mj@ucw.cz>
        !          8848: Date:   Sat Jun 5 09:57:49 2004 +0000
        !          8849: 
        !          8850:     Better prototypes.
        !          8851: 
        !          8852: commit 54c411f6afeafb88649c565d252ab0245266eeee
        !          8853: Author: Martin Mares <mj@ucw.cz>
        !          8854: Date:   Sat Jun 5 09:57:35 2004 +0000
        !          8855: 
        !          8856:     Add more warnings if --enable-warnings is turned on. (probably requires
        !          8857:     gcc-3.0 or newer, but I hope it's OK)
        !          8858: 
        !          8859: commit 189dab54a211d2d92148d2aae7130df3a080e7c8
        !          8860: Author: Martin Mares <mj@ucw.cz>
        !          8861: Date:   Sat Jun 5 09:29:38 2004 +0000
        !          8862: 
        !          8863:     `defaut' should be `default'.
        !          8864: 
        !          8865: commit 1512813e95a7edd2fad2834221dc1cb79aab6406
        !          8866: Author: Martin Mares <mj@ucw.cz>
        !          8867: Date:   Sat Jun 5 09:28:17 2004 +0000
        !          8868: 
        !          8869:     ... and a whole bunch of unused parameters and variables in ospf.
        !          8870: 
        !          8871: commit c91fc9b6064e988e7526ecedd6b9e25f0204c4b7
        !          8872: Author: Martin Mares <mj@ucw.cz>
        !          8873: Date:   Sat Jun 5 09:27:49 2004 +0000
        !          8874: 
        !          8875:     ... and in rip (there are even unused functions!).
        !          8876: 
        !          8877: commit 662faa4afc4d2f29bb884d0c7ad0aca9fc7de7c9
        !          8878: Author: Martin Mares <mj@ucw.cz>
        !          8879: Date:   Sat Jun 5 09:27:35 2004 +0000
        !          8880: 
        !          8881:     ... in pipe.
        !          8882: 
        !          8883: commit e21423bab8a7cfc1cf5d13ab77ebebfae8ce156e
        !          8884: Author: Martin Mares <mj@ucw.cz>
        !          8885: Date:   Sat Jun 5 09:27:17 2004 +0000
        !          8886: 
        !          8887:     ... in BGP.
        !          8888: 
        !          8889: commit fab37e81971a08b550c6d63ff11f0bf34f0a9aa2
        !          8890: Author: Martin Mares <mj@ucw.cz>
        !          8891: Date:   Sat Jun 5 09:27:02 2004 +0000
        !          8892: 
        !          8893:     One more in the library.
        !          8894: 
        !          8895: commit 6ecd20605c62e91069ecd014374836d8392ae948
        !          8896: Author: Martin Mares <mj@ucw.cz>
        !          8897: Date:   Sat Jun 5 09:26:55 2004 +0000
        !          8898: 
        !          8899:     ... and in the filter.
        !          8900: 
        !          8901: commit d7390312d4e322e0dac3fefddd6033cb255933a4
        !          8902: Author: Martin Mares <mj@ucw.cz>
        !          8903: Date:   Sat Jun 5 09:26:48 2004 +0000
        !          8904: 
        !          8905:     Unused parameters in the client.
        !          8906: 
        !          8907: commit 6578a60493f9dbf83d6485ac99635094bef2af7d
        !          8908: Author: Martin Mares <mj@ucw.cz>
        !          8909: Date:   Sat Jun 5 09:11:07 2004 +0000
        !          8910: 
        !          8911:     Marked unused parameters in sysdep code as such.
        !          8912: 
        !          8913: commit 7c103b1ee17a274fa062fcf4b14234b48db8123a
        !          8914: Author: Martin Mares <mj@ucw.cz>
        !          8915: Date:   Sat Jun 5 09:10:56 2004 +0000
        !          8916: 
        !          8917:     Marked unused parameters in core code as such.
        !          8918: 
        !          8919: commit e98bc2ea9b957287e78bc51e3293fc48a49c26b2
        !          8920: Author: Martin Mares <mj@ucw.cz>
        !          8921: Date:   Sat Jun 5 09:05:12 2004 +0000
        !          8922: 
        !          8923:     Renamed log() to log_msg(), but still keeping the old name as a macro.
        !          8924:     This is done to avoid clashes with gcc-3.3 which has built-in logarithms :)
        !          8925: 
        !          8926: commit 5da8f82feb14512725e09664f6db96f03e3ece8f
        !          8927: Author: Martin Mares <mj@ucw.cz>
        !          8928: Date:   Sat Jun 5 09:01:12 2004 +0000
        !          8929: 
        !          8930:     A better comment.
        !          8931: 
        !          8932: commit c33d4cad9fbfb0b2a4b3ee699943d9955bcd9e3e
        !          8933: Author: Martin Mares <mj@ucw.cz>
        !          8934: Date:   Sat Jun 5 08:59:17 2004 +0000
        !          8935: 
        !          8936:     Moved the tests for socket existence here.
        !          8937:     
        !          8938:     BTW, where do you exactly set the new buffer sizes?
        !          8939: 
        !          8940: commit 4da25acb0ab964826f133025493a9b80d8bef509
        !          8941: Author: Martin Mares <mj@ucw.cz>
        !          8942: Date:   Sat Jun 5 08:56:43 2004 +0000
        !          8943: 
        !          8944:     Cleaned up sk_reallocate() and friends.
        !          8945:     Also, removed the `if (s)' test, because I believe that as the whole
        !          8946:     socket interface doesn't accent NULL pointers, sk_reallocate() shouldn't
        !          8947:     be the only exception.
        !          8948: 
        !          8949: commit c6bdc78befaf5ae9e5e3c58a8df1301d5cafd4e7
        !          8950: Author: Ondrej Filip <feela@network.cz>
        !          8951: Date:   Fri Jun 4 21:19:47 2004 +0000
        !          8952: 
        !          8953:     Be more verbose.
        !          8954: 
        !          8955: commit 6f3203fabf30b0e5ca7d41b4550efbc5df0b421a
        !          8956: Author: Ondrej Filip <feela@network.cz>
        !          8957: Date:   Fri Jun 4 21:05:43 2004 +0000
        !          8958: 
        !          8959:     cleanup in lsupd.c, indenting, "struct proto" removed...
        !          8960: 
        !          8961: commit 9b7de4c4d13a5701aac446627672e65fce9e1a9d
        !          8962: Author: Ondrej Filip <feela@network.cz>
        !          8963: Date:   Fri Jun 4 20:41:02 2004 +0000
        !          8964: 
        !          8965:     'struct proto' removed
        !          8966:     Finally, I found the bug reported by Andreas Steinmetz. FIXED.
        !          8967: 
        !          8968: commit 54467ed46b31e29215e50d32b0a757998de29793
        !          8969: Author: Ondrej Filip <feela@network.cz>
        !          8970: Date:   Fri Jun 4 19:53:36 2004 +0000
        !          8971: 
        !          8972:     Useless logs removed.
        !          8973: 
        !          8974: commit 551e30886d7ed156d3fe98cc9562ffa2c22e4ce3
        !          8975: Author: Ondrej Filip <feela@network.cz>
        !          8976: Date:   Fri Jun 4 19:21:19 2004 +0000
        !          8977: 
        !          8978:     Bugfix in last patch.
        !          8979: 
        !          8980: commit e7ef86a58cc5393ba764606b0ee6d760e6164f0c
        !          8981: Author: Ondrej Filip <feela@network.cz>
        !          8982: Date:   Fri Jun 4 18:51:29 2004 +0000
        !          8983: 
        !          8984:     OSPF is ready for changing MTU.
        !          8985: 
        !          8986: commit f158bb710b8be65b626f54399c8a5db8df9bd7b6
        !          8987: Author: Ondrej Filip <feela@network.cz>
        !          8988: Date:   Fri Jun 4 18:24:15 2004 +0000
        !          8989: 
        !          8990:     no comment
        !          8991: 
        !          8992: commit 12bed559ffaccc7093188722899e4ac85521777e
        !          8993: Author: Ondrej Filip <feela@network.cz>
        !          8994: Date:   Fri Jun 4 17:49:25 2004 +0000
        !          8995: 
        !          8996:     dbdes indent an minor changes.
        !          8997: 
        !          8998: commit 85305e5d8f7137dc5ce4572d72e80ad186792b37
        !          8999: Author: Ondrej Filip <feela@network.cz>
        !          9000: Date:   Fri Jun 4 17:32:38 2004 +0000
        !          9001: 
        !          9002:     typo in README
        !          9003: 
        !          9004: commit 874654076a9e3d2c36a248b3d3a4066dff76276b
        !          9005: Author: Ondrej Filip <feela@network.cz>
        !          9006: Date:   Fri Jun 4 17:31:03 2004 +0000
        !          9007: 
        !          9008:     better log() usage.
        !          9009: 
        !          9010: commit 27f49a2c3c2a86b4822ff1980d751666ed8cee97
        !          9011: Author: Ondrej Filip <feela@network.cz>
        !          9012: Date:   Fri Jun 4 17:28:41 2004 +0000
        !          9013: 
        !          9014:     lsreq.c indented and small 'struct proto' changes.
        !          9015: 
        !          9016: commit 77539c4471d4b3f19347d2efc99680f815e1c78a
        !          9017: Author: Ondrej Filip <feela@network.cz>
        !          9018: Date:   Fri Jun 4 17:12:27 2004 +0000
        !          9019: 
        !          9020:     hello.* reindented, code cleanup.
        !          9021: 
        !          9022: commit 8e15e048f2e14dcdd9915860feace487e4ae07d5
        !          9023: Author: Ondrej Filip <feela@network.cz>
        !          9024: Date:   Fri Jun 4 17:05:24 2004 +0000
        !          9025: 
        !          9026:     Deleted useles "struct proto" sending.
        !          9027: 
        !          9028: commit 7a03e29d5c7ff07c907ed0d4c4f1c226eba5941d
        !          9029: Author: Ondrej Filip <feela@network.cz>
        !          9030: Date:   Fri Jun 4 16:56:54 2004 +0000
        !          9031: 
        !          9032:     Better log() usage.
        !          9033: 
        !          9034: commit fb9bf6888c75adb88e5a8818161b89b207cf1f9f
        !          9035: Author: Ondrej Filip <feela@network.cz>
        !          9036: Date:   Fri Jun 4 16:55:53 2004 +0000
        !          9037: 
        !          9038:     Indented. No other change.
        !          9039: 
        !          9040: commit c76ba51a5fc7d61e18213f99d9c09502af0bc192
        !          9041: Author: Ondrej Filip <feela@network.cz>
        !          9042: Date:   Fri Jun 4 16:30:04 2004 +0000
        !          9043: 
        !          9044:     lsack.c cleaned. Better names for functions and
        !          9045:     DIRECT acks can be sent in one packet now.
        !          9046: 
        !          9047: commit 28de5133ecdcb5b45dc251123047164fbb940e50
        !          9048: Author: Ondrej Filip <feela@network.cz>
        !          9049: Date:   Fri Jun 4 15:45:35 2004 +0000
        !          9050: 
        !          9051:     ackd_timer_hook moded to neighbor.c
        !          9052: 
        !          9053: commit d03e8ce00b8fea374bbc06a4eb5254e911557e83
        !          9054: Author: Ondrej Filip <feela@network.cz>
        !          9055: Date:   Fri Jun 4 15:26:46 2004 +0000
        !          9056: 
        !          9057:     Fatal bug found. Sometimes BIRD did not originate router LSA. FIXED. :-)
        !          9058: 
        !          9059: commit b90f9c526e553f1c30b9b177fc72c382ab333fc7
        !          9060: Author: Ondrej Filip <feela@network.cz>
        !          9061: Date:   Fri Jun 4 14:23:58 2004 +0000
        !          9062: 
        !          9063:     Initialize iterator on the right place.
        !          9064: 
        !          9065: commit 18b40a40726bf6ec03e496a068faa8d173c27dd8
        !          9066: Author: Ondrej Filip <feela@network.cz>
        !          9067: Date:   Fri Jun 4 14:23:21 2004 +0000
        !          9068: 
        !          9069:     This can happen now.
        !          9070: 
        !          9071: commit f9fdabe4f68685e6244e88524b2526958c56e44d
        !          9072: Author: Ondrej Filip <feela@network.cz>
        !          9073: Date:   Fri Jun 4 14:22:30 2004 +0000
        !          9074: 
        !          9075:     Small reversing of previous patch.
        !          9076: 
        !          9077: commit 3df1e80464ce5e6cea1b9a9500d1adbfe59cd564
        !          9078: Author: Ondrej Filip <feela@network.cz>
        !          9079: Date:   Fri Jun 4 14:21:08 2004 +0000
        !          9080: 
        !          9081:     Don't repeat "Sheduling rt calc....."
        !          9082: 
        !          9083: commit d6c28f3ada7d2da8e762a1ed8e4fb70dfce2ca6f
        !          9084: Author: Ondrej Filip <feela@network.cz>
        !          9085: Date:   Fri Jun 4 14:03:30 2004 +0000
        !          9086: 
        !          9087:     Code and comments cleanup.
        !          9088: 
        !          9089: commit 39e517d47c6070dd81bb7d6f57358ea98e462f03
        !          9090: Author: Ondrej Filip <feela@network.cz>
        !          9091: Date:   Fri Jun 4 12:53:10 2004 +0000
        !          9092: 
        !          9093:     hello.c and hello.h cleaned up. No design changes.
        !          9094: 
        !          9095: commit 591656cdd5b13a4626dfb26e45dd02690cdb450c
        !          9096: Author: Ondrej Filip <feela@network.cz>
        !          9097: Date:   Thu Jun 3 08:18:49 2004 +0000
        !          9098: 
        !          9099:     Added source addr for multicast socket.
        !          9100: 
        !          9101: commit 7d72aadb8acfac16e9b637e6ebb5ce288ebf1d77
        !          9102: Author: Ondrej Filip <feela@network.cz>
        !          9103: Date:   Thu Jun 3 08:18:14 2004 +0000
        !          9104: 
        !          9105:     CONFIG_SKIP_MC_BIND added.
        !          9106:     BSD hates it, Linux needs it.
        !          9107: 
        !          9108: commit cb4dd4e2f78f806438bfb8163b783ac7b2f43b2d
        !          9109: Author: Ondrej Filip <feela@network.cz>
        !          9110: Date:   Wed Jun 2 15:14:49 2004 +0000
        !          9111: 
        !          9112:     Deleted useless rfree. (Socked was freed by cli_free())
        !          9113: 
        !          9114: commit 9b133458891724da2fd22f2a16ae19376e225ca0
        !          9115: Author: Ondrej Filip <feela@network.cz>
        !          9116: Date:   Wed Jun 2 09:14:03 2004 +0000
        !          9117: 
        !          9118:     Hotfix for router's parent without nexthop.
        !          9119:     It will probably work perfect, but I need to eliminate such situation.
        !          9120: 
        !          9121: commit f9625e9acabbdc5834f528e6fe1b87b8f4ce4968
        !          9122: Author: Ondrej Filip <feela@network.cz>
        !          9123: Date:   Tue Jun 1 14:06:25 2004 +0000
        !          9124: 
        !          9125:     Bugfix in external routes calculation.
        !          9126: 
        !          9127: commit 7048461df113b335b9cfc56c517bc5802ef7b6c8
        !          9128: Author: Ondrej Filip <feela@network.cz>
        !          9129: Date:   Tue Jun 1 13:58:39 2004 +0000
        !          9130: 
        !          9131:     Code clean up.
        !          9132: 
        !          9133: commit e8bf6c0766dba95c4b7ebb8b29dad31392f212b7
        !          9134: Author: Ondrej Filip <feela@network.cz>
        !          9135: Date:   Tue Jun 1 13:44:53 2004 +0000
        !          9136: 
        !          9137:     Easier cleanup of an interface.
        !          9138: 
        !          9139: commit c9f6cf8a05aba6a79bfb57120ca48adcf8e3949d
        !          9140: Author: Ondrej Filip <feela@network.cz>
        !          9141: Date:   Tue Jun 1 13:29:08 2004 +0000
        !          9142: 
        !          9143:     Don't free socket's resources.
        !          9144: 
        !          9145: commit 035f6acbfec1e06a207217ae81153b67ced995f3
        !          9146: Author: Ondrej Filip <feela@network.cz>
        !          9147: Date:   Tue Jun 1 13:12:10 2004 +0000
        !          9148: 
        !          9149:     Patch from Andreas Steinmetz <ast@domdv.de>
        !          9150: 
        !          9151: commit 8281ff201e1eebe35cb8e7716565361bed77a6cd
        !          9152: Author: Ondrej Filip <feela@network.cz>
        !          9153: Date:   Tue Jun 1 12:57:13 2004 +0000
        !          9154: 
        !          9155:     Reverting last patch.
        !          9156: 
        !          9157: commit 77772dbc6555dfb9aa76c812bcd1792ab503cbe1
        !          9158: Author: Ondrej Filip <feela@network.cz>
        !          9159: Date:   Tue Jun 1 10:55:10 2004 +0000
        !          9160: 
        !          9161:     Caching loopback interface.
        !          9162: 
        !          9163: commit a8bb459a3f8769501726ef25e696ea127014383f
        !          9164: Author: Ondrej Filip <feela@network.cz>
        !          9165: Date:   Tue Jun 1 10:53:30 2004 +0000
        !          9166: 
        !          9167:     log->DBG
        !          9168: 
        !          9169: commit 1554cc02826794007c113bc336ed574bb771343f
        !          9170: Author: Ondrej Filip <feela@network.cz>
        !          9171: Date:   Tue Jun 1 10:45:28 2004 +0000
        !          9172: 
        !          9173:     Minor changes caused by MJ's comment.
        !          9174: 
        !          9175: commit b613b9928bdb1df3bd541d318d7f9c1bf492dfbc
        !          9176: Author: Ondrej Filip <feela@network.cz>
        !          9177: Date:   Tue Jun 1 10:32:02 2004 +0000
        !          9178: 
        !          9179:     #ifdef CONFIG_UNIX_DONTROUTE added.
        !          9180: 
        !          9181: commit 7fdd338c3600aa4e7a0ae3d5ce270b5a1f8ccc0c
        !          9182: Author: Ondrej Filip <feela@network.cz>
        !          9183: Date:   Tue Jun 1 10:28:25 2004 +0000
        !          9184: 
        !          9185:     ALIGN -> BIRD_ALIGN
        !          9186: 
        !          9187: commit 22122d4d4c43c2c64a37aae597b4d439a6bfa268
        !          9188: Author: Ondrej Filip <feela@network.cz>
        !          9189: Date:   Tue Jun 1 10:10:09 2004 +0000
        !          9190: 
        !          9191:     Now, only one AC_OUTPUT is used.
        !          9192: 
        !          9193: commit 402a9fa78a9849dbbefcbea81cd9cf7c8ab87c22
        !          9194: Author: Ondrej Filip <feela@network.cz>
        !          9195: Date:   Tue Jun 1 09:10:11 2004 +0000
        !          9196: 
        !          9197:     Useles log()s deleted.
        !          9198: 
        !          9199: commit e85bd57a0e106c7ae3fc44dccf9bac89e2f9939e
        !          9200: Author: Ondrej Filip <feela@network.cz>
        !          9201: Date:   Tue Jun 1 09:07:16 2004 +0000
        !          9202: 
        !          9203:     bzero has 2 arguments.
        !          9204: 
        !          9205: commit b88a1d4040df6bcd49eefe1c2c1ba8fa66ad0d43
        !          9206: Author: Ondrej Filip <feela@network.cz>
        !          9207: Date:   Tue Jun 1 08:59:47 2004 +0000
        !          9208: 
        !          9209:     memset -> bzero
        !          9210: 
        !          9211: commit fa643be1cc6973923a46ac52a20ccec2ec5e3f18
        !          9212: Author: Martin Mares <mj@ucw.cz>
        !          9213: Date:   Mon May 31 22:24:42 2004 +0000
        !          9214: 
        !          9215:     Updated the distribution script.
        !          9216: 
        !          9217: commit bb68ad2fd34dc6ab8723ae1c9c37f9dc19ed85ea
        !          9218: Author: Martin Mares <mj@ucw.cz>
        !          9219: Date:   Mon May 31 22:22:21 2004 +0000
        !          9220: 
        !          9221:     Documented the pxlen parameter.
        !          9222: 
        !          9223: commit 3810eccf6bc5af413d883fd298d59e0d7bdb96ea
        !          9224: Author: Martin Mares <mj@ucw.cz>
        !          9225: Date:   Mon May 31 22:16:54 2004 +0000
        !          9226: 
        !          9227:     Added a simple utility for converting CVS log messages to a reasonable
        !          9228:     changelog format.
        !          9229: 
        !          9230: commit ea0ac8f69aec4eff8109eb3d74cc0ca5a330fa58
        !          9231: Author: Martin Mares <mj@ucw.cz>
        !          9232: Date:   Mon May 31 22:00:18 2004 +0000
        !          9233: 
        !          9234:     Move CLI socket to the newly created CLI's pool.
        !          9235:     
        !          9236:     (thanks to Andreas for the original idea)
        !          9237: 
        !          9238: commit 38a608c55af7654f23c9a16129ab6211aac3b7ab
        !          9239: Author: Martin Mares <mj@ucw.cz>
        !          9240: Date:   Mon May 31 21:48:19 2004 +0000
        !          9241: 
        !          9242:     Rewritten the I/O loop. All socket operations are now safe, meaning that
        !          9243:     you can delete the socket from anywhere in the hooks and nothing should break.
        !          9244:     Also, the receive/transmit buffers are now regular xmalloc()'ed buffers,
        !          9245:     not separate resources which would need shuffling around between pools.
        !          9246:     
        !          9247:     sk_close() is gone, use rfree() instead.
        !          9248: 
        !          9249: commit 206f59dfa8e59e32f4aef12dacb0804581b9f602
        !          9250: Author: Martin Mares <mj@ucw.cz>
        !          9251: Date:   Mon May 31 21:02:09 2004 +0000
        !          9252: 
        !          9253:     Added UNUSED.
        !          9254: 
        !          9255: commit 6a57bb311018570b6ee7beccafd2075108e346cb
        !          9256: Author: Martin Mares <mj@ucw.cz>
        !          9257: Date:   Mon May 31 20:57:38 2004 +0000
        !          9258: 
        !          9259:     Killed a couple of unused variables.
        !          9260:     
        !          9261:     We really should compile with warnings enabled.
        !          9262: 
        !          9263: commit d83faf8dc441259183d87c6669e76e4addc61b21
        !          9264: Author: Martin Mares <mj@ucw.cz>
        !          9265: Date:   Mon May 31 20:53:22 2004 +0000
        !          9266: 
        !          9267:     static declarations don't belong to includes. (And most of them were
        !          9268:     redundant anyway.)
        !          9269: 
        !          9270: commit 7deffd845a0f2bfe4cebbb01e0505314af32693a
        !          9271: Author: Martin Mares <mj@ucw.cz>
        !          9272: Date:   Mon May 31 20:51:45 2004 +0000
        !          9273: 
        !          9274:     Need <termios.h> for tcdrain().
        !          9275: 
        !          9276: commit 9f387e11a319ea55104c6e8362f9820bf1b00097
        !          9277: Author: Martin Mares <mj@ucw.cz>
        !          9278: Date:   Mon May 31 20:49:11 2004 +0000
        !          9279: 
        !          9280:     Make the check for <linux/rtnetlink.h> work with recent libc's.
        !          9281: 
        !          9282: commit 0757bcb728c8bd56fa03ea296862d62e05f6ba09
        !          9283: Author: Martin Mares <mj@ucw.cz>
        !          9284: Date:   Mon May 31 20:35:19 2004 +0000
        !          9285: 
        !          9286:     One space more.
        !          9287: 
        !          9288: commit 2cc37815ae1f194c5a0c51e5761377caea9cc164
        !          9289: Author: Martin Mares <mj@ucw.cz>
        !          9290: Date:   Mon May 31 18:47:19 2004 +0000
        !          9291: 
        !          9292:     Added rmove()  (by Andreas, tweaked by me).
        !          9293: 
        !          9294: commit 0077aab4f9041e4d05d2d6916edfb0e15738cb37
        !          9295: Author: Martin Mares <mj@ucw.cz>
        !          9296: Date:   Mon May 31 18:16:42 2004 +0000
        !          9297: 
        !          9298:     The code was broken for external /29 to /32 routes. Assuming that you
        !          9299:     have one machine publishing a route to 10.1.1.3/32 and another one
        !          9300:     publishing a route to 10.1.1.4/32. If the first machine went down the
        !          9301:     route to 10.1.1.4/32 was wrongly killed by the old code, leading either
        !          9302:     to missing routes or worse to bug()s like "Router parent does not have
        !          9303:     next hop" or just segfaults. The patch fixes this but in the long term a
        !          9304:     redesign is required here. Note that the patch doesn't worse the
        !          9305:     situation, instead it prevents the problems stated. The redesign is
        !          9306:     required to handle multiple routes to small subnets properly.
        !          9307:     
        !          9308:     (by Andreas)
        !          9309:     
        !          9310:     Feela, I think that this is at least a good temporary fix, but it's
        !          9311:     of course up to you to decide.
        !          9312: 
        !          9313: commit 4ef3dccfa112faddf79fed76a539353b705702b5
        !          9314: Author: Martin Mares <mj@ucw.cz>
        !          9315: Date:   Mon May 31 18:13:14 2004 +0000
        !          9316: 
        !          9317:     The OSPF authentication type was sent in host byte order instead of of
        !          9318:     network byte order thus breaking interoperability with other routing
        !          9319:     daemons on litte endian machines. The patch fixes this but note that
        !          9320:     this breaks compatability with older bird installations using OSPF and
        !          9321:     password authentication
        !          9322:     
        !          9323:     (Andreas)
        !          9324: 
        !          9325: commit 3cb96cd343196baabf847f5d670711162e66e298
        !          9326: Author: Martin Mares <mj@ucw.cz>
        !          9327: Date:   Mon May 31 18:11:16 2004 +0000
        !          9328: 
        !          9329:     The initial sequence number for RIP md5 authentication was always zero.
        !          9330:     Bad as when bird e.g. was running for two weeks and then restarted it
        !          9331:     would take another two weeks until the peers of this router would accept
        !          9332:     data again from this router, as the sequence number would be too low.
        !          9333:     Changed to use the the current system time as the starting sequence
        !          9334:     number which is a more sane start value.
        !          9335:     
        !          9336:     (by Andreas, cleaned up by me)
        !          9337: 
        !          9338: commit 277a34eff195fe39a63db59731f5f2c8d54abdb2
        !          9339: Author: Martin Mares <mj@ucw.cz>
        !          9340: Date:   Mon May 31 18:08:50 2004 +0000
        !          9341: 
        !          9342:     Small correction to va_start/va_end in cli_printf (va_end was missing).
        !          9343:     
        !          9344:     (Andreas)
        !          9345: 
        !          9346: commit 5f2a6a9ff324d846c86ffafb60ae5a4c01d06313
        !          9347: Author: Martin Mares <mj@ucw.cz>
        !          9348: Date:   Mon May 31 17:55:30 2004 +0000
        !          9349: 
        !          9350:     Fix handling on full pipe to client in bird. Prevent packet overflows
        !          9351:     for even only medium sized route table output. Fix a strange garbled
        !          9352:     output problem in the client. The latter seems to be caused by some
        !          9353:     library doing tcflush while there is still command output pending. So
        !          9354:     the best fix here is to do fflush and then tcdrain. Note that this
        !          9355:     problem occurs only under certain load situations and is not too easy to
        !          9356:     reproduce.
        !          9357:     
        !          9358:     (by Andreas)
        !          9359: 
        !          9360: commit a4ffe2739d1a3efb45f209b63b2b6faa558e43a9
        !          9361: Author: Martin Mares <mj@ucw.cz>
        !          9362: Date:   Mon May 31 17:53:02 2004 +0000
        !          9363: 
        !          9364:     Bird's control socket should be in /var/run and the convention for
        !          9365:     --localstatedir is /var. The control socket pathname creation is thus
        !          9366:     corrected here.
        !          9367:     
        !          9368:     (Andreas)
        !          9369: 
        !          9370: commit 03e3d184b2d8fac4c82408b1ac1738cb7af5680e
        !          9371: Author: Martin Mares <mj@ucw.cz>
        !          9372: Date:   Mon May 31 17:44:39 2004 +0000
        !          9373: 
        !          9374:     Fix bison input for current build tools, otherwise bison or the compiler
        !          9375:     will abort the build.
        !          9376:     
        !          9377:     (by Andreas)
        !          9378: 
        !          9379: commit 4a02013767ab05b9cf7567c09e5fad59c9bd1c10
        !          9380: Author: Martin Mares <mj@ucw.cz>
        !          9381: Date:   Mon May 31 17:42:38 2004 +0000
        !          9382: 
        !          9383:     Make RIP nolisten mode actually work. The socket is required for
        !          9384:     sending, the received data has to be discarded instead.
        !          9385:     
        !          9386:     (patch by Andreas Steinmetz modified by me)
        !          9387: 
        !          9388: commit 1bd897dd33a49bd03f661e84687f8bba25af2983
        !          9389: Author: Ondrej Filip <feela@network.cz>
        !          9390: Date:   Mon May 31 17:27:21 2004 +0000
        !          9391: 
        !          9392:     Changed of comments.
        !          9393: 
        !          9394: commit 10af3676ea4268452776acd7b06a95c72d71f2e0
        !          9395: Author: Ondrej Filip <feela@network.cz>
        !          9396: Date:   Mon May 31 17:16:47 2004 +0000
        !          9397: 
        !          9398:     Grrr, committing too fast.
        !          9399:     #include "alloca.h" -> #include "lib/alloca.h"
        !          9400: 
        !          9401: commit 7dbd4fd332bb614db858944da86b29c86d9b1d81
        !          9402: Author: Ondrej Filip <feela@network.cz>
        !          9403: Date:   Mon May 31 17:13:58 2004 +0000
        !          9404: 
        !          9405:     alloca.h added
        !          9406: 
        !          9407: commit 0e6eef620d4b838fc558711cd2d5572ec7a576c2
        !          9408: Author: Ondrej Filip <feela@network.cz>
        !          9409: Date:   Mon May 31 17:07:05 2004 +0000
        !          9410: 
        !          9411:     Use #include "alloca.h"
        !          9412: 
        !          9413: commit c222500d8e098f0504405724b56676a2efc0861f
        !          9414: Author: Ondrej Filip <feela@network.cz>
        !          9415: Date:   Mon May 31 17:00:22 2004 +0000
        !          9416: 
        !          9417:     Previous change was mistake.
        !          9418: 
        !          9419: commit 6f18235aad187ed9e2afbb166b34c5cc3765b430
        !          9420: Author: Ondrej Filip <feela@network.cz>
        !          9421: Date:   Mon May 31 16:42:12 2004 +0000
        !          9422: 
        !          9423:     Useless include deleted.
        !          9424: 
        !          9425: commit f54fa9e15dce42b8c80b7ea95ab2653cc5be4e4e
        !          9426: Author: Martin Mares <mj@ucw.cz>
        !          9427: Date:   Mon May 31 16:10:01 2004 +0000
        !          9428: 
        !          9429:     Updated copyright notices.
        !          9430:     
        !          9431:     Also testing whether syncmail works.
        !          9432: 
        !          9433: commit 73219ecfecbf2851e1a3b6c4a1084b2eaa6d159c
        !          9434: Author: Ondrej Filip <feela@network.cz>
        !          9435: Date:   Mon May 31 15:13:56 2004 +0000
        !          9436: 
        !          9437:     Delete autom4te.cache in 'make distclean'.
        !          9438: 
        !          9439: commit 6de62923120c1dba8461aed8aed95eff433fcf4a
        !          9440: Author: Ondrej Filip <feela@network.cz>
        !          9441: Date:   Mon May 31 15:08:29 2004 +0000
        !          9442: 
        !          9443:     Better readline checking.
        !          9444: 
        !          9445: commit 012279f395a7cb87a3085b6c4674777da7ee9661
        !          9446: Author: Ondrej Filip <feela@network.cz>
        !          9447: Date:   Mon May 31 13:59:03 2004 +0000
        !          9448: 
        !          9449:     Some include added.
        !          9450: 
        !          9451: commit d93fb7e6b9a1d2964bc926ca9ed7ab11f5003c1d
        !          9452: Author: Ondrej Filip <feela@network.cz>
        !          9453: Date:   Mon May 31 13:58:38 2004 +0000
        !          9454: 
        !          9455:     #ifndef ALIGN - it is defined on *BSD
        !          9456: 
        !          9457: commit a60277b9997a891fdc5d62e07ac96885c009f531
        !          9458: Author: Ondrej Filip <feela@network.cz>
        !          9459: Date:   Mon May 31 13:35:06 2004 +0000
        !          9460: 
        !          9461:     Added RTD_NONE /* Just for internal use */
        !          9462: 
        !          9463: commit 0c745adc8003ac816be15e2246fa4685e127d120
        !          9464: Author: Ondrej Filip <feela@network.cz>
        !          9465: Date:   Mon May 31 13:34:20 2004 +0000
        !          9466: 
        !          9467:     #ifdef ALLOCA_H
        !          9468: 
        !          9469: commit bd62eeca27aba7da34a65a8f039d1b011115ddca
        !          9470: Author: Ondrej Filip <feela@network.cz>
        !          9471: Date:   Mon May 31 13:32:58 2004 +0000
        !          9472: 
        !          9473:     Small change to compile client on FreeBSD.
        !          9474: 
        !          9475: commit b1a1fabac70201e9b05aeb9fd6af703f0fbffdb4
        !          9476: Author: Ondrej Filip <feela@network.cz>
        !          9477: Date:   Mon May 31 13:25:00 2004 +0000
        !          9478: 
        !          9479:     *BSD port added. (Tested on FreeBSD and NetBSD)
        !          9480: 
        !          9481: commit 781aa475aaa7503d4a86f0d4b8771cd027d30c04
        !          9482: Author: Ondrej Filip <feela@network.cz>
        !          9483: Date:   Mon May 31 13:22:49 2004 +0000
        !          9484: 
        !          9485:     Minor bug fix in neighbor state machine.
        !          9486: 
        !          9487: commit de259a41e3175d4080d5a33a39f0279308a25b56
        !          9488: Author: Ondrej Filip <feela@network.cz>
        !          9489: Date:   Mon May 31 10:38:44 2004 +0000
        !          9490: 
        !          9491:     Minor bug in configuration.
        !          9492: 
        !          9493: commit 7cb37e6fd2d9fb5723d6f680d0e064e4ba9c6091
        !          9494: Author: Ondrej Filip <feela@network.cz>
        !          9495: Date:   Mon May 31 10:26:18 2004 +0000
        !          9496: 
        !          9497:     Added some more test (alloca.h, sa_len) etc.
        !          9498:     Add AC_OUTPUT before AC_OUTPUT_COMMANDS
        !          9499: 
        !          9500: commit caeb02ea19b8b3b04bc9705d5270954bfc21cab6
        !          9501: Author: Ondrej Filip <feela@network.cz>
        !          9502: Date:   Wed May 19 12:30:58 2004 +0000
        !          9503: 
        !          9504:     Bug in DBDES receiving fixed.
        !          9505: 
        !          9506: commit 502ded521508a402910b2bf8f23f2e34f79f91cb
        !          9507: Author: Martin Mares <mj@ucw.cz>
        !          9508: Date:   Sat Dec 6 16:41:11 2003 +0000
        !          9509: 
        !          9510:     Fix reporting of RIP socket errors. Thanks to Eric Leblond for the patch.
        !          9511: 
        !          9512: commit 37299f1e442f5ca23fd9124d9645096c5a6f7536
        !          9513: Author: Ondrej Filip <feela@network.cz>
        !          9514: Date:   Tue Sep 30 17:05:55 2003 +0000
        !          9515: 
        !          9516:     OSPF was not able to be built stand-alone.
        !          9517: 
        !          9518: commit 00bd27a1cc8eee6df626a7441cc548e82bf42c4c
        !          9519: Author: Ondrej Filip <feela@network.cz>
        !          9520: Date:   Sun Sep 14 13:41:24 2003 +0000
        !          9521: 
        !          9522:     Endianity problem fixed. Thanx to Sörös József
        !          9523: 
        !          9524: commit 35a86ceb4082d8d31e6949f8d454eaa28c498a86
        !          9525: Author: Ondrej Filip <feela@network.cz>
        !          9526: Date:   Wed Sep 3 17:31:23 2003 +0000
        !          9527: 
        !          9528:     This prevents infinite loop when bird has more that 60 neighbors. Thanks to Rani Assaf
        !          9529: 
        !          9530: commit bf135bcb1feca7b9ee35342c239ed3a66415d854
        !          9531: Author: Ondrej Filip <feela@network.cz>
        !          9532: Date:   Mon Sep 1 08:46:07 2003 +0000
        !          9533: 
        !          9534:     Prepared for release 1.0.8.
        !          9535: 
        !          9536: commit c11007bc423188872d37e277fe4637094a40d90f
        !          9537: Author: Ondrej Filip <feela@network.cz>
        !          9538: Date:   Tue Aug 26 10:41:02 2003 +0000
        !          9539: 
        !          9540:     Endian-related bug fixes sent by Krzysztof Szuster <kszuster@polbox.com>
        !          9541: 
        !          9542: commit 1d1a3c1c2a72ef91b785f5ed08ca5ab3f001b14e
        !          9543: Author: Ondrej Filip <feela@network.cz>
        !          9544: Date:   Sat Aug 23 10:47:46 2003 +0000
        !          9545: 
        !          9546:     Minor OSPF changes for faster startup.
        !          9547: 
        !          9548: commit baa5dd6ccc14eb6bc43fad37a2bfe88ad190c0fa
        !          9549: Author: Ondrej Filip <feela@network.cz>
        !          9550: Date:   Sat Aug 23 10:42:41 2003 +0000
        !          9551: 
        !          9552:     Many spelling mistakes fixed.
        !          9553:     
        !          9554:     Thanks you Harry Moyes.
        !          9555: 
        !          9556: commit c197d44e1790ab1738cf9e438c2c91bd74e9b94e
        !          9557: Author: Martin Mares <mj@ucw.cz>
        !          9558: Date:   Wed Aug 13 22:07:55 2003 +0000
        !          9559: 
        !          9560:     This probably IS the memory leak we're looking for. Alien routes weren't
        !          9561:     correctly disposed of.
        !          9562: 
        !          9563: commit 13b75bacf7221eb655dcbed54e3c3605bea5169e
        !          9564: Author: Martin Mares <mj@ucw.cz>
        !          9565: Date:   Wed Aug 13 20:04:39 2003 +0000
        !          9566: 
        !          9567:     protocol->import_control() could potentially call rte_cow() as well.
        !          9568:     AFAIK it doesn't happen in any of our protocol, but better be sure.
        !          9569: 
        !          9570: commit 2adab6ae9cc586871a8854e51452839cb1dd1db0
        !          9571: Author: Martin Mares <mj@ucw.cz>
        !          9572: Date:   Wed Aug 13 19:31:22 2003 +0000
        !          9573: 
        !          9574:     This was a potential memory leak, but not the one Feela observed.
        !          9575:     
        !          9576:     This one could happen when an import filter of some protocol modified
        !          9577:     the rte (so that it would be rte_cow()ed) and later rejected it.
        !          9578: 
        !          9579: commit b77834b3f41e551adc045d23f387533d428349ae
        !          9580: Author: Martin Mares <mj@ucw.cz>
        !          9581: Date:   Sun Apr 6 21:36:35 2003 +0000
        !          9582: 
        !          9583:     Slept for a year :-)
        !          9584: 
        !          9585: commit c153ee91373438095ae6ec18e2dfb9f334d2dfe6
        !          9586: Author: Martin Mares <mj@ucw.cz>
        !          9587: Date:   Sun Apr 6 19:52:22 2003 +0000
        !          9588: 
        !          9589:     Nobody is perfect. Me twice :)
        !          9590: 
        !          9591: commit 8edd56bded8ffc7fabbce690133892de6dcd5f62
        !          9592: Author: Martin Mares <mj@ucw.cz>
        !          9593: Date:   Sun Apr 6 19:49:17 2003 +0000
        !          9594: 
        !          9595:     Oops, forgot to change some paths.
        !          9596: 
        !          9597: commit d02b7a738eb94d031b106319f3af259717c80fe0
        !          9598: Author: Martin Mares <mj@ucw.cz>
        !          9599: Date:   Sun Apr 6 19:49:02 2003 +0000
        !          9600: 
        !          9601:     More news.
        !          9602: 
        !          9603: commit f2c642e0e5c266f8b955cfa5aec785c3f96c5ed5
        !          9604: Author: Martin Mares <mj@ucw.cz>
        !          9605: Date:   Sun Apr 6 19:46:42 2003 +0000
        !          9606: 
        !          9607:     We're 1.0.6 now.
        !          9608: 
        !          9609: commit 0e41e34a231198498289e367b93b3e9b99d5eb2e
        !          9610: Author: Martin Mares <mj@ucw.cz>
        !          9611: Date:   Sun Apr 6 19:45:55 2003 +0000
        !          9612: 
        !          9613:     Avoid problems with copying a directory to itself.
        !          9614: 
        !          9615: commit f240a133b32db88c98ad5a7f9d72fdb909311af6
        !          9616: Author: Martin Mares <mj@ucw.cz>
        !          9617: Date:   Sun Apr 6 19:42:28 2003 +0000
        !          9618: 
        !          9619:     Releasing version 1.0.6.
        !          9620: 
        !          9621: commit 9c7631235ac174ebd33a3e04e07211b3ae8501f6
        !          9622: Author: Martin Mares <mj@ucw.cz>
        !          9623: Date:   Sun Apr 6 19:35:50 2003 +0000
        !          9624: 
        !          9625:     Updated the documentation building tools to work with a recent linuxdoc-tools package.
        !          9626:     
        !          9627:     Note that this is (and always was) a terrible hack and we really should
        !          9628:     replace it with something reasonable which wouldn't need changing every
        !          9629:     time linuxdoc-tools evolve.
        !          9630:     
        !          9631:     I also needed to include a patched version of LinuxDocTools.pm, because the
        !          9632:     original one explicitly refused to work with a non-linuxdoc DTD. The authors
        !          9633:     of linuxdoc recommend to use sgmltools-lite in such cases, but it would mean
        !          9634:     rewritting our formatting rules to the DSSSL language which I don't dare to
        !          9635:     speak about here :)
        !          9636: 
        !          9637: commit a9aa5887f3b9b43d9a3a5617ef9176da936ce35f
        !          9638: Author: Martin Mares <mj@ucw.cz>
        !          9639: Date:   Sun Apr 6 18:55:37 2003 +0000
        !          9640: 
        !          9641:     Added release history.
        !          9642: 
        !          9643: commit 8cf76fa8536e52a5c90d500ac1d74f49d87e905d
        !          9644: Author: Martin Mares <mj@ucw.cz>
        !          9645: Date:   Sun Apr 6 18:38:01 2003 +0000
        !          9646: 
        !          9647:     Bug fixes to authentication code by Eric Leblond <eleblond@init-sys.com>.
        !          9648: 
        !          9649: commit d85e1f0e2f389d273ff14e89faced390b76d842b
        !          9650: Author: Martin Mares <mj@ucw.cz>
        !          9651: Date:   Thu Feb 27 10:48:30 2003 +0000
        !          9652: 
        !          9653:     Prefix comparison bug (hopefully) fixed.
        !          9654: 
        !          9655: commit 6ea8ca1469a9c9150a4e0be9f8e6ab025eee990a
        !          9656: Author: Martin Mares <mj@ucw.cz>
        !          9657: Date:   Sun Feb 23 10:22:04 2003 +0000
        !          9658: 
        !          9659:     Updated a comment.
        !          9660: 
        !          9661: commit abf06173a3d84559dd26d2a78a1e5df9656a4d80
        !          9662: Author: Martin Mares <mj@ucw.cz>
        !          9663: Date:   Sat Feb 22 23:06:32 2003 +0000
        !          9664: 
        !          9665:     Current Linux kernels don't remember rtm_protocol for IPv6 routes and supply RTPROT_BOOT instead.
        !          9666:     Work around that.
        !          9667: 
        !          9668: commit 11d4474c17e76e9811dcb32f555fa1c6f3684fab
        !          9669: Author: Martin Mares <mj@ucw.cz>
        !          9670: Date:   Sat Feb 22 22:47:45 2003 +0000
        !          9671: 
        !          9672:     Better selection of link-local NLRI addresses, at least for our own
        !          9673:     address. Need to do it better for the other neighbors -- the current
        !          9674:     solution works only if they use the standard 64+64 global addresses
        !          9675:     and the interface identifier in lower 64 bits is the same as for the
        !          9676:     link-scope addresses.
        !          9677: 
        !          9678: commit 7b7a7b43a6915efbe9180f07cd1284a39efacf02
        !          9679: Author: Martin Mares <mj@ucw.cz>
        !          9680: Date:   Sat Feb 22 22:39:06 2003 +0000
        !          9681: 
        !          9682:     There can be multiple primary addresses with different scopes
        !          9683:     and only the highest scope one has IA_PRIMARY set, so report
        !          9684:     the remaining ones as "Unselected".
        !          9685: 
        !          9686: commit 8001948b43c9367e86473630f58527249d7da04f
        !          9687: Author: Martin Mares <mj@ucw.cz>
        !          9688: Date:   Sat Feb 22 22:38:15 2003 +0000
        !          9689: 
        !          9690:     Report link-scope addresses as well.
        !          9691: 
        !          9692: commit 8c92bf6a0ddc21f2fa19c195a73d43837f60fc23
        !          9693: Author: Martin Mares <mj@ucw.cz>
        !          9694: Date:   Sat Feb 22 10:40:35 2003 +0000
        !          9695: 
        !          9696:     Temporary fix for BGP protocol capability announcement for IPv6 mode.
        !          9697: 
        !          9698: commit 60a72ed49b36aea732d3584527040a7b3b0e72e0
        !          9699: Author: Martin Mares <mj@ucw.cz>
        !          9700: Date:   Sat Feb 22 10:25:22 2003 +0000
        !          9701: 
        !          9702:     Fixed length check miscalculation in IPv6 receive path.
        !          9703: 
        !          9704: commit 47f18ac39a313cf213b43320557239c5d0855a11
        !          9705: Author: Martin Mares <mj@ucw.cz>
        !          9706: Date:   Wed Nov 13 08:47:19 2002 +0000
        !          9707: 
        !          9708:     ABS should be a macro.
        !          9709: 
        !          9710: commit 7d875e094bbbb9d4b234e31fe08f31510ac1d7d0
        !          9711: Author: Martin Mares <mj@ucw.cz>
        !          9712: Date:   Wed Nov 13 08:47:06 2002 +0000
        !          9713: 
        !          9714:     Added missing includes.
        !          9715: 
        !          9716: commit de10a974f2e2e8a11b6a6852cd770c1096e1c25d
        !          9717: Author: Martin Mares <mj@ucw.cz>
        !          9718: Date:   Wed Nov 13 08:46:12 2002 +0000
        !          9719: 
        !          9720:     Added missing semicolons.
        !          9721: 
        !          9722: commit 59b96d7b4d8a055aa77917099b358cfc7b5e0731
        !          9723: Author: Martin Mares <mj@ucw.cz>
        !          9724: Date:   Wed Nov 13 08:45:24 2002 +0000
        !          9725: 
        !          9726:     Don't use obsolete functions which are no longer declared in the header.
        !          9727: 
        !          9728: commit a19cd811000902facceff5a30facf7dba9cb2095
        !          9729: Author: Martin Mares <mj@ucw.cz>
        !          9730: Date:   Wed Nov 13 08:30:56 2002 +0000
        !          9731: 
        !          9732:     Added missing #include and wondering how could it ever compile.
        !          9733: 
        !          9734: commit 19bd5c8e2c0fd47ff27668b8c45acc79f4d703b4
        !          9735: Author: Pavel Machek <pavel@ucw.cz>
        !          9736: Date:   Sat Sep 21 13:57:48 2002 +0000
        !          9737: 
        !          9738:     Password does not need to be null-terminated, do not print garbage in
        !          9739:     such case. Thanks to silvio@big.net.
        !          9740: 
        !          9741: commit 4ca0d0847e015bbecf6db3cec8f3ce57c2d8035c
        !          9742: Author: Ondrej Filip <feela@network.cz>
        !          9743: Date:   Wed Apr 3 15:41:05 2002 +0000
        !          9744: 
        !          9745:     Small typo fixed.
        !          9746: 
        !          9747: commit 53a50af50427e2fedc4bbfeca7a5934a798a3827
        !          9748: Author: Martin Mares <mj@ucw.cz>
        !          9749: Date:   Sun Mar 10 12:32:12 2002 +0000
        !          9750: 
        !          9751:     Applied Pavel's fix for broadcast/multicast mode.
        !          9752: 
        !          9753: commit e59e310e6435c6c72b585c6f4b5e6c9bbd006553
        !          9754: Author: Ondrej Filip <feela@network.cz>
        !          9755: Date:   Mon Mar 4 15:54:39 2002 +0000
        !          9756: 
        !          9757:     Age LSA DB after LSA origination and before routing table calculation.
        !          9758: 
        !          9759: commit 025b0e856a85dcae755e97922febc190145ba89c
        !          9760: Author: Ondrej Filip <feela@network.cz>
        !          9761: Date:   Mon Mar 4 15:52:40 2002 +0000
        !          9762: 
        !          9763:     New trace added.
        !          9764: 
        !          9765: commit b78696282de32a202a9bed304f8edf044833f36f
        !          9766: Author: Ondrej Filip <feela@network.cz>
        !          9767: Date:   Fri Dec 7 17:34:09 2001 +0000
        !          9768: 
        !          9769:     Bugfix in router importation.
        !          9770: 
        !          9771: commit 30c34a10797c2773a0b99e71b22f111ee2a7f980
        !          9772: Author: Ondrej Filip <feela@network.cz>
        !          9773: Date:   Fri Dec 7 17:10:49 2001 +0000
        !          9774: 
        !          9775:     Small bugfix in RIP documentation.
        !          9776: 
        !          9777: commit 8e32493c56a49f10a6949985d5b0bb4dbcbe204d
        !          9778: Author: Ondrej Filip <feela@network.cz>
        !          9779: Date:   Tue Aug 21 17:00:15 2001 +0000
        !          9780: 
        !          9781:     Removed some useless (hope!) code in next hop calculation.
        !          9782: 
        !          9783: commit 68db89a2ce35a96aef827f4e86c5dfd82842f9d7
        !          9784: Author: Ondrej Filip <feela@network.cz>
        !          9785: Date:   Tue Aug 21 16:44:57 2001 +0000
        !          9786: 
        !          9787:     Finally, next hop problem fixed.
        !          9788: 
        !          9789: commit 37da55168cdb0f562266eff4b821f6e576d93931
        !          9790: Author: Ondrej Filip <feela@network.cz>
        !          9791: Date:   Tue Aug 21 15:03:42 2001 +0000
        !          9792: 
        !          9793:     Useless trace.
        !          9794: 
        !          9795: commit e8ab16803065894497dd306c941b0815fac5b25a
        !          9796: Author: Ondrej Filip <feela@network.cz>
        !          9797: Date:   Tue Aug 21 15:00:29 2001 +0000
        !          9798: 
        !          9799:     Hope, bug in next hop calculation for stub routes fixed.
        !          9800: 
        !          9801: commit e43ae6330eaf349eafe6820465c85266eef80e07
        !          9802: Author: Martin Mares <mj@ucw.cz>
        !          9803: Date:   Sun Aug 19 11:15:24 2001 +0000
        !          9804: 
        !          9805:     Fix %<something>I format strings.
        !          9806: 
        !          9807: commit 30b773041c37d10649a16d5f28af00a25871aac7
        !          9808: Author: Martin Mares <mj@ucw.cz>
        !          9809: Date:   Sun Aug 19 11:11:44 2001 +0000
        !          9810: 
        !          9811:     IP address formatting now uses the same rules as formatting of strings
        !          9812:     with two exceptions:
        !          9813:     
        !          9814:        o  Any non-zero field width is automatically replaced by standard
        !          9815:           IP address width. This hides dependences on IPv4/IPv6.
        !          9816:        o  %#I generates hexadecimal form of the address.
        !          9817:     
        !          9818:     Therefore |%I| generates unpadded format, |%1I| full size flush-right,
        !          9819:     and |%-1I| full size flush-left format.
        !          9820: 
        !          9821: commit 16319aebd30da5161bed95d72094250228a7f61c
        !          9822: Author: Ondrej Filip <feela@network.cz>
        !          9823: Date:   Sun Aug 12 00:09:47 2001 +0000
        !          9824: 
        !          9825:     Dokumented switch network.
        !          9826: 
        !          9827: commit c926eee72471d8127ff833548b0ce1f8cb6de276
        !          9828: Author: Ondrej Filip <feela@network.cz>
        !          9829: Date:   Sun Aug 12 00:04:42 2001 +0000
        !          9830: 
        !          9831:     Area networks added into configuration.
        !          9832: 
        !          9833: commit b2bdb4065667f466575b831f4a3166bd309d9d14
        !          9834: Author: Ondrej Filip <feela@network.cz>
        !          9835: Date:   Sat Aug 11 16:22:29 2001 +0000
        !          9836: 
        !          9837:     Changed definition of stub area.
        !          9838: 
        !          9839: commit 85062e8a600cc7896b8bcaf3960bb782aa9f2ff0
        !          9840: Author: Ondrej Filip <feela@network.cz>
        !          9841: Date:   Sat Aug 11 14:40:51 2001 +0000
        !          9842: 
        !          9843:     Bugfix in B-bit setting in router LSA.
        !          9844: 
        !          9845: commit 78e2c6ccf16b41bc19a4cd69f959c8ae47e68b9d
        !          9846: Author: Ondrej Filip <feela@network.cz>
        !          9847: Date:   Sat Aug 11 14:01:54 2001 +0000
        !          9848: 
        !          9849:     I will not originate the same lsa before MINLSINTERVAL.
        !          9850: 
        !          9851: commit 5fc7c5c51344a8cc1fae2cc9077c2c331c1e419a
        !          9852: Author: Martin Mares <mj@ucw.cz>
        !          9853: Date:   Fri Aug 3 08:44:51 2001 +0000
        !          9854: 
        !          9855:     Don't loop forever when trying to skip an out-sequence netlink reply.
        !          9856: 
        !          9857: commit 24c00cb11915edb8c13dbc21f245a73fc34689ed
        !          9858: Author: Ondrej Filip <feela@network.cz>
        !          9859: Date:   Tue Jun 12 21:10:30 2001 +0000
        !          9860: 
        !          9861:     Install route into main routing table just if it's necessary.
        !          9862: 
        !          9863: commit c48b33292b6d39cdacd642565907c0d5b90adc68
        !          9864: Author: Ondrej Filip <feela@network.cz>
        !          9865: Date:   Sat Jun 9 15:13:38 2001 +0000
        !          9866: 
        !          9867:     Yes, 1.0.5 released.
        !          9868: 
        !          9869: commit 87c450dffcbcc76270c95b4c923838445cd6816b
        !          9870: Author: Ondrej Filip <feela@network.cz>
        !          9871: Date:   Sat Jun 9 14:56:01 2001 +0000
        !          9872: 
        !          9873:     Added comments.
        !          9874: 
        !          9875: commit e9d3c3aaea24724c285027154bd9f5ddef8394e0
        !          9876: Author: Ondrej Filip <feela@network.cz>
        !          9877: Date:   Sat Jun 9 14:55:10 2001 +0000
        !          9878: 
        !          9879:     Bug in next-hop calculation fixed. (For dual connected neighbors.)
        !          9880: 
        !          9881: commit ea31425a6191f0b3e181f8a1c7368fc4dfca24b4
        !          9882: Author: Ondrej Filip <feela@network.cz>
        !          9883: Date:   Mon Apr 9 19:15:03 2001 +0000
        !          9884: 
        !          9885:     Patch from David Rohleder <davro@ics.muni.cz> thanx.
        !          9886: 
        !          9887: commit 01b776e117d21ccfef996fd91c014c6e14a458a7
        !          9888: Author: Martin Mares <mj@ucw.cz>
        !          9889: Date:   Tue Mar 6 13:40:39 2001 +0000
        !          9890: 
        !          9891:     Fixed <time.h> vs. <sys/time.h> problems.
        !          9892: 
        !          9893: commit 27e993fb4ecc310a83da3a74b21b15c32c207a09
        !          9894: Author: Martin Mares <mj@ucw.cz>
        !          9895: Date:   Tue Feb 20 09:49:19 2001 +0000
        !          9896: 
        !          9897:     Fixed duplicity in log category numbering.
        !          9898:     
        !          9899:     Thanks to Zheng Yuan for spotting this.
        !          9900: 
        !          9901: commit 4d04187465fdeb3fb755b4d01ec640bbe0e36eb9
        !          9902: Author: Martin Mares <mj@ucw.cz>
        !          9903: Date:   Fri Jan 19 20:30:08 2001 +0000
        !          9904: 
        !          9905:     Added paper for my talk about BIRD at SLT 2001.
        !          9906: 
        !          9907: commit 0766e962e9a9539ceccd23090e5bb8e1301fce8c
        !          9908: Author: Martin Mares <mj@ucw.cz>
        !          9909: Date:   Wed Jan 17 08:32:28 2001 +0000
        !          9910: 
        !          9911:     Bug fix from Zheng Yuan <zyuan1@cig.mot.com>.
        !          9912: 
        !          9913: commit a2d01907c5b24bab78cc055fa23354597bd44a03
        !          9914: Author: Martin Mares <mj@ucw.cz>
        !          9915: Date:   Mon Jan 15 09:24:16 2001 +0000
        !          9916: 
        !          9917:     Added an explanatory comment.
        !          9918: 
        !          9919: commit 8c6ce98b9d9b5c4970e902cf667c1ffb64f04a62
        !          9920: Author: Martin Mares <mj@ucw.cz>
        !          9921: Date:   Mon Jan 8 11:13:01 2001 +0000
        !          9922: 
        !          9923:     Fixed infinite recursion in password_same.
        !          9924:     
        !          9925:     Pavel, please check.
        !          9926: 
        !          9927: commit 32749f493fdaea31f70d8586597febacd2c511d9
        !          9928: Author: Ondrej Filip <feela@network.cz>
        !          9929: Date:   Thu Dec 14 01:04:51 2000 +0000
        !          9930: 
        !          9931:     Hmm, nasty bug, LSUPD was not well flooded via PTP interfaces. :-(
        !          9932: 
        !          9933: commit 501c5bb03fabd3d5721cfd8c82298f729d79e7a3
        !          9934: Author: Ondrej Filip <feela@network.cz>
        !          9935: Date:   Tue Nov 21 23:47:51 2000 +0000
        !          9936: 
        !          9937:     Small bugfix in ext routes calculation.
        !          9938: 
        !          9939: commit a5096a1bdebe217eb0d04a95489562ac132f4552
        !          9940: Author: Ondrej Filip <feela@network.cz>
        !          9941: Date:   Wed Nov 8 22:46:54 2000 +0000
        !          9942: 
        !          9943:     Yet another nasty bugfix of iface_patts_equal().
        !          9944: 
        !          9945: commit 0639f7263a9a73cce6948cad23cd2d4858d36c5b
        !          9946: Author: Ondrej Filip <feela@network.cz>
        !          9947: Date:   Wed Nov 8 17:06:35 2000 +0000
        !          9948: 
        !          9949:     Bugfix in iface_patts_equal.
        !          9950:     When both patterns were NULL strcmp it sigfaulted.
        !          9951: 
        !          9952: commit 482bbc7396268fce66e8ecb59f248bc51229cdc9
        !          9953: Author: Ondrej Filip <feela@network.cz>
        !          9954: Date:   Sat Sep 9 19:21:01 2000 +0000
        !          9955: 
        !          9956:     Minor rpm changes to make RedHat happy.
        !          9957: 
        !          9958: commit 52fa3e386948b13b928ff9be778a7de62a00ceb3
        !          9959: Author: Ondrej Filip <feela@network.cz>
        !          9960: Date:   Mon Sep 4 21:21:34 2000 +0000
        !          9961: 
        !          9962:     Fixed many bugs in rt calculation and interface adding. Now it seems to be
        !          9963:     OK, I'm going to advertise 1.0.4.
        !          9964: 
        !          9965: commit b02e40111ea8d97bf1c3bfa25970ee0d828cd7bc
        !          9966: Author: Ondrej Filip <feela@network.cz>
        !          9967: Date:   Mon Sep 4 19:42:17 2000 +0000
        !          9968: 
        !          9969:     I allocate struct ifa before unlocking. So route exported to OSPF are correct.
        !          9970:     I work also with interfaces that have some problems with socket opening.
        !          9971:     I declare them as stub.
        !          9972: 
        !          9973: commit fdb19982020abeddf2d9eb73efae92ae2cc58d93
        !          9974: Author: Ondrej Filip <feela@network.cz>
        !          9975: Date:   Sun Sep 3 22:18:40 2000 +0000
        !          9976: 
        !          9977:     Serious bug in ext lsa origination found. Going for 1.0.4.
        !          9978: 
        !          9979: commit f02e4258b9bb7f823ddfbfb88284c868502b1433
        !          9980: Author: Ondrej Filip <feela@network.cz>
        !          9981: Date:   Sun Sep 3 18:27:21 2000 +0000
        !          9982: 
        !          9983:     Some misspells.
        !          9984: 
        !          9985: commit 43dff480efcc85bf32327b07c3c53c9c68cb3941
        !          9986: Author: Ondrej Filip <feela@network.cz>
        !          9987: Date:   Sun Sep 3 18:13:00 2000 +0000
        !          9988: 
        !          9989:     Version 1.0.3.
        !          9990: 
        !          9991: commit 19e930a9bbcc2dfdb87c8ada1a54ac4563a0cad6
        !          9992: Author: Ondrej Filip <feela@network.cz>
        !          9993: Date:   Sun Sep 3 17:53:12 2000 +0000
        !          9994: 
        !          9995:     Version 1.0.3 released.
        !          9996: 
        !          9997: commit f82e9bc3744f9ff5aa05d08a18fd03e46fb08b6f
        !          9998: Author: Ondrej Filip <feela@network.cz>
        !          9999: Date:   Sun Sep 3 16:21:14 2000 +0000
        !          10000: 
        !          10001:     Another atrey->atrey.karlin.mff.cuni.cz
        !          10002: 
        !          10003: commit 1e972b5524ff1ad28f4013632253a851c3559fc9
        !          10004: Author: Ondrej Filip <feela@network.cz>
        !          10005: Date:   Sun Sep 3 16:16:33 2000 +0000
        !          10006: 
        !          10007:     Log some unusual situation.
        !          10008: 
        !          10009: commit 76460860ece8ce43a42da7cb2342e57f553b646c
        !          10010: Author: Ondrej Filip <feela@network.cz>
        !          10011: Date:   Sun Sep 3 06:54:35 2000 +0000
        !          10012: 
        !          10013:     Small bugfix. (Use atrey.karlin.... instead of atrey.)
        !          10014: 
        !          10015: commit e3bc10fdc49266db827af4e4062e639862037eb6
        !          10016: Author: Ondrej Filip <feela@network.cz>
        !          10017: Date:   Sat Sep 2 08:54:40 2000 +0000
        !          10018: 
        !          10019:     Added stub interface. (Interface which is propagated to OSPF but
        !          10020:     it does not sends nor listens packets.)
        !          10021:     
        !          10022:     I added some new options, please look at it and look into doc if it's OK.
        !          10023: 
        !          10024: commit 5ddec4e6cfef8e5867d7440693894517f955e96f
        !          10025: Author: Ondrej Filip <feela@network.cz>
        !          10026: Date:   Sat Sep 2 07:58:05 2000 +0000
        !          10027: 
        !          10028:     Reconfigure poll interval.
        !          10029: 
        !          10030: commit 7cedbf217e8ce8a8669f31b1ee38e5f9ccb4eefd
        !          10031: Author: Ondrej Filip <feela@network.cz>
        !          10032: Date:   Sat Sep 2 00:15:07 2000 +0000
        !          10033: 
        !          10034:     Reconfiguration for new options.
        !          10035: 
        !          10036: commit e7e2878b744f415df9fcef291da67975da4dfc29
        !          10037: Author: Ondrej Filip <feela@network.cz>
        !          10038: Date:   Sat Sep 2 00:14:46 2000 +0000
        !          10039: 
        !          10040:     More examples.
        !          10041: 
        !          10042: commit a190e7200bf37ba834c776a28583bf897b4377f5
        !          10043: Author: Ondrej Filip <feela@network.cz>
        !          10044: Date:   Sat Sep 2 00:03:36 2000 +0000
        !          10045: 
        !          10046:     Added hellos on NBMA networks. (I don't violate RFC now.)
        !          10047: 
        !          10048: commit 94e2bbcc72f69edbcb3ce66ffa52998f374243c5
        !          10049: Author: Ondrej Filip <feela@network.cz>
        !          10050: Date:   Mon Aug 28 14:32:11 2000 +0000
        !          10051: 
        !          10052:     Better ospf metric explanation.
        !          10053: 
        !          10054: commit 5a063efeea11a80e865e9fa4b5e13c4ca8514b51
        !          10055: Author: Ondrej Filip <feela@network.cz>
        !          10056: Date:   Mon Aug 28 13:51:13 2000 +0000
        !          10057: 
        !          10058:     Bugfix in ext lsa importing.
        !          10059: 
        !          10060: commit 8b6b49239f409571486ae9589bcd57f706421517
        !          10061: Author: Ondrej Filip <feela@network.cz>
        !          10062: Date:   Fri Aug 25 12:26:03 2000 +0000
        !          10063: 
        !          10064:     Minor bug. It does not work on non RH systems. Thanx to
        !          10065:        Craig Bourne <cbourne@cbourne.com>
        !          10066: 
        !          10067: commit 6cf7e97abe05ee8943f8a2d300e1c46038b95df1
        !          10068: Author: Ondrej Filip <feela@network.cz>
        !          10069: Date:   Thu Aug 24 20:08:00 2000 +0000
        !          10070: 
        !          10071:     Added files for RPM building.
        !          10072: 
        !          10073: commit a24e3157628ade4c0c0c380094bec898b630b2ee
        !          10074: Author: Ondrej Filip <feela@network.cz>
        !          10075: Date:   Wed Aug 23 06:51:26 2000 +0000
        !          10076: 
        !          10077:     Released as version 1.0.2.
        !          10078: 
        !          10079: commit 9e2920824e13739a9169153f0164e6a4fe4adc1d
        !          10080: Author: Ondrej Filip <feela@network.cz>
        !          10081: Date:   Fri Aug 18 16:47:27 2000 +0000
        !          10082: 
        !          10083:     Typo.
        !          10084: 
        !          10085: commit f321a61f77262d33dd43d50136c8116ebf8139c6
        !          10086: Author: Ondrej Filip <feela@network.cz>
        !          10087: Date:   Fri Aug 18 16:44:37 2000 +0000
        !          10088: 
        !          10089:     Fixed bug in nex hop calculation of external routes.
        !          10090: 
        !          10091: commit 88aa2af7effa3752d033ccab5e18fb1303603585
        !          10092: Author: Ondrej Filip <feela@network.cz>
        !          10093: Date:   Fri Aug 18 16:36:54 2000 +0000
        !          10094: 
        !          10095:     Just formatting.
        !          10096: 
        !          10097: commit 28a6e1aa0ee17cee6aaad67d7433cb8038062582
        !          10098: Author: Ondrej Filip <feela@network.cz>
        !          10099: Date:   Thu Aug 17 19:42:52 2000 +0000
        !          10100: 
        !          10101:     Stupid bug in next hop calculation of external routes.
        !          10102: 
        !          10103: commit 1eec76077814fbe06879026809759dd5f5b8655f
        !          10104: Author: Ondrej Filip <feela@network.cz>
        !          10105: Date:   Wed Aug 16 20:18:19 2000 +0000
        !          10106: 
        !          10107:     Typo in rte_better.
        !          10108: 
        !          10109: commit 059fc1e94abcd658e9340313ffd080c5829ba8ef
        !          10110: Author: Ondrej Filip <feela@network.cz>
        !          10111: Date:   Wed Aug 16 19:37:04 2000 +0000
        !          10112: 
        !          10113:     My calculation of external routes violated rfc. :-(
        !          10114: 
        !          10115: commit d6a7e2fb8590660c00e984ff41d2e668d2ead69b
        !          10116: Author: Ondrej Filip <feela@network.cz>
        !          10117: Date:   Wed Aug 16 19:03:06 2000 +0000
        !          10118: 
        !          10119:     Bug in rte_better.
        !          10120: 
        !          10121: commit e7894eceded6ea1f757829a8845863c57660c9dd
        !          10122: Author: Martin Mares <mj@ucw.cz>
        !          10123: Date:   Mon Jun 26 20:02:30 2000 +0000
        !          10124: 
        !          10125:     Added slides for our presentation, but don't export them to the
        !          10126:     distribution tarball -- they are in Czech and therefore of no use
        !          10127:     to almost anybody :(
        !          10128: 
        !          10129: commit 2084109a3734227f0dcc21f3c8915a983ad9d586
        !          10130: Author: Martin Mares <mj@ucw.cz>
        !          10131: Date:   Wed Jun 21 22:11:29 2000 +0000
        !          10132: 
        !          10133:     Include CVS ChangeLog in the distribution
        !          10134: 
        !          10135: commit fc12a680b1102ae1b620180417ef8b0272b11bed
        !          10136: Author: Martin Mares <mj@ucw.cz>
        !          10137: Date:   Wed Jun 21 22:08:46 2000 +0000
        !          10138: 
        !          10139:     Released as version 1.0.1.
        !          10140: 
        !          10141: commit ad3907559c196ee39906d527ea4f3372beb6e6c5
        !          10142: Author: Pavel Machek <pavel@ucw.cz>
        !          10143: Date:   Wed Jun 21 19:40:46 2000 +0000
        !          10144: 
        !          10145:     RIP bugfix
        !          10146: 
        !          10147: commit 2836ce3951bbdda62c3dddd509669127f46e776d
        !          10148: Author: Martin Mares <mj@ucw.cz>
        !          10149: Date:   Wed Jun 21 09:58:09 2000 +0000
        !          10150: 
        !          10151:     Check broadcast address sanity before believing it.
        !          10152: 
        !          10153: commit bcbdcbb6ae7256e01165220bb3b2d5b72850f665
        !          10154: Author: Martin Mares <mj@ucw.cz>
        !          10155: Date:   Tue Jun 20 07:49:08 2000 +0000
        !          10156: 
        !          10157:     Don't accept incoming connections when the neighbor is not up.
        !          10158: 
        !          10159: commit f9eb8f7e066970d56a814128fd49170348a7fbd8
        !          10160: Author: Martin Mares <mj@ucw.cz>
        !          10161: Date:   Mon Jun 19 23:50:02 2000 +0000
        !          10162: 
        !          10163:     If compiled with --enable-debug, don't even try to log to syslog unless
        !          10164:     the user forces it in the config file.
        !          10165: 
        !          10166: commit 972fdb45323b75af254cfe6c912c52d3596a230a
        !          10167: Author: Ondrej Filip <feela@network.cz>
        !          10168: Date:   Mon Jun 19 15:12:50 2000 +0000
        !          10169: 
        !          10170:     Routing table calculation clean up.
        !          10171: 
        !          10172: commit ca00d4a13a7207da1ea3acf1f0e38ddc27669a4d
        !          10173: Author: Martin Mares <mj@ucw.cz>
        !          10174: Date:   Sun Jun 18 19:49:32 2000 +0000
        !          10175: 
        !          10176:     Fix numbering of routing tables in IPv6 version.
        !          10177: 
        !          10178: commit 4daf03e5138dea8e5c409ab20a07f35667caa89e
        !          10179: Author: Martin Mares <mj@ucw.cz>
        !          10180: Date:   Fri Jun 16 23:12:47 2000 +0000
        !          10181: 
        !          10182:     Use our own SUN_LEN if libc doesn't provide it.
        !          10183: 
        !          10184: commit 365211d5886ec59a543e9fbc2151d6218561c18c
        !          10185: Author: Ondrej Filip <feela@network.cz>
        !          10186: Date:   Tue Jun 13 19:03:41 2000 +0000
        !          10187: 
        !          10188:     Bugfix in logging.
        !          10189: 
        !          10190: commit dd44b2ce90950033c5c5419db67a1d53fb177f71
        !          10191: Author: Martin Mares <mj@ucw.cz>
        !          10192: Date:   Fri Jun 9 07:52:57 2000 +0000
        !          10193: 
        !          10194:     bird-1.0.0 has been released.
        !          10195: 
        !          10196: commit 5ddf4a58f9c4173acefa1df92ccd3da90230a863
        !          10197: Author: Martin Mares <mj@ucw.cz>
        !          10198: Date:   Fri Jun 9 07:32:57 2000 +0000
        !          10199: 
        !          10200:     During initialization, log to both syslog and stderr. When a configuration
        !          10201:     file has been read and it doesn't specify any logging, log to syslog only
        !          10202:     (if syslog is not available, then stderr).
        !          10203: 
        !          10204: commit 0b3bf4b1d898b4e438fe4959a63fc16211baff12
        !          10205: Author: Martin Mares <mj@ucw.cz>
        !          10206: Date:   Fri Jun 9 07:30:22 2000 +0000
        !          10207: 
        !          10208:     Use SUN_LEN() for length of UNIX domain addresses. This should fix problems
        !          10209:     with connection to clients on libc5 machines.
        !          10210: 
        !          10211: commit 0e376168c570507c8cb64b143eff0049442e201e
        !          10212: Author: Martin Mares <mj@ucw.cz>
        !          10213: Date:   Fri Jun 9 06:54:01 2000 +0000
        !          10214: 
        !          10215:     Shut up an uninitialized variable warning.
        !          10216: 
        !          10217: commit 1aa2a9c8351d6121124831f503306ff6869bbf39
        !          10218: Author: Martin Mares <mj@ucw.cz>
        !          10219: Date:   Fri Jun 9 06:49:43 2000 +0000
        !          10220: 
        !          10221:     Added a `What is missing' section.
        !          10222: 
        !          10223: commit 4386360bd9f71b159497ac3b671b4e3d117a6b73
        !          10224: Author: Martin Mares <mj@ucw.cz>
        !          10225: Date:   Fri Jun 9 06:46:58 2000 +0000
        !          10226: 
        !          10227:     Before building distribution tarballs, make distclean first.
        !          10228: 
        !          10229: commit 2d176ac5d22b08c25ac277821e3daef3a6f2ae23
        !          10230: Author: Martin Mares <mj@ucw.cz>
        !          10231: Date:   Fri Jun 9 06:45:48 2000 +0000
        !          10232: 
        !          10233:     Released as 1.0.0, but marked it as a BETA version.
        !          10234: 
        !          10235: commit 99955b54be850fad280a556ca80dc21374d2c5b7
        !          10236: Author: Martin Mares <mj@ucw.cz>
        !          10237: Date:   Fri Jun 9 06:31:43 2000 +0000
        !          10238: 
        !          10239:     Proper building and installation of documentation in the Makefiles.
        !          10240: 
        !          10241: commit a012cbb16f3d73ca7ffafe6f7933de7369e2ee48
        !          10242: Author: Ondrej Filip <feela@network.cz>
        !          10243: Date:   Thu Jun 8 19:16:21 2000 +0000
        !          10244: 
        !          10245:     Nasty bug in LSA refreshing. I didn't refesh my own copy! :-(
        !          10246: 
        !          10247: commit 135857e5777a4f1762fa6d948bb9d6b72e101c91
        !          10248: Author: Ondrej Filip <feela@network.cz>
        !          10249: Date:   Thu Jun 8 19:14:08 2000 +0000
        !          10250: 
        !          10251:     Acknoledge your own premature aged LSA.
        !          10252: 
        !          10253: commit 054a352475437d924e473c95b5d3ad01ae4ab161
        !          10254: Author: Ondrej Filip <feela@network.cz>
        !          10255: Date:   Thu Jun 8 19:02:31 2000 +0000
        !          10256: 
        !          10257:     Don't send dbdes before rtlsa origination.
        !          10258: 
        !          10259: commit 4bb18dd2daa1e13ab4f9aaff2ddc4875c4776559
        !          10260: Author: Pavel Machek <pavel@ucw.cz>
        !          10261: Date:   Thu Jun 8 16:57:41 2000 +0000
        !          10262: 
        !          10263:     Fix i_same for 'c' instruction.
        !          10264: 
        !          10265: commit 89e7de98e455071c5ff3796765fb6fd6860a63c6
        !          10266: Author: Martin Mares <mj@ucw.cz>
        !          10267: Date:   Thu Jun 8 15:44:52 2000 +0000
        !          10268: 
        !          10269:     Updated distribution README.
        !          10270: 
        !          10271: commit d4f72db31a512eafbb8aff4e5c1226fa59879382
        !          10272: Author: Martin Mares <mj@ucw.cz>
        !          10273: Date:   Thu Jun 8 15:22:06 2000 +0000
        !          10274: 
        !          10275:     When distcleaning, clean up doc as well.
        !          10276: 
        !          10277: commit 96264d4d2f22c652f6cef84ff6226352e1457cce
        !          10278: Author: Pavel Machek <pavel@ucw.cz>
        !          10279: Date:   Thu Jun 8 14:06:20 2000 +0000
        !          10280: 
        !          10281:     Final version of documentation (famous last words)
        !          10282: 
        !          10283: commit 66701947c43d34f89be59fe9845efd7c65f64454
        !          10284: Author: Martin Mares <mj@ucw.cz>
        !          10285: Date:   Thu Jun 8 12:56:59 2000 +0000
        !          10286: 
        !          10287:     Fixes.
        !          10288: 
        !          10289: commit 6567e6cf5081542dfeb2c1f2493873c4fabb012f
        !          10290: Author: Martin Mares <mj@ucw.cz>
        !          10291: Date:   Thu Jun 8 12:42:34 2000 +0000
        !          10292: 
        !          10293:     Missing parameters...
        !          10294: 
        !          10295: commit 1632f1fe32b9f13bf7746586bcbad70ffafe4697
        !          10296: Author: Pavel Machek <pavel@ucw.cz>
        !          10297: Date:   Thu Jun 8 12:38:16 2000 +0000
        !          10298: 
        !          10299:     More spellchecking and typographic changes.
        !          10300: 
        !          10301: commit 725270cb1da0672128675924844531e56c6ea64e
        !          10302: Author: Martin Mares <mj@ucw.cz>
        !          10303: Date:   Thu Jun 8 12:37:21 2000 +0000
        !          10304: 
        !          10305:     Fixes for the programmer's manual.
        !          10306: 
        !          10307: commit 8d56febe64769c19a06c2c0f3ff121d25eceaa5b
        !          10308: Author: Ondrej Filip <feela@network.cz>
        !          10309: Date:   Thu Jun 8 12:04:57 2000 +0000
        !          10310: 
        !          10311:     HASH_DEF_ORDER back to 6.
        !          10312: 
        !          10313: commit 2a56bb3bd66a9b52dd6c2e2626630b4eaa79d04b
        !          10314: Author: Martin Mares <mj@ucw.cz>
        !          10315: Date:   Thu Jun 8 11:05:19 2000 +0000
        !          10316: 
        !          10317:     Set margins.
        !          10318: 
        !          10319: commit 5a64ac70361e9dacfe155492cd52ae88eedcd75c
        !          10320: Author: Ondrej Filip <feela@network.cz>
        !          10321: Date:   Thu Jun 8 11:00:15 2000 +0000
        !          10322: 
        !          10323:     Introduction to configuration of OSPF.
        !          10324: 
        !          10325: commit c62d1c19a924668ccf5315ca8882ea041581e3bf
        !          10326: Author: Martin Mares <mj@ucw.cz>
        !          10327: Date:   Thu Jun 8 10:48:51 2000 +0000
        !          10328: 
        !          10329:     ... as well there.
        !          10330: 
        !          10331: commit 49569a8b53b7494b19344f5fc9cd659f68477ba4
        !          10332: Author: Martin Mares <mj@ucw.cz>
        !          10333: Date:   Thu Jun 8 10:48:35 2000 +0000
        !          10334: 
        !          10335:     Oops!  Configuration compiles now.
        !          10336: 
        !          10337: commit a460184532f36f75bc9727886faf07c2bde2d7f5
        !          10338: Author: Pavel Machek <pavel@ucw.cz>
        !          10339: Date:   Thu Jun 8 10:30:55 2000 +0000
        !          10340: 
        !          10341:     Tiny fixes.
        !          10342: 
        !          10343: commit 86598d87be6b572d3ca9731a72bc820889f5265c
        !          10344: Author: Martin Mares <mj@ucw.cz>
        !          10345: Date:   Thu Jun 8 10:27:01 2000 +0000
        !          10346: 
        !          10347:     Updated.
        !          10348: 
        !          10349: commit a5a947d4d8f86dd1180d76f0803402383df0dcab
        !          10350: Author: Pavel Machek <pavel@ucw.cz>
        !          10351: Date:   Thu Jun 8 10:26:19 2000 +0000
        !          10352: 
        !          10353:     Fixing error messages.
        !          10354: 
        !          10355: commit ca77641d0787be514cae6a622e26e6a58af11d12
        !          10356: Author: Pavel Machek <pavel@ucw.cz>
        !          10357: Date:   Thu Jun 8 10:25:56 2000 +0000
        !          10358: 
        !          10359:     Use `switch' for `disabled'.
        !          10360: 
        !          10361: commit ec423cc725d4b097e596dbadd84f3dea40deb0b8
        !          10362: Author: Martin Mares <mj@ucw.cz>
        !          10363: Date:   Thu Jun 8 10:25:02 2000 +0000
        !          10364: 
        !          10365:     Updated CLI helps.
        !          10366: 
        !          10367: commit 5a203dac615369806dc6eee0418ea39c597bea41
        !          10368: Author: Pavel Machek <pavel@ucw.cz>
        !          10369: Date:   Thu Jun 8 10:24:42 2000 +0000
        !          10370: 
        !          10371:     Docs updates.
        !          10372: 
        !          10373: commit b178d92a0ba1dc198f05dc8252c826e9bd62c5cf
        !          10374: Author: Pavel Machek <pavel@ucw.cz>
        !          10375: Date:   Thu Jun 8 08:24:32 2000 +0000
        !          10376: 
        !          10377:     Better messages
        !          10378: 
        !          10379: commit 099c017fca667bbb59cff65be2ac58c82f8fb3a8
        !          10380: Author: Ondrej Filip <feela@network.cz>
        !          10381: Date:   Thu Jun 8 02:28:04 2000 +0000
        !          10382: 
        !          10383:     Still some endianity bugs.
        !          10384: 
        !          10385: commit 59ba3342968fdd2a016b192559a64439281e25bf
        !          10386: Author: Ondrej Filip <feela@network.cz>
        !          10387: Date:   Thu Jun 8 02:04:45 2000 +0000
        !          10388: 
        !          10389:     I forgot some endianity operations.
        !          10390: 
        !          10391: commit 423230f2f1080c6a4f6d05b6d7705cfaee500f48
        !          10392: Author: Ondrej Filip <feela@network.cz>
        !          10393: Date:   Thu Jun 8 01:49:19 2000 +0000
        !          10394: 
        !          10395:     Ehm, my (B)DR election was based on router id, but RFC says ip!
        !          10396: 
        !          10397: commit 17e29574bcf0e03e3243a48e784b0248925cc5b4
        !          10398: Author: Ondrej Filip <feela@network.cz>
        !          10399: Date:   Wed Jun 7 23:48:33 2000 +0000
        !          10400: 
        !          10401:     Better algoritmus of LSA aging.
        !          10402: 
        !          10403: commit 25a3f3da7a2312e5ae21ada2aeccc412e2d1d867
        !          10404: Author: Ondrej Filip <feela@network.cz>
        !          10405: Date:   Wed Jun 7 23:34:43 2000 +0000
        !          10406: 
        !          10407:     I mark all LSA as in distance INFINITY in process of aging.
        !          10408:     I don't have to WALK twice through it.
        !          10409: 
        !          10410: commit 1186369bbd45ab901eccc313708cc20f9dbf0f42
        !          10411: Author: Ondrej Filip <feela@network.cz>
        !          10412: Date:   Wed Jun 7 23:23:37 2000 +0000
        !          10413: 
        !          10414:     Doc.
        !          10415: 
        !          10416: commit 37c3e558ab31a5e6088cef063dcd1e267238be74
        !          10417: Author: Ondrej Filip <feela@network.cz>
        !          10418: Date:   Wed Jun 7 23:05:32 2000 +0000
        !          10419: 
        !          10420:     Simple explanation, how LSA are kept in database.
        !          10421: 
        !          10422: commit 87f0d22ef84826f6dc6d0a1ae7ba8020b6e52573
        !          10423: Author: Ondrej Filip <feela@network.cz>
        !          10424: Date:   Wed Jun 7 22:57:59 2000 +0000
        !          10425: 
        !          10426:     Minor change.
        !          10427: 
        !          10428: commit c2553b1b3e1ff61e24b9435b897ef942abcec006
        !          10429: Author: Ondrej Filip <feela@network.cz>
        !          10430: Date:   Wed Jun 7 22:56:52 2000 +0000
        !          10431: 
        !          10432:     Minor changes.
        !          10433: 
        !          10434: commit eee9cefd8c13184e45878ce8e2ef12fcdece3ded
        !          10435: Author: Ondrej Filip <feela@network.cz>
        !          10436: Date:   Wed Jun 7 22:53:51 2000 +0000
        !          10437: 
        !          10438:     Doc
        !          10439: 
        !          10440: commit e9ab0b4212dc0939d782c991c86c362e09eb279f
        !          10441: Author: Ondrej Filip <feela@network.cz>
        !          10442: Date:   Wed Jun 7 22:31:47 2000 +0000
        !          10443: 
        !          10444:     Doc in lsalib.c + related minor changes.
        !          10445: 
        !          10446: commit d5e4b51865c9532a9b886e942d30bb64dc87a675
        !          10447: Author: Ondrej Filip <feela@network.cz>
        !          10448: Date:   Wed Jun 7 22:10:46 2000 +0000
        !          10449: 
        !          10450:     Doc
        !          10451: 
        !          10452: commit 351feeb51472602c83ec847f1feba10d68a5d57b
        !          10453: Author: Ondrej Filip <feela@network.cz>
        !          10454: Date:   Wed Jun 7 21:56:32 2000 +0000
        !          10455: 
        !          10456:     Doc.
        !          10457: 
        !          10458: commit b4af36e0d8eeb6a032b2ce2464aae76a04117827
        !          10459: Author: Ondrej Filip <feela@network.cz>
        !          10460: Date:   Wed Jun 7 21:50:16 2000 +0000
        !          10461: 
        !          10462:     Removed some FIXMEs simply deleting them.
        !          10463: 
        !          10464: commit 7ab3ff6a287d6adc8f1d371d9da1504de502c8a6
        !          10465: Author: Ondrej Filip <feela@network.cz>
        !          10466: Date:   Wed Jun 7 21:46:22 2000 +0000
        !          10467: 
        !          10468:     Doc in neighbor.c and some tiny changes related to.
        !          10469: 
        !          10470: commit cadbb827f99fc24da9227dce545aa1185bab7916
        !          10471: Author: Ondrej Filip <feela@network.cz>
        !          10472: Date:   Wed Jun 7 21:12:00 2000 +0000
        !          10473: 
        !          10474:     A copyright change.
        !          10475: 
        !          10476: commit 6f58dc64c9084aca66850b88d907cecf9b00c88d
        !          10477: Author: Ondrej Filip <feela@network.cz>
        !          10478: Date:   Wed Jun 7 20:50:08 2000 +0000
        !          10479: 
        !          10480:     Doc
        !          10481: 
        !          10482: commit 89755a86237c786878a2d0c5e527559c8a4c0b6d
        !          10483: Author: Ondrej Filip <feela@network.cz>
        !          10484: Date:   Wed Jun 7 20:30:27 2000 +0000
        !          10485: 
        !          10486:     Introdution into OSPF.
        !          10487: 
        !          10488: commit 64722c9852a8ea4bdc7db0304351850a8106300e
        !          10489: Author: Pavel Machek <pavel@ucw.cz>
        !          10490: Date:   Wed Jun 7 15:27:16 2000 +0000
        !          10491: 
        !          10492:     Added brief description of client features. Grammar really is not good place to write help from, so please check this.
        !          10493: 
        !          10494: commit 3e82b32d3637a3a3d2eb935dc7036b32bc3fecd4
        !          10495: Author: Pavel Machek <pavel@ucw.cz>
        !          10496: Date:   Wed Jun 7 14:45:55 2000 +0000
        !          10497: 
        !          10498:     Progdocs updates
        !          10499: 
        !          10500: commit 074a166d9441a2b03931751dbc181e0d462a9d7c
        !          10501: Author: Pavel Machek <pavel@ucw.cz>
        !          10502: Date:   Wed Jun 7 14:39:34 2000 +0000
        !          10503: 
        !          10504:     Better explanation for if/case, and RFC pointers for rip. Still searching for
        !          10505:     RIPv2 rfc number!
        !          10506: 
        !          10507: commit 8dcf2544996af34f3c3d71116844352427787324
        !          10508: Author: Pavel Machek <pavel@ucw.cz>
        !          10509: Date:   Wed Jun 7 14:16:11 2000 +0000
        !          10510: 
        !          10511:     Even better documentation of filters.
        !          10512: 
        !          10513: commit 7aa99d22bcabb48cfc737055942715d8efd47f6b
        !          10514: Author: Martin Mares <mj@ucw.cz>
        !          10515: Date:   Wed Jun 7 14:12:44 2000 +0000
        !          10516: 
        !          10517:     Updated.
        !          10518: 
        !          10519: commit f06a219a2445bc9ff86071fdbb9b97e51b412c31
        !          10520: Author: Ondrej Filip <feela@network.cz>
        !          10521: Date:   Wed Jun 7 14:12:13 2000 +0000
        !          10522: 
        !          10523:     Better explanation of OSPF attributes. But it's still not perfect.
        !          10524: 
        !          10525: commit 4e8ec66698e0e644f56c18b3f58393d9f5ae49a7
        !          10526: Author: Martin Mares <mj@ucw.cz>
        !          10527: Date:   Wed Jun 7 14:08:14 2000 +0000
        !          10528: 
        !          10529:     Spelling.
        !          10530: 
        !          10531: commit 07f29765a58ee72fc79d74b28dbfead24e0b5baf
        !          10532: Author: Pavel Machek <pavel@ucw.cz>
        !          10533: Date:   Wed Jun 7 14:06:37 2000 +0000
        !          10534: 
        !          10535:     RIPv6 now works.
        !          10536: 
        !          10537: commit 76c7efec63ffd2431ce5f6bd2299763f741ac37c
        !          10538: Author: Ondrej Filip <feela@network.cz>
        !          10539: Date:   Wed Jun 7 14:01:18 2000 +0000
        !          10540: 
        !          10541:     Better example for OSPF configuration.
        !          10542: 
        !          10543: commit 907503adb6d0b0763ff92266e2fbc522d77f5476
        !          10544: Author: Pavel Machek <pavel@ucw.cz>
        !          10545: Date:   Wed Jun 7 14:00:17 2000 +0000
        !          10546: 
        !          10547:     Comment fix.
        !          10548: 
        !          10549: commit 18b4d6bf278485f86ae5b636f3155fb36735ff1e
        !          10550: Author: Pavel Machek <pavel@ucw.cz>
        !          10551: Date:   Wed Jun 7 13:58:49 2000 +0000
        !          10552: 
        !          10553:     rip ipv6 bugfix
        !          10554: 
        !          10555: commit 3ca3e999ecf00cc6ab8a52a73a7ead26e83a75b7
        !          10556: Author: Martin Mares <mj@ucw.cz>
        !          10557: Date:   Wed Jun 7 13:54:24 2000 +0000
        !          10558: 
        !          10559:     Spelling and style corrections to the OSPF section.
        !          10560: 
        !          10561: commit 771ae456a5ff0e12379047b737da31b0be4059ea
        !          10562: Author: Pavel Machek <pavel@ucw.cz>
        !          10563: Date:   Wed Jun 7 13:54:06 2000 +0000
        !          10564: 
        !          10565:     Better progdocs for filters
        !          10566: 
        !          10567: commit fa6c2405e2bab551245e1af7ed19b550b8bbef79
        !          10568: Author: Ondrej Filip <feela@network.cz>
        !          10569: Date:   Wed Jun 7 13:46:13 2000 +0000
        !          10570: 
        !          10571:     Now I can change cost of interface without OSPF restart.
        !          10572: 
        !          10573: commit 6316555eea2b9b232a622fdb9aceaa4de1e23f59
        !          10574: Author: Martin Mares <mj@ucw.cz>
        !          10575: Date:   Wed Jun 7 13:32:10 2000 +0000
        !          10576: 
        !          10577:     Minor tagging fixes in OSPF docs.
        !          10578: 
        !          10579: commit 25696edb03e08f562d1993ae38ec9ae43942347d
        !          10580: Author: Pavel Machek <pavel@ucw.cz>
        !          10581: Date:   Wed Jun 7 13:30:02 2000 +0000
        !          10582: 
        !          10583:     Full list of possible values in attributes, better operators description.
        !          10584: 
        !          10585: commit 088bc8add198b27456269ca7e536d6bc77ca285b
        !          10586: Author: Ondrej Filip <feela@network.cz>
        !          10587: Date:   Wed Jun 7 13:28:54 2000 +0000
        !          10588: 
        !          10589:     Bugfix in <>.
        !          10590: 
        !          10591: commit 58f7d004fddd2cccdb019be59b6cc7a8abe50510
        !          10592: Author: Martin Mares <mj@ucw.cz>
        !          10593: Date:   Wed Jun 7 13:25:53 2000 +0000
        !          10594: 
        !          10595:     Fixes to the progdoc.
        !          10596: 
        !          10597: commit 38203d789a872077ec174a63a448568725e4715f
        !          10598: Author: Ondrej Filip <feela@network.cz>
        !          10599: Date:   Wed Jun 7 13:19:48 2000 +0000
        !          10600: 
        !          10601:     Originate rt lsa before sending first dbdes.
        !          10602: 
        !          10603: commit 0c69604c8d0c9618e6cc94c98da993439d90dde6
        !          10604: Author: Pavel Machek <pavel@ucw.cz>
        !          10605: Date:   Wed Jun 7 13:15:48 2000 +0000
        !          10606: 
        !          10607:     SGML syntax fix.
        !          10608: 
        !          10609: commit 8fd12e6b27e713b0b7b24f3f7d9efd57038b1be6
        !          10610: Author: Ondrej Filip <feela@network.cz>
        !          10611: Date:   Wed Jun 7 12:35:43 2000 +0000
        !          10612: 
        !          10613:     OSPF user documentation added.
        !          10614: 
        !          10615: commit 2e9b24211a523c754b9437d6b742d6df304d8aeb
        !          10616: Author: Martin Mares <mj@ucw.cz>
        !          10617: Date:   Wed Jun 7 12:29:08 2000 +0000
        !          10618: 
        !          10619:     Spelling fixes to progdoc.
        !          10620: 
        !          10621: commit e403aa89e50471eb6f2838117887b1207627ae3a
        !          10622: Author: Martin Mares <mj@ucw.cz>
        !          10623: Date:   Wed Jun 7 12:27:30 2000 +0000
        !          10624: 
        !          10625:     Updated TODO file.
        !          10626: 
        !          10627: commit cf0fca30353a9966c793647f7c9d10b0b56678a9
        !          10628: Author: Martin Mares <mj@ucw.cz>
        !          10629: Date:   Wed Jun 7 12:27:18 2000 +0000
        !          10630: 
        !          10631:     Added `progspell' target which runs ispell on the progdoc SGML file with
        !          10632:     all function, variable and structure names removed.
        !          10633: 
        !          10634: commit 1ae494a7e1fb7dde3ffc4e5dd7df31a1bf8dd6bf
        !          10635: Author: Martin Mares <mj@ucw.cz>
        !          10636: Date:   Wed Jun 7 11:55:36 2000 +0000
        !          10637: 
        !          10638:     Avoid SEGV's in tracing.
        !          10639: 
        !          10640: commit 8cd5c52fcb7d429f41601f7be114168cb2371072
        !          10641: Author: Ondrej Filip <feela@network.cz>
        !          10642: Date:   Wed Jun 7 01:19:16 2000 +0000
        !          10643: 
        !          10644:     Removed useless trace.
        !          10645: 
        !          10646: commit 3df89cefc19d08f621afac0ff485dba3591a39a0
        !          10647: Author: Ondrej Filip <feela@network.cz>
        !          10648: Date:   Wed Jun 7 01:18:36 2000 +0000
        !          10649: 
        !          10650:     #define SIZE_OF_IP_HEADER
        !          10651: 
        !          10652: commit bd457b8d2162034e03ac2bb62484d8b238fd556f
        !          10653: Author: Ondrej Filip <feela@network.cz>
        !          10654: Date:   Wed Jun 7 01:03:53 2000 +0000
        !          10655: 
        !          10656:     Some minor changes:
        !          10657:     Typo: transit delay!=transmit delay
        !          10658:     Zero checks etc.
        !          10659: 
        !          10660: commit edc34dc9121c188f7794d404fb112c8b162e968a
        !          10661: Author: Ondrej Filip <feela@network.cz>
        !          10662: Date:   Wed Jun 7 00:56:11 2000 +0000
        !          10663: 
        !          10664:     Reconfiguration hook.
        !          10665:     It will survive many timer and constat changes.
        !          10666: 
        !          10667: commit 1532a244da43b25fb78b7b3a67a344fa4ac542d4
        !          10668: Author: Pavel Machek <pavel@ucw.cz>
        !          10669: Date:   Tue Jun 6 20:54:05 2000 +0000
        !          10670: 
        !          10671:     mj's fixes to rip documentation.
        !          10672: 
        !          10673: commit a7c9f7c065907e310ce1954821f2a8fc61c0261b
        !          10674: Author: Pavel Machek <pavel@ucw.cz>
        !          10675: Date:   Tue Jun 6 20:35:59 2000 +0000
        !          10676: 
        !          10677:     Batch of mj's corrections (config + filters)
        !          10678: 
        !          10679: commit a63a9ce609864e6ba3e76a1c47fd6423b532dec1
        !          10680: Author: Ondrej Filip <feela@network.cz>
        !          10681: Date:   Tue Jun 6 12:50:02 2000 +0000
        !          10682: 
        !          10683:     Better dumping neighbors' states on PTP interface.
        !          10684: 
        !          10685: commit a00c7a18f561bf46533dac46ee56227ebdf1be08
        !          10686: Author: Martin Mares <mj@ucw.cz>
        !          10687: Date:   Tue Jun 6 11:58:25 2000 +0000
        !          10688: 
        !          10689:     Typos in Static section.
        !          10690: 
        !          10691: commit 02357f960e6a2946add25652c009fa8dfe847f68
        !          10692: Author: Pavel Machek <pavel@ucw.cz>
        !          10693: Date:   Tue Jun 6 11:53:22 2000 +0000
        !          10694: 
        !          10695:     Merged mj's changes, up-to "import filter".
        !          10696: 
        !          10697: commit 41ad16e2d5dc03f6620b94f8e531373788e11db9
        !          10698: Author: Ondrej Filip <feela@network.cz>
        !          10699: Date:   Tue Jun 6 11:50:48 2000 +0000
        !          10700: 
        !          10701:     Added IP protocols.
        !          10702: 
        !          10703: commit a852c139dc90febae40be055050ed30490d823b8
        !          10704: Author: Pavel Machek <pavel@ucw.cz>
        !          10705: Date:   Tue Jun 6 11:05:12 2000 +0000
        !          10706: 
        !          10707:     Don't let example overflow, and new chapter for "about routing tables".
        !          10708: 
        !          10709: commit ee4880c82fcefe61cccb8ec729905a2b19706d33
        !          10710: Author: Ondrej Filip <feela@network.cz>
        !          10711: Date:   Tue Jun 6 02:54:41 2000 +0000
        !          10712: 
        !          10713:     Some '\n' deleted.
        !          10714: 
        !          10715: commit 064b1d893243bc187980f53292414583ff3b4630
        !          10716: Author: Ondrej Filip <feela@network.cz>
        !          10717: Date:   Tue Jun 6 02:50:49 2000 +0000
        !          10718: 
        !          10719:     Tracing.
        !          10720: 
        !          10721: commit bd37f45c10be697403e59c957273d172b3d3ed8e
        !          10722: Author: Ondrej Filip <feela@network.cz>
        !          10723: Date:   Tue Jun 6 02:43:32 2000 +0000
        !          10724: 
        !          10725:     Deleted some debug()
        !          10726: 
        !          10727: commit abcbfd0400eeb514c63376b50d3948581c20ca4c
        !          10728: Author: Ondrej Filip <feela@network.cz>
        !          10729: Date:   Tue Jun 6 02:34:57 2000 +0000
        !          10730: 
        !          10731:     Tracing.
        !          10732: 
        !          10733: commit 531a48d8c5c168329640ccb21cd062dbb7b6f5a2
        !          10734: Author: Ondrej Filip <feela@network.cz>
        !          10735: Date:   Tue Jun 6 02:32:14 2000 +0000
        !          10736: 
        !          10737:     Tracing in LS ack.
        !          10738: 
        !          10739: commit 992705f65a9feb04ed0e918d06ad283928aca13a
        !          10740: Author: Ondrej Filip <feela@network.cz>
        !          10741: Date:   Tue Jun 6 02:27:08 2000 +0000
        !          10742: 
        !          10743:     Tracing in topology
        !          10744: 
        !          10745: commit d3995c498d92d7ce54fb2fcb6904e4e41f7588dc
        !          10746: Author: Ondrej Filip <feela@network.cz>
        !          10747: Date:   Tue Jun 6 02:16:39 2000 +0000
        !          10748: 
        !          10749:     Tracing in LSUPD.
        !          10750: 
        !          10751: commit f14032efdd87bca5c2839be01ffe66797976c7bc
        !          10752: Author: Ondrej Filip <feela@network.cz>
        !          10753: Date:   Tue Jun 6 02:09:58 2000 +0000
        !          10754: 
        !          10755:     First part of tracing.
        !          10756: 
        !          10757: commit 51cff78b2571e24963d3a81694f854605eb75eac
        !          10758: Author: Ondrej Filip <feela@network.cz>
        !          10759: Date:   Tue Jun 6 01:46:32 2000 +0000
        !          10760: 
        !          10761:     Allocate OSPF areas before interfaces.
        !          10762: 
        !          10763: commit c1824c4d4c7753246ba26d27c7a3b7be3006d46b
        !          10764: Author: Ondrej Filip <feela@network.cz>
        !          10765: Date:   Tue Jun 6 01:23:03 2000 +0000
        !          10766: 
        !          10767:     Simple autentication added.
        !          10768: 
        !          10769: commit fef1badfcfb0519cca10f3561e5cb79ef9f9e969
        !          10770: Author: Ondrej Filip <feela@network.cz>
        !          10771: Date:   Tue Jun 6 01:00:34 2000 +0000
        !          10772: 
        !          10773:     All die() renamed to bug().
        !          10774: 
        !          10775: commit 80787d418bd028f59e34ffb08c1c221992fe3b41
        !          10776: Author: Ondrej Filip <feela@network.cz>
        !          10777: Date:   Tue Jun 6 00:52:35 2000 +0000
        !          10778: 
        !          10779:     Dummy reconfigure added.
        !          10780: 
        !          10781: commit f8f1e1f110c3ff1aec03a9fa918257cf4d29e916
        !          10782: Author: Ondrej Filip <feela@network.cz>
        !          10783: Date:   Tue Jun 6 00:46:00 2000 +0000
        !          10784: 
        !          10785:     Interface locks added.
        !          10786: 
        !          10787: commit 7d68e18b414bbdef9a5472006e8674a3d74e5a00
        !          10788: Author: Ondrej Filip <feela@network.cz>
        !          10789: Date:   Tue Jun 6 00:21:06 2000 +0000
        !          10790: 
        !          10791:     Added NBMA into examples.
        !          10792: 
        !          10793: commit b131e163c292aac09dc7f73924de0fad6547743d
        !          10794: Author: Ondrej Filip <feela@network.cz>
        !          10795: Date:   Tue Jun 6 00:16:31 2000 +0000
        !          10796: 
        !          10797:     Some useles variable deleted.
        !          10798: 
        !          10799: commit 3301b9d1c57b4e76d32f1244e3da33012e70d20d
        !          10800: Author: Ondrej Filip <feela@network.cz>
        !          10801: Date:   Tue Jun 6 00:16:03 2000 +0000
        !          10802: 
        !          10803:     Some useless variable deleted.
        !          10804: 
        !          10805: commit eb436e16fd85340d3403a033ee86f973428a2f08
        !          10806: Author: Ondrej Filip <feela@network.cz>
        !          10807: Date:   Tue Jun 6 00:08:27 2000 +0000
        !          10808: 
        !          10809:     NBMA networks seems to work, but this should be better. :-)
        !          10810: 
        !          10811: commit e5b5d18c1c8b33e76e954c0696e056fc11701631
        !          10812: Author: Ondrej Filip <feela@network.cz>
        !          10813: Date:   Mon Jun 5 23:44:26 2000 +0000
        !          10814: 
        !          10815:     NBMA networks should work now.
        !          10816: 
        !          10817: commit 5c18880e35f668d33a993be5b2854547a08d9199
        !          10818: Author: Martin Mares <mj@ucw.cz>
        !          10819: Date:   Mon Jun 5 21:26:11 2000 +0000
        !          10820: 
        !          10821:     Avoid sentence containing a colon to start new doc subsection.
        !          10822: 
        !          10823: commit ab698fc57c9898790964df7f9f59329e1f8930ba
        !          10824: Author: Ondrej Filip <feela@network.cz>
        !          10825: Date:   Mon Jun 5 21:09:03 2000 +0000
        !          10826: 
        !          10827:     Added example of OSPF configuration.
        !          10828: 
        !          10829: commit a13eaf219acf5b90af09b914a2182e23d5812aee
        !          10830: Author: Martin Mares <mj@ucw.cz>
        !          10831: Date:   Mon Jun 5 21:02:57 2000 +0000
        !          10832: 
        !          10833:     Define element <progdoc> which initializes different formatting for the
        !          10834:     programmer's guide (\raggedbottom etc.).
        !          10835:     
        !          10836:     Also, omit "\usepackage{t1enc}", so that bullets work now.
        !          10837: 
        !          10838: commit 854128a5ed540f230933cdc2c787e94d2658647b
        !          10839: Author: Martin Mares <mj@ucw.cz>
        !          10840: Date:   Mon Jun 5 21:01:58 2000 +0000
        !          10841: 
        !          10842:     Don't print empty synopses of functions.
        !          10843: 
        !          10844: commit 3b580a23ad32e8445c419932d6f7715cdc2a0687
        !          10845: Author: Ondrej Filip <feela@network.cz>
        !          10846: Date:   Mon Jun 5 20:57:53 2000 +0000
        !          10847: 
        !          10848:     Bugfix in NET LSA flushing.
        !          10849:     Configuration now works! :-)
        !          10850:     Better "show ospf"
        !          10851:     Some minor bugfixes.
        !          10852: 
        !          10853: commit f1aa23d4b3949ccd7c86f9a4e87eda63149b5f6d
        !          10854: Author: Martin Mares <mj@ucw.cz>
        !          10855: Date:   Mon Jun 5 20:24:42 2000 +0000
        !          10856: 
        !          10857:     Minor tweaks of spacing.
        !          10858: 
        !          10859: commit 4bb9ce56bbf42ac09fc8293d8419835b6f178e83
        !          10860: Author: Ondrej Filip <feela@network.cz>
        !          10861: Date:   Mon Jun 5 19:45:06 2000 +0000
        !          10862: 
        !          10863:     Reset inactim timer if you receive any packet from neighbor.
        !          10864: 
        !          10865: commit 496c819f26f67593797f0b861e153399c1d63a86
        !          10866: Author: Ondrej Filip <feela@network.cz>
        !          10867: Date:   Mon Jun 5 19:35:48 2000 +0000
        !          10868: 
        !          10869:     Removed some FIXMEs by deleting them.
        !          10870: 
        !          10871: commit 3585d400e03a4e43def868b492df440ae52a29bb
        !          10872: Author: Ondrej Filip <feela@network.cz>
        !          10873: Date:   Mon Jun 5 19:31:55 2000 +0000
        !          10874: 
        !          10875:     Don't info about DR and BDR on non-MA networks.
        !          10876: 
        !          10877: commit 2debcb9eb0d76362003726ca8b0f5f43ee275dee
        !          10878: Author: Martin Mares <mj@ucw.cz>
        !          10879: Date:   Mon Jun 5 19:17:37 2000 +0000
        !          10880: 
        !          10881:     Move TeX trickery for typesetting of function descriptions to where
        !          10882:     it belongs.
        !          10883: 
        !          10884: commit fdb0c540a82d9732d4d1d36c83e186f36d756d08
        !          10885: Author: Ondrej Filip <feela@network.cz>
        !          10886: Date:   Mon Jun 5 19:12:22 2000 +0000
        !          10887: 
        !          10888:     PTP link in RTLSA was not announced correctly.
        !          10889: 
        !          10890: commit 1605f043aa65b2434eb29d994f622bd79d0f2be7
        !          10891: Author: Martin Mares <mj@ucw.cz>
        !          10892: Date:   Mon Jun 5 19:08:27 2000 +0000
        !          10893: 
        !          10894:     Avoid using style combinations such as italic typewriter font.
        !          10895: 
        !          10896: commit 8441f179253777b3e4bf3461ac847b33ddb098a4
        !          10897: Author: Martin Mares <mj@ucw.cz>
        !          10898: Date:   Mon Jun 5 18:40:25 2000 +0000
        !          10899: 
        !          10900:     Unless a filter specifies otherwise, all external routes have type 2
        !          10901:     metric 10000.
        !          10902: 
        !          10903: commit f8032bbdb150221e84f0bd7de825cf3e9f15aa66
        !          10904: Author: Martin Mares <mj@ucw.cz>
        !          10905: Date:   Mon Jun 5 18:32:51 2000 +0000
        !          10906: 
        !          10907:     Simplified the grammar and fixed several minor bugs (e.g., `INTERFACE "eth0" };'
        !          10908:     was a valid entry).
        !          10909: 
        !          10910: commit 44fc1888cf284d863c897b861942612acf36f52f
        !          10911: Author: Ondrej Filip <feela@network.cz>
        !          10912: Date:   Mon Jun 5 18:09:49 2000 +0000
        !          10913: 
        !          10914:     First calculate checksum and then send refreshed LSA!
        !          10915: 
        !          10916: commit aba5e89f9310bb33c7362b02108e640983ad0819
        !          10917: Author: Ondrej Filip <feela@network.cz>
        !          10918: Date:   Mon Jun 5 18:09:15 2000 +0000
        !          10919: 
        !          10920:     Better checksum checking.
        !          10921: 
        !          10922: commit 4c5f93d76bd0636407a185c175fe73411ae79a32
        !          10923: Author: Pavel Machek <pavel@ucw.cz>
        !          10924: Date:   Mon Jun 5 17:13:36 2000 +0000
        !          10925: 
        !          10926:     Better documentation. There are functions whose description is good when
        !          10927:     reading source but whose documentation does not belong to progdocs.
        !          10928: 
        !          10929: commit 22080a8640f268247a4cf74c9e76f958a05c4b69
        !          10930: Author: Pavel Machek <pavel@ucw.cz>
        !          10931: Date:   Mon Jun 5 16:42:54 2000 +0000
        !          10932: 
        !          10933:     Make rip example fit on page.
        !          10934: 
        !          10935: commit 8798c811762f463b662108643d7c4c869deb7f98
        !          10936: Author: Pavel Machek <pavel@ucw.cz>
        !          10937: Date:   Mon Jun 5 16:36:16 2000 +0000
        !          10938: 
        !          10939:     Docs updates:
        !          10940:     
        !          10941:     make prog.dvi
        !          10942:     
        !          10943:     do not overflow in .dvi
        !          10944:     
        !          10945:     include filter documentation in the system
        !          10946: 
        !          10947: commit eb2c99a132c87c5560edc77909edfab2df44f0a2
        !          10948: Author: Ondrej Filip <feela@network.cz>
        !          10949: Date:   Mon Jun 5 16:32:29 2000 +0000
        !          10950: 
        !          10951:     Yet another change, now flushing of net lsa seems to be perfect. :-)
        !          10952: 
        !          10953: commit b458ce83d7cdc507aa18e5fed2ab206847bc317e
        !          10954: Author: Martin Mares <mj@ucw.cz>
        !          10955: Date:   Mon Jun 5 16:19:27 2000 +0000
        !          10956: 
        !          10957:     Print out function synopsis as a part of the declaration.
        !          10958:     
        !          10959:     Also, reverted my previous hack for `&' and replaced it by just disabling
        !          10960:     the `& -> &amp;' conversions.
        !          10961: 
        !          10962: commit 2a5d7caa951d37c50d52ebef8ef269fa587dec5e
        !          10963: Author: Ondrej Filip <feela@network.cz>
        !          10964: Date:   Mon Jun 5 16:13:50 2000 +0000
        !          10965: 
        !          10966:     I calculated next hop of parent instead of actual LSA. :-(
        !          10967: 
        !          10968: commit 07b7100292fb87169ad5f18285927c39697f6998
        !          10969: Author: Ondrej Filip <feela@network.cz>
        !          10970: Date:   Mon Jun 5 15:44:11 2000 +0000
        !          10971: 
        !          10972:     Don;t send packet over downed interface.
        !          10973: 
        !          10974: commit 8b79c4ccd597b90222f57eb3dfadeb24f39db7bd
        !          10975: Author: Pavel Machek <pavel@ucw.cz>
        !          10976: Date:   Mon Jun 5 15:41:44 2000 +0000
        !          10977: 
        !          10978:     Add safety check.
        !          10979: 
        !          10980: commit 98da26a0a0ee9dd8f7030dcaf6f733adf8b8ad2c
        !          10981: Author: Pavel Machek <pavel@ucw.cz>
        !          10982: Date:   Mon Jun 5 15:41:29 2000 +0000
        !          10983: 
        !          10984:     Better error messages
        !          10985: 
        !          10986: commit 49222deffff154ad7c287efd4a6847cc545cda6b
        !          10987: Author: Ondrej Filip <feela@network.cz>
        !          10988: Date:   Mon Jun 5 15:06:26 2000 +0000
        !          10989: 
        !          10990:     Bug in comment. It didn't compile.
        !          10991: 
        !          10992: commit b093c328f5b352e3d059cb14cceed1e4daa1b9dc
        !          10993: Author: Pavel Machek <pavel@ucw.cz>
        !          10994: Date:   Mon Jun 5 12:52:57 2000 +0000
        !          10995: 
        !          10996:     Updates to both programmers and users doc
        !          10997: 
        !          10998: commit 73275d855dcc8a184bc19f3750c8775a59111260
        !          10999: Author: Martin Mares <mj@ucw.cz>
        !          11000: Date:   Mon Jun 5 12:49:04 2000 +0000
        !          11001: 
        !          11002:     Documented all the sysdeps (only briefly, I admit).
        !          11003:     
        !          11004:     Except for Filters, RIP and OSPF, the progdocs are complete.
        !          11005: 
        !          11006: commit 525fa2c1f0e955455bed3fdb397aceb1e6e69a57
        !          11007: Author: Martin Mares <mj@ucw.cz>
        !          11008: Date:   Mon Jun 5 12:19:12 2000 +0000
        !          11009: 
        !          11010:     Documented sockets, events and timers.
        !          11011: 
        !          11012: commit 10304bed435034cf8432b1c6262f7e7f0d84d49c
        !          11013: Author: Martin Mares <mj@ucw.cz>
        !          11014: Date:   Mon Jun 5 11:46:40 2000 +0000
        !          11015: 
        !          11016:     Split random number functions off io.c, so that they can be documented
        !          11017:     separately.
        !          11018: 
        !          11019: commit 5cc1e1f805934952f38ceb2ca6947c6d2e704937
        !          11020: Author: Martin Mares <mj@ucw.cz>
        !          11021: Date:   Mon Jun 5 11:41:41 2000 +0000
        !          11022: 
        !          11023:     Documented memory resources.
        !          11024: 
        !          11025: commit 9238b06a2c6faac8b16e990821c91affde4072c4
        !          11026: Author: Martin Mares <mj@ucw.cz>
        !          11027: Date:   Mon Jun 5 10:01:09 2000 +0000
        !          11028: 
        !          11029:     Spelling.
        !          11030: 
        !          11031: commit 42b3daa09cda8a4b80661177d3bf74b9258b0b88
        !          11032: Author: Martin Mares <mj@ucw.cz>
        !          11033: Date:   Mon Jun 5 09:51:24 2000 +0000
        !          11034: 
        !          11035:     Description of protocol module moved to where it belongs. If documentation
        !          11036:     of standard modules is stored in their source, such auxilliary files
        !          11037:     should be as well.
        !          11038: 
        !          11039: commit ac272c0067cc7f04e74f0418bc0c9ce63a657175
        !          11040: Author: Ondrej Filip <feela@network.cz>
        !          11041: Date:   Mon Jun 5 05:06:53 2000 +0000
        !          11042: 
        !          11043:     Bug in LSA origination.
        !          11044: 
        !          11045: commit dc2548d2ccc45722f0dcaa861dd3b45a397d2cac
        !          11046: Author: Ondrej Filip <feela@network.cz>
        !          11047: Date:   Mon Jun 5 05:06:22 2000 +0000
        !          11048: 
        !          11049:     Premature age LSA if you're NOT dr.
        !          11050: 
        !          11051: commit 88048fb3c970842a16c65b1566ba817871a04eb5
        !          11052: Author: Ondrej Filip <feela@network.cz>
        !          11053: Date:   Mon Jun 5 03:46:19 2000 +0000
        !          11054: 
        !          11055:     Small patch to better hash type=2 LSAs.
        !          11056: 
        !          11057: commit 273fd2c16475d3d1275a4fe17443c3ba2b93fbc4
        !          11058: Author: Ondrej Filip <feela@network.cz>
        !          11059: Date:   Mon Jun 5 02:23:20 2000 +0000
        !          11060: 
        !          11061:     Many bugfixes (I don't remember all of them):
        !          11062:     Added link ID calculation for external routes with same prefix but
        !          11063:        different mask.
        !          11064:     Bugfix in NET lsa origination.
        !          11065:     Bugfix in NET hashing.
        !          11066:     Bugfix in LSA installing.
        !          11067: 
        !          11068: commit 2d37d36c676e16b92ac38a60d3c269efeeaf07ac
        !          11069: Author: Martin Mares <mj@ucw.cz>
        !          11070: Date:   Sun Jun 4 20:06:42 2000 +0000
        !          11071: 
        !          11072:     Updated the TODO list with our last-minute stuff.
        !          11073:     
        !          11074:     Moved the rest to "Various ideas".
        !          11075: 
        !          11076: commit e24ddd9bef7e3d3490a8ee7667cd25069b40fe81
        !          11077: Author: Martin Mares <mj@ucw.cz>
        !          11078: Date:   Sun Jun 4 20:00:35 2000 +0000
        !          11079: 
        !          11080:     Don't set precedence and TTL for the dummy socket.
        !          11081: 
        !          11082: commit 13e9bac33fc99e71efddf1790ce1e7dfdc09dfa8
        !          11083: Author: Martin Mares <mj@ucw.cz>
        !          11084: Date:   Sun Jun 4 19:57:04 2000 +0000
        !          11085: 
        !          11086:     One more newline less... :)
        !          11087: 
        !          11088: commit df49d4e14b7c24f8ca958870fd1e9ddc84df1f1b
        !          11089: Author: Martin Mares <mj@ucw.cz>
        !          11090: Date:   Sun Jun 4 19:56:06 2000 +0000
        !          11091: 
        !          11092:     Removed lots of trailing newlines in log messages.
        !          11093:     
        !          11094:     Please note that the only calls which don't add newlines automatically
        !          11095:     (i.e., don't print a full line of output) are debug() and DBG().
        !          11096: 
        !          11097: commit 201187c55837587d8f88775cd957d9c8e423c254
        !          11098: Author: Martin Mares <mj@ucw.cz>
        !          11099: Date:   Sun Jun 4 19:55:11 2000 +0000
        !          11100: 
        !          11101:     debug -> DBG
        !          11102: 
        !          11103: commit bf3eb98eb829adc8bee4a210cfcefe29ba0524a1
        !          11104: Author: Martin Mares <mj@ucw.cz>
        !          11105: Date:   Sun Jun 4 19:30:55 2000 +0000
        !          11106: 
        !          11107:     Use nested scopes properly. Updated according to cf_define_symbol() changes.
        !          11108:     
        !          11109:     The rest of code doesn't need changing since it doesn't use nesting.
        !          11110: 
        !          11111: commit 04dc62a0116941d2f1510216539ae8c11c5f1cb3
        !          11112: Author: Martin Mares <mj@ucw.cz>
        !          11113: Date:   Sun Jun 4 19:30:13 2000 +0000
        !          11114: 
        !          11115:     Nested scopes could never have worked. My fault I wrote such a buggy code,
        !          11116:     Pavel's fault that he's never tested shadowing of declarations in the filters.
        !          11117:     
        !          11118:     cf_define_symbol() has been modified to check the scope of the symbol it's
        !          11119:     given and it if it's an already defined symbol, but in a different scope,
        !          11120:     a copy is created in the current scope and redefined to the new meaning,
        !          11121:     the consequence being that it cf_define_symbol() now returns the new symbol
        !          11122:     you need to use when assigning aux and aux2.
        !          11123: 
        !          11124: commit dab66519160042f1fb62a285e3a947233ce74e70
        !          11125: Author: Ondrej Filip <feela@network.cz>
        !          11126: Date:   Sun Jun 4 19:21:23 2000 +0000
        !          11127: 
        !          11128:     Install newer lsa even if nothing in its body change.
        !          11129: 
        !          11130: commit 67cc9135bfd515149ecca62f32026cd6e2a390b0
        !          11131: Author: Ondrej Filip <feela@network.cz>
        !          11132: Date:   Sun Jun 4 19:20:28 2000 +0000
        !          11133: 
        !          11134:     Many bugs in ext lsa origination.
        !          11135: 
        !          11136: commit ce8f0c083a5f46e001dff759e924910c415cfb48
        !          11137: Author: Ondrej Filip <feela@network.cz>
        !          11138: Date:   Sun Jun 4 19:19:36 2000 +0000
        !          11139: 
        !          11140:     Schedule RT calcualtion if you delete LSA by premature aging.
        !          11141: 
        !          11142: commit f7667ba1c4c7a35266ae5018b059a14a01f7f907
        !          11143: Author: Martin Mares <mj@ucw.cz>
        !          11144: Date:   Sun Jun 4 18:46:30 2000 +0000
        !          11145: 
        !          11146:     When cloning a rte and replacing its rta, remember to free the old one
        !          11147:     so that we don't leak memory. Thanks go to the resource tracking system
        !          11148:     for quickly discovering the source of leakages.
        !          11149: 
        !          11150: commit 7722938d63d206ebc0e1da732009e1e9f2cd9d72
        !          11151: Author: Martin Mares <mj@ucw.cz>
        !          11152: Date:   Sun Jun 4 18:34:39 2000 +0000
        !          11153: 
        !          11154:     Added library progdocs.
        !          11155: 
        !          11156: commit 102e3e0e0277e7b123c7c1ae3635c4a8fb55c900
        !          11157: Author: Ondrej Filip <feela@network.cz>
        !          11158: Date:   Sun Jun 4 17:51:52 2000 +0000
        !          11159: 
        !          11160:     Just to be sure, that rt calculation cannot start beforeorigination of rt LSA.
        !          11161: 
        !          11162: commit 83e50ffc472c8869d58a7d1da27846bd727a8cfd
        !          11163: Author: Ondrej Filip <feela@network.cz>
        !          11164: Date:   Sun Jun 4 17:33:15 2000 +0000
        !          11165: 
        !          11166:     Bug in debugging.
        !          11167: 
        !          11168: commit 71f7d043a6f03b5d5cd0701bb679b914b1bf47d1
        !          11169: Author: Ondrej Filip <feela@network.cz>
        !          11170: Date:   Sun Jun 4 17:10:52 2000 +0000
        !          11171: 
        !          11172:     :-) No bison does not have any comment to my code. :-)
        !          11173: 
        !          11174: commit 54e55169da71a6e6e2d8f9fbc0123297301217d7
        !          11175: Author: Martin Mares <mj@ucw.cz>
        !          11176: Date:   Sun Jun 4 17:06:18 2000 +0000
        !          11177: 
        !          11178:     BGP documented.
        !          11179: 
        !          11180: commit 3560cf8e0b68ce0cac5a9af2aadbc09d4f529e7c
        !          11181: Author: Ondrej Filip <feela@network.cz>
        !          11182: Date:   Sun Jun 4 16:36:57 2000 +0000
        !          11183: 
        !          11184:     Clean up.
        !          11185: 
        !          11186: commit e7811248685520ceff362b8bc7f090067ca42114
        !          11187: Author: Ondrej Filip <feela@network.cz>
        !          11188: Date:   Sun Jun 4 16:17:39 2000 +0000
        !          11189: 
        !          11190:     Another clean up.
        !          11191: 
        !          11192: commit 47f8e0c2169bba2dd209f1c7ed89f1d605d36b3e
        !          11193: Author: Martin Mares <mj@ucw.cz>
        !          11194: Date:   Sun Jun 4 16:16:08 2000 +0000
        !          11195: 
        !          11196:     Document.
        !          11197: 
        !          11198: commit 3b31c538333156770ddb74a7a27f271784745144
        !          11199: Author: Martin Mares <mj@ucw.cz>
        !          11200: Date:   Sun Jun 4 16:15:37 2000 +0000
        !          11201: 
        !          11202:     Documented all the trivial protocols.
        !          11203: 
        !          11204: commit 2a863dd6e18a43fe3de5b1f3651e816f6fc27bb1
        !          11205: Author: Ondrej Filip <feela@network.cz>
        !          11206: Date:   Sun Jun 4 16:12:01 2000 +0000
        !          11207: 
        !          11208:     Small change to make bison happy.
        !          11209: 
        !          11210: commit 58f9453776dff92b4ee4c81f6ca3601b6ee9f041
        !          11211: Author: Martin Mares <mj@ucw.cz>
        !          11212: Date:   Sun Jun 4 15:22:20 2000 +0000
        !          11213: 
        !          11214:     Moved parser docs to cf-lex.l, so that the parser compiles.
        !          11215: 
        !          11216: commit cdb898cfd40fe866a1835689814113075b7b5a67
        !          11217: Author: Martin Mares <mj@ucw.cz>
        !          11218: Date:   Sat Jun 3 18:23:27 2000 +0000
        !          11219: 
        !          11220:     Minor changes to the progdocs.
        !          11221: 
        !          11222: commit 06607335ef73bc0ffeb377a420e6438b531a4ea7
        !          11223: Author: Martin Mares <mj@ucw.cz>
        !          11224: Date:   Sat Jun 3 18:23:00 2000 +0000
        !          11225: 
        !          11226:     Documentation.
        !          11227: 
        !          11228: commit 899fc0abfe8400425860d0e9e4d6cc7fd338978c
        !          11229: Author: Martin Mares <mj@ucw.cz>
        !          11230: Date:   Sat Jun 3 18:22:43 2000 +0000
        !          11231: 
        !          11232:     `|' now works as it should.
        !          11233: 
        !          11234: commit 2e130b5cadb970b7f4f743e69cd459b5b42cf208
        !          11235: Author: Martin Mares <mj@ucw.cz>
        !          11236: Date:   Sat Jun 3 17:02:30 2000 +0000
        !          11237: 
        !          11238:     Recognize `|xxxx|' as verbatim text and typeset it using <tt>.
        !          11239: 
        !          11240: commit c0b2f6463fd7464ce6fe4d9dc67f37e61bface11
        !          11241: Author: Martin Mares <mj@ucw.cz>
        !          11242: Date:   Sat Jun 3 16:56:00 2000 +0000
        !          11243: 
        !          11244:     cf_symbol_class_name now recognizes SYM_IPA.
        !          11245: 
        !          11246: commit 3d675cdbe7287d3024d041ce4e28dacf7ca527cc
        !          11247: Author: Martin Mares <mj@ucw.cz>
        !          11248: Date:   Sat Jun 3 14:40:39 2000 +0000
        !          11249: 
        !          11250:     More documentation.
        !          11251: 
        !          11252: commit aaaff77605879ffd80f8980f06ea66329e9aaea8
        !          11253: Author: Ondrej Filip <feela@network.cz>
        !          11254: Date:   Sat Jun 3 09:50:31 2000 +0000
        !          11255: 
        !          11256:     More conf. items defined.
        !          11257: 
        !          11258: commit a789d814ddd8473fdb85bedb02014f6cb6435373
        !          11259: Author: Ondrej Filip <feela@network.cz>
        !          11260: Date:   Sat Jun 3 08:42:04 2000 +0000
        !          11261: 
        !          11262:     Multiple items in area {} :-)
        !          11263: 
        !          11264: commit 89d6782dd1a7775a292db3b2b622c8a48dbd757c
        !          11265: Author: Ondrej Filip <feela@network.cz>
        !          11266: Date:   Sat Jun 3 01:29:00 2000 +0000
        !          11267: 
        !          11268:     interface {} added.
        !          11269: 
        !          11270: commit b36a0a799c751864f65bc3384df301448b54f3bf
        !          11271: Author: Ondrej Filip <feela@network.cz>
        !          11272: Date:   Fri Jun 2 19:55:55 2000 +0000
        !          11273: 
        !          11274:     area {} added to config.
        !          11275: 
        !          11276: commit 7e602d5ea74206236373230a4620736370b3cc9c
        !          11277: Author: Martin Mares <mj@ucw.cz>
        !          11278: Date:   Fri Jun 2 17:42:21 2000 +0000
        !          11279: 
        !          11280:     Killed several bugs in kernel-doc. The most painful one was that it
        !          11281:     was unable to recognize structure markers `&'.
        !          11282: 
        !          11283: commit a7ed3e557fd1f8c4e56fef9a5238091181c01186
        !          11284: Author: Martin Mares <mj@ucw.cz>
        !          11285: Date:   Fri Jun 2 17:41:43 2000 +0000
        !          11286: 
        !          11287:     New TODO list.
        !          11288: 
        !          11289: commit ddbcb927f255ef4720e87b7f14339add37e705ce
        !          11290: Author: Martin Mares <mj@ucw.cz>
        !          11291: Date:   Fri Jun 2 17:24:11 2000 +0000
        !          11292: 
        !          11293:     Documented protocol hooks.
        !          11294: 
        !          11295: commit 371adba6deb0add48fd4d03d40d4e098590689fc
        !          11296: Author: Martin Mares <mj@ucw.cz>
        !          11297: Date:   Fri Jun 2 17:23:53 2000 +0000
        !          11298: 
        !          11299:     Use <chapt> for chapters, <sect> for sections and <sect1> for subsections.
        !          11300: 
        !          11301: commit 6cba2d5eeb522cbf6f1cc28c38fc2c445f41d1e6
        !          11302: Author: Martin Mares <mj@ucw.cz>
        !          11303: Date:   Fri Jun 2 17:22:43 2000 +0000
        !          11304: 
        !          11305:     Typographical enhancements. Now, the documentation is typeset using a modified
        !          11306:     book style.
        !          11307:     
        !          11308:     Please look at this version and tell me your opinion. Especially I don't feel
        !          11309:     happy about the spacing and (not) indenting of paragraphs.
        !          11310:     
        !          11311:     Also, I've removed things like "fax" and "letter" from the LaTeX mapping file.
        !          11312: 
        !          11313: commit 3fa5722defc340571a6518d5556b1e354f05ce18
        !          11314: Author: Ondrej Filip <feela@network.cz>
        !          11315: Date:   Fri Jun 2 15:05:41 2000 +0000
        !          11316: 
        !          11317:     First option into config added. :-)
        !          11318: 
        !          11319: commit 62924172aef9cf5308fd21d3ad5f6572b977c268
        !          11320: Author: Ondrej Filip <feela@network.cz>
        !          11321: Date:   Fri Jun 2 13:52:50 2000 +0000
        !          11322: 
        !          11323:     Flush LSA when receive aged one.
        !          11324: 
        !          11325: commit 3c6269b8fec71fa22d5b087cae0e9ef86ff2b351
        !          11326: Author: Martin Mares <mj@ucw.cz>
        !          11327: Date:   Fri Jun 2 13:42:36 2000 +0000
        !          11328: 
        !          11329:     Added documentation on protocols.
        !          11330:     
        !          11331:     Protocol hooks deserve an extra chapter (to come soon).
        !          11332: 
        !          11333: commit e4ba0ec1977e9925ec67f9442067e5ff7cb36111
        !          11334: Author: Ondrej Filip <feela@network.cz>
        !          11335: Date:   Fri Jun 2 13:27:34 2000 +0000
        !          11336: 
        !          11337:     Bugfix in receiving of aged LSA.
        !          11338: 
        !          11339: commit 9a8f20fc0fda1cf910fe8ca21e850ab1524c4355
        !          11340: Author: Martin Mares <mj@ucw.cz>
        !          11341: Date:   Fri Jun 2 12:41:25 2000 +0000
        !          11342: 
        !          11343:     Better description of the route distribution process.
        !          11344: 
        !          11345: commit 2eac33f774a2075cff3d28f7fdb36e0482e48f35
        !          11346: Author: Ondrej Filip <feela@network.cz>
        !          11347: Date:   Fri Jun 2 12:34:28 2000 +0000
        !          11348: 
        !          11349:     Better LSA Aging.
        !          11350: 
        !          11351: commit 3ce8c61000da58261750af2b6e60dbf2fca2abcf
        !          11352: Author: Martin Mares <mj@ucw.cz>
        !          11353: Date:   Fri Jun 2 12:29:55 2000 +0000
        !          11354: 
        !          11355:     Documentation on routing tables and route attributes.
        !          11356: 
        !          11357: commit 566a0eede7094519df07418116beeb7f3f976c7a
        !          11358: Author: Martin Mares <mj@ucw.cz>
        !          11359: Date:   Fri Jun 2 12:29:24 2000 +0000
        !          11360: 
        !          11361:     Removed rta_find() since nobody uses it and it's more convenient
        !          11362:     to use ea_find() directly.
        !          11363: 
        !          11364: commit ece612e12808325b1b7eb24d060a42343549238f
        !          11365: Author: Ondrej Filip <feela@network.cz>
        !          11366: Date:   Fri Jun 2 11:24:38 2000 +0000
        !          11367: 
        !          11368:     sh interface "iface" dumpped all.
        !          11369: 
        !          11370: commit 7a5582ac0045b80274de3183eca9b71eb52f2e6b
        !          11371: Author: Ondrej Filip <feela@network.cz>
        !          11372: Date:   Fri Jun 2 11:00:14 2000 +0000
        !          11373: 
        !          11374:     Better dumping, if I get strange lsack.
        !          11375: 
        !          11376: commit 3488634cba08aeda19a733f7c76aef7a54a4e0ec
        !          11377: Author: Ondrej Filip <feela@network.cz>
        !          11378: Date:   Fri Jun 2 10:21:02 2000 +0000
        !          11379: 
        !          11380:     Handle "show ospf *" even if protocol is down.
        !          11381: 
        !          11382: commit a489f0ce8ba44df0894a2bd102660fed1bed5ac6
        !          11383: Author: Ondrej Filip <feela@network.cz>
        !          11384: Date:   Fri Jun 2 09:57:22 2000 +0000
        !          11385: 
        !          11386:     Silly bug in sh interface. Now I test ALL interfaces. :-)
        !          11387: 
        !          11388: commit 489f800b45d6d2d1a1fc9b371a015563cea9722d
        !          11389: Author: Ondrej Filip <feela@network.cz>
        !          11390: Date:   Fri Jun 2 09:53:26 2000 +0000
        !          11391: 
        !          11392:     Speedup loading process.
        !          11393: 
        !          11394: commit 75317ab8e522b5dceb87b204e09d8ad919ac8558
        !          11395: Author: Martin Mares <mj@ucw.cz>
        !          11396: Date:   Fri Jun 2 09:51:26 2000 +0000
        !          11397: 
        !          11398:     Spelling fixes.
        !          11399: 
        !          11400: commit f8e2d916b6cbe42131bfefbc5a2cd0ddfaf8131b
        !          11401: Author: Martin Mares <mj@ucw.cz>
        !          11402: Date:   Fri Jun 2 09:46:35 2000 +0000
        !          11403: 
        !          11404:     Minor fixes.
        !          11405: 
        !          11406: commit 92e8be8c898932bf959e722acfbb33d154b8fcc4
        !          11407: Author: Ondrej Filip <feela@network.cz>
        !          11408: Date:   Fri Jun 2 09:42:24 2000 +0000
        !          11409: 
        !          11410:     Bugfix in lsreq receiving.
        !          11411: 
        !          11412: commit cd4fecb66affe468928abd87cadef4ff9a991d0b
        !          11413: Author: Martin Mares <mj@ucw.cz>
        !          11414: Date:   Fri Jun 2 09:35:17 2000 +0000
        !          11415: 
        !          11416:     Made it *compile* !!!
        !          11417: 
        !          11418: commit 64ba9f7bcc4bb3b53c0cab303c230855a1443a42
        !          11419: Author: Pavel Machek <pavel@ucw.cz>
        !          11420: Date:   Fri Jun 2 08:01:12 2000 +0000
        !          11421: 
        !          11422:     Do not try to divide by zero.
        !          11423: 
        !          11424: commit 326e33f521f7796cbdde4a36a67bb4c7ffd25c1b
        !          11425: Author: Pavel Machek <pavel@ucw.cz>
        !          11426: Date:   Fri Jun 2 07:59:26 2000 +0000
        !          11427: 
        !          11428:     Results of complete reading of documentation.
        !          11429: 
        !          11430: commit c4f0f0140863c743b1d63c3bc94cb8e85417a4ad
        !          11431: Author: Ondrej Filip <feela@network.cz>
        !          11432: Date:   Thu Jun 1 17:52:21 2000 +0000
        !          11433: 
        !          11434:     Added show ospf interface.
        !          11435:     show ospf neighbors now knows "<interface>".
        !          11436: 
        !          11437: commit 58740ed4c587a230bf1406eca52cbc84bcb1c5c3
        !          11438: Author: Martin Mares <mj@ucw.cz>
        !          11439: Date:   Thu Jun 1 17:12:19 2000 +0000
        !          11440: 
        !          11441:     Documentation.
        !          11442: 
        !          11443: commit 658d272bb635b5efeeed883dec5af9dddf12397f
        !          11444: Author: Martin Mares <mj@ucw.cz>
        !          11445: Date:   Thu Jun 1 17:11:10 2000 +0000
        !          11446: 
        !          11447:     Better handling of parameterless functions.
        !          11448: 
        !          11449: commit 725774926676352d2a065cbeb95a81b95bfcfa3e
        !          11450: Author: Ondrej Filip <feela@network.cz>
        !          11451: Date:   Thu Jun 1 16:45:10 2000 +0000
        !          11452: 
        !          11453:     Some other reply codes allocated.
        !          11454: 
        !          11455: commit 4ab4e9778f35f8a123ee6bbc2387b9870859b707
        !          11456: Author: Ondrej Filip <feela@network.cz>
        !          11457: Date:   Thu Jun 1 16:26:59 2000 +0000
        !          11458: 
        !          11459:     show ospf implemented.
        !          11460: 
        !          11461: commit cf318e3cd3206ad6a459a01e29e8494a100a67eb
        !          11462: Author: Martin Mares <mj@ucw.cz>
        !          11463: Date:   Thu Jun 1 16:17:29 2000 +0000
        !          11464: 
        !          11465:     Removed comments about workings of the old neighbor cache which are
        !          11466:     (1) obsolete and (2) replaced by the progdoc.
        !          11467: 
        !          11468: commit 1f495723c355b66383ab391fdba84aae7e9226eb
        !          11469: Author: Martin Mares <mj@ucw.cz>
        !          11470: Date:   Thu Jun 1 16:16:49 2000 +0000
        !          11471: 
        !          11472:     Documented.
        !          11473: 
        !          11474: commit ce4aca093a267da3dcd07b25f4390d393fd3c259
        !          11475: Author: Martin Mares <mj@ucw.cz>
        !          11476: Date:   Thu Jun 1 16:16:18 2000 +0000
        !          11477: 
        !          11478:     FIB documentation.
        !          11479:     
        !          11480:     I've changed the init callback type to a typedef to work around a bug
        !          11481:     in kernel-doc I'm too lazy to hunt now.
        !          11482: 
        !          11483: commit a783e259d8d710208280126177487cc790418515
        !          11484: Author: Ondrej Filip <feela@network.cz>
        !          11485: Date:   Thu Jun 1 15:53:06 2000 +0000
        !          11486: 
        !          11487:     Cisco-like "show ospf neighbors" implemented.
        !          11488: 
        !          11489: commit b594ad238692738352cd8827d71038a356b0d5a5
        !          11490: Author: Martin Mares <mj@ucw.cz>
        !          11491: Date:   Thu Jun 1 15:13:23 2000 +0000
        !          11492: 
        !          11493:     tm_format_reltime() works with both past and future timestamps.
        !          11494: 
        !          11495: commit c23f40b1458e448ec9e7c974a2c486f2eccff871
        !          11496: Author: Martin Mares <mj@ucw.cz>
        !          11497: Date:   Thu Jun 1 15:04:25 2000 +0000
        !          11498: 
        !          11499:     Use <funcsect> instead of <sect3>.
        !          11500: 
        !          11501: commit a9aa4c1ebb5ccdb2c6c7672267ad32670261a10b
        !          11502: Author: Martin Mares <mj@ucw.cz>
        !          11503: Date:   Thu Jun 1 13:13:49 2000 +0000
        !          11504: 
        !          11505:     Inactive sticky neighbors have no scope.
        !          11506: 
        !          11507: commit 23df5e4cf3b0ff10e7484fc5ca40cb5ea638078b
        !          11508: Author: Martin Mares <mj@ucw.cz>
        !          11509: Date:   Thu Jun 1 13:00:39 2000 +0000
        !          11510: 
        !          11511:     Print route tag in hexadecimal and omit it if it's zero.
        !          11512: 
        !          11513: commit bc00185e5a2d51d965465f117722fd4189437d24
        !          11514: Author: Martin Mares <mj@ucw.cz>
        !          11515: Date:   Thu Jun 1 13:00:19 2000 +0000
        !          11516: 
        !          11517:     Updated to new neighbor cache.
        !          11518: 
        !          11519: commit 491cd43b777e46a301ae2a8f5400acaeb28b8ca5
        !          11520: Author: Martin Mares <mj@ucw.cz>
        !          11521: Date:   Thu Jun 1 12:59:50 2000 +0000
        !          11522: 
        !          11523:     Updated RIP to new neighbor cache semantics. When presented with next hop
        !          11524:     equal to a local address, just ignore the route (as it is usually just an
        !          11525:     external route exported by us echoed by some RIP peer), when given an
        !          11526:     invalid next hop, moan to the log.
        !          11527: 
        !          11528: commit 4a91150175268d49a1c17131838e5afad925788b
        !          11529: Author: Martin Mares <mj@ucw.cz>
        !          11530: Date:   Thu Jun 1 12:58:41 2000 +0000
        !          11531: 
        !          11532:     Updated for new scope handling.
        !          11533:     
        !          11534:     Also, provide proper address scopes in struct ifa.
        !          11535: 
        !          11536: commit 0f32f2a65a086561fdfd31d4efdea839ec9ce573
        !          11537: Author: Martin Mares <mj@ucw.cz>
        !          11538: Date:   Thu Jun 1 12:58:04 2000 +0000
        !          11539: 
        !          11540:     Modified the neighbor cache to remember local addresses as well.
        !          11541:     
        !          11542:     neighbor->scope now contains proper address scope which is zero (SCOPE_HOST)
        !          11543:     for local addresses, higher (SCOPE_LINK, ..., SCOPE_UNIVERSE) for remote ones.
        !          11544: 
        !          11545: commit 56ca7acd3afd0df7928b3adfe4a8db8b29b89fb2
        !          11546: Author: Martin Mares <mj@ucw.cz>
        !          11547: Date:   Thu Jun 1 12:55:26 2000 +0000
        !          11548: 
        !          11549:     BGP: RFC 2842 has replaced the cap-draft.
        !          11550: 
        !          11551: commit df968040f6b0f9eb83aa9c9eb4b4d6dcee6a384a
        !          11552: Author: Ondrej Filip <feela@network.cz>
        !          11553: Date:   Thu Jun 1 12:17:08 2000 +0000
        !          11554: 
        !          11555:     Print tag unsigned rather then signed.
        !          11556: 
        !          11557: commit c52c7e764576fed027defa0c06a056f89912787a
        !          11558: Author: Ondrej Filip <feela@network.cz>
        !          11559: Date:   Thu Jun 1 12:08:14 2000 +0000
        !          11560: 
        !          11561:     Calculate checksum when reflooding (after min ls_refresh).
        !          11562: 
        !          11563: commit 5f4aee76a2e26a6947f47273d510edc524716a45
        !          11564: Author: Pavel Machek <pavel@ucw.cz>
        !          11565: Date:   Thu Jun 1 08:43:29 2000 +0000
        !          11566: 
        !          11567:     Added && and ||.
        !          11568: 
        !          11569: commit 1877dab21715eb23addb3391afbd8dbf571f833d
        !          11570: Author: Pavel Machek <pavel@ucw.cz>
        !          11571: Date:   Thu Jun 1 08:34:30 2000 +0000
        !          11572: 
        !          11573:     Allow
        !          11574:                    case net {
        !          11575:                            62.0.0.0/8+:
        !          11576:                            10.0.0.0/8+:
        !          11577:                            else: reject;
        !          11578:                    }
        !          11579: 
        !          11580: commit 1895e81e0532f732f501036402bbdd1825885cfd
        !          11581: Author: Pavel Machek <pavel@ucw.cz>
        !          11582: Date:   Thu Jun 1 08:32:49 2000 +0000
        !          11583: 
        !          11584:     Allow matching on enums:
        !          11585:     
        !          11586:             if !(scope ~ [ SCOPE_HOST, SCOPE_SITE ]) then {
        !          11587:                     print "Failed in test";
        !          11588:                     quitbird;
        !          11589:             }
        !          11590: 
        !          11591: commit 42542c56c23174bfaefb1b949b90ed72afbea8fd
        !          11592: Author: Ondrej Filip <feela@network.cz>
        !          11593: Date:   Thu Jun 1 00:32:08 2000 +0000
        !          11594: 
        !          11595:     Cleanup.
        !          11596: 
        !          11597: commit d27d0efe17a197ae41e25bc56526d5fc4ac4a93e
        !          11598: Author: Ondrej Filip <feela@network.cz>
        !          11599: Date:   Thu Jun 1 00:22:48 2000 +0000
        !          11600: 
        !          11601:     Very stuping bug. (I took me 4 hours to find it!)
        !          11602:     I just wrote "=!" instead of "!=". :-(((((((
        !          11603: 
        !          11604: commit 2983460bc0adabe357ba839972ea8d09c97c32a4
        !          11605: Author: Martin Mares <mj@ucw.cz>
        !          11606: Date:   Wed May 31 22:39:06 2000 +0000
        !          11607: 
        !          11608:     Both `help' command and the `unknown command' error message now tell
        !          11609:     the user to press `?' if he wants help.
        !          11610: 
        !          11611: commit 2f5e5ff9d6e91e7a3e478b316d6b2d23003ad80e
        !          11612: Author: Martin Mares <mj@ucw.cz>
        !          11613: Date:   Wed May 31 22:28:36 2000 +0000
        !          11614: 
        !          11615:     Before configuration file is read, log to _both_ syslog and stderr.
        !          11616: 
        !          11617: commit c184d9d0bdded559fb9d19accd17b88963e46669
        !          11618: Author: Pavel Machek <pavel@ucw.cz>
        !          11619: Date:   Wed May 31 21:51:04 2000 +0000
        !          11620: 
        !          11621:     Documentation update
        !          11622: 
        !          11623: commit 0b1cad81623e85f1f1b9ef3652cdc389641496e5
        !          11624: Author: Pavel Machek <pavel@ucw.cz>
        !          11625: Date:   Wed May 31 21:50:13 2000 +0000
        !          11626: 
        !          11627:     Complain when filter does not end in accept nor reject.
        !          11628: 
        !          11629: commit b5958826cc5fc75b5f99c51559d1ffedea5884b4
        !          11630: Author: Ondrej Filip <feela@network.cz>
        !          11631: Date:   Wed May 31 18:55:57 2000 +0000
        !          11632: 
        !          11633:     Ehm, some other "down" steps.
        !          11634: 
        !          11635: commit 3f6953a103b9a846625a0d51e30b6dc59eedc7f0
        !          11636: Author: Ondrej Filip <feela@network.cz>
        !          11637: Date:   Wed May 31 18:45:16 2000 +0000
        !          11638: 
        !          11639:     Some bugs in cleanup after iface down.
        !          11640: 
        !          11641: commit 489b21555e59d39d1c26dd3051f077c6f0a07c85
        !          11642: Author: Ondrej Filip <feela@network.cz>
        !          11643: Date:   Wed May 31 18:36:51 2000 +0000
        !          11644: 
        !          11645:     Why does not work "sk_close(sk);rfree(sk);"?
        !          11646: 
        !          11647: commit 46962be628c1bd1d9c2badeea181ff6f87f0cb29
        !          11648: Author: Ondrej Filip <feela@network.cz>
        !          11649: Date:   Wed May 31 18:31:53 2000 +0000
        !          11650: 
        !          11651:     Better debugging.
        !          11652:     Safe neigh_list deleting.
        !          11653: 
        !          11654: commit 3728267827e83bc095956b16256feae9e28adce7
        !          11655: Author: Ondrej Filip <feela@network.cz>
        !          11656: Date:   Wed May 31 18:21:42 2000 +0000
        !          11657: 
        !          11658:     And finally, Premature aging works. :-)
        !          11659: 
        !          11660: commit 31ee3d5f214666a4b2da328dc894a5a9089acc87
        !          11661: Author: Ondrej Filip <feela@network.cz>
        !          11662: Date:   Wed May 31 15:51:39 2000 +0000
        !          11663: 
        !          11664:     Another step to make premature aging better.
        !          11665: 
        !          11666: commit a9eeefd63ab7886bc2a5b8f0f7a2d1ec69a9c831
        !          11667: Author: Ondrej Filip <feela@network.cz>
        !          11668: Date:   Wed May 31 15:28:13 2000 +0000
        !          11669: 
        !          11670:     Warning destroyed. :-)
        !          11671: 
        !          11672: commit 82364f4db8fff969932989bfcc5be89c73b15174
        !          11673: Author: Ondrej Filip <feela@network.cz>
        !          11674: Date:   Wed May 31 15:24:29 2000 +0000
        !          11675: 
        !          11676:     Flood my LSA (if exists) after old one is flushed.
        !          11677: 
        !          11678: commit 0822995cb31b596d1fe9e8bb67f7e9d1c184694e
        !          11679: Author: Ondrej Filip <feela@network.cz>
        !          11680: Date:   Wed May 31 15:04:45 2000 +0000
        !          11681: 
        !          11682:     Set E2 metric for internal routes to LSINFINITY.
        !          11683: 
        !          11684: commit 9a04d0307e85913554122a2dd0397486b5ef702c
        !          11685: Author: Ondrej Filip <feela@network.cz>
        !          11686: Date:   Wed May 31 14:52:22 2000 +0000
        !          11687: 
        !          11688:     Delete _all_ ext routes from unreachable neighbor.
        !          11689: 
        !          11690: commit 528932368ac5c5ffe6ee3412fc8e9e1cb9cbd7db
        !          11691: Author: Ondrej Filip <feela@network.cz>
        !          11692: Date:   Wed May 31 14:43:42 2000 +0000
        !          11693: 
        !          11694:     Stuping bug in net LSA origination. Now, I should survive
        !          11695:     loss of my only neighbor.
        !          11696: 
        !          11697: commit 1c1f1b6c0a9012aaf0d3b94275895cb87b5ff695
        !          11698: Author: Martin Mares <mj@ucw.cz>
        !          11699: Date:   Wed May 31 14:27:49 2000 +0000
        !          11700: 
        !          11701:     This should be enough from the SGMLtools distribution to make the
        !          11702:     SGMLtools happy.
        !          11703:     
        !          11704:     The only symlink you need now is dist/birddoc -> dist/sgmltool. I'm
        !          11705:     convinced it could be avoided by renaming the directory instead, but I'd
        !          11706:     rather avoid it due to CVS pecularities.
        !          11707: 
        !          11708: commit 1885aa8ce33e6617d45dbc2f5ee2852bf5f72e88
        !          11709: Author: Martin Mares <mj@ucw.cz>
        !          11710: Date:   Wed May 31 14:25:27 2000 +0000
        !          11711: 
        !          11712:     Clean LaTeX .aux and .toc files as well.
        !          11713: 
        !          11714: commit fcdddff5f3f5c9f2a15377a9dd08f105a3b696a0
        !          11715: Author: Martin Mares <mj@ucw.cz>
        !          11716: Date:   Wed May 31 14:24:21 2000 +0000
        !          11717: 
        !          11718:     Formatting of progdoc works in both HTML and LaTeX. The LaTeX output
        !          11719:     still has somewhat weird spacing, but it will be hopefully easy
        !          11720:     to fix.
        !          11721: 
        !          11722: commit d1660fd3f38c29739ff36c86c6010d65fb90c608
        !          11723: Author: Ondrej Filip <feela@network.cz>
        !          11724: Date:   Wed May 31 14:21:56 2000 +0000
        !          11725: 
        !          11726:     Sort cleanup in aging.
        !          11727: 
        !          11728: commit 70a383198ae08bed395f2a083c1bea5b37447705
        !          11729: Author: Ondrej Filip <feela@network.cz>
        !          11730: Date:   Wed May 31 14:06:33 2000 +0000
        !          11731: 
        !          11732:     LSArt origination and routing table calculation is now not doing so
        !          11733:     often. Instead of calculation I just schedule it latter.
        !          11734: 
        !          11735: commit aa185265f1cb310c053edb1a3bde28b4dab94964
        !          11736: Author: Martin Mares <mj@ucw.cz>
        !          11737: Date:   Wed May 31 13:54:00 2000 +0000
        !          11738: 
        !          11739:     Updated headings and copyrights.
        !          11740: 
        !          11741: commit 38cf78a97a1541cf80a5b10c08ab25d564654516
        !          11742: Author: Martin Mares <mj@ucw.cz>
        !          11743: Date:   Wed May 31 13:30:58 2000 +0000
        !          11744: 
        !          11745:     Added the introduction chapter of progdoc.
        !          11746: 
        !          11747: commit 3caca73fd9c05121b9748793df5f1378af3a8ce5
        !          11748: Author: Martin Mares <mj@ucw.cz>
        !          11749: Date:   Wed May 31 13:30:29 2000 +0000
        !          11750: 
        !          11751:     Spelling check and update of LocalWords.
        !          11752: 
        !          11753: commit fc741dab27913b9c5f9a97642158b5011a9c4700
        !          11754: Author: Ondrej Filip <feela@network.cz>
        !          11755: Date:   Wed May 31 13:20:25 2000 +0000
        !          11756: 
        !          11757:     Handle better next hop in external LSA.
        !          11758: 
        !          11759: commit e0bbb7b7ef1aabbf037190225ebac11f7812ae84
        !          11760: Author: Ondrej Filip <feela@network.cz>
        !          11761: Date:   Wed May 31 12:52:12 2000 +0000
        !          11762: 
        !          11763:     Very ancient bug in (B)DR election, I didn't fill correctly my own IP.
        !          11764: 
        !          11765: commit a7a3a0a383a9dadcd93d876e7d9b43f870f20941
        !          11766: Author: Ondrej Filip <feela@network.cz>
        !          11767: Date:   Wed May 31 12:07:09 2000 +0000
        !          11768: 
        !          11769:     Added tagging of external LSA.
        !          11770: 
        !          11771: commit fec5bec0b5f0e114a635c99a731e922ce735ff81
        !          11772: Author: Martin Mares <mj@ucw.cz>
        !          11773: Date:   Wed May 31 11:36:21 2000 +0000
        !          11774: 
        !          11775:     Make documentation targets available from the top-level makefile as well,
        !          11776:     but not with separate object tree yet.
        !          11777: 
        !          11778: commit 46527a939e97a8a0d6d023ad7853e5e9a2df1ea9
        !          11779: Author: Martin Mares <mj@ucw.cz>
        !          11780: Date:   Wed May 31 11:35:47 2000 +0000
        !          11781: 
        !          11782:     Modified the Makefile to work in the source tree.
        !          11783:     
        !          11784:     From now, you can just `make userdocs' in doc, no need to use ugly scripts.
        !          11785:     
        !          11786:     Also, `make progdocs' builds the programmer's documentation in HTML,
        !          11787:     LaTeX version to come later.
        !          11788: 
        !          11789: commit fcb5f4a725c9edecca7d4646c633e42f66ab53b6
        !          11790: Author: Martin Mares <mj@ucw.cz>
        !          11791: Date:   Wed May 31 11:30:18 2000 +0000
        !          11792: 
        !          11793:     Updated all the Doc files to new format.
        !          11794: 
        !          11795: commit 6be13de762cebc9fc5f977e0e3423a9e2ae23a95
        !          11796: Author: Martin Mares <mj@ucw.cz>
        !          11797: Date:   Wed May 31 11:29:56 2000 +0000
        !          11798: 
        !          11799:     New progdoc script generating SGML output.
        !          11800: 
        !          11801: commit c9c3611734cfb8265586ad8447483cbba9727617
        !          11802: Author: Martin Mares <mj@ucw.cz>
        !          11803: Date:   Wed May 31 11:29:22 2000 +0000
        !          11804: 
        !          11805:     Added new output format `bird' which creates birddoc SGML.
        !          11806: 
        !          11807: commit 3fc259549595c952befbe589764ae0bc1ae82728
        !          11808: Author: Martin Mares <mj@ucw.cz>
        !          11809: Date:   Wed May 31 11:28:52 2000 +0000
        !          11810: 
        !          11811:     Added tags for markup of programmer's documentation.
        !          11812: 
        !          11813: commit c92795e934758a32472ebc5766ff0f61b1c1409c
        !          11814: Author: Martin Mares <mj@ucw.cz>
        !          11815: Date:   Wed May 31 11:28:07 2000 +0000
        !          11816: 
        !          11817:     Moved old TeX documents to old/ to make them not interfere with doc building.
        !          11818: 
        !          11819: commit a2a3ced83eea3919639adafbdacb7ec11011f9cb
        !          11820: Author: Martin Mares <mj@ucw.cz>
        !          11821: Date:   Wed May 31 10:07:27 2000 +0000
        !          11822: 
        !          11823:     Added Pipe documentation.
        !          11824: 
        !          11825: commit 0884f492232bb81366c04982bf4935307d273c26
        !          11826: Author: Ondrej Filip <feela@network.cz>
        !          11827: Date:   Tue May 30 23:29:23 2000 +0000
        !          11828: 
        !          11829:     Ehm, in had this in code: "break; i--;" :-(
        !          11830: 
        !          11831: commit 3b0b2cb61f4e9c3bfbb4770b941c5aba56d9e70e
        !          11832: Author: Martin Mares <mj@ucw.cz>
        !          11833: Date:   Tue May 30 22:48:14 2000 +0000
        !          11834: 
        !          11835:     IPv6: Absolutize link-scope addresses of incoming packets.
        !          11836:     
        !          11837:     IPv6 socket interface is hopefully right now.
        !          11838: 
        !          11839: commit cfa6ab0593a02c3d4d0d959c771f72430f1adf67
        !          11840: Author: Martin Mares <mj@ucw.cz>
        !          11841: Date:   Tue May 30 22:47:33 2000 +0000
        !          11842: 
        !          11843:     Added ipa_absolutize() which converts link-scope addresses to global scope
        !          11844:     ones according to prefix assigned to the corresponding interface.
        !          11845: 
        !          11846: commit 69a20d2effb651e475b8ab8b04ee1a04a76db07f
        !          11847: Author: Martin Mares <mj@ucw.cz>
        !          11848: Date:   Tue May 30 21:46:21 2000 +0000
        !          11849: 
        !          11850:     Recognize `!'.
        !          11851: 
        !          11852: commit 5919c66e8fdd87ee7e5c5a1e0ce01893e0ce103d
        !          11853: Author: Martin Mares <mj@ucw.cz>
        !          11854: Date:   Tue May 30 21:25:32 2000 +0000
        !          11855: 
        !          11856:     Route attributes for OSPF.
        !          11857: 
        !          11858: commit 2cec475b8fbaa6cb0865ceacd900ffb678818330
        !          11859: Author: Martin Mares <mj@ucw.cz>
        !          11860: Date:   Tue May 30 21:24:53 2000 +0000
        !          11861: 
        !          11862:     Removed several unused local variables.
        !          11863: 
        !          11864: commit 2f71123158973d770eee1dea64b46a4774bcf9a5
        !          11865: Author: Martin Mares <mj@ucw.cz>
        !          11866: Date:   Tue May 30 21:24:15 2000 +0000
        !          11867: 
        !          11868:     Killed bug in merging of dynamic attributes.
        !          11869: 
        !          11870: commit caab3bb374d2671982d068c0fb0aa6217691d5bd
        !          11871: Author: Martin Mares <mj@ucw.cz>
        !          11872: Date:   Tue May 30 21:23:49 2000 +0000
        !          11873: 
        !          11874:     Better formatting of protocol status.
        !          11875: 
        !          11876: commit 36032dedc619a39d45d6abe79d27110a98751ba9
        !          11877: Author: Pavel Machek <pavel@ucw.cz>
        !          11878: Date:   Tue May 30 19:20:02 2000 +0000
        !          11879: 
        !          11880:     Added section about client.
        !          11881: 
        !          11882: commit 3e8645560624ac70ccc6d5f96fabcdae0a87cf4d
        !          11883: Author: Ondrej Filip <feela@network.cz>
        !          11884: Date:   Tue May 30 18:21:51 2000 +0000
        !          11885: 
        !          11886:     Added \n in debug.
        !          11887: 
        !          11888: commit 7e1c7efae2762752ef897bfa215b299127412b66
        !          11889: Author: Ondrej Filip <feela@network.cz>
        !          11890: Date:   Tue May 30 17:57:06 2000 +0000
        !          11891: 
        !          11892:     Stupig bug in debugging.
        !          11893: 
        !          11894: commit 3dd8f983b649c83f50d44ca2093ab1f931eaba4d
        !          11895: Author: Ondrej Filip <feela@network.cz>
        !          11896: Date:   Tue May 30 17:51:22 2000 +0000
        !          11897: 
        !          11898:     You can decide if add LSA into lsrth during flood_lsa().
        !          11899: 
        !          11900: commit 3d410fdfa1a6fc20952cf94b39ebff197a3c065a
        !          11901: Author: Ondrej Filip <feela@network.cz>
        !          11902: Date:   Tue May 30 17:49:25 2000 +0000
        !          11903: 
        !          11904:     Reflood your old lsa.
        !          11905: 
        !          11906: commit 13b02be25a41d7a505f7a888f948220a15edcf8a
        !          11907: Author: Ondrej Filip <feela@network.cz>
        !          11908: Date:   Tue May 30 17:00:17 2000 +0000
        !          11909: 
        !          11910:     Don't run rt calculation twice.
        !          11911: 
        !          11912: commit b477a9a855f75486c2e03bb7b68faba7923bc511
        !          11913: Author: Ondrej Filip <feela@network.cz>
        !          11914: Date:   Tue May 30 16:49:48 2000 +0000
        !          11915: 
        !          11916:     Don't send empty LS upd. (And better debugging.)
        !          11917: 
        !          11918: commit e1e31816c4e6931465936afa39f5773cf4591b35
        !          11919: Author: Ondrej Filip <feela@network.cz>
        !          11920: Date:   Tue May 30 16:48:42 2000 +0000
        !          11921: 
        !          11922:     Aging delta changed. (Ehm, aging is very dirty I'll have to change it.)
        !          11923: 
        !          11924: commit 1b128de364e5a1931c1cc61b04c1e44960007025
        !          11925: Author: Ondrej Filip <feela@network.cz>
        !          11926: Date:   Tue May 30 16:13:59 2000 +0000
        !          11927: 
        !          11928:     Better shutdown.
        !          11929: 
        !          11930: commit 935ceabea43714e4abae7ecaac0f072e8a4ecb15
        !          11931: Author: Ondrej Filip <feela@network.cz>
        !          11932: Date:   Tue May 30 16:08:29 2000 +0000
        !          11933: 
        !          11934:     Don't send empty LS update.
        !          11935: 
        !          11936: commit a548a7e167d50587aac4549d32924c95dc329e99
        !          11937: Author: Ondrej Filip <feela@network.cz>
        !          11938: Date:   Tue May 30 15:05:47 2000 +0000
        !          11939: 
        !          11940:     Bug in direct ack (via update).
        !          11941: 
        !          11942: commit 4513280611d6c4e3409bf75139a9bd844843d462
        !          11943: Author: Ondrej Filip <feela@network.cz>
        !          11944: Date:   Tue May 30 15:04:52 2000 +0000
        !          11945: 
        !          11946:     Bug in socket closing.
        !          11947: 
        !          11948: commit ef6f26b417060f9ac6c26224469b909a0c3aa933
        !          11949: Author: Ondrej Filip <feela@network.cz>
        !          11950: Date:   Tue May 30 15:01:51 2000 +0000
        !          11951: 
        !          11952:     Bug in lsa comparision.
        !          11953: 
        !          11954: commit 2aa476a535c878a412bb732eae16d97848f07ff3
        !          11955: Author: Ondrej Filip <feela@network.cz>
        !          11956: Date:   Tue May 30 13:39:06 2000 +0000
        !          11957: 
        !          11958:     Yeah, the endianity bug found.
        !          11959: 
        !          11960: commit 76e2514328a71abd1ed37b9b32421d2ab924b4c0
        !          11961: Author: Ondrej Filip <feela@network.cz>
        !          11962: Date:   Tue May 30 13:25:47 2000 +0000
        !          11963: 
        !          11964:     Better dumping.
        !          11965: 
        !          11966: commit 7b099bf9a73b4a81f74d90fa8f413c9ebd85f384
        !          11967: Author: Pavel Machek <pavel@ucw.cz>
        !          11968: Date:   Tue May 30 11:50:17 2000 +0000
        !          11969: 
        !          11970:     Recovering after change linuxdoc->birddoc
        !          11971: 
        !          11972: commit 068b41272e8fbb81882a187dcef6d5f3d4e43ed2
        !          11973: Author: Pavel Machek <pavel@ucw.cz>
        !          11974: Date:   Tue May 30 11:27:42 2000 +0000
        !          11975: 
        !          11976:     Don't say too bad things about our concurence.
        !          11977: 
        !          11978: commit e9df1bb64786b24a230686310aeb4850b93fa5bb
        !          11979: Author: Pavel Machek <pavel@ucw.cz>
        !          11980: Date:   Tue May 30 11:23:47 2000 +0000
        !          11981: 
        !          11982:     Small change in working to make it obvious we are free software.
        !          11983: 
        !          11984: commit 1cb10462c33731817f61ffbdd2e42c538baf0e0f
        !          11985: Author: Pavel Machek <pavel@ucw.cz>
        !          11986: Date:   Tue May 30 11:22:12 2000 +0000
        !          11987: 
        !          11988:     Date removed.
        !          11989: 
        !          11990: commit f3b33928ce43794d499dc0e1fbbeb623572042d1
        !          11991: Author: Pavel Machek <pavel@ucw.cz>
        !          11992: Date:   Tue May 30 11:15:19 2000 +0000
        !          11993: 
        !          11994:     Tried to change garbagetime -> garbage time to be more consistent.
        !          11995: 
        !          11996: commit 24e1e2005b0728bfc404f248efb7d17b34cb0910
        !          11997: Author: Pavel Machek <pavel@ucw.cz>
        !          11998: Date:   Tue May 30 11:09:09 2000 +0000
        !          11999: 
        !          12000:     Another testbed for filters.
        !          12001: 
        !          12002: commit 04c3a83c60253d5c71500194a19160538c0da034
        !          12003: Author: Ondrej Filip <feela@network.cz>
        !          12004: Date:   Tue May 30 11:07:31 2000 +0000
        !          12005: 
        !          12006:     Better inicialisation.
        !          12007: 
        !          12008: commit 0dc4431cde1eeb06d9b4d7dbf18242919ce2811a
        !          12009: Author: Pavel Machek <pavel@ucw.cz>
        !          12010: Date:   Tue May 30 11:07:22 2000 +0000
        !          12011: 
        !          12012:     Access to all attributes we should be able to access seems to work.
        !          12013: 
        !          12014: commit 5970fcda8c4eb2cfe69c04d50429855c7c57bb6d
        !          12015: Author: Ondrej Filip <feela@network.cz>
        !          12016: Date:   Tue May 30 10:53:48 2000 +0000
        !          12017: 
        !          12018:     Some exchange between init() and start().
        !          12019: 
        !          12020: commit 26c09e1d25abff7fb88959dc6fbaa7ae5eb295ad
        !          12021: Author: Pavel Machek <pavel@ucw.cz>
        !          12022: Date:   Tue May 30 10:42:39 2000 +0000
        !          12023: 
        !          12024:     Added read-only access to all required fields in rta.
        !          12025: 
        !          12026: commit 2d6627a7a5e52f8314520f9aefd82040e24849cb
        !          12027: Author: Pavel Machek <pavel@ucw.cz>
        !          12028: Date:   Tue May 30 10:42:00 2000 +0000
        !          12029: 
        !          12030:     Fixed bug in RIP docs.
        !          12031: 
        !          12032: commit 73232f6b18222d73b38eae58e2c4c90062202709
        !          12033: Author: Ondrej Filip <feela@network.cz>
        !          12034: Date:   Tue May 30 10:36:57 2000 +0000
        !          12035: 
        !          12036:     Better rt dumping.
        !          12037: 
        !          12038: commit 2bdb5e0083b6f24d29d74bb5e62cd13d724ba54f
        !          12039: Author: Pavel Machek <pavel@ucw.cz>
        !          12040: Date:   Tue May 30 10:23:04 2000 +0000
        !          12041: 
        !          12042:     Cleaning static attributes
        !          12043: 
        !          12044: commit 05dbc97b13534eb886945d1f291aaba34238c99c
        !          12045: Author: Ondrej Filip <feela@network.cz>
        !          12046: Date:   Tue May 30 10:20:14 2000 +0000
        !          12047: 
        !          12048:     Bug in rt_notify.
        !          12049: 
        !          12050: commit fe613ecded2fca875a146e1c07713f131e85f7ff
        !          12051: Author: Pavel Machek <pavel@ucw.cz>
        !          12052: Date:   Tue May 30 10:13:32 2000 +0000
        !          12053: 
        !          12054:     Access to few more attributes is needed.
        !          12055: 
        !          12056: commit f7876c36602015dbf6d7aa3d73fda5ad1c2f6c5a
        !          12057: Author: Pavel Machek <pavel@ucw.cz>
        !          12058: Date:   Tue May 30 10:13:15 2000 +0000
        !          12059: 
        !          12060:     More todo in documentation.
        !          12061: 
        !          12062: commit 298f2530ec05ee86c52f2fbce306ac186a3f6dd8
        !          12063: Author: Pavel Machek <pavel@ucw.cz>
        !          12064: Date:   Tue May 30 10:13:02 2000 +0000
        !          12065: 
        !          12066:     Moved description of filters to programmers docs.
        !          12067: 
        !          12068: commit 9e85a5e6f26866a255577ff10786c12a64cba624
        !          12069: Author: Martin Mares <mj@ucw.cz>
        !          12070: Date:   Mon May 29 22:16:04 2000 +0000
        !          12071: 
        !          12072:     Delay user input whereever appropriate.
        !          12073: 
        !          12074: commit 4761efdb43aa128fa0326963d88debe8fb942c84
        !          12075: Author: Martin Mares <mj@ucw.cz>
        !          12076: Date:   Mon May 29 22:10:18 2000 +0000
        !          12077: 
        !          12078:     Tracing of CLI connections/commands can be now controlled
        !          12079:     by `debug commands <level>' in the configuration. Level 0 means
        !          12080:     no tracing, 1 means connections only, 2 includes all commands.
        !          12081: 
        !          12082: commit 26eee1c33ac90ccbc5753afac06d34980fade2b8
        !          12083: Author: Martin Mares <mj@ucw.cz>
        !          12084: Date:   Mon May 29 22:09:29 2000 +0000
        !          12085: 
        !          12086:     Updated TODO.
        !          12087: 
        !          12088: commit 7294f68b3b3474183434ae05b43a344f1bfce6db
        !          12089: Author: Martin Mares <mj@ucw.cz>
        !          12090: Date:   Mon May 29 22:08:04 2000 +0000
        !          12091: 
        !          12092:     `path metric' and `disable after error' are switches, not numeric clauses.
        !          12093: 
        !          12094: commit e67af42805c16093bb720a1bd04ad8932e86e49e
        !          12095: Author: Martin Mares <mj@ucw.cz>
        !          12096: Date:   Mon May 29 21:58:35 2000 +0000
        !          12097: 
        !          12098:     Support --version and --help.
        !          12099: 
        !          12100: commit 5459fac61f3a645c636bdf32c140f4d7083034d2
        !          12101: Author: Martin Mares <mj@ucw.cz>
        !          12102: Date:   Mon May 29 21:03:27 2000 +0000
        !          12103: 
        !          12104:     Added BGP documentation.
        !          12105: 
        !          12106: commit 56ab03c71f35c6c360b58b88f9e524c97714fdf6
        !          12107: Author: Martin Mares <mj@ucw.cz>
        !          12108: Date:   Mon May 29 13:47:18 2000 +0000
        !          12109: 
        !          12110:     Added introduction to BGP.
        !          12111: 
        !          12112: commit 0e4789c2c3a8f217f01a4e472c8dd45db609c34b
        !          12113: Author: Martin Mares <mj@ucw.cz>
        !          12114: Date:   Mon May 29 13:13:58 2000 +0000
        !          12115: 
        !          12116:     Added Kernel protocol documentation.
        !          12117: 
        !          12118: commit d9d41c60426ab1896bc689cd2a26c51f49e27e3a
        !          12119: Author: Martin Mares <mj@ucw.cz>
        !          12120: Date:   Mon May 29 12:46:27 2000 +0000
        !          12121: 
        !          12122:     Capitalize properly in Install section.
        !          12123:     
        !          12124:     BTW, what about configure options and similar things?
        !          12125: 
        !          12126: commit 4f88ac47c671af2221061b793fa495a78994e44a
        !          12127: Author: Pavel Machek <pavel@ucw.cz>
        !          12128: Date:   Mon May 29 12:23:49 2000 +0000
        !          12129: 
        !          12130:     Reduce number of chapters -- having subchapter for 2 lines of code looks ugly in output.
        !          12131: 
        !          12132: commit 0e694e041a99860454fe0a74eb83133d89896d62
        !          12133: Author: Martin Mares <mj@ucw.cz>
        !          12134: Date:   Mon May 29 12:18:30 2000 +0000
        !          12135: 
        !          12136:     Minor fixes as requested by Pavel.
        !          12137: 
        !          12138: commit 440439e3cc2ce7a9e6b36e6801f37c42cce1a729
        !          12139: Author: Pavel Machek <pavel@ucw.cz>
        !          12140: Date:   Mon May 29 12:05:56 2000 +0000
        !          12141: 
        !          12142:     Really short installation section added.
        !          12143: 
        !          12144: commit 04a22949d7f63d6979642e41ded0f61d7a477980
        !          12145: Author: Martin Mares <mj@ucw.cz>
        !          12146: Date:   Mon May 29 12:05:21 2000 +0000
        !          12147: 
        !          12148:     Renamed the DTD from linuxdoc to birddoc.
        !          12149:     
        !          12150:     Pavel, please check whether it builds in your environment as well.
        !          12151: 
        !          12152: commit 897cd7aa559033aae99281e569a5153a22a952f9
        !          12153: Author: Martin Mares <mj@ucw.cz>
        !          12154: Date:   Mon May 29 12:03:28 2000 +0000
        !          12155: 
        !          12156:     Tried to write a better introduction.
        !          12157: 
        !          12158: commit 9d8934891405348ad925d8421b673ea979f256eb
        !          12159: Author: Pavel Machek <pavel@ucw.cz>
        !          12160: Date:   Mon May 29 11:53:24 2000 +0000
        !          12161: 
        !          12162:     Docs updates.
        !          12163: 
        !          12164: commit 79a2b697e3c94a787d72db4ed85b78928d3240c2
        !          12165: Author: Martin Mares <mj@ucw.cz>
        !          12166: Date:   Mon May 29 11:30:25 2000 +0000
        !          12167: 
        !          12168:     Added description of Static, Device and Direct protocols.
        !          12169: 
        !          12170: commit 98627595fb4223991d60f809bbeac98cf34aabfb
        !          12171: Author: Pavel Machek <pavel@ucw.cz>
        !          12172: Date:   Mon May 29 11:22:43 2000 +0000
        !          12173: 
        !          12174:     Better description of how route is selected.
        !          12175: 
        !          12176: commit d247d261e55bec7fadfef89c39ca3257816af771
        !          12177: Author: Pavel Machek <pavel@ucw.cz>
        !          12178: Date:   Mon May 29 11:22:30 2000 +0000
        !          12179: 
        !          12180:     Info about client. (Mj, if you tell me that's trivial, what about you
        !          12181:     writing it?)
        !          12182: 
        !          12183: commit 2f647f3f9f51effbb63aee5bb2c45d054b7922e4
        !          12184: Author: Pavel Machek <pavel@ucw.cz>
        !          12185: Date:   Mon May 29 11:13:51 2000 +0000
        !          12186: 
        !          12187:     Added "what is router" to introduction.
        !          12188: 
        !          12189: commit 1b55b1a3640da3ec2b032dcea3f4f7cbdff82303
        !          12190: Author: Martin Mares <mj@ucw.cz>
        !          12191: Date:   Mon May 29 10:32:37 2000 +0000
        !          12192: 
        !          12193:     Spelling fixes.
        !          12194:     
        !          12195:     Added skeleton for subchapters on all the protocols. Each subchapter should
        !          12196:     contain:
        !          12197:     
        !          12198:        Introduction (brief intro to the protocol, where should it be used,
        !          12199:                references to the relevant standards)
        !          12200:        Configuration
        !          12201:        Attributes
        !          12202:        Example
        !          12203:     
        !          12204:     Added a more detailed description of RIP attributes.
        !          12205: 
        !          12206: commit e9d6b1d19fc35e611aa5a6020c0b531dee96d77d
        !          12207: Author: Ondrej Filip <feela@network.cz>
        !          12208: Date:   Sun May 28 20:11:56 2000 +0000
        !          12209: 
        !          12210:     Kosmetic change in debugging.
        !          12211: 
        !          12212: commit f7c0525edcffc6c85d0e526c4c9741b06fc521d2
        !          12213: Author: Ondrej Filip <feela@network.cz>
        !          12214: Date:   Sun May 28 19:16:04 2000 +0000
        !          12215: 
        !          12216:     get_route_info() added.
        !          12217: 
        !          12218: commit d150c6379c03a9df98ff5dd53a6442a10713b571
        !          12219: Author: Pavel Machek <pavel@ucw.cz>
        !          12220: Date:   Sun May 28 19:11:08 2000 +0000
        !          12221: 
        !          12222:     Documentation update.
        !          12223: 
        !          12224: commit cdc25e8db7bfb38a9aca71abc5c202c25f4b0732
        !          12225: Author: Ondrej Filip <feela@network.cz>
        !          12226: Date:   Sun May 28 19:07:39 2000 +0000
        !          12227: 
        !          12228:     To find out a type of route (external, inter/intra area)
        !          12229: 
        !          12230: commit 4414d9a57a0dae3da0e0e0d924bf8cab89070716
        !          12231: Author: Ondrej Filip <feela@network.cz>
        !          12232: Date:   Sun May 28 18:49:33 2000 +0000
        !          12233: 
        !          12234:     get_status() implemented.
        !          12235: 
        !          12236: commit d5f029df482e596ccdbac341f605f6f809229db1
        !          12237: Author: Ondrej Filip <feela@network.cz>
        !          12238: Date:   Sun May 28 18:34:20 2000 +0000
        !          12239: 
        !          12240:     Just added some debug().
        !          12241: 
        !          12242: commit 4bd28fb68e6e691aee87cec41f219224e2dd69dc
        !          12243: Author: Ondrej Filip <feela@network.cz>
        !          12244: Date:   Sat May 27 15:36:02 2000 +0000
        !          12245: 
        !          12246:     Better shutdown. (Flush my own router LSA and send 1WAY to every neighbor.)
        !          12247:     Ext LSA originating and flushing added.
        !          12248: 
        !          12249: commit e8085abaa76c32bb325e378dfe2851bc98602c1e
        !          12250: Author: Ondrej Filip <feela@network.cz>
        !          12251: Date:   Sat May 27 14:17:35 2000 +0000
        !          12252: 
        !          12253:     Originating of external LSA.
        !          12254: 
        !          12255: commit 2d5b999236c20d293006af0b4d94af7ae04dd2a7
        !          12256: Author: Ondrej Filip <feela@network.cz>
        !          12257: Date:   Fri May 26 19:04:18 2000 +0000
        !          12258: 
        !          12259:     Import control implemented.
        !          12260: 
        !          12261: commit 216fd83c4b213ea3774d2c536ae089ea1e81b443
        !          12262: Author: Pavel Machek <pavel@ucw.cz>
        !          12263: Date:   Thu May 25 16:28:08 2000 +0000
        !          12264: 
        !          12265:     Spell checking.
        !          12266: 
        !          12267: commit 9b24a6fb94049691075dfcdc00e2a0ae244c2325
        !          12268: Author: Pavel Machek <pavel@ucw.cz>
        !          12269: Date:   Thu May 25 16:17:54 2000 +0000
        !          12270: 
        !          12271:     Text version generated from lynx looks as ugly as hell, sgml is much better
        !          12272:     at generating nice output. Unfortunately, sgml output contains a^ha highlight
        !          12273:     some printers do not like.
        !          12274: 
        !          12275: commit d26524fa0c06f6716d5e226b18d7d4770924c6d4
        !          12276: Author: Pavel Machek <pavel@ucw.cz>
        !          12277: Date:   Thu May 25 15:28:24 2000 +0000
        !          12278: 
        !          12279:     Add section about routing tables.
        !          12280: 
        !          12281: commit ad9074e9ba2f2c1fa7e681b5f79f9049e5c640f8
        !          12282: Author: Pavel Machek <pavel@ucw.cz>
        !          12283: Date:   Thu May 25 15:20:40 2000 +0000
        !          12284: 
        !          12285:     Cleaned up warnings.
        !          12286: 
        !          12287: commit 69477cad708235f2ab79796dc62c06d3c879111c
        !          12288: Author: Pavel Machek <pavel@ucw.cz>
        !          12289: Date:   Thu May 25 15:11:13 2000 +0000
        !          12290: 
        !          12291:     Add section about utility functions in filters
        !          12292: 
        !          12293: commit 4a5bb2bf1bbbb7d2bba7776af481a13a58ec39ae
        !          12294: Author: Pavel Machek <pavel@ucw.cz>
        !          12295: Date:   Thu May 25 15:01:08 2000 +0000
        !          12296: 
        !          12297:     Description of types needed for BGP.
        !          12298: 
        !          12299: commit 9a09a64bb4160a5bb79cdf91bd95b7f77966f62e
        !          12300: Author: Pavel Machek <pavel@ucw.cz>
        !          12301: Date:   Thu May 25 14:58:38 2000 +0000
        !          12302: 
        !          12303:     Use ? in path matching to avoid /* trap.
        !          12304: 
        !          12305: commit ba1dda495ad29cd86260533828ce38c7d327f045
        !          12306: Author: Pavel Machek <pavel@ucw.cz>
        !          12307: Date:   Thu May 25 14:50:46 2000 +0000
        !          12308: 
        !          12309:     SGML correctness fix.
        !          12310: 
        !          12311: commit 0e5373fd823d174d0cdd7820fc94cdbe4b0db5a3
        !          12312: Author: Pavel Machek <pavel@ucw.cz>
        !          12313: Date:   Thu May 25 12:33:42 2000 +0000
        !          12314: 
        !          12315:     Some more documentation, plus minor fixes.
        !          12316: 
        !          12317: commit 72282e2a1b52552eadd61a86659119db8478427d
        !          12318: Author: Pavel Machek <pavel@ucw.cz>
        !          12319: Date:   Thu May 25 12:33:15 2000 +0000
        !          12320: 
        !          12321:     Fixed comment not to be misleading.
        !          12322: 
        !          12323: commit 416e3ee4b07d9ed30ada45eee736d877efe139db
        !          12324: Author: Martin Mares <mj@ucw.cz>
        !          12325: Date:   Sat May 20 11:00:14 2000 +0000
        !          12326: 
        !          12327:     Get Linux version from <linux/version.h>, not `uname -r`.
        !          12328: 
        !          12329: commit 2eca3b3a9ce8ea405f81cb1dbf55b79d3b2d3c18
        !          12330: Author: Martin Mares <mj@ucw.cz>
        !          12331: Date:   Fri May 19 19:49:33 2000 +0000
        !          12332: 
        !          12333:     Routing table garbage collector gets really called.
        !          12334: 
        !          12335: commit 0ba8a6147d2a6ca4611c9e87e6b9d640d94966b4
        !          12336: Author: Martin Mares <mj@ucw.cz>
        !          12337: Date:   Fri May 19 19:40:12 2000 +0000
        !          12338: 
        !          12339:     Fixed a very nasty bug in FIB iterators.
        !          12340: 
        !          12341: commit d2a7c0e9b2b51287cca6bf9f9ef513cbe29d4dbd
        !          12342: Author: Martin Mares <mj@ucw.cz>
        !          12343: Date:   Fri May 19 18:05:19 2000 +0000
        !          12344: 
        !          12345:     Don't print trace messages about null updates.
        !          12346: 
        !          12347: commit 3ced9b349daeb64357136311e436401c246d7777
        !          12348: Author: Martin Mares <mj@ucw.cz>
        !          12349: Date:   Fri May 19 18:05:01 2000 +0000
        !          12350: 
        !          12351:     Fixed freeing of non-embedded extended attributes.
        !          12352: 
        !          12353: commit 075898dea7ee73b49462af3d3ab0269fd46afcc4
        !          12354: Author: Martin Mares <mj@ucw.cz>
        !          12355: Date:   Fri May 19 18:03:53 2000 +0000
        !          12356: 
        !          12357:     No more problems when protocols gets disabled during feeding.
        !          12358: 
        !          12359: commit dc6405d27e1ecedf6289039c7b3ed94c50683b2d
        !          12360: Author: Martin Mares <mj@ucw.cz>
        !          12361: Date:   Fri May 19 17:21:42 2000 +0000
        !          12362: 
        !          12363:     Latest changes by Pavel have removed the error messages printed after
        !          12364:     unsuccessful socket open, but replaced them by segmentatio fault!
        !          12365:     
        !          12366:     Grrrrrrrrr.
        !          12367: 
        !          12368: commit e66e6c2119e9de2f8012e587eafe752723706265
        !          12369: Author: Pavel Machek <pavel@ucw.cz>
        !          12370: Date:   Fri May 19 16:57:40 2000 +0000
        !          12371: 
        !          12372:     If community list is not defined, act as it is empty.
        !          12373: 
        !          12374: commit 9511a483b1b735d8bf9f671d494b363da5719ecc
        !          12375: Author: Pavel Machek <pavel@ucw.cz>
        !          12376: Date:   Fri May 19 16:44:25 2000 +0000
        !          12377: 
        !          12378:     Less error messages in case sk_open fails.
        !          12379: 
        !          12380: commit eb4097e4e47db23403c4050b43ea5136ffbe4b41
        !          12381: Author: Pavel Machek <pavel@ucw.cz>
        !          12382: Date:   Fri May 19 16:22:53 2000 +0000
        !          12383: 
        !          12384:     Added name of protocol to messages being logged.
        !          12385: 
        !          12386: commit af0b25d20d1476d81696fb0241a815fb45168f53
        !          12387: Author: Pavel Machek <pavel@ucw.cz>
        !          12388: Date:   Fri May 19 15:59:21 2000 +0000
        !          12389: 
        !          12390:     More updates.
        !          12391: 
        !          12392: commit 242352b7a7f1b181b6e42dc77b998005d3f07c78
        !          12393: Author: Pavel Machek <pavel@ucw.cz>
        !          12394: Date:   Fri May 19 14:13:49 2000 +0000
        !          12395: 
        !          12396:     Improve docs of log statment, improve markup.
        !          12397: 
        !          12398: commit 8af8a87375f3a609583866a5f50487baebe38e2e
        !          12399: Author: Pavel Machek <pavel@ucw.cz>
        !          12400: Date:   Fri May 19 14:05:55 2000 +0000
        !          12401: 
        !          12402:     Descriptive lists rendered better in TeX.
        !          12403: 
        !          12404: commit a0dd1c74334fa22588f9d1c8cb73013f1940b974
        !          12405: Author: Pavel Machek <pavel@ucw.cz>
        !          12406: Date:   Fri May 19 13:58:39 2000 +0000
        !          12407: 
        !          12408:     Some spellchecking, and use right tags for right things.
        !          12409: 
        !          12410: commit 5e88d7302599b7ac521624c77adf0b3c72601670
        !          12411: Author: Martin Mares <mj@ucw.cz>
        !          12412: Date:   Fri May 19 11:01:41 2000 +0000
        !          12413: 
        !          12414:     BGP now reports originating AS and origin type in get_route_info().
        !          12415: 
        !          12416: commit f49528a3dfa034415527824cbbd0762f3829f0cd
        !          12417: Author: Martin Mares <mj@ucw.cz>
        !          12418: Date:   Fri May 19 11:01:06 2000 +0000
        !          12419: 
        !          12420:     Added as_path_get_first().
        !          12421: 
        !          12422: commit f7ad556f2017075abaef659bf018a0ce215b13b3
        !          12423: Author: Martin Mares <mj@ucw.cz>
        !          12424: Date:   Fri May 19 11:00:47 2000 +0000
        !          12425: 
        !          12426:     Commented out the `inserting entry which is already there' message since
        !          12427:     it's pretty normal: during feeding of the protocol, a new route can appear
        !          12428:     which will be announced normally and then repeated by the feeding process.
        !          12429: 
        !          12430: commit 76dfda9e74580b6c07206b7afbbdafeea36ad08f
        !          12431: Author: Martin Mares <mj@ucw.cz>
        !          12432: Date:   Fri May 19 10:59:47 2000 +0000
        !          12433: 
        !          12434:     Fixed a buglet in asynchronous feeding and increased maximum number
        !          12435:     of routes allowed per feeding phase.
        !          12436: 
        !          12437: commit ac5d801217b4b85a5f716ace25f7f9ac48dfee0f
        !          12438: Author: Martin Mares <mj@ucw.cz>
        !          12439: Date:   Fri May 19 10:46:26 2000 +0000
        !          12440: 
        !          12441:     Asynchronous feeding of protocols.
        !          12442: 
        !          12443: commit 0850ce22d76c80c4f6a10fd0139d4cc903716bfa
        !          12444: Author: Ondrej Filip <feela@network.cz>
        !          12445: Date:   Wed May 17 21:20:47 2000 +0000
        !          12446: 
        !          12447:     Smal debug bugfix.
        !          12448: 
        !          12449: commit 6d5e703dc9ac387d72005f3b5da82e80275d5fc6
        !          12450: Author: Pavel Machek <pavel@ucw.cz>
        !          12451: Date:   Wed May 17 20:23:05 2000 +0000
        !          12452: 
        !          12453:     Minor cleaning
        !          12454: 
        !          12455: commit 00c1f79a79281c16beec132d945db480daca958d
        !          12456: Author: Ondrej Filip <feela@network.cz>
        !          12457: Date:   Wed May 17 20:01:25 2000 +0000
        !          12458: 
        !          12459:     rte_same implemented.
        !          12460: 
        !          12461: commit bbd76b421a1975560084e50669db9cacd61d2b58
        !          12462: Author: Ondrej Filip <feela@network.cz>
        !          12463: Date:   Wed May 17 19:27:51 2000 +0000
        !          12464: 
        !          12465:     rte_better implemented.
        !          12466: 
        !          12467: commit 9f0d45d634ac38d54ed92c5726fbaed65850e15f
        !          12468: Author: Pavel Machek <pavel@ucw.cz>
        !          12469: Date:   Wed May 17 12:14:05 2000 +0000
        !          12470: 
        !          12471:     Finished cleanng up mess: multiplication reinstalled.
        !          12472: 
        !          12473: commit 4ee2178935b1f4cdd465e290c13f6580901cec8d
        !          12474: Author: Ondrej Filip <feela@network.cz>
        !          12475: Date:   Wed May 17 00:28:45 2000 +0000
        !          12476: 
        !          12477:     Don't die, if you receive strange LSA.
        !          12478: 
        !          12479: commit 7f6b3cf247c0df8d10e9ed29a5ff6a6af5e1cf8f
        !          12480: Author: Ondrej Filip <feela@network.cz>
        !          12481: Date:   Wed May 17 00:28:11 2000 +0000
        !          12482: 
        !          12483:     Typo in comment.
        !          12484: 
        !          12485: commit 18a0c0bb763d918f3a06bfeb2be2b1051a7f4629
        !          12486: Author: Ondrej Filip <feela@network.cz>
        !          12487: Date:   Tue May 16 23:59:38 2000 +0000
        !          12488: 
        !          12489:     Downing of interface should work.
        !          12490: 
        !          12491: commit 8fb0c2c298fbfa133cf783a1547bc3b1c84fe466
        !          12492: Author: Ondrej Filip <feela@network.cz>
        !          12493: Date:   Tue May 16 23:24:50 2000 +0000
        !          12494: 
        !          12495:     Calculation of external routes finally works.
        !          12496: 
        !          12497: commit 31834faaf3ab055242e3a9998a37029b56f54d8a
        !          12498: Author: Ondrej Filip <feela@network.cz>
        !          12499: Date:   Tue May 16 22:43:30 2000 +0000
        !          12500: 
        !          12501:     Ehmm, removed 'if(1 || ...' so I can test the second part .
        !          12502: 
        !          12503: commit b1c9d871614874092e397ae505799be82284713d
        !          12504: Author: Martin Mares <mj@ucw.cz>
        !          12505: Date:   Tue May 16 22:37:53 2000 +0000
        !          12506: 
        !          12507:     Fixed the horrible mess Pavel has created with his last commit.
        !          12508: 
        !          12509: commit 508c36ab7981a8e50d1235c2c443491e4b04aa01
        !          12510: Author: Ondrej Filip <feela@network.cz>
        !          12511: Date:   Tue May 16 22:34:49 2000 +0000
        !          12512: 
        !          12513:     Routing table calculation for ext LSAs having next-hop=!0.0.0.0
        !          12514: 
        !          12515: commit a96a979d5b2b3a7ef02d878e9598d3268cb4c8a7
        !          12516: Author: Pavel Machek <pavel@ucw.cz>
        !          12517: Date:   Tue May 16 18:50:51 2000 +0000
        !          12518: 
        !          12519:     Line numbers for runtime errors (what's wrong with cvs? I could not
        !          12520:     commit this from home)
        !          12521: 
        !          12522: commit 7581b81bd7a77b5baebbd43833c00574d543c62e
        !          12523: Author: Pavel Machek <pavel@ucw.cz>
        !          12524: Date:   Tue May 16 18:47:06 2000 +0000
        !          12525: 
        !          12526:     More additions to documentation and spellchecking.
        !          12527: 
        !          12528: commit e5a47266d0d6b8614c5199ea513de029b35552b0
        !          12529: Author: Martin Mares <mj@ucw.cz>
        !          12530: Date:   Tue May 16 15:08:52 2000 +0000
        !          12531: 
        !          12532:     Turned off LOCAL_DEBUG.
        !          12533: 
        !          12534: commit e79671a72ccd392debcce1cdc05e46747eaf37e2
        !          12535: Author: Martin Mares <mj@ucw.cz>
        !          12536: Date:   Tue May 16 15:08:43 2000 +0000
        !          12537: 
        !          12538:     Fixed incorrect error message about router ID syntax.
        !          12539: 
        !          12540: commit 5b846de6a6361b3c8aac84438e7b332c972f2a08
        !          12541: Author: Pavel Machek <pavel@ucw.cz>
        !          12542: Date:   Tue May 16 15:05:05 2000 +0000
        !          12543: 
        !          12544:     Interface dummy is too strange for me... but psst, that's secret.
        !          12545: 
        !          12546: commit be77b6890c5f6b956553c0432554e5912a30528f
        !          12547: Author: Martin Mares <mj@ucw.cz>
        !          12548: Date:   Tue May 16 15:02:33 2000 +0000
        !          12549: 
        !          12550:     Poisoning: take there...
        !          12551: 
        !          12552: commit d6796e7b546bd0a28b85666a95eda039eabc5c5f
        !          12553: Author: Pavel Machek <pavel@ucw.cz>
        !          12554: Date:   Tue May 16 15:02:27 2000 +0000
        !          12555: 
        !          12556:     Don't segfault when someone adds passwords.
        !          12557: 
        !          12558: commit 2f2663bdb735ca155c32b0e12da814e62bbf9e9d
        !          12559: Author: Pavel Machek <pavel@ucw.cz>
        !          12560: Date:   Tue May 16 15:00:15 2000 +0000
        !          12561: 
        !          12562:     Password same now actually works
        !          12563: 
        !          12564: commit 898fdd85dc4568816ac0436c1b012f2fb35ef3e4
        !          12565: Author: Pavel Machek <pavel@ucw.cz>
        !          12566: Date:   Tue May 16 14:58:06 2000 +0000
        !          12567: 
        !          12568:     Rip should now reconfigure itself only if needed.
        !          12569: 
        !          12570: commit 60de3356ab9b1996a84e3ba2865176a078b6d0ca
        !          12571: Author: Pavel Machek <pavel@ucw.cz>
        !          12572: Date:   Tue May 16 14:24:33 2000 +0000
        !          12573: 
        !          12574:     Resolved shift/reduce conflict
        !          12575: 
        !          12576: commit e2f4f275646d21de363c32ff3c8fb4f492f07c04
        !          12577: Author: Martin Mares <mj@ucw.cz>
        !          12578: Date:   Tue May 16 13:53:44 2000 +0000
        !          12579: 
        !          12580:     Oops, the poison was too deadly...
        !          12581: 
        !          12582: commit b8e60d3562277762ec372424482b22c024e657d6
        !          12583: Author: Martin Mares <mj@ucw.cz>
        !          12584: Date:   Tue May 16 13:51:31 2000 +0000
        !          12585: 
        !          12586:     Added poisoning of free'd objects when we're debugging.
        !          12587: 
        !          12588: commit df9f0fb30a7046872eff21624a315d5fd56e938f
        !          12589: Author: Martin Mares <mj@ucw.cz>
        !          12590: Date:   Tue May 16 13:43:26 2000 +0000
        !          12591: 
        !          12592:     Don't log state changes if nothing user-visible has changed.
        !          12593: 
        !          12594: commit f990fc61e0dd13ae90c9bbff811736dfd52988b0
        !          12595: Author: Martin Mares <mj@ucw.cz>
        !          12596: Date:   Tue May 16 13:36:38 2000 +0000
        !          12597: 
        !          12598:     When in persist mode, don't delete routes from kernel tables even if
        !          12599:     they cease to exist in our routing tables due to protocols having shut down.
        !          12600: 
        !          12601: commit c5a06f65ee20328b8d0f2276287e223e4fd4a595
        !          12602: Author: Pavel Machek <pavel@ucw.cz>
        !          12603: Date:   Mon May 15 12:27:45 2000 +0000
        !          12604: 
        !          12605:     Allow other operations than +.
        !          12606: 
        !          12607: commit f4ab23174688920e44bb4cae6e8b4f280a066e28
        !          12608: Author: Martin Mares <mj@ucw.cz>
        !          12609: Date:   Mon May 15 12:19:28 2000 +0000
        !          12610: 
        !          12611:     bgp_get_status: If protocol is down, don't print BGP state.
        !          12612: 
        !          12613: commit cbfd671f114a96095f021662ad1cf0eaa6d089c1
        !          12614: Author: Pavel Machek <pavel@ucw.cz>
        !          12615: Date:   Mon May 15 12:19:26 2000 +0000
        !          12616: 
        !          12617:     Allow accessing defined symbols.
        !          12618: 
        !          12619: commit cc590a11a7a285463dff89d0bd677d0762dd8e45
        !          12620: Author: Martin Mares <mj@ucw.cz>
        !          12621: Date:   Mon May 15 12:15:18 2000 +0000
        !          12622: 
        !          12623:     Changed syntax of expressions. Each `expr' can be now either a numeric literal
        !          12624:     or a symbol or parenthesised filter expression.
        !          12625: 
        !          12626: commit 6be662d917822e9a23b0abd613e170c1d42bfdbe
        !          12627: Author: Pavel Machek <pavel@ucw.cz>
        !          12628: Date:   Mon May 15 12:07:09 2000 +0000
        !          12629: 
        !          12630:     Use new eval mechanism for testing filters.
        !          12631: 
        !          12632: commit e3f2d5fce3e339bb34f14d7b2569c1bd43b741ba
        !          12633: Author: Martin Mares <mj@ucw.cz>
        !          12634: Date:   Mon May 15 11:48:23 2000 +0000
        !          12635: 
        !          12636:     Cleanup of configuration.
        !          12637:     
        !          12638:     o  Use `expr' instead of `NUM' and `ipa' instead of `IPA',
        !          12639:        so that defined symbols work everywhere.
        !          12640:     o  `define' now accepts both numbers and IP addresses.
        !          12641:     o  Renamed `ipa' in filters to `fipa'.
        !          12642:     
        !          12643:     Pavel, please update filters to accept define'd symbols as well.
        !          12644: 
        !          12645: commit 3b1c523d79763b22e0fe06862ff349fd94e816b1
        !          12646: Author: Martin Mares <mj@ucw.cz>
        !          12647: Date:   Mon May 15 10:53:56 2000 +0000
        !          12648: 
        !          12649:     Got rid of startup functions and filters_postconfig().
        !          12650:     
        !          12651:     By the way, how do you expect pointers to fit in an int?
        !          12652: 
        !          12653: commit 1c20608e02109ef0839e0168d100c75f0cc65fd9
        !          12654: Author: Martin Mares <mj@ucw.cz>
        !          12655: Date:   Mon May 15 10:49:38 2000 +0000
        !          12656: 
        !          12657:     Added f_eval_int() and EVAL configuration command.
        !          12658: 
        !          12659: commit 9449c91ab2eb962b17989125c712f805f82a092b
        !          12660: Author: Martin Mares <mj@ucw.cz>
        !          12661: Date:   Sat May 13 11:42:42 2000 +0000
        !          12662: 
        !          12663:     Added `show route for <prefix-or-ipa>' which looks up route leading to
        !          12664:     given network.
        !          12665: 
        !          12666: commit 56d6c530eba46dde7280d6743fea7e750f2d5635
        !          12667: Author: Martin Mares <mj@ucw.cz>
        !          12668: Date:   Sat May 13 11:42:06 2000 +0000
        !          12669: 
        !          12670:     Added fib_route() which does (although very slow) lookup of longest-match
        !          12671:     routing in a FIB.
        !          12672: 
        !          12673: commit d3abfbc68d7f921b2547b39a6baa9bee6c89b78d
        !          12674: Author: Martin Mares <mj@ucw.cz>
        !          12675: Date:   Sat May 13 11:41:26 2000 +0000
        !          12676: 
        !          12677:     Added prefix_or_ipa.
        !          12678: 
        !          12679: commit 758458be054ebdf4cd77620faf214f2b491a49dc
        !          12680: Author: Martin Mares <mj@ucw.cz>
        !          12681: Date:   Sat May 13 11:17:49 2000 +0000
        !          12682: 
        !          12683:     Unified parsing of prefixes.
        !          12684:     
        !          12685:     Had to rename `prefix' in filters to `fprefix'.
        !          12686: 
        !          12687: commit 02bd064ab76f163313261dad5c273cb376be2a75
        !          12688: Author: Martin Mares <mj@ucw.cz>
        !          12689: Date:   Sat May 13 11:02:02 2000 +0000
        !          12690: 
        !          12691:     Adapted to new rt_notify semantics.
        !          12692: 
        !          12693: commit e4bfafa1008918cf904ede023feb18fa4cb7d524
        !          12694: Author: Martin Mares <mj@ucw.cz>
        !          12695: Date:   Sat May 13 11:01:41 2000 +0000
        !          12696: 
        !          12697:     Manual enable/disable works right.
        !          12698: 
        !          12699: commit 08f0290a1ebf94624c4eb4cbcb10e2b35a846432
        !          12700: Author: Martin Mares <mj@ucw.cz>
        !          12701: Date:   Sat May 13 11:00:37 2000 +0000
        !          12702: 
        !          12703:     Changed semantics of the rt_update hook. The attribute list we pass now
        !          12704:     contains all attributes, not just the temporary ones. This avoids having
        !          12705:     to merge the lists inside protocols or doing searches on both of them.
        !          12706:     
        !          12707:     Also, do filtering of routes properly. (I'd like to avoid it, but it's
        !          12708:     needed at least in the krt protocol.)
        !          12709: 
        !          12710: commit bfd7117846271a5e54271ee5248addd7e10ad021
        !          12711: Author: Pavel Machek <pavel@ucw.cz>
        !          12712: Date:   Fri May 12 10:57:36 2000 +0000
        !          12713: 
        !          12714:     Documentation fixes suggested by mj
        !          12715: 
        !          12716: commit 7e681ef3603862829c3bbf6b5c81c69c34faeb81
        !          12717: Author: Ondrej Filip <feela@network.cz>
        !          12718: Date:   Fri May 12 00:22:43 2000 +0000
        !          12719: 
        !          12720:     Calculation of external routes works. :-)
        !          12721: 
        !          12722: commit be2bb403414b2d8cd608b710a29992b2c8a4c8b0
        !          12723: Author: Ondrej Filip <feela@network.cz>
        !          12724: Date:   Thu May 11 22:02:53 2000 +0000
        !          12725: 
        !          12726:     Minor changes.
        !          12727: 
        !          12728: commit 5da1f935374b2e0435b67cc4d867369d522e62ff
        !          12729: Author: Ondrej Filip <feela@network.cz>
        !          12730: Date:   Thu May 11 22:00:55 2000 +0000
        !          12731: 
        !          12732:     Bugfix in flooding. (bad size)
        !          12733:     Better debugging.
        !          12734:     More robust in receiving.
        !          12735: 
        !          12736: commit c8d1f3feb2e2ca12aee76b1ce907dfff31c1012b
        !          12737: Author: Ondrej Filip <feela@network.cz>
        !          12738: Date:   Thu May 11 22:00:16 2000 +0000
        !          12739: 
        !          12740:     Better debugging.
        !          12741:     More robust.
        !          12742: 
        !          12743: commit 7a42e6ce899ceec7329212b9ceca4f15387fc280
        !          12744: Author: Ondrej Filip <feela@network.cz>
        !          12745: Date:   Thu May 11 17:14:57 2000 +0000
        !          12746: 
        !          12747:     Bugfix in network LSA originating.
        !          12748: 
        !          12749: commit 67edcf392f74e1c79ea521d583df7ca365caea0b
        !          12750: Author: Martin Mares <mj@ucw.cz>
        !          12751: Date:   Thu May 11 16:55:26 2000 +0000
        !          12752: 
        !          12753:     Updated README, generating the first alpha release.
        !          12754: 
        !          12755: commit 0e5aa966cca94152363b2d8e9c1b316c04d90adb
        !          12756: Author: Martin Mares <mj@ucw.cz>
        !          12757: Date:   Thu May 11 16:30:56 2000 +0000
        !          12758: 
        !          12759:     Multicast problems should be gone, although the fix is Linux only and we'll
        !          12760:     need to figure out something better when working on new ports.
        !          12761: 
        !          12762: commit 28323d9ddbdcfa35c6dec139da4eefca584b143e
        !          12763: Author: Martin Mares <mj@ucw.cz>
        !          12764: Date:   Thu May 11 15:05:13 2000 +0000
        !          12765: 
        !          12766:     Several minor RIP changes (Pavel, please check as usually):
        !          12767:     
        !          12768:        o  Use FIB_ITERATE_INIT instead of calling the function fit_init()
        !          12769:           which is explictly marked as private in route.h.
        !          12770:        o  When printing trace messages, don't spit out protocol name twice.
        !          12771:        o  Some messages are a bit more verbose.
        !          12772:        o  Added a bunch of FIXME's.
        !          12773:        o  When running in broadcast mode, don't forget to bind the local
        !          12774:           end of the socket to the same broadcast address, so that we don't
        !          12775:           get the broadcasts looped back via different interface. I'm just
        !          12776:           going to look up the same problem for multicasts.
        !          12777: 
        !          12778: commit 109c2f6cf350069c12abb7d182da6458ff56c1c7
        !          12779: Author: Martin Mares <mj@ucw.cz>
        !          12780: Date:   Thu May 11 12:30:06 2000 +0000
        !          12781: 
        !          12782:     If a broadcast address is missing, go fake one.
        !          12783: 
        !          12784: commit 2138d3b4d84058338ad4010eff8da62afa6531ab
        !          12785: Author: Martin Mares <mj@ucw.cz>
        !          12786: Date:   Thu May 11 12:20:07 2000 +0000
        !          12787: 
        !          12788:     Use correct flags for the LOCAL_PREF attribute.
        !          12789:     
        !          12790:     When an invalid attribute is found, copy the entire attribute to the data
        !          12791:     section of the NOTIFICATION message.
        !          12792: 
        !          12793: commit 6e06e6eef098859da95ff56a8ee9b4c75467901a
        !          12794: Author: Pavel Machek <pavel@ucw.cz>
        !          12795: Date:   Thu May 11 12:00:35 2000 +0000
        !          12796: 
        !          12797:     Critical files from linuxdoc1 distribution checked in.
        !          12798: 
        !          12799: commit 0e7a720a1c8119912c00edf893702857c0d39d04
        !          12800: Author: Pavel Machek <pavel@ucw.cz>
        !          12801: Date:   Thu May 11 11:54:03 2000 +0000
        !          12802: 
        !          12803:     Use <m> instead of <i> in bird.sgml, fix url references.
        !          12804: 
        !          12805: commit 7692aad10c22a58a6f83d82fc0b11db94cc777f9
        !          12806: Author: Pavel Machek <pavel@ucw.cz>
        !          12807: Date:   Thu May 11 10:47:33 2000 +0000
        !          12808: 
        !          12809:     Don't include Rules: they are not needed and break stand-alone make of documentation.
        !          12810: 
        !          12811: commit ec21aecfddde3be2b061850a050108265dfbf194
        !          12812: Author: Pavel Machek <pavel@ucw.cz>
        !          12813: Date:   Thu May 11 10:33:18 2000 +0000
        !          12814: 
        !          12815:     Fixed nasty segfault in rip.
        !          12816: 
        !          12817: commit 10f5c47d2e3d9fdeb2dd4ade1d09a1e06b53a7f6
        !          12818: Author: Pavel Machek <pavel@ucw.cz>
        !          12819: Date:   Thu May 11 09:41:16 2000 +0000
        !          12820: 
        !          12821:     Some more paranoia into rip_insert and rip_delete
        !          12822: 
        !          12823: commit 94d1a6c9dc9ac578cb88428462ab41f113ca4e23
        !          12824: Author: Pavel Machek <pavel@ucw.cz>
        !          12825: Date:   Thu May 11 09:36:55 2000 +0000
        !          12826: 
        !          12827:     Unused variable killed.
        !          12828: 
        !          12829: commit 394920a09c6163d2b98896802526c79c82f52d20
        !          12830: Author: Ondrej Filip <feela@network.cz>
        !          12831: Date:   Wed May 10 23:42:37 2000 +0000
        !          12832: 
        !          12833:     Test better lsa size.
        !          12834: 
        !          12835: commit 31dca4353460b7a8bfb272e63ceac46deb3a6944
        !          12836: Author: Ondrej Filip <feela@network.cz>
        !          12837: Date:   Wed May 10 23:42:13 2000 +0000
        !          12838: 
        !          12839:     Be more verbose.
        !          12840: 
        !          12841: commit 74ac7cdb1afe1e23a130b290f4a366268073f62c
        !          12842: Author: Ondrej Filip <feela@network.cz>
        !          12843: Date:   Wed May 10 23:41:52 2000 +0000
        !          12844: 
        !          12845:     Bugfix in (B)DR election.
        !          12846: 
        !          12847: commit ff73f1d63d2d1e49737ea2471dc5cb92e9591847
        !          12848: Author: Ondrej Filip <feela@network.cz>
        !          12849: Date:   Wed May 10 23:41:18 2000 +0000
        !          12850: 
        !          12851:     More robust tests in packet receiving.
        !          12852: 
        !          12853: commit 13741548a6a75479577ea991bad1e38a4fba6320
        !          12854: Author: Ondrej Filip <feela@network.cz>
        !          12855: Date:   Wed May 10 15:04:21 2000 +0000
        !          12856: 
        !          12857:     Some better lsa checking added.
        !          12858: 
        !          12859: commit a9c41c854802d1a8d44e666548423589022111c8
        !          12860: Author: Ondrej Filip <feela@network.cz>
        !          12861: Date:   Wed May 10 14:29:00 2000 +0000
        !          12862: 
        !          12863:     Out dump deleted.
        !          12864: 
        !          12865: commit 2a41c8d9fcd2907a531c7306e174f51218486d57
        !          12866: Author: Pavel Machek <pavel@ucw.cz>
        !          12867: Date:   Wed May 10 13:42:50 2000 +0000
        !          12868: 
        !          12869:     use password_same utility function
        !          12870: 
        !          12871: commit 45a48e2de21cbf1a48c6f478ed068e48f20f918b
        !          12872: Author: Pavel Machek <pavel@ucw.cz>
        !          12873: Date:   Wed May 10 13:42:46 2000 +0000
        !          12874: 
        !          12875:     password_same utility function
        !          12876: 
        !          12877: commit a3f657ac764ff38a5829f27a0dccbf6220043a1a
        !          12878: Author: Ondrej Filip <feela@network.cz>
        !          12879: Date:   Wed May 10 13:35:49 2000 +0000
        !          12880: 
        !          12881:     Ever test possibility of forming of adjacency.
        !          12882: 
        !          12883: commit 3e474192745e7e92d27cad7ffa16a8395e884cf2
        !          12884: Author: Pavel Machek <pavel@ucw.cz>
        !          12885: Date:   Wed May 10 13:23:21 2000 +0000
        !          12886: 
        !          12887:     Inlined metric and mode into struct rip_interface to make reconfig
        !          12888:     work.
        !          12889:     
        !          12890:     reconfigure is conservative but should work.
        !          12891: 
        !          12892: commit 30aa02d70df2275d2289d9b736d879b9951bcaee
        !          12893: Author: Pavel Machek <pavel@ucw.cz>
        !          12894: Date:   Wed May 10 13:05:39 2000 +0000
        !          12895: 
        !          12896:     rip_reconfigure done right
        !          12897: 
        !          12898: commit b8524e9be4f1d15f4cd2cd365d7842eff8d5a499
        !          12899: Author: Pavel Machek <pavel@ucw.cz>
        !          12900: Date:   Wed May 10 12:48:06 2000 +0000
        !          12901: 
        !          12902:     ipa_same does not exist.
        !          12903: 
        !          12904: commit 0bff946c0a29469b669939813e5a2861c1f010fb
        !          12905: Author: Pavel Machek <pavel@ucw.cz>
        !          12906: Date:   Wed May 10 12:46:47 2000 +0000
        !          12907: 
        !          12908:     Nicer messages from rip.
        !          12909: 
        !          12910: commit 6f3849774ffe35e445e33ba03f041c1a84ba35f1
        !          12911: Author: Pavel Machek <pavel@ucw.cz>
        !          12912: Date:   Wed May 10 12:38:05 2000 +0000
        !          12913: 
        !          12914:     Use ea_get_int instead of ea_find.
        !          12915: 
        !          12916: commit c7e46aae66861ce282e9b1a0140fa422763094ce
        !          12917: Author: Ondrej Filip <feela@network.cz>
        !          12918: Date:   Wed May 10 12:37:43 2000 +0000
        !          12919: 
        !          12920:     Destroying of neighbor moved from 'hello' to 'neighbor' and
        !          12921:     improved.
        !          12922: 
        !          12923: commit 7f5f44bb9248f05f397617f3874feef26bbb0b0b
        !          12924: Author: Pavel Machek <pavel@ucw.cz>
        !          12925: Date:   Wed May 10 12:32:45 2000 +0000
        !          12926: 
        !          12927:     Reconfigure hook copied from bgp.
        !          12928: 
        !          12929: commit 84a1305437ddd893771c43d1a9bff32260a56789
        !          12930: Author: Pavel Machek <pavel@ucw.cz>
        !          12931: Date:   Wed May 10 12:26:09 2000 +0000
        !          12932: 
        !          12933:     Send first udpate sooner.
        !          12934: 
        !          12935: commit 14758d87c48e9d829f58ace0736b0c5b3c7dc6ae
        !          12936: Author: Pavel Machek <pavel@ucw.cz>
        !          12937: Date:   Wed May 10 12:23:06 2000 +0000
        !          12938: 
        !          12939:     Only announce change to main routing table if it is better than current.
        !          12940: 
        !          12941: commit 353f3261385267fd07b634284989a760fc37b79d
        !          12942: Author: Ondrej Filip <feela@network.cz>
        !          12943: Date:   Wed May 10 12:22:00 2000 +0000
        !          12944: 
        !          12945:     Better dumping.
        !          12946: 
        !          12947: commit 5e50f0a0289517e64e026cb27e886d49e6044aca
        !          12948: Author: Pavel Machek <pavel@ucw.cz>
        !          12949: Date:   Wed May 10 11:57:56 2000 +0000
        !          12950: 
        !          12951:     Don't touch used memory.
        !          12952: 
        !          12953: commit e8bd039da8de22de85bd135617b4a8ce9c979585
        !          12954: Author: Ondrej Filip <feela@network.cz>
        !          12955: Date:   Wed May 10 11:52:39 2000 +0000
        !          12956: 
        !          12957:     Bugfix in ip_addr endianity.
        !          12958: 
        !          12959: commit be3b6dc574c26ab3292fb2ceb94809242bea3d79
        !          12960: Author: Pavel Machek <pavel@ucw.cz>
        !          12961: Date:   Wed May 10 11:48:34 2000 +0000
        !          12962: 
        !          12963:     Killed unused variable.
        !          12964: 
        !          12965: commit 28950169e7ac82ceb9a6d72fe2789714b4073eb2
        !          12966: Author: Ondrej Filip <feela@network.cz>
        !          12967: Date:   Wed May 10 11:48:21 2000 +0000
        !          12968: 
        !          12969:     Bug in (B)DR election fixed.
        !          12970: 
        !          12971: commit d9f89e011498ec54006a026d9e0dd963db663ab0
        !          12972: Author: Pavel Machek <pavel@ucw.cz>
        !          12973: Date:   Wed May 10 11:40:30 2000 +0000
        !          12974: 
        !          12975:     You can now say "mode multicast".
        !          12976: 
        !          12977: commit 65a9c57175b60048d5501b2c951d5e46b3909fcb
        !          12978: Author: Ondrej Filip <feela@network.cz>
        !          12979: Date:   Wed May 10 11:22:08 2000 +0000
        !          12980: 
        !          12981:     Change u32 to ip_addr in ext lsa.
        !          12982: 
        !          12983: commit aa1e082c6779505e9ca24ba9f9d6cdfd4c647b06
        !          12984: Author: Ondrej Filip <feela@network.cz>
        !          12985: Date:   Wed May 10 10:47:17 2000 +0000
        !          12986: 
        !          12987:     Calculation of external routes.
        !          12988: 
        !          12989: commit 4bfe4e8551722533cc99c776b3b70818ef59bf24
        !          12990: Author: Pavel Machek <pavel@ucw.cz>
        !          12991: Date:   Wed May 10 06:56:42 2000 +0000
        !          12992: 
        !          12993:     Fix segfaults by using new ea_get_int.
        !          12994: 
        !          12995: commit c0100454cf37833d23fdb9d24412de659f683c12
        !          12996: Author: Pavel Machek <pavel@ucw.cz>
        !          12997: Date:   Wed May 10 06:54:40 2000 +0000
        !          12998: 
        !          12999:     Added more convient interface for ea_find.
        !          13000:     
        !          13001:     What is special about int default;? Compiler chokes on that!
        !          13002: 
        !          13003: commit fe95ab68164f0c9f18e65f7965ac4d93b24bef97
        !          13004: Author: Ondrej Filip <feela@network.cz>
        !          13005: Date:   Tue May 9 21:52:58 2000 +0000
        !          13006: 
        !          13007:     FIXME's removed by deleting them. :-)
        !          13008: 
        !          13009: commit 32fa4a5a461eb1af4146d9985663d90fcddd9697
        !          13010: Author: Ondrej Filip <feela@network.cz>
        !          13011: Date:   Tue May 9 21:06:48 2000 +0000
        !          13012: 
        !          13013:     Premature aging of self-originated LSA received in flooding.
        !          13014: 
        !          13015: commit 3b8b1bd03709d2fa2eab8ec81321717e3b58dcaf
        !          13016: Author: Ondrej Filip <feela@network.cz>
        !          13017: Date:   Tue May 9 19:38:34 2000 +0000
        !          13018: 
        !          13019:     Better dumping.
        !          13020: 
        !          13021: commit a3ae6246c29ecceefc1e867c7b5f73a5b3c857c9
        !          13022: Author: Ondrej Filip <feela@network.cz>
        !          13023: Date:   Tue May 9 19:38:16 2000 +0000
        !          13024: 
        !          13025:     Bugfix in lsrt slist adding.
        !          13026: 
        !          13027: commit b224ca32cfb5268db4984b5a640ab8a73852059b
        !          13028: Author: Ondrej Filip <feela@network.cz>
        !          13029: Date:   Tue May 9 19:36:32 2000 +0000
        !          13030: 
        !          13031:     Flushing of old LSAs added.
        !          13032: 
        !          13033: commit 850fda2518d6e91ca8e126ff91adad62fd507276
        !          13034: Author: Ondrej Filip <feela@network.cz>
        !          13035: Date:   Tue May 9 18:35:57 2000 +0000
        !          13036: 
        !          13037:     Backup seen is not called so often.
        !          13038: 
        !          13039: commit cd22a62b3ce3aa4cf8985337657ec9750176aa49
        !          13040: Author: Ondrej Filip <feela@network.cz>
        !          13041: Date:   Tue May 9 18:20:39 2000 +0000
        !          13042: 
        !          13043:     Don't send flushed LSAs.
        !          13044: 
        !          13045: commit 9669362f0577dbda0d7b9495d0c2fec11fa866f1
        !          13046: Author: Ondrej Filip <feela@network.cz>
        !          13047: Date:   Tue May 9 18:17:34 2000 +0000
        !          13048: 
        !          13049:     Many bugfixes. (I added one entry twice to slist.)
        !          13050:     Debug cleanup.
        !          13051:     Retransmiting of unacknolegded LSAs
        !          13052: 
        !          13053: commit 5f743d969739d6dca12b51561baac3131e160429
        !          13054: Author: Ondrej Filip <feela@network.cz>
        !          13055: Date:   Tue May 9 13:56:47 2000 +0000
        !          13056: 
        !          13057:     Many bugfixes. Actually, how could this ever work? :-)
        !          13058: 
        !          13059: commit 5d608eba1636e307624300fdd47b9024be92d39a
        !          13060: Author: Ondrej Filip <feela@network.cz>
        !          13061: Date:   Tue May 9 12:31:38 2000 +0000
        !          13062: 
        !          13063:     Bug fix in sending updates.
        !          13064: 
        !          13065: commit 0e1b949be7f71d038e871dac159b424e76978bff
        !          13066: Author: Ondrej Filip <feela@network.cz>
        !          13067: Date:   Tue May 9 12:18:41 2000 +0000
        !          13068: 
        !          13069:     Bugfix in testing of possibility of adjacency.
        !          13070: 
        !          13071: commit 432996f40fceb58cd5ee5026eb4f7018ef6af1ef
        !          13072: Author: Ondrej Filip <feela@network.cz>
        !          13073: Date:   Tue May 9 12:03:57 2000 +0000
        !          13074: 
        !          13075:     Better dumping.
        !          13076: 
        !          13077: commit 54ac9d2e03c6ae44b4e183c9bcf963196218c477
        !          13078: Author: Ondrej Filip <feela@network.cz>
        !          13079: Date:   Tue May 9 12:02:48 2000 +0000
        !          13080: 
        !          13081:     Bugfix in hello.
        !          13082: 
        !          13083: commit 4057093fa40248c5b607039481576a6c5e4e902b
        !          13084: Author: Ondrej Filip <feela@network.cz>
        !          13085: Date:   Tue May 9 11:52:44 2000 +0000
        !          13086: 
        !          13087:     Small cleanup.
        !          13088: 
        !          13089: commit 551d44438275e9ebc9e7590814f413ac7d0cccd6
        !          13090: Author: Ondrej Filip <feela@network.cz>
        !          13091: Date:   Tue May 9 11:29:52 2000 +0000
        !          13092: 
        !          13093:     Sorry, it didn't compile. :-(
        !          13094: 
        !          13095: commit b29c620f90d429b868038984a5427470f00aebac
        !          13096: Author: Ondrej Filip <feela@network.cz>
        !          13097: Date:   Tue May 9 11:27:31 2000 +0000
        !          13098: 
        !          13099:     Another bugfix in neighbor state machine.
        !          13100: 
        !          13101: commit 279a3b76d193944431a992a1ac43543fe15ab903
        !          13102: Author: Ondrej Filip <feela@network.cz>
        !          13103: Date:   Tue May 9 10:47:10 2000 +0000
        !          13104: 
        !          13105:     Small bug in neighbor state machine.
        !          13106: 
        !          13107: commit fafe44b651f68d0a588cac94ddada8a1270adb97
        !          13108: Author: Ondrej Filip <feela@network.cz>
        !          13109: Date:   Tue May 9 00:03:08 2000 +0000
        !          13110: 
        !          13111:     Just added declaration of AS Ext routes calculation.
        !          13112: 
        !          13113: commit 43e75f38e7b8716efb3729ee56fd4a879e03c1dc
        !          13114: Author: Ondrej Filip <feela@network.cz>
        !          13115: Date:   Mon May 8 23:46:31 2000 +0000
        !          13116: 
        !          13117:     Do not stop lsrr_timer in FULL state. Use it for retransmition.
        !          13118: 
        !          13119: commit ed4a53c6a5685d04fe2b0cceda83860324f4892c
        !          13120: Author: Ondrej Filip <feela@network.cz>
        !          13121: Date:   Mon May 8 22:50:37 2000 +0000
        !          13122: 
        !          13123:     Some changes in debugging.
        !          13124: 
        !          13125: commit 9bacea42112216e604bd55e3027e019e131304dd
        !          13126: Author: Ondrej Filip <feela@network.cz>
        !          13127: Date:   Mon May 8 22:49:58 2000 +0000
        !          13128: 
        !          13129:     Fixed some FIXME's by deleting them. :-)
        !          13130: 
        !          13131: commit 8a3049f6f139622c6976502d931c746449a1fe48
        !          13132: Author: Ondrej Filip <feela@network.cz>
        !          13133: Date:   Mon May 8 22:42:56 2000 +0000
        !          13134: 
        !          13135:     Useless '\n' in log()
        !          13136: 
        !          13137: commit eae4fcf2539703d0dbd47e29ab24be29e0ddc2ff
        !          13138: Author: Ondrej Filip <feela@network.cz>
        !          13139: Date:   Mon May 8 22:40:55 2000 +0000
        !          13140: 
        !          13141:     Stopping RXMT timer when going to lower state than EXSTART.
        !          13142: 
        !          13143: commit d8033f2238922f3c63c247e924f1e31659d821ef
        !          13144: Author: Martin Mares <mj@ucw.cz>
        !          13145: Date:   Mon May 8 22:37:16 2000 +0000
        !          13146: 
        !          13147:     Generated first public alpha release.
        !          13148:     
        !          13149:     Unless you object, I'll announce it today (9.5.) at noon.
        !          13150: 
        !          13151: commit 8aecbf160adb15eef3f66d750745928f66f8a310
        !          13152: Author: Martin Mares <mj@ucw.cz>
        !          13153: Date:   Mon May 8 22:33:50 2000 +0000
        !          13154: 
        !          13155:     New example config.
        !          13156: 
        !          13157: commit c976342828d5de3d16b59d623f4f7fb03f52acc9
        !          13158: Author: Martin Mares <mj@ucw.cz>
        !          13159: Date:   Mon May 8 22:33:38 2000 +0000
        !          13160: 
        !          13161:     Implemented debugging function rlookup() which you can call from gdb
        !          13162:     to see what resource does the address given as a parameter belong to.
        !          13163: 
        !          13164: commit 0521e4f68490d5ef5cc6ba6b2b4e4edf7cf6aa1a
        !          13165: Author: Martin Mares <mj@ucw.cz>
        !          13166: Date:   Mon May 8 22:33:02 2000 +0000
        !          13167: 
        !          13168:     rt_prune: Don't kill routes from protocols in FS_FEEDING state. If debugging,
        !          13169:     call fib_check() on the table's fib.
        !          13170: 
        !          13171: commit c09d1e8df2d5d1ebfb4ce3dfbe93347a83acd99d
        !          13172: Author: Martin Mares <mj@ucw.cz>
        !          13173: Date:   Mon May 8 22:32:17 2000 +0000
        !          13174: 
        !          13175:     KEEPALIVE TIME ought to set keepalive time, not connect retry time :)
        !          13176: 
        !          13177: commit 5ff0a270cb411d423a78ed13604a5f2b25d4b289
        !          13178: Author: Martin Mares <mj@ucw.cz>
        !          13179: Date:   Mon May 8 22:31:58 2000 +0000
        !          13180: 
        !          13181:     In non-debug mode, set default logging to syslog only, not stderr.
        !          13182: 
        !          13183: commit 4524331a3d758106f4ffa6a54a60aeae45341789
        !          13184: Author: Martin Mares <mj@ucw.cz>
        !          13185: Date:   Mon May 8 22:31:34 2000 +0000
        !          13186: 
        !          13187:     Fixed type in daemonization code.
        !          13188: 
        !          13189: commit fc0ca2d8e1ab6a71a81f5f12c04f02d670d22348
        !          13190: Author: Ondrej Filip <feela@network.cz>
        !          13191: Date:   Mon May 8 22:28:42 2000 +0000
        !          13192: 
        !          13193:     Typo in debug.
        !          13194: 
        !          13195: commit a6fdf9c6ac58e2d95d84c58102af8d5f3a70958a
        !          13196: Author: Ondrej Filip <feela@network.cz>
        !          13197: Date:   Mon May 8 22:27:25 2000 +0000
        !          13198: 
        !          13199:     Grrr, useless debug.
        !          13200: 
        !          13201: commit 5ee479aac9e488e15245905c598e778eb787dfe1
        !          13202: Author: Ondrej Filip <feela@network.cz>
        !          13203: Date:   Mon May 8 22:26:11 2000 +0000
        !          13204: 
        !          13205:     Small typo.
        !          13206: 
        !          13207: commit 0ebb8b64f384d57889271389abe9b8926dde7af8
        !          13208: Author: Ondrej Filip <feela@network.cz>
        !          13209: Date:   Mon May 8 22:24:22 2000 +0000
        !          13210: 
        !          13211:     Bugfix in new neighbor allocation.
        !          13212: 
        !          13213: commit 77fbd315dfa2dd6b8252cf13386d8b8480234bcc
        !          13214: Author: Ondrej Filip <feela@network.cz>
        !          13215: Date:   Mon May 8 22:10:10 2000 +0000
        !          13216: 
        !          13217:     Better debug output.
        !          13218: 
        !          13219: commit b57a45b81a74c091bbc71966a7c6aacebaf34e57
        !          13220: Author: Ondrej Filip <feela@network.cz>
        !          13221: Date:   Mon May 8 22:03:29 2000 +0000
        !          13222: 
        !          13223:     Next hop calculation improved. (I ignored stub networks advertised by my
        !          13224:     neighbors.
        !          13225: 
        !          13226: commit 158b99c912ef5c5cef22fd3e343341cbb52eb105
        !          13227: Author: Ondrej Filip <feela@network.cz>
        !          13228: Date:   Mon May 8 22:02:45 2000 +0000
        !          13229: 
        !          13230:     Better logging. (%d->%I)
        !          13231: 
        !          13232: commit 8abbde02d46830168b79a1df6c18c3ffaea49b9e
        !          13233: Author: Martin Mares <mj@ucw.cz>
        !          13234: Date:   Mon May 8 19:11:49 2000 +0000
        !          13235: 
        !          13236:     Several simplifications of the fib iterators.
        !          13237: 
        !          13238: commit 0bcba21e893efb9853a68b04674e4bde9da5a1b8
        !          13239: Author: Martin Mares <mj@ucw.cz>
        !          13240: Date:   Mon May 8 19:10:36 2000 +0000
        !          13241: 
        !          13242:     When not debugging, daemonize automatically.
        !          13243: 
        !          13244: commit 33a368ad594822239bfbaa2eab50c76171e09b9e
        !          13245: Author: Martin Mares <mj@ucw.cz>
        !          13246: Date:   Mon May 8 14:58:00 2000 +0000
        !          13247: 
        !          13248:     Implemented `show route count' which is `show route stats' with
        !          13249:     exception that it doesn't print the routes themselves.
        !          13250: 
        !          13251: commit 0c3588bf5e43936ea0f1e630dea500912b598c60
        !          13252: Author: Martin Mares <mj@ucw.cz>
        !          13253: Date:   Mon May 8 14:53:22 2000 +0000
        !          13254: 
        !          13255:     Don't crash when the socket gets closed between updates.
        !          13256:     
        !          13257:     Also, this time not only update `remains', but update it right :)
        !          13258: 
        !          13259: commit 6b5ab87581ba496ad0a9c12ef66f1372e1459685
        !          13260: Author: Martin Mares <mj@ucw.cz>
        !          13261: Date:   Mon May 8 14:51:57 2000 +0000
        !          13262: 
        !          13263:     Added `--disable-memcheck' switch which avoids linking of efence/dmalloc,
        !          13264:     so that we can run in debugging mode with large routing tables.
        !          13265: 
        !          13266: commit e48dae3ed70daf52ad93c4fdc73270ab1510661f
        !          13267: Author: Martin Mares <mj@ucw.cz>
        !          13268: Date:   Mon May 8 14:51:26 2000 +0000
        !          13269: 
        !          13270:     Stop feeding the protocol if it suddenly shuts down.
        !          13271: 
        !          13272: commit 9ff8f334edec974b16497e1e74172977e0fff221
        !          13273: Author: Martin Mares <mj@ucw.cz>
        !          13274: Date:   Mon May 8 14:32:19 2000 +0000
        !          13275: 
        !          13276:     Update `remains' counter correctly.
        !          13277: 
        !          13278: commit d69e5ff2ad8b552c22770e4c85bd7c5afafe2816
        !          13279: Author: Martin Mares <mj@ucw.cz>
        !          13280: Date:   Mon May 8 14:29:30 2000 +0000
        !          13281: 
        !          13282:     Use PATH_CONTROL_SOCKET instead of tacking on "bird.ctl" manually.
        !          13283: 
        !          13284: commit cd44b466515578583d46dcb1a0abdae6e658a166
        !          13285: Author: Martin Mares <mj@ucw.cz>
        !          13286: Date:   Mon May 8 14:24:19 2000 +0000
        !          13287: 
        !          13288:     Forgot to add a spiky comment :)
        !          13289: 
        !          13290: commit f9254d2349c7e2e3c110f7850e402d1c11624940
        !          13291: Author: Martin Mares <mj@ucw.cz>
        !          13292: Date:   Mon May 8 14:19:47 2000 +0000
        !          13293: 
        !          13294:     Autoconf is *evil*. The sysconfdir and similar variables are unusable in
        !          13295:     C includes as they contain substitutions specific to make.
        !          13296:     
        !          13297:     Worked around by creating sysconf/paths.h which is created from
        !          13298:     the Makefile instead of by the configure script.
        !          13299: 
        !          13300: commit 0bf7386b33fecac40be43f8db5b0ba0356123fd2
        !          13301: Author: Martin Mares <mj@ucw.cz>
        !          13302: Date:   Mon May 8 14:18:33 2000 +0000
        !          13303: 
        !          13304:     Updated TODO.
        !          13305: 
        !          13306: commit c0760ab0fc880778f23c71a7874aa38f90e28925
        !          13307: Author: Martin Mares <mj@ucw.cz>
        !          13308: Date:   Mon May 8 13:56:11 2000 +0000
        !          13309: 
        !          13310:     Debugging compilation is no longer default. This means that the configuration
        !          13311:     file is expected in $prefix/etc etc.
        !          13312:     
        !          13313:     Use --enable-debug to request debugging.
        !          13314: 
        !          13315: commit d8508f70b0325cd283bc1551c455cdc3aab011fe
        !          13316: Author: Martin Mares <mj@ucw.cz>
        !          13317: Date:   Mon May 8 13:54:59 2000 +0000
        !          13318: 
        !          13319:     `make install' now works.
        !          13320: 
        !          13321: commit 93d6bf38a6c07b8281e11280d5cdbb721d19f7c8
        !          13322: Author: Martin Mares <mj@ucw.cz>
        !          13323: Date:   Mon May 8 13:26:30 2000 +0000
        !          13324: 
        !          13325:     The bgp_list is gone. Incomming connections are now handled in a much
        !          13326:     more straightforward manner by scanning the active configuration for
        !          13327:     matching protocols.
        !          13328: 
        !          13329: commit 5d86aefb6c4a8e298ee79dc9cbf7c07196d56b5b
        !          13330: Author: Martin Mares <mj@ucw.cz>
        !          13331: Date:   Mon May 8 13:12:14 2000 +0000
        !          13332: 
        !          13333:     Really free attributes.
        !          13334: 
        !          13335: commit 818ff1e2b7b8eb8e707608e76ead94e5c6bd442c
        !          13336: Author: Martin Mares <mj@ucw.cz>
        !          13337: Date:   Mon May 8 12:38:00 2000 +0000
        !          13338: 
        !          13339:     When reporting a bug(), call abort() instead of exit(), so that we
        !          13340:     can analyse the core.
        !          13341: 
        !          13342: commit c304392e65a3d6554e97bce00146fe5f2bcb64b1
        !          13343: Author: Martin Mares <mj@ucw.cz>
        !          13344: Date:   Mon May 8 12:37:39 2000 +0000
        !          13345: 
        !          13346:     Some less socket error messages.
        !          13347: 
        !          13348: commit 507eea4c8b4c52a5ddf232bc180a7a42cf29f074
        !          13349: Author: Martin Mares <mj@ucw.cz>
        !          13350: Date:   Mon May 8 12:37:24 2000 +0000
        !          13351: 
        !          13352:     Don't generate corrupted packets when sending only route deletes.
        !          13353: 
        !          13354: commit 9cbf43eb8a7e0186144e95d7b244e0c69b0e9189
        !          13355: Author: Martin Mares <mj@ucw.cz>
        !          13356: Date:   Mon May 8 12:09:10 2000 +0000
        !          13357: 
        !          13358:     Don't report refused connections.
        !          13359: 
        !          13360: commit b6c9d8eb2e255b65f29efd1acfd35a4277b3bf14
        !          13361: Author: Martin Mares <mj@ucw.cz>
        !          13362: Date:   Mon May 8 12:05:55 2000 +0000
        !          13363: 
        !          13364:     Removed the `async' switch which was used for debugging only anyway.
        !          13365:     
        !          13366:     Don't moan when netlink reports lost packets.
        !          13367: 
        !          13368: commit d0126f0bf0098104cd99fedd61a4bdbe7f7b3f1f
        !          13369: Author: Martin Mares <mj@ucw.cz>
        !          13370: Date:   Mon May 8 11:40:30 2000 +0000
        !          13371: 
        !          13372:     bugs_in_attr_cache_hashing--;
        !          13373: 
        !          13374: commit 79681f4a19d0eca6e40d919a387099f5646f29bc
        !          13375: Author: Martin Mares <mj@ucw.cz>
        !          13376: Date:   Mon May 8 11:04:22 2000 +0000
        !          13377: 
        !          13378:     Link the instance to the global BGP list as soon as possible.
        !          13379: 
        !          13380: commit 94e935d8a2e02f18e3731624720e8f84be5e9f15
        !          13381: Author: Martin Mares <mj@ucw.cz>
        !          13382: Date:   Mon May 8 11:02:53 2000 +0000
        !          13383: 
        !          13384:     Incoming buffer must be at least 8KB long.
        !          13385: 
        !          13386: commit 916c8c0abacfd5ba93353fec9dba84a81845c95e
        !          13387: Author: Martin Mares <mj@ucw.cz>
        !          13388: Date:   Mon May 8 10:40:00 2000 +0000
        !          13389: 
        !          13390:     Use preferences properly.
        !          13391: 
        !          13392: commit 1151401e2b8b4434bbd1419ff33a48f2848d600d
        !          13393: Author: Martin Mares <mj@ucw.cz>
        !          13394: Date:   Mon May 8 10:38:51 2000 +0000
        !          13395: 
        !          13396:     Don't crash when reporting deleted routes.
        !          13397:     
        !          13398:     Set preferences correctly.
        !          13399: 
        !          13400: commit 92ef4fa719058af80a9dbb39e3d2fbd9314e8a1a
        !          13401: Author: Martin Mares <mj@ucw.cz>
        !          13402: Date:   Mon May 8 10:38:25 2000 +0000
        !          13403: 
        !          13404:     Preference is a configurable parameter.
        !          13405: 
        !          13406: commit 0117d004945afdfb6cc9a62db4561cd4eddee24a
        !          13407: Author: Martin Mares <mj@ucw.cz>
        !          13408: Date:   Mon May 8 10:37:45 2000 +0000
        !          13409: 
        !          13410:     Fixed `show route primary'.
        !          13411: 
        !          13412: commit 18c031fae8945409b0ff1139d88092ba19ec2780
        !          13413: Author: Martin Mares <mj@ucw.cz>
        !          13414: Date:   Mon May 8 10:13:59 2000 +0000
        !          13415: 
        !          13416:     Debugged printing and pruning of neighbor cache entries.
        !          13417: 
        !          13418: commit 0d3070824da904bd0f3f576b353b738bfa15a53a
        !          13419: Author: Martin Mares <mj@ucw.cz>
        !          13420: Date:   Sun May 7 11:32:34 2000 +0000
        !          13421: 
        !          13422:     Don't count networks with no routes (they are not displayed at all and
        !          13423:     will be removed during the next garbage collection pass).
        !          13424: 
        !          13425: commit 23693958aa95edf5baaeaa5baa55725dc4895681
        !          13426: Author: Martin Mares <mj@ucw.cz>
        !          13427: Date:   Sun May 7 11:28:59 2000 +0000
        !          13428: 
        !          13429:     Implemented `show route <...> stats'.
        !          13430: 
        !          13431: commit 6998bb9ee345a0e8b558fc87133f1c2a442b7096
        !          13432: Author: Martin Mares <mj@ucw.cz>
        !          13433: Date:   Sun May 7 11:28:34 2000 +0000
        !          13434: 
        !          13435:     Squashed one bug in fib_rehash().  No more routes disappearing as if struct
        !          13436:     by a lightning :)
        !          13437: 
        !          13438: commit 891cec854f84674317fa152b71254fc52d893826
        !          13439: Author: Martin Mares <mj@ucw.cz>
        !          13440: Date:   Sun May 7 11:27:23 2000 +0000
        !          13441: 
        !          13442:     Killed one more reference to RTS_RIP_EXT.
        !          13443: 
        !          13444: commit acfce55c8637988954543c60597cd2f1525ba6ec
        !          13445: Author: Martin Mares <mj@ucw.cz>
        !          13446: Date:   Sun May 7 10:41:45 2000 +0000
        !          13447: 
        !          13448:     Setup of incoming connection is now a separate function.
        !          13449: 
        !          13450: commit ce1da96ee7efc9310f138e4234495557cdef59e2
        !          13451: Author: Martin Mares <mj@ucw.cz>
        !          13452: Date:   Sat May 6 22:57:39 2000 +0000
        !          13453: 
        !          13454:     Added commands `show route protocol <p>' and `show route import <p>' which
        !          13455:     show the routing table as exported to the protocol given resp. as returned
        !          13456:     from its import control hook.
        !          13457:     
        !          13458:     To get handling of filtered extended attributes right (even in the old
        !          13459:     `show route where <filter>' command), the get_route_info hook gets an
        !          13460:     attribute list and all protocol specific rte attributes are contained
        !          13461:     there as temporary ones. Updated RIP to do that.
        !          13462:     
        !          13463:     Added ea_append() which joins two ea_list's.
        !          13464: 
        !          13465: commit 84f070020500de40e69e6d00df9d41ecc90a3b23
        !          13466: Author: Martin Mares <mj@ucw.cz>
        !          13467: Date:   Sat May 6 21:46:09 2000 +0000
        !          13468: 
        !          13469:     IPv6 support compiles on both glibc 2.0 and 2.1.
        !          13470: 
        !          13471: commit 498c33395f99743206088770c441222c76493378
        !          13472: Author: Martin Mares <mj@ucw.cz>
        !          13473: Date:   Sat May 6 21:42:19 2000 +0000
        !          13474: 
        !          13475:     Cosmetic fixes.
        !          13476: 
        !          13477: commit 0b7610985cd44435ab40dd2e78646f400db908c5
        !          13478: Author: Martin Mares <mj@ucw.cz>
        !          13479: Date:   Sat May 6 21:31:41 2000 +0000
        !          13480: 
        !          13481:     Fixed silly bug in previous commit.
        !          13482: 
        !          13483: commit 67be5b23cd80646c2aa5a9c6a3d373ceecb275b6
        !          13484: Author: Martin Mares <mj@ucw.cz>
        !          13485: Date:   Sat May 6 21:21:19 2000 +0000
        !          13486: 
        !          13487:     When rte_update is called for an identical route, don't announce anything.
        !          13488:     
        !          13489:     Please implement the rte_same hook in your protocols. It should just
        !          13490:     compare your metrics stored directly in rte, the rest is done by the core.
        !          13491: 
        !          13492: commit ab1129c1bdea41ff06fd21390cde5667d07f6e65
        !          13493: Author: Martin Mares <mj@ucw.cz>
        !          13494: Date:   Fri May 5 17:17:42 2000 +0000
        !          13495: 
        !          13496:     Added skeleton Doc files for the whole developer's documentation.
        !          13497: 
        !          13498: commit b177724896b75159dbc8e203ac0e5a134229ae90
        !          13499: Author: Martin Mares <mj@ucw.cz>
        !          13500: Date:   Fri May 5 17:15:56 2000 +0000
        !          13501: 
        !          13502:     Connected the `doc' subtree to global makefiles.
        !          13503:     
        !          13504:     All documentation is built in obj/doc (resp. doc/ if you do a stand-alone build).
        !          13505:     
        !          13506:     Use `make docs' to make the whole documentation or `make userdocs' resp.
        !          13507:     `make progdocs' for user manual resp. developer's guide.
        !          13508: 
        !          13509: commit c7d7794bb9a71be58d06c6c9ea67943d3e33a566
        !          13510: Author: Martin Mares <mj@ucw.cz>
        !          13511: Date:   Fri May 5 17:14:44 2000 +0000
        !          13512: 
        !          13513:     Added a tool for processing of developer documentation.
        !          13514:     
        !          13515:     Everything is controlled by Doc files in source directories (see the
        !          13516:     corresponding programmer's manual entry for the format and look
        !          13517:     at Doc and lib/Doc for an example).
        !          13518:     
        !          13519:     Currently it generates HTML indices and calls kernel-doc to generate
        !          13520:     per-section HTML files.
        !          13521: 
        !          13522: commit 249d238c14cafa812db02ea3090b34c58b183cf6
        !          13523: Author: Pavel Machek <pavel@ucw.cz>
        !          13524: Date:   Fri May 5 09:39:08 2000 +0000
        !          13525: 
        !          13526:     First attempt at documenting configuration.
        !          13527: 
        !          13528: commit beaf86e13c6b9595bc979b5ed9669e3e43f793cd
        !          13529: Author: Martin Mares <mj@ucw.cz>
        !          13530: Date:   Thu May 4 21:23:10 2000 +0000
        !          13531: 
        !          13532:     Removed RTS_RIP_EXT.
        !          13533: 
        !          13534: commit 9a220cabbc28a4e54f814aa5d596696a15e6544d
        !          13535: Author: Martin Mares <mj@ucw.cz>
        !          13536: Date:   Thu May 4 20:52:28 2000 +0000
        !          13537: 
        !          13538:     #ifdef out lots of debugging information.
        !          13539:     
        !          13540:     The long resource/routing table dump printed upon startup is gone now
        !          13541:     and if you wish to see it, just send bird SIGUSR1 or use the `debug'
        !          13542:     commands.
        !          13543: 
        !          13544: commit b3acb10632ce9fa492a92ced1e533f0bf5edee21
        !          13545: Author: Martin Mares <mj@ucw.cz>
        !          13546: Date:   Thu May 4 20:49:45 2000 +0000
        !          13547: 
        !          13548:     Updated.
        !          13549: 
        !          13550: commit 2a149b18cca3b20063be398e8098dfa8e1e2705d
        !          13551: Author: Martin Mares <mj@ucw.cz>
        !          13552: Date:   Thu May 4 20:38:44 2000 +0000
        !          13553: 
        !          13554:     Unused variables in IPv6 code.
        !          13555: 
        !          13556: commit 93a786cb034fdd18b8131a16a6ea3d1cd9bd00de
        !          13557: Author: Martin Mares <mj@ucw.cz>
        !          13558: Date:   Thu May 4 20:30:36 2000 +0000
        !          13559: 
        !          13560:     Removed a lot of unused variables.
        !          13561:     
        !          13562:     Please try compiling your code with --enable-warnings to see them. (The
        !          13563:     unused parameter warnings are usually bogus, the unused variable ones
        !          13564:     are very useful, but gcc is unable to control them separately.)
        !          13565: 
        !          13566: commit c817b9916f1134f687ba53220d607e6e193cf651
        !          13567: Author: Martin Mares <mj@ucw.cz>
        !          13568: Date:   Thu May 4 20:18:46 2000 +0000
        !          13569: 
        !          13570:     Added --enable-ipv6 which tells configure to select the right configuration
        !          13571:     for IPv6 automatically.
        !          13572:     
        !          13573:     Added --enable-warnings which turns off some more warnings.
        !          13574:     
        !          13575:     Default protocol list now depends on --enable-ipv6.
        !          13576: 
        !          13577: commit 9b63e3a58afe17b98eb7722e352984574846c22c
        !          13578: Author: Pavel Machek <pavel@ucw.cz>
        !          13579: Date:   Thu May 4 20:08:34 2000 +0000
        !          13580: 
        !          13581:     Spelling fixes.
        !          13582: 
        !          13583: commit cf3d6470d7c8d401b162516ed7446c1d3866d5d3
        !          13584: Author: Martin Mares <mj@ucw.cz>
        !          13585: Date:   Thu May 4 20:02:56 2000 +0000
        !          13586: 
        !          13587:     IPv6 BGP support finished.  Also simplified the BGP stuff a bit.
        !          13588: 
        !          13589: commit 6db8c5a63b341d0913afa44457a93a8e83529fb2
        !          13590: Author: Martin Mares <mj@ucw.cz>
        !          13591: Date:   Thu May 4 20:02:19 2000 +0000
        !          13592: 
        !          13593:     pxlen works even in IPv6 mode.
        !          13594: 
        !          13595: commit 5dc4b0aae20ef7e6b862af29a3135e018147ce97
        !          13596: Author: Pavel Machek <pavel@ucw.cz>
        !          13597: Date:   Thu May 4 10:03:53 2000 +0000
        !          13598: 
        !          13599:     Display examples more nicely
        !          13600: 
        !          13601: commit 1d9622e10ddc3baf2cd4f81bc2fa95593b4d3e85
        !          13602: Author: Martin Mares <mj@ucw.cz>
        !          13603: Date:   Thu May 4 09:08:28 2000 +0000
        !          13604: 
        !          13605:     Switched off LOCAL_DEBUG.
        !          13606: 
        !          13607: commit 1c1da87b271ee3db0045f31612d99894531ada54
        !          13608: Author: Martin Mares <mj@ucw.cz>
        !          13609: Date:   Thu May 4 09:03:31 2000 +0000
        !          13610: 
        !          13611:     Receive-only IPv6 BGP.
        !          13612: 
        !          13613: commit d345cda5a1cea03a09e5a37c999e88c5177c8a9e
        !          13614: Author: Ondrej Filip <feela@network.cz>
        !          13615: Date:   Thu May 4 01:23:03 2000 +0000
        !          13616: 
        !          13617:     Bugfix in Network lsa originating
        !          13618:     Bugfix in ntohlsab() and htonlsab()
        !          13619:     For calculating of rt I use my own fib. I delete routes! ;-)
        !          13620: 
        !          13621: commit 9e48d717cf681dcc3cfaaee4358b5c6fa3aa409e
        !          13622: Author: Ondrej Filip <feela@network.cz>
        !          13623: Date:   Wed May 3 22:36:12 2000 +0000
        !          13624: 
        !          13625:     Test for "flushing" added.
        !          13626: 
        !          13627: commit a02c6c184b513fe1886c86533e696045e960515b
        !          13628: Author: Ondrej Filip <feela@network.cz>
        !          13629: Date:   Wed May 3 22:23:41 2000 +0000
        !          13630: 
        !          13631:     Cleanup of code. Some arguments of functions were useless.
        !          13632: 
        !          13633: commit ad5453b540b3c9d7430dcff9a3674d9db8ab999c
        !          13634: Author: Ondrej Filip <feela@network.cz>
        !          13635: Date:   Wed May 3 22:12:33 2000 +0000
        !          13636: 
        !          13637:     Testing if I can flush LSA from database.
        !          13638: 
        !          13639: commit 9bc1808a27b35499d2438d731ade6d2cba8aa355
        !          13640: Author: Ondrej Filip <feela@network.cz>
        !          13641: Date:   Wed May 3 00:08:48 2000 +0000
        !          13642: 
        !          13643:     Better rt and net originating.
        !          13644: 
        !          13645: commit 0bf2f2039e1fc95fe0fa3ee231711212f1f2b128
        !          13646: Author: Ondrej Filip <feela@network.cz>
        !          13647: Date:   Tue May 2 23:09:44 2000 +0000
        !          13648: 
        !          13649:     Originating of network LSA.
        !          13650: 
        !          13651: commit 92bbd812e332c9948d737e95526c571ff371d394
        !          13652: Author: Ondrej Filip <feela@network.cz>
        !          13653: Date:   Tue May 2 22:34:35 2000 +0000
        !          13654: 
        !          13655:     OSPF added to default protocols.
        !          13656: 
        !          13657: commit 249fdef7a10ce507bd224ad9be48a86f09d8f21c
        !          13658: Author: Ondrej Filip <feela@network.cz>
        !          13659: Date:   Tue May 2 22:31:48 2000 +0000
        !          13660: 
        !          13661:     Adding InfTransDelay for outgoing lsa.
        !          13662: 
        !          13663: commit c45f48fba5a0904f9c3512c3b42c38183fef348b
        !          13664: Author: Ondrej Filip <feela@network.cz>
        !          13665: Date:   Tue May 2 22:19:41 2000 +0000
        !          13666: 
        !          13667:     Aging of lsa database added.
        !          13668: 
        !          13669: commit a92847e78fabd637938f324c78d5eb41538a5692
        !          13670: Author: Ondrej Filip <feela@network.cz>
        !          13671: Date:   Tue May 2 19:27:57 2000 +0000
        !          13672: 
        !          13673:     Route calculation for stub networks.
        !          13674: 
        !          13675: commit 53943a002265d8e2b6a887eaa497a01840675693
        !          13676: Author: Martin Mares <mj@ucw.cz>
        !          13677: Date:   Tue May 2 16:10:04 2000 +0000
        !          13678: 
        !          13679:     Defined format specifier `%M' which behaves as `%m', but takes the
        !          13680:     error code as an argument.
        !          13681:     
        !          13682:     Use it in socket hooks where we really shouldn't rely on errno containing
        !          13683:     the right value or even existing.
        !          13684: 
        !          13685: commit 85368cd4b7244535f6ce56a27f6d22ddfa2bf4e6
        !          13686: Author: Martin Mares <mj@ucw.cz>
        !          13687: Date:   Tue May 2 16:07:41 2000 +0000
        !          13688: 
        !          13689:     Full protocol tracing.
        !          13690: 
        !          13691: commit 85a291ff3055f0b10ffc199138c67305f5b3fc98
        !          13692: Author: Martin Mares <mj@ucw.cz>
        !          13693: Date:   Tue May 2 15:21:51 2000 +0000
        !          13694: 
        !          13695:     IPv6 address classification fixes.
        !          13696: 
        !          13697: commit d1a74339d4edb717fbe98d412bd5e4ad03bb20a2
        !          13698: Author: Martin Mares <mj@ucw.cz>
        !          13699: Date:   Tue May 2 12:51:39 2000 +0000
        !          13700: 
        !          13701:     Handle redistribution of unknown attributes correctly.
        !          13702: 
        !          13703: commit 85195f1a53eb350cd32ecba69c208dbece6fb776
        !          13704: Author: Ondrej Filip <feela@network.cz>
        !          13705: Date:   Sun Apr 30 22:14:31 2000 +0000
        !          13706: 
        !          13707:     Many small changes and bug fixes. Routing table calculation works.
        !          13708:     I'm waiting for rt lookup to add stub networks.
        !          13709: 
        !          13710: commit 2337ade7546254eb48a22a1e195cc7999e684d21
        !          13711: Author: Pavel Machek <pavel@ucw.cz>
        !          13712: Date:   Sun Apr 30 18:47:48 2000 +0000
        !          13713: 
        !          13714:     Moved documentation to top of file, where it belongs.
        !          13715: 
        !          13716: commit c6c56264361e102691fe42134ab585f631f83898
        !          13717: Author: Ondrej Filip <feela@network.cz>
        !          13718: Date:   Sun Apr 30 11:31:05 2000 +0000
        !          13719: 
        !          13720:     Sync with nest's rt table and some minor improvements.
        !          13721: 
        !          13722: commit e80e9d0da5d737b7f6e65358067f62a6ac85f4fe
        !          13723: Author: Ondrej Filip <feela@network.cz>
        !          13724: Date:   Sun Apr 30 09:32:41 2000 +0000
        !          13725: 
        !          13726:     RT calculation strongly simplified. Now, I don't need any
        !          13727:     memory allocation. :-)
        !          13728: 
        !          13729: commit 8c62d6e3b631d58f46d87c36826cb29f8dadeb15
        !          13730: Author: Pavel Machek <pavel@ucw.cz>
        !          13731: Date:   Sat Apr 29 17:48:38 2000 +0000
        !          13732: 
        !          13733:     Minor documentation update.
        !          13734: 
        !          13735: commit 468f2347fc0ea3e0eb6513ccd0433d0b48f2c739
        !          13736: Author: Ondrej Filip <feela@network.cz>
        !          13737: Date:   Sat Apr 29 15:57:14 2000 +0000
        !          13738: 
        !          13739:     Calculating of nexts hop(s) added.
        !          13740: 
        !          13741: commit 9c1a55deeeb5aa5cd2f18b109fabb50947c308ab
        !          13742: Author: Pavel Machek <pavel@ucw.cz>
        !          13743: Date:   Sat Apr 29 15:45:30 2000 +0000
        !          13744: 
        !          13745:     IpV6 now actually compiles.
        !          13746:     
        !          13747:     Mj, could you provide example of static config for ipv6 that is _not_
        !          13748:     rejected by checks? I tried this and got rejected.
        !          13749:     
        !          13750:        route 62:168::/32 via 62:169::;
        !          13751:        route 1:2::/32 via 1:3::;
        !          13752: 
        !          13753: commit 46cdc7e20faaf922431a157bcb0f82a45b7aa2d2
        !          13754: Author: Martin Mares <mj@ucw.cz>
        !          13755: Date:   Fri Apr 28 15:15:36 2000 +0000
        !          13756: 
        !          13757:     Updated TODO.
        !          13758: 
        !          13759: commit cea636640005c9ee9b628ce07a2d467c132941fe
        !          13760: Author: Martin Mares <mj@ucw.cz>
        !          13761: Date:   Fri Apr 28 15:13:29 2000 +0000
        !          13762: 
        !          13763:     The `bgp_origin' attribute is now an enum.
        !          13764: 
        !          13765: commit a412f01ea84709b9af0113acc5aa2ce3dad1d292
        !          13766: Author: Martin Mares <mj@ucw.cz>
        !          13767: Date:   Fri Apr 28 15:12:03 2000 +0000
        !          13768: 
        !          13769:     Include CF_HDR section in keywords.h as well, so that protocol symbols
        !          13770:     can be used in definition of ENUM's.
        !          13771: 
        !          13772: commit 2edb31b097018be00f29cb7647432c4c2c8b99ba
        !          13773: Author: Martin Mares <mj@ucw.cz>
        !          13774: Date:   Fri Apr 28 15:11:10 2000 +0000
        !          13775: 
        !          13776:     Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
        !          13777:     C declarations etc.).
        !          13778: 
        !          13779: commit decc99fbbdba3394a5c611e2914b4d74aa6742a9
        !          13780: Author: Pavel Machek <pavel@ucw.cz>
        !          13781: Date:   Fri Apr 28 10:15:57 2000 +0000
        !          13782: 
        !          13783:     Killed fixme: I already fixed it.
        !          13784: 
        !          13785: commit a769a180d77b88fbfc77cae3e895a320007f6e30
        !          13786: Author: Pavel Machek <pavel@ucw.cz>
        !          13787: Date:   Fri Apr 28 10:14:59 2000 +0000
        !          13788: 
        !          13789:     Provide rip_get_attr, how do I test it?
        !          13790: 
        !          13791: commit 6c0a7174af459d62a52e97d15da29528169a68f9
        !          13792: Author: Pavel Machek <pavel@ucw.cz>
        !          13793: Date:   Fri Apr 28 09:55:52 2000 +0000
        !          13794: 
        !          13795:     Add sample documentation to rip.
        !          13796: 
        !          13797: commit e83b42deb4405729d9f53448bdbcea05e7d15e8f
        !          13798: Author: Pavel Machek <pavel@ucw.cz>
        !          13799: Date:   Fri Apr 28 09:55:36 2000 +0000
        !          13800: 
        !          13801:     Include proto/rip/rip.c in documentation system.
        !          13802: 
        !          13803: commit ff95080f9272c4a0123ab05dff608a43cf3c15b7
        !          13804: Author: Pavel Machek <pavel@ucw.cz>
        !          13805: Date:   Fri Apr 28 09:48:28 2000 +0000
        !          13806: 
        !          13807:     Cleanup of dead code + example documentation for two functions.
        !          13808: 
        !          13809: commit 602b1445e3bfa24b1ce9cd1d148e4aa5cb742cf4
        !          13810: Author: Pavel Machek <pavel@ucw.cz>
        !          13811: Date:   Fri Apr 28 09:48:01 2000 +0000
        !          13812: 
        !          13813:     Documentation-generating tool taken from linux-2.3.99-pre6, and
        !          13814:     makefile to actually use it.
        !          13815: 
        !          13816: commit f94557dec5714f8415aa9e74615b5c821f45808f
        !          13817: Author: Martin Mares <mj@ucw.cz>
        !          13818: Date:   Thu Apr 27 22:40:19 2000 +0000
        !          13819: 
        !          13820:     Some more fixes for attributeless UPDATEs.
        !          13821: 
        !          13822: commit f75e3bbc01f2b711d1a2479eddd9ea35f8cfff47
        !          13823: Author: Martin Mares <mj@ucw.cz>
        !          13824: Date:   Thu Apr 27 22:35:08 2000 +0000
        !          13825: 
        !          13826:     Fixed a couple of nasty CLI bugs which were triggered on long or multi-part
        !          13827:     outputs. It took a whole evening to hunt them down, but now the CLI seems
        !          13828:     to work fine.
        !          13829:     
        !          13830:     Now I run three BGP connections with several thousand routes!
        !          13831: 
        !          13832: commit 54896cbdba42a2ccd83c7f23c8ba14bed37a8b73
        !          13833: Author: Martin Mares <mj@ucw.cz>
        !          13834: Date:   Thu Apr 27 22:31:11 2000 +0000
        !          13835: 
        !          13836:     Path attribute can be missing if we process a packet with empty NLRI section.
        !          13837: 
        !          13838: commit 8f6accb5bb26d534576e086894c107387f67906a
        !          13839: Author: Martin Mares <mj@ucw.cz>
        !          13840: Date:   Thu Apr 27 22:28:49 2000 +0000
        !          13841: 
        !          13842:     Event handlers no longer return re-queue flag. Instead of using it, just
        !          13843:     call ev_schedule() on the same handler which should work perfectly now.
        !          13844: 
        !          13845: commit 987de54578ce4053d737c64ea924a32f46a441a7
        !          13846: Author: Martin Mares <mj@ucw.cz>
        !          13847: Date:   Thu Apr 27 19:44:27 2000 +0000
        !          13848: 
        !          13849:     Fixed stupid bug in as_path_format().
        !          13850: 
        !          13851: commit 9165888ad24bdefed6a705219c767558d5091cec
        !          13852: Author: Martin Mares <mj@ucw.cz>
        !          13853: Date:   Thu Apr 27 19:41:10 2000 +0000
        !          13854: 
        !          13855:     Handle connect errors correctly.
        !          13856: 
        !          13857: commit 2add26dfa9c1da1e7fd6248de593c60cf0eba9ca
        !          13858: Author: Ondrej Filip <feela@network.cz>
        !          13859: Date:   Wed Apr 26 20:16:36 2000 +0000
        !          13860: 
        !          13861:     Stub networks done.
        !          13862: 
        !          13863: commit 5904a51266d82482392bad5d6d17a3be54c65596
        !          13864: Author: Ondrej Filip <feela@network.cz>
        !          13865: Date:   Wed Apr 26 14:03:56 2000 +0000
        !          13866: 
        !          13867:     Nets are used before routers.
        !          13868: 
        !          13869: commit 5db9bae28676d743f53636d74997c85039d09278
        !          13870: Author: Martin Mares <mj@ucw.cz>
        !          13871: Date:   Wed Apr 26 13:26:31 2000 +0000
        !          13872: 
        !          13873:     IBGP fixes.
        !          13874: 
        !          13875: commit e1ddd9937759bc22b7241e48400d17840a101d9d
        !          13876: Author: Martin Mares <mj@ucw.cz>
        !          13877: Date:   Wed Apr 26 13:26:11 2000 +0000
        !          13878: 
        !          13879:     Changed handling of incoming connections, so that we can send data
        !          13880:     from the send hook without worrying about existence of socket buffers.
        !          13881:     
        !          13882:     Also, don't forget to copy peer addresses.
        !          13883: 
        !          13884: commit dfa9a53a66e5747ddbeedfa0a47fa2ca9fc93b99
        !          13885: Author: Ondrej Filip <feela@network.cz>
        !          13886: Date:   Wed Apr 26 12:54:23 2000 +0000
        !          13887: 
        !          13888:     Routing table calculation. Dijkstra done.
        !          13889: 
        !          13890: commit 0cadd5f531a82578ea6323f730cf8204b755895f
        !          13891: Author: Martin Mares <mj@ucw.cz>
        !          13892: Date:   Wed Apr 26 12:33:37 2000 +0000
        !          13893: 
        !          13894:     Removed several FIXME's.
        !          13895: 
        !          13896: commit dbf3939a53192c093f9f367edb15bf613126e347
        !          13897: Author: Martin Mares <mj@ucw.cz>
        !          13898: Date:   Wed Apr 26 12:32:07 2000 +0000
        !          13899: 
        !          13900:     Better formatting of router ID's.
        !          13901: 
        !          13902: commit ebd3720f8335cecd671382c23fe61f03b7e2acaa
        !          13903: Author: Martin Mares <mj@ucw.cz>
        !          13904: Date:   Wed Apr 26 12:30:41 2000 +0000
        !          13905: 
        !          13906:     Fixed several bugs in protocol state machine.  Reconfigurations and
        !          13907:     restarts of BGP seem to work now.
        !          13908: 
        !          13909: commit c010f4cb3771536fc62e534549e22c725285bbd2
        !          13910: Author: Pavel Machek <pavel@ucw.cz>
        !          13911: Date:   Wed Apr 26 11:33:03 2000 +0000
        !          13912: 
        !          13913:     Use right address for ripv6.
        !          13914: 
        !          13915: commit 7f704c06d86c58985e964e05df57d14b92e0cd05
        !          13916: Author: Pavel Machek <pavel@ucw.cz>
        !          13917: Date:   Wed Apr 26 11:07:57 2000 +0000
        !          13918: 
        !          13919:     Cleanup in preparation for ipv6.
        !          13920: 
        !          13921: commit b0c9c21c2926921843bbbade72e65831280906a8
        !          13922: Author: Pavel Machek <pavel@ucw.cz>
        !          13923: Date:   Wed Apr 26 09:38:07 2000 +0000
        !          13924: 
        !          13925:     Small cleanup.
        !          13926: 
        !          13927: commit 98347659463cb68cbd751148e19c62cfb109a32b
        !          13928: Author: Pavel Machek <pavel@ucw.cz>
        !          13929: Date:   Wed Apr 26 09:37:07 2000 +0000
        !          13930: 
        !          13931:     Whitespace changes.
        !          13932: 
        !          13933: commit 2e5a8735f4be2c2514ae3a67960ea4ac3f06e364
        !          13934: Author: Pavel Machek <pavel@ucw.cz>
        !          13935: Date:   Wed Apr 26 09:36:47 2000 +0000
        !          13936: 
        !          13937:     filter_same should now work with path masks.
        !          13938: 
        !          13939: commit f71bded6e97a3eeb4dc58458d042cbe1af631380
        !          13940: Author: Pavel Machek <pavel@ucw.cz>
        !          13941: Date:   Wed Apr 26 09:30:12 2000 +0000
        !          13942: 
        !          13943:     Bugfix in i_same (comparing of paths still does not work).
        !          13944: 
        !          13945: commit 7a86a8b08db03f002a672d1e8a6481ad52114d1e
        !          13946: Author: Pavel Machek <pavel@ucw.cz>
        !          13947: Date:   Wed Apr 26 08:03:50 2000 +0000
        !          13948: 
        !          13949:     Added code for testing filters.
        !          13950: 
        !          13951: commit 471bd6c30bb0d172699ea7af8f8b9356c8fe48b3
        !          13952: Author: Pavel Machek <pavel@ucw.cz>
        !          13953: Date:   Wed Apr 26 07:47:47 2000 +0000
        !          13954: 
        !          13955:     Marked place where new enums belong.
        !          13956: 
        !          13957: commit 94d9dfa47a14609e7057f26614b4094dddc8439d
        !          13958: Author: Pavel Machek <pavel@ucw.cz>
        !          13959: Date:   Wed Apr 26 07:31:45 2000 +0000
        !          13960: 
        !          13961:     Startup renamed to __startup: it is internal function and mj already
        !          13962:     uses word startup in other context.
        !          13963: 
        !          13964: commit 6fd766c17eedf4897e2dff712f0e06bb84dd3d8a
        !          13965: Author: Martin Mares <mj@ucw.cz>
        !          13966: Date:   Tue Apr 25 23:08:31 2000 +0000
        !          13967: 
        !          13968:     Implemented automatic restart after error with all the timers needed.
        !          13969: 
        !          13970: commit 8573314326a36cc8c9aa1755e7ad6c51617015c8
        !          13971: Author: Martin Mares <mj@ucw.cz>
        !          13972: Date:   Tue Apr 25 23:08:03 2000 +0000
        !          13973: 
        !          13974:     Avoid printing of error messages on Cease notifications.
        !          13975: 
        !          13976: commit 00c0c18aea40dd39efc275e24ad9d5e12a873a32
        !          13977: Author: Martin Mares <mj@ucw.cz>
        !          13978: Date:   Tue Apr 25 23:07:47 2000 +0000
        !          13979: 
        !          13980:     Allow sk_close(NULL).
        !          13981: 
        !          13982: commit b3155b3399d84bb2dae8441171aa73236d790048
        !          13983: Author: Martin Mares <mj@ucw.cz>
        !          13984: Date:   Tue Apr 25 22:01:19 2000 +0000
        !          13985: 
        !          13986:     Randomize timers properly.
        !          13987: 
        !          13988: commit 42532f084640645cfde9af7c0aa69a36b1de91ad
        !          13989: Author: Martin Mares <mj@ucw.cz>
        !          13990: Date:   Tue Apr 25 21:58:17 2000 +0000
        !          13991: 
        !          13992:     Support dynamic reconfiguration.
        !          13993: 
        !          13994: commit 41b26cfb552a4a441490779344326ff85819252b
        !          13995: Author: Martin Mares <mj@ucw.cz>
        !          13996: Date:   Tue Apr 25 21:56:46 2000 +0000
        !          13997: 
        !          13998:     Don't forget to set filter pointers in struct proto when reconfiguring.
        !          13999: 
        !          14000: commit 99f70c78e11f99f73a142ffcb8b65bd142c0a36c
        !          14001: Author: Martin Mares <mj@ucw.cz>
        !          14002: Date:   Tue Apr 25 21:31:15 2000 +0000
        !          14003: 
        !          14004:     Use the same attribute names as in filters.
        !          14005: 
        !          14006: commit 684c25d98fbfd7cc9275f401d8d451135615af8d
        !          14007: Author: Martin Mares <mj@ucw.cz>
        !          14008: Date:   Tue Apr 25 21:21:52 2000 +0000
        !          14009: 
        !          14010:     When sending BGP attributes, re-create the flags, so that attributes
        !          14011:     added by filters which get the flags wrong are fixed automagically.
        !          14012: 
        !          14013: commit efcece2da3054d9a0e5b5d2233549b3323428023
        !          14014: Author: Martin Mares <mj@ucw.cz>
        !          14015: Date:   Tue Apr 25 21:13:25 2000 +0000
        !          14016: 
        !          14017:     Better reporting of both local and remote errors.
        !          14018: 
        !          14019: commit a47a01083b6ff9196f39136d68ed32ac70b31d15
        !          14020: Author: Martin Mares <mj@ucw.cz>
        !          14021: Date:   Tue Apr 25 13:32:17 2000 +0000
        !          14022: 
        !          14023:     Real parsing of BGP OPEN options including capability
        !          14024:     negotiation.
        !          14025: 
        !          14026: commit 8b258e4e659cd8bacf0f7e3997d30b43561ac3e6
        !          14027: Author: Martin Mares <mj@ucw.cz>
        !          14028: Date:   Fri Apr 21 13:01:28 2000 +0000
        !          14029: 
        !          14030:     LOCAL_PREF is now always present and exported over all ibgp connections [draft]
        !          14031:     
        !          14032:     Allow setting of address of the local end of the TCP connection.
        !          14033:     
        !          14034:     Several bug fixes.
        !          14035: 
        !          14036: commit 2a9e064d7b41ae6e944dd9fbcb18b89e8fda0dba
        !          14037: Author: Martin Mares <mj@ucw.cz>
        !          14038: Date:   Fri Apr 21 12:25:35 2000 +0000
        !          14039: 
        !          14040:     If no NLRI's are present in an UPDATE message, parse the attributes, but
        !          14041:     don't check presence of mandatory attributes. [draft-09]
        !          14042: 
        !          14043: commit f380aa60faa41872b78155f899518b25933d18b9
        !          14044: Author: Martin Mares <mj@ucw.cz>
        !          14045: Date:   Thu Apr 20 23:05:41 2000 +0000
        !          14046: 
        !          14047:     IPv6 compiles with glibc 2.1.
        !          14048: 
        !          14049: commit f33c6c66020da3b10b27fba5585d20702b173c6f
        !          14050: Author: Martin Mares <mj@ucw.cz>
        !          14051: Date:   Thu Apr 20 22:55:32 2000 +0000
        !          14052: 
        !          14053:     Use xmalloc() instead of malloc().
        !          14054: 
        !          14055: commit 7787ace61ae41060e599ce52e8f0017750d350da
        !          14056: Author: Martin Mares <mj@ucw.cz>
        !          14057: Date:   Thu Apr 20 22:54:22 2000 +0000
        !          14058: 
        !          14059:     Synced to draft-ietf-idr-bgp4-09.
        !          14060: 
        !          14061: commit 9bc6ab404190db53c9c9dbc183f6fc6fa3e704fb
        !          14062: Author: Martin Mares <mj@ucw.cz>
        !          14063: Date:   Thu Apr 20 22:34:50 2000 +0000
        !          14064: 
        !          14065:     Fixed reporting of unknown options.
        !          14066: 
        !          14067: commit 7d6eebae3b87cac2d09fd5201b603d4fd969fe06
        !          14068: Author: Pavel Machek <pavel@ucw.cz>
        !          14069: Date:   Thu Apr 20 10:25:51 2000 +0000
        !          14070: 
        !          14071:     Create syntax sugar for add/delete/prepend, so xyzzy.prepend(123) is
        !          14072:     possible. That means that milestone 3 was reached.
        !          14073: 
        !          14074: commit 77f37ae0994774f6402499e0a79287d85afa6edf
        !          14075: Author: Pavel Machek <pavel@ucw.cz>
        !          14076: Date:   Thu Apr 20 10:24:41 2000 +0000
        !          14077: 
        !          14078:     Test new syntax of add() and delete().
        !          14079: 
        !          14080: commit 5f532adde20300ecab63d3e521fb0dfbfb33df2b
        !          14081: Author: Martin Mares <mj@ucw.cz>
        !          14082: Date:   Wed Apr 19 13:54:35 2000 +0000
        !          14083: 
        !          14084:     Temporarily ignore unknown options.
        !          14085: 
        !          14086: commit f381cdce5225c0652bf9182ac40a1a54436c9692
        !          14087: Author: Martin Mares <mj@ucw.cz>
        !          14088: Date:   Wed Apr 19 13:54:17 2000 +0000
        !          14089: 
        !          14090:     The ATOMIC_AGGREGATE parameter is optional transitive.
        !          14091: 
        !          14092: commit e0d6a7bda446d96dc3d56f65afed1872f20407cb
        !          14093: Author: Martin Mares <mj@ucw.cz>
        !          14094: Date:   Wed Apr 19 13:28:56 2000 +0000
        !          14095: 
        !          14096:     Delay fetching of router ID.
        !          14097: 
        !          14098: commit 035044b1d946c50efd4b59a8869198a0300c8151
        !          14099: Author: Martin Mares <mj@ucw.cz>
        !          14100: Date:   Wed Apr 19 12:51:14 2000 +0000
        !          14101: 
        !          14102:     Select the right source address and don't check port numbers.
        !          14103: 
        !          14104: commit 85c92555efcd67d2671a8aef1bf7c3f4acc2b21d
        !          14105: Author: Ondrej Filip <feela@network.cz>
        !          14106: Date:   Tue Apr 18 22:11:05 2000 +0000
        !          14107: 
        !          14108:     Grr, another patch to make it compile.
        !          14109: 
        !          14110: commit 740d16d972d8e2accdb7a2f92048de302c9e966c
        !          14111: Author: Ondrej Filip <feela@network.cz>
        !          14112: Date:   Tue Apr 18 22:07:58 2000 +0000
        !          14113: 
        !          14114:     Another ack bugfix. (Bad test for MIN_LS_ARRIVAL.)
        !          14115: 
        !          14116: commit 84228eee273e2a689f4479d9a91f6b0a32c19b44
        !          14117: Author: Ondrej Filip <feela@network.cz>
        !          14118: Date:   Tue Apr 18 21:40:11 2000 +0000
        !          14119: 
        !          14120:     LS ack bugfix. (I didn't remove LSA from LSret hash.)
        !          14121: 
        !          14122: commit 19fc4c763e745d56c8d80d04d6813766c1cfa04a
        !          14123: Author: Ondrej Filip <feela@network.cz>
        !          14124: Date:   Tue Apr 18 21:13:56 2000 +0000
        !          14125: 
        !          14126:     LS ack.
        !          14127: 
        !          14128: commit 26116eac93b51c503f5448d9f583847a51bef68d
        !          14129: Author: Ondrej Filip <feela@network.cz>
        !          14130: Date:   Tue Apr 18 20:34:19 2000 +0000
        !          14131: 
        !          14132:     Better LS Ack dumping.
        !          14133: 
        !          14134: commit 48f5a61f694faceb7cdc41e291f0da9411000c45
        !          14135: Author: Ondrej Filip <feela@network.cz>
        !          14136: Date:   Tue Apr 18 19:56:43 2000 +0000
        !          14137: 
        !          14138:     Bugfix in neighbor dumping.
        !          14139: 
        !          14140: commit 9eada7ca03c6c4111e759b0910a1a654a7f3216e
        !          14141: Author: Ondrej Filip <feela@network.cz>
        !          14142: Date:   Tue Apr 18 19:44:16 2000 +0000
        !          14143: 
        !          14144:     Fixed the serious bug in LSack.
        !          14145:     Oh, I'm an idiot. I sent LSACK, but in header was LSUPD. :-(
        !          14146: 
        !          14147: commit 9eea604769662479891020b5a0fb282faa6dc36f
        !          14148: Author: Ondrej Filip <feela@network.cz>
        !          14149: Date:   Tue Apr 18 19:31:42 2000 +0000
        !          14150: 
        !          14151:     Multicast open socket for (B)DR bugfix.
        !          14152: 
        !          14153: commit 79f036ef6e9b2204528a41079c59a3a9ae9d50f5
        !          14154: Author: Ondrej Filip <feela@network.cz>
        !          14155: Date:   Tue Apr 18 19:22:49 2000 +0000
        !          14156: 
        !          14157:     Dump changes.
        !          14158: 
        !          14159: commit 4472402551a1cc8d760a4e980fdcd7a417e0796a
        !          14160: Author: Ondrej Filip <feela@network.cz>
        !          14161: Date:   Tue Apr 18 18:29:50 2000 +0000
        !          14162: 
        !          14163:     Many %u changer into %I.
        !          14164: 
        !          14165: commit 89929e9daad0df36a289e7ae7d70dbc648c3b6b3
        !          14166: Author: Ondrej Filip <feela@network.cz>
        !          14167: Date:   Tue Apr 18 18:21:10 2000 +0000
        !          14168: 
        !          14169:     Many %u changed into %I and dump cleanup.
        !          14170: 
        !          14171: commit 1508ee8b537aceba98d3af619ba0cded4d2fce9d
        !          14172: Author: Ondrej Filip <feela@network.cz>
        !          14173: Date:   Tue Apr 18 18:01:26 2000 +0000
        !          14174: 
        !          14175:     Iface chstate run only if something really change.
        !          14176: 
        !          14177: commit dd100e40c60811324b450ef7c078f0e992b2ded6
        !          14178: Author: Ondrej Filip <feela@network.cz>
        !          14179: Date:   Tue Apr 18 17:58:16 2000 +0000
        !          14180: 
        !          14181:     Better dumping in neighbor chstate.
        !          14182: 
        !          14183: commit 8914e37dc028c89488d07556a511d8b49d38856f
        !          14184: Author: Ondrej Filip <feela@network.cz>
        !          14185: Date:   Tue Apr 18 17:54:06 2000 +0000
        !          14186: 
        !          14187:     Better chstate dumping.
        !          14188: 
        !          14189: commit 284c43ff66e8b5879945d2c4e1a285354bd38ddf
        !          14190: Author: Ondrej Filip <feela@network.cz>
        !          14191: Date:   Tue Apr 18 17:36:46 2000 +0000
        !          14192: 
        !          14193:     Sending of ACK disabled, since I'll find bug.
        !          14194: 
        !          14195: commit 023f5e86eba76a79dd90d5a4546ae8b200ccf023
        !          14196: Author: Ondrej Filip <feela@network.cz>
        !          14197: Date:   Tue Apr 18 17:00:56 2000 +0000
        !          14198: 
        !          14199:     Another LSack update. It's still NOT correct and it surely
        !          14200:     kills gated or Cyclades OSPF implementation. :-)
        !          14201: 
        !          14202: commit 67315ef64e3655c65cfab032d637fe29d3cf91b2
        !          14203: Author: Ondrej Filip <feela@network.cz>
        !          14204: Date:   Tue Apr 18 01:06:16 2000 +0000
        !          14205: 
        !          14206:     Some lsack work. There is something very worng. :-( It locked my network.
        !          14207: 
        !          14208: commit 2a0925948de20bd391d2c27a08ffdf2b4350e5c3
        !          14209: Author: Ondrej Filip <feela@network.cz>
        !          14210: Date:   Mon Apr 17 21:10:40 2000 +0000
        !          14211: 
        !          14212:     Listening on AllDRouters for DR and BACKUP added.
        !          14213: 
        !          14214: commit 38130b863ffcab6b45484e4e5f1eca1dd933bb1a
        !          14215: Author: Ondrej Filip <feela@network.cz>
        !          14216: Date:   Mon Apr 17 20:42:42 2000 +0000
        !          14217: 
        !          14218:     Small change in LSA originating.
        !          14219: 
        !          14220: commit 52276996063bc4a0fbcb642f5075df1cde7ce684
        !          14221: Author: Pavel Machek <pavel@ucw.cz>
        !          14222: Date:   Mon Apr 17 16:51:28 2000 +0000
        !          14223: 
        !          14224:     Few bugs removed from sgml, makefile added.
        !          14225: 
        !          14226: commit f9b8bcca4eb1fdd8067a66a845b585af61335e3c
        !          14227: Author: Pavel Machek <pavel@ucw.cz>
        !          14228: Date:   Mon Apr 17 16:49:05 2000 +0000
        !          14229: 
        !          14230:     Bird.html will now be autogenerated.
        !          14231: 
        !          14232: commit d37f899ba4e88b56a824fd44e7d81455c099bcba
        !          14233: Author: Pavel Machek <pavel@ucw.cz>
        !          14234: Date:   Mon Apr 17 16:48:22 2000 +0000
        !          14235: 
        !          14236:     First version of sgml documentation
        !          14237: 
        !          14238: commit 0150e5211adabcbde55a76506f0f1a5901214b52
        !          14239: Author: Pavel Machek <pavel@ucw.cz>
        !          14240: Date:   Mon Apr 17 14:12:02 2000 +0000
        !          14241: 
        !          14242:     Cleaned up mess with types in e,a and e,S. Dynamic attributes should
        !          14243:     now work.
        !          14244: 
        !          14245: commit 74a7da482b1a537aaa97b4b5d6f6815887150f26
        !          14246: Author: Martin Mares <mj@ucw.cz>
        !          14247: Date:   Mon Apr 17 13:41:50 2000 +0000
        !          14248: 
        !          14249:     Adding of dynamic attributes is hopefully correct now.
        !          14250: 
        !          14251: commit 8f10985e1ef77c7d44c8912cf92f99e5c4502cbd
        !          14252: Author: Martin Mares <mj@ucw.cz>
        !          14253: Date:   Mon Apr 17 13:14:48 2000 +0000
        !          14254: 
        !          14255:     Added BGP to the default list of protocols we build.
        !          14256: 
        !          14257: commit bd2d8190dd79645174beeef1a306c8df53db3b60
        !          14258: Author: Martin Mares <mj@ucw.cz>
        !          14259: Date:   Mon Apr 17 13:13:08 2000 +0000
        !          14260: 
        !          14261:     Honor standard communities (no_export, no_advertise, no_export_subconfed)
        !          14262:     when exporting routes.
        !          14263: 
        !          14264: commit 56a2bed46bf7713cd773b0fd0c097bcfc6345cc1
        !          14265: Author: Martin Mares <mj@ucw.cz>
        !          14266: Date:   Mon Apr 17 12:46:07 2000 +0000
        !          14267: 
        !          14268:     Don't import/export MED and LOCAL_PREF on external links.
        !          14269:     Added real comparison of BGP routes (inspired by the Cisco one).
        !          14270:     Default local preference and default MED are now settable.
        !          14271:     Defined filter keywords for all BGP attributes we know.
        !          14272: 
        !          14273: commit 3bbc4ad6ad63d55b1d7845b53865963db79c2e16
        !          14274: Author: Pavel Machek <pavel@ucw.cz>
        !          14275: Date:   Mon Apr 17 12:40:38 2000 +0000
        !          14276: 
        !          14277:     Special hack for atomic_aggr.
        !          14278: 
        !          14279: commit 708711c37306d6bc3a83935a4d4065814d9c4215
        !          14280: Author: Pavel Machek <pavel@ucw.cz>
        !          14281: Date:   Mon Apr 17 12:38:24 2000 +0000
        !          14282: 
        !          14283:     Community lists can be now accessed as dynamical attributes. Mj:
        !          14284:     please create such dynamic atribute for bgp.
        !          14285: 
        !          14286: commit 913ce95b083b2d61e498c63fce3e8f2d5b974cfb
        !          14287: Author: Pavel Machek <pavel@ucw.cz>
        !          14288: Date:   Mon Apr 17 11:52:32 2000 +0000
        !          14289: 
        !          14290:     EAF_ORIGINATED done right.
        !          14291: 
        !          14292: commit 700bbe60fb941534937ad11ca71968224889fa87
        !          14293: Author: Martin Mares <mj@ucw.cz>
        !          14294: Date:   Mon Apr 17 11:49:41 2000 +0000
        !          14295: 
        !          14296:     The previous fix for spacing was (a) totally out of context, (b) wrong.
        !          14297:     Please *read* the code when trying to change it.
        !          14298:     
        !          14299:     Also killed a couple of type clashes.
        !          14300: 
        !          14301: commit 2bd2de0188f6a0c1c9482cfc15e35c2b1b81c81a
        !          14302: Author: Pavel Machek <pavel@ucw.cz>
        !          14303: Date:   Mon Apr 17 11:49:21 2000 +0000
        !          14304: 
        !          14305:     pair ~ community list matching works.
        !          14306: 
        !          14307: commit 5a2455886db55ae2d1eb8934c7686b4f6586f83c
        !          14308: Author: Pavel Machek <pavel@ucw.cz>
        !          14309: Date:   Mon Apr 17 11:42:34 2000 +0000
        !          14310: 
        !          14311:     Put space between entries so they are separated.
        !          14312:     
        !          14313:     FIXME: should use format as in filters.
        !          14314: 
        !          14315: commit 4444ed2b26ae07dabbcc3e511798e2d7df3a2846
        !          14316: Author: Pavel Machek <pavel@ucw.cz>
        !          14317: Date:   Mon Apr 17 11:42:08 2000 +0000
        !          14318: 
        !          14319:     It is good idea to separate entries in list _somehow_. Adding/deleting
        !          14320:     to community lists from filters now works.
        !          14321: 
        !          14322: commit 991c36b509ad5bb96b4a28d0ec53813628e393a4
        !          14323: Author: Pavel Machek <pavel@ucw.cz>
        !          14324: Date:   Mon Apr 17 11:37:05 2000 +0000
        !          14325: 
        !          14326:     Use EAF_ORIGINATED as mj wanted. mj: check this!
        !          14327: 
        !          14328: commit 9c400ec9dd0ee74f1f350ead87dcd7366dbab7b1
        !          14329: Author: Pavel Machek <pavel@ucw.cz>
        !          14330: Date:   Mon Apr 17 11:34:38 2000 +0000
        !          14331: 
        !          14332:     Int sets moved to core. It is now possible to have variable of type clist.
        !          14333: 
        !          14334: commit e3558ab14ee60c8c9792bc3ed54d9f0c3eaa8ea8
        !          14335: Author: Martin Mares <mj@ucw.cz>
        !          14336: Date:   Mon Apr 17 11:25:15 2000 +0000
        !          14337: 
        !          14338:     Normalize community sets when exporting.
        !          14339:     
        !          14340:     Set PARTIAL bits correctly.
        !          14341: 
        !          14342: commit 51a183af78a330cca46f12dcbff79bb045c4c854
        !          14343: Author: Martin Mares <mj@ucw.cz>
        !          14344: Date:   Mon Apr 17 11:23:05 2000 +0000
        !          14345: 
        !          14346:     Define EAF_ORIGINATED and propagate it properly when merging attribute lists.
        !          14347: 
        !          14348: commit 4b03f64b341db7b73eedc00bc5321fedf349a236
        !          14349: Author: Martin Mares <mj@ucw.cz>
        !          14350: Date:   Mon Apr 17 11:22:24 2000 +0000
        !          14351: 
        !          14352:     Aesthetical tweaks (asterisk spells `asterisk' etc.)
        !          14353: 
        !          14354: commit 159fa4cea9fb8f36db8335755248e0fac81fb050
        !          14355: Author: Pavel Machek <pavel@ucw.cz>
        !          14356: Date:   Mon Apr 17 11:20:00 2000 +0000
        !          14357: 
        !          14358:     Finish moving of path matching. Use int_set_print from core for
        !          14359:     printing community lists.
        !          14360: 
        !          14361: commit 2a40efa5e6252eb5a5dbe5e82dcd9c67ad7838a9
        !          14362: Author: Pavel Machek <pavel@ucw.cz>
        !          14363: Date:   Mon Apr 17 11:11:33 2000 +0000
        !          14364: 
        !          14365:     as_path_match moved to a-path.c
        !          14366: 
        !          14367: commit 684c6f5a0e134426159be7dbd514271aea9f4d3d
        !          14368: Author: Pavel Machek <pavel@ucw.cz>
        !          14369: Date:   Mon Apr 17 11:06:39 2000 +0000
        !          14370: 
        !          14371:     Path_getlen moved to nest and length was made callable from filters.
        !          14372: 
        !          14373: commit ecd25633bdc3e491a0eca44c63c158eeff388f13
        !          14374: Author: Pavel Machek <pavel@ucw.cz>
        !          14375: Date:   Mon Apr 17 10:54:01 2000 +0000
        !          14376: 
        !          14377:     Use printing routine from nest/ instead of our own.
        !          14378: 
        !          14379: commit 4b641bab521c4fbabf931c3eac7704e8e2cab298
        !          14380: Author: Pavel Machek <pavel@ucw.cz>
        !          14381: Date:   Mon Apr 17 10:50:03 2000 +0000
        !          14382: 
        !          14383:     Path matching now actually works, including / * 1 2 3 * /.
        !          14384: 
        !          14385: commit e399b6f6ad91e6f94081dfe694740451100c7a7f
        !          14386: Author: Pavel Machek <pavel@ucw.cz>
        !          14387: Date:   Mon Apr 17 10:42:28 2000 +0000
        !          14388: 
        !          14389:     Path and path matching seem to work, now.
        !          14390: 
        !          14391: commit 1ed2fe960929081065e75a7fb4322f28a76c508b
        !          14392: Author: Martin Mares <mj@ucw.cz>
        !          14393: Date:   Mon Apr 17 10:19:15 2000 +0000
        !          14394: 
        !          14395:     Send and receive communities.
        !          14396: 
        !          14397: commit c6add07fa6ca8366fbdcfcd9bc2872c129378366
        !          14398: Author: Martin Mares <mj@ucw.cz>
        !          14399: Date:   Mon Apr 17 10:18:55 2000 +0000
        !          14400: 
        !          14401:     Printing of AS paths and community sets.
        !          14402: 
        !          14403: commit afc54517db6946e9cfb62bbdc855954316152c62
        !          14404: Author: Pavel Machek <pavel@ucw.cz>
        !          14405: Date:   Mon Apr 17 10:16:47 2000 +0000
        !          14406: 
        !          14407:     Prepend and creation of empty path should work, but it has strange
        !          14408:     syntax for now.
        !          14409: 
        !          14410: commit f421cfdd80cfce7d1ec4759c603e47071eb028f8
        !          14411: Author: Martin Mares <mj@ucw.cz>
        !          14412: Date:   Mon Apr 17 09:37:31 2000 +0000
        !          14413: 
        !          14414:     Sending of update messages works!
        !          14415: 
        !          14416: commit c0668f36967ce651e452a476b786b7604038a556
        !          14417: Author: Martin Mares <mj@ucw.cz>
        !          14418: Date:   Mon Apr 17 07:53:29 2000 +0000
        !          14419: 
        !          14420:     Created nest/a-path.c and a-set.c which should contain general operations
        !          14421:     on AS paths and community sets.
        !          14422:     
        !          14423:     Moved as_path_prepend() there.
        !          14424:     
        !          14425:     Pavel, please move the other functions as well.
        !          14426: 
        !          14427: commit ebff007f08965d83dba5840ee02171d09ac2598d
        !          14428: Author: Ondrej Filip <feela@network.cz>
        !          14429: Date:   Wed Apr 12 15:37:52 2000 +0000
        !          14430: 
        !          14431:     LSack receiving bugfix.
        !          14432: 
        !          14433: commit 4bf41ac8b1d7edb4754c579b714d1c71dc421b4e
        !          14434: Author: Ondrej Filip <feela@network.cz>
        !          14435: Date:   Wed Apr 12 15:20:13 2000 +0000
        !          14436: 
        !          14437:     LS Ack receiving done.
        !          14438: 
        !          14439: commit 58313b24c8e31f02f242b7d090b54aab8295ce04
        !          14440: Author: Ondrej Filip <feela@network.cz>
        !          14441: Date:   Wed Apr 12 14:49:20 2000 +0000
        !          14442: 
        !          14443:     Stupid "+1"-bug fixed.
        !          14444: 
        !          14445: commit c8f685cb9d88e447d6057f92bcbb1e0df441ca35
        !          14446: Author: Martin Mares <mj@ucw.cz>
        !          14447: Date:   Wed Apr 12 14:14:47 2000 +0000
        !          14448: 
        !          14449:     Made last Pavel's changes compile.
        !          14450: 
        !          14451: commit 0a40e97328180576577da26a5ce8933f616d84f1
        !          14452: Author: Pavel Machek <pavel@ucw.cz>
        !          14453: Date:   Wed Apr 12 14:12:37 2000 +0000
        !          14454: 
        !          14455:     as_path_prepend is usable outside bgp.
        !          14456: 
        !          14457: commit c2b28c99103a643dd29ad48152999d6dac7722fe
        !          14458: Author: Martin Mares <mj@ucw.cz>
        !          14459: Date:   Wed Apr 12 14:09:26 2000 +0000
        !          14460: 
        !          14461:     Real bucket lists.
        !          14462: 
        !          14463: commit a2d157463accf02e2db9fd3dd174b7e46dae8938
        !          14464: Author: Pavel Machek <pavel@ucw.cz>
        !          14465: Date:   Wed Apr 12 14:05:37 2000 +0000
        !          14466: 
        !          14467:     One less shift/reduce conflict.
        !          14468: 
        !          14469: commit ac7a2145ccd5cfc54788b0218cc253e3b1721b76
        !          14470: Author: Pavel Machek <pavel@ucw.cz>
        !          14471: Date:   Wed Apr 12 14:02:04 2000 +0000
        !          14472: 
        !          14473:     f_new_dynamic_attr gets third argument, type as filters know it.
        !          14474: 
        !          14475: commit 12d5677aa3e6217edc7d5508ac3dbbf87edc8624
        !          14476: Author: Martin Mares <mj@ucw.cz>
        !          14477: Date:   Wed Apr 12 13:56:04 2000 +0000
        !          14478: 
        !          14479:     Define BGP_PATH.
        !          14480: 
        !          14481: commit 2803c9ddbeca3ece264e618b3a63669e25f4dd85
        !          14482: Author: Martin Mares <mj@ucw.cz>
        !          14483: Date:   Wed Apr 12 13:55:53 2000 +0000
        !          14484: 
        !          14485:     Minor updates by Pavel.
        !          14486: 
        !          14487: commit 66d573d4903801c45011de36b6b593f1cde9ea73
        !          14488: Author: Martin Mares <mj@ucw.cz>
        !          14489: Date:   Wed Apr 12 13:55:30 2000 +0000
        !          14490: 
        !          14491:     Attribute type hack.
        !          14492: 
        !          14493: commit 10a53608860724c47596948f2fd426d4eca8224d
        !          14494: Author: Pavel Machek <pavel@ucw.cz>
        !          14495: Date:   Wed Apr 12 13:31:39 2000 +0000
        !          14496: 
        !          14497:     Filters now know type path. It is possible to declare variable of type
        !          14498:     path, but it is not possible to write constant of type path.
        !          14499:     
        !          14500:     It should be possible to print paths and match them.
        !          14501: 
        !          14502: commit 775063494694d247b340bb1145e509e31af27802
        !          14503: Author: Martin Mares <mj@ucw.cz>
        !          14504: Date:   Wed Apr 12 13:21:23 2000 +0000
        !          14505: 
        !          14506:     Introduced `ARRAY_SIZE' macro to replace all the sizeof(a)/sizeof(*a) constructs.
        !          14507: 
        !          14508: commit dcab78904794156483878b4b8cd924e30a71bcdd
        !          14509: Author: Pavel Machek <pavel@ucw.cz>
        !          14510: Date:   Wed Apr 12 13:07:53 2000 +0000
        !          14511: 
        !          14512:     Renamed f_path to f_path_mask -- which is what it really is. Use
        !          14513:     linklist instead of array of signed integers for path mask.
        !          14514: 
        !          14515: commit c3edb89ec141355de58fbade353d4b2182c62c1e
        !          14516: Author: Pavel Machek <pavel@ucw.cz>
        !          14517: Date:   Wed Apr 12 12:49:53 2000 +0000
        !          14518: 
        !          14519:     Path masks are needed for filters.
        !          14520: 
        !          14521: commit 77de68825caae7a9cb1275b0020e49fa9cb27e29
        !          14522: Author: Pavel Machek <pavel@ucw.cz>
        !          14523: Date:   Wed Apr 12 12:10:37 2000 +0000
        !          14524: 
        !          14525:     BGP_PATH masks now actually work as data type.
        !          14526: 
        !          14527: commit 78c6217c1e9f8a46026cecf6a6369b72d5d883b0
        !          14528: Author: Pavel Machek <pavel@ucw.cz>
        !          14529: Date:   Wed Apr 12 10:34:45 2000 +0000
        !          14530: 
        !          14531:     Path printing is now much nicer: not having to put it backward
        !          14532:     simplifies it. (Sorry for previous commit, cvs is naughty).
        !          14533: 
        !          14534: commit f7d534cf2e8932869b049bd64677bb0a67e362c1
        !          14535: Author: Pavel Machek <pavel@ucw.cz>
        !          14536: Date:   Wed Apr 12 10:34:02 2000 +0000
        !          14537: 
        !          14538:     Path printing is now much nicer.
        !          14539: 
        !          14540: commit b475c543b420b65bac90992df99a0fe6c9da7c88
        !          14541: Author: Martin Mares <mj@ucw.cz>
        !          14542: Date:   Mon Apr 10 22:08:32 2000 +0000
        !          14543: 
        !          14544:     Fix comments.
        !          14545: 
        !          14546: commit 9196e9f8f951f7cbd372b9243dd10fc761f2fbe6
        !          14547: Author: Pavel Machek <pavel@ucw.cz>
        !          14548: Date:   Mon Apr 10 16:36:40 2000 +0000
        !          14549: 
        !          14550:     Commit fixes.
        !          14551: 
        !          14552: commit 7f77e2500218c197ba56a473d587dedda7309029
        !          14553: Author: Pavel Machek <pavel@ucw.cz>
        !          14554: Date:   Mon Apr 10 15:07:43 2000 +0000
        !          14555: 
        !          14556:     Functions for matching paths added, tested lightly.
        !          14557:     
        !          14558:     Functions for working with community lists added, they compile.
        !          14559:     
        !          14560:     This should not be definitive place for this stuff.
        !          14561: 
        !          14562: commit 73e03bce66e3e8d167f00813d942ef35bfd105e2
        !          14563: Author: Pavel Machek <pavel@ucw.cz>
        !          14564: Date:   Mon Apr 10 14:45:00 2000 +0000
        !          14565: 
        !          14566:     As usuall, most important info was missing.
        !          14567: 
        !          14568: commit ae8f5584990ce3bfb5b0bec2f7a1c052e45860df
        !          14569: Author: Martin Mares <mj@ucw.cz>
        !          14570: Date:   Mon Apr 10 12:39:51 2000 +0000
        !          14571: 
        !          14572:     Implemented outgoing attribute cache.
        !          14573: 
        !          14574: commit 6f57dcc07cdf54133bd57aeaec7446f59f2c91cd
        !          14575: Author: Martin Mares <mj@ucw.cz>
        !          14576: Date:   Mon Apr 10 12:39:29 2000 +0000
        !          14577: 
        !          14578:     Export ea_same() and ea_hash().
        !          14579: 
        !          14580: commit f2cb1d708dc5de4167a3dc12b50001391d01f5f0
        !          14581: Author: Martin Mares <mj@ucw.cz>
        !          14582: Date:   Mon Apr 10 12:38:15 2000 +0000
        !          14583: 
        !          14584:     Dropped CPU_NEEDS_ALIGN_* as unaligned.h no longer uses them.
        !          14585: 
        !          14586: commit 48e842cc98b1436da57c8682c6c8414ba379ed7c
        !          14587: Author: Martin Mares <mj@ucw.cz>
        !          14588: Date:   Mon Apr 10 11:21:40 2000 +0000
        !          14589: 
        !          14590:     Use neighbor cache to track direct route to the peer or multihop destination.
        !          14591:     
        !          14592:     Calculate next_hop properly based on the local address we get from the
        !          14593:     neighbor entry.
        !          14594: 
        !          14595: commit 287111fed1c8e9eb135df1108ea747e02b30e9e9
        !          14596: Author: Martin Mares <mj@ucw.cz>
        !          14597: Date:   Mon Apr 10 10:40:00 2000 +0000
        !          14598: 
        !          14599:     Fix stupid bug in neighbor cache.
        !          14600: 
        !          14601: commit ef2c708dfac4c8b4b5ab0ed8b71842da5c7ab3d7
        !          14602: Author: Martin Mares <mj@ucw.cz>
        !          14603: Date:   Sun Apr 9 22:05:02 2000 +0000
        !          14604: 
        !          14605:     More BGP progress...
        !          14606:     
        !          14607:     For Pavel: You can use bgp_path_prepend() for prepending AS numbers to AS paths.
        !          14608: 
        !          14609: commit d3feceff105fbcee7a9976812156aea7517c44e6
        !          14610: Author: Martin Mares <mj@ucw.cz>
        !          14611: Date:   Sun Apr 9 22:04:12 2000 +0000
        !          14612: 
        !          14613:     BGP doesn't need any inline attributes.
        !          14614: 
        !          14615: commit 3d0ea3a7c3e3b14bd0b9602d6b14518c907d8789
        !          14616: Author: Pavel Machek <pavel@ucw.cz>
        !          14617: Date:   Fri Apr 7 09:02:17 2000 +0000
        !          14618: 
        !          14619:     Fix of comment.
        !          14620: 
        !          14621: commit 2c971094ebf73c2a2cfc5927095a0c6fd3c15836
        !          14622: Author: Ondrej Filip <feela@network.cz>
        !          14623: Date:   Wed Apr 5 00:51:25 2000 +0000
        !          14624: 
        !          14625:     LSA flooding done.
        !          14626: 
        !          14627: commit 10000b96a89d1ab4425e29164c3694aa26622b1c
        !          14628: Author: Ondrej Filip <feela@network.cz>
        !          14629: Date:   Tue Apr 4 22:27:19 2000 +0000
        !          14630: 
        !          14631:     Small clean up. (Duplicate #defines.)
        !          14632: 
        !          14633: commit f1f7faceb445fdfa2b2a013b791882afd68ae421
        !          14634: Author: Ondrej Filip <feela@network.cz>
        !          14635: Date:   Tue Apr 4 22:22:08 2000 +0000
        !          14636: 
        !          14637:     "Bug in hashing" fixed. Ehm it was bug in lsrql node removing.
        !          14638: 
        !          14639: commit d8852b362c015db38abf180888e77900f35089de
        !          14640: Author: Ondrej Filip <feela@network.cz>
        !          14641: Date:   Tue Apr 4 15:55:55 2000 +0000
        !          14642: 
        !          14643:     LSupdate processing improved. Now there is some bug in hashing. :-(
        !          14644: 
        !          14645: commit 921a93f2176723d235989efe882050c0265bea84
        !          14646: Author: Ondrej Filip <feela@network.cz>
        !          14647: Date:   Tue Apr 4 00:32:17 2000 +0000
        !          14648: 
        !          14649:     Flooding work continues.
        !          14650: 
        !          14651: commit 8496b2e41a81f8281da0e0c3e4bbb72a57d3bf21
        !          14652: Author: Ondrej Filip <feela@network.cz>
        !          14653: Date:   Mon Apr 3 22:31:07 2000 +0000
        !          14654: 
        !          14655:     Minor change in area list. Now I use MJ's lists.
        !          14656: 
        !          14657: commit 394acced118df7360e480920c65ca260c5b8c44f
        !          14658: Author: Ondrej Filip <feela@network.cz>
        !          14659: Date:   Sun Apr 2 20:41:33 2000 +0000
        !          14660: 
        !          14661:     Work on lsupdates continues. Some checksum cleanup.
        !          14662: 
        !          14663: commit db9fb727699a6244afcff28dcc2320a3e66ee269
        !          14664: Author: Ondrej Filip <feela@network.cz>
        !          14665: Date:   Sun Apr 2 19:04:23 2000 +0000
        !          14666: 
        !          14667:     lsa_cmp moved into lsalib.c
        !          14668: 
        !          14669: commit 10be74da202b20a7d502724ef8e7a9787b7eba0a
        !          14670: Author: Martin Mares <mj@ucw.cz>
        !          14671: Date:   Sat Apr 1 10:21:11 2000 +0000
        !          14672: 
        !          14673:     Formatting of dynamic attributes (except for paths and communities which
        !          14674:     will be added soon).
        !          14675: 
        !          14676: commit dad177d7e045ed07181da02ccd619f8f943a5c80
        !          14677: Author: Martin Mares <mj@ucw.cz>
        !          14678: Date:   Sat Apr 1 10:20:12 2000 +0000
        !          14679: 
        !          14680:     RIP: Set attribute class.
        !          14681: 
        !          14682: commit 3991d84e8fa9118a43149d4d3304726eb786bd46
        !          14683: Author: Martin Mares <mj@ucw.cz>
        !          14684: Date:   Sat Apr 1 10:19:47 2000 +0000
        !          14685: 
        !          14686:     Changed initialization of protocol list -- now we call proto_build() instead
        !          14687:     of calling the protocols manually.
        !          14688:     
        !          14689:     Implemented printing of dynamic attributes in `show route all'.
        !          14690:     
        !          14691:     Each protocol can now register its own attribute class (protocol->attr_class,
        !          14692:     set to EAP_xxx) and also a callback for naming and formatting of attributes.
        !          14693:     The callback can return one of the following results:
        !          14694:     
        !          14695:        GA_UNKNOWN      Attribute not recognized.
        !          14696:        GA_NAME         Attribute name recognized and put to the buffer,
        !          14697:                        generic code should format the value.
        !          14698:        GA_FULL         Both attribute name and value put to the buffer.
        !          14699:     
        !          14700:     Please update protocols generating dynamic attributes to provide
        !          14701:     the attr_class and formatting hook.
        !          14702: 
        !          14703: commit f8809249906811683e7e8d2a7b8cdcccde86742a
        !          14704: Author: Martin Mares <mj@ucw.cz>
        !          14705: Date:   Sat Apr 1 09:17:33 2000 +0000
        !          14706: 
        !          14707:     BGP now handles incoming routes (IPv4 only).
        !          14708: 
        !          14709: commit 85810613993913831822b84ab7a9792a88fc7a8f
        !          14710: Author: Martin Mares <mj@ucw.cz>
        !          14711: Date:   Sat Apr 1 09:16:42 2000 +0000
        !          14712: 
        !          14713:     When tracing, always print incoming part of the trace before the outgoing one.
        !          14714:     
        !          14715:     Avoid buffer overflows in `show routes' command.
        !          14716: 
        !          14717: commit 798df5b1ab6b497d8d9d6d51764f5aef4eb2d567
        !          14718: Author: Martin Mares <mj@ucw.cz>
        !          14719: Date:   Sat Apr 1 09:15:55 2000 +0000
        !          14720: 
        !          14721:     When processing ACCEPT/REJECT carrying no message, don't print
        !          14722:     trailing newline.
        !          14723:     
        !          14724:     I hope the fix is correct, but please check.
        !          14725: 
        !          14726: commit b157361533412de2123787a412e6e463c0b2f13a
        !          14727: Author: Martin Mares <mj@ucw.cz>
        !          14728: Date:   Sat Apr 1 09:15:10 2000 +0000
        !          14729: 
        !          14730:     SOURCE should really refer to rta->source, not rta->gw.
        !          14731:     
        !          14732:     Please check that all rta attributes are available, I guess that at
        !          14733:     least rta->dest is missing.
        !          14734: 
        !          14735: commit 499cb346f6fb29f9157e12942484c8b4362597c3
        !          14736: Author: Ondrej Filip <feela@network.cz>
        !          14737: Date:   Sat Apr 1 02:45:49 2000 +0000
        !          14738: 
        !          14739:     LSA checksum works. But it's very uneficient on little endian systems.
        !          14740: 
        !          14741: commit ac4b4683aee8e5aa566b0b5f99bd940bc10d9b71
        !          14742: Author: Martin Mares <mj@ucw.cz>
        !          14743: Date:   Fri Mar 31 23:40:00 2000 +0000
        !          14744: 
        !          14745:     Removal of useless includes continues...
        !          14746: 
        !          14747: commit 3cf4a2e2b03d00adce703cd1dc961eea77b7a57b
        !          14748: Author: Martin Mares <mj@ucw.cz>
        !          14749: Date:   Fri Mar 31 23:35:59 2000 +0000
        !          14750: 
        !          14751:     Removed lots of superfluous includes.
        !          14752:     
        !          14753:     Use debug() instead of printf().
        !          14754: 
        !          14755: commit a37410cbddfadca651c795e9817f66c54374a943
        !          14756: Author: Martin Mares <mj@ucw.cz>
        !          14757: Date:   Fri Mar 31 23:33:03 2000 +0000
        !          14758: 
        !          14759:     Use bsprintf() instead of sprintf().
        !          14760: 
        !          14761: commit 221135d6bf256c85b4aeb08881d6262f6eaadff4
        !          14762: Author: Martin Mares <mj@ucw.cz>
        !          14763: Date:   Fri Mar 31 23:30:21 2000 +0000
        !          14764: 
        !          14765:     Include "lib/string.h" instead of <string.h>. It should give us bzero()
        !          14766:     and other non-portable functions on all systems.
        !          14767: 
        !          14768: commit c00d31befab5a7e932231f7a8050547c72c94631
        !          14769: Author: Martin Mares <mj@ucw.cz>
        !          14770: Date:   Fri Mar 31 23:21:37 2000 +0000
        !          14771: 
        !          14772:     Parsing of BGP attributes.
        !          14773: 
        !          14774: commit 08732b71784b640aebbea88d4452f4c5987d0a09
        !          14775: Author: Martin Mares <mj@ucw.cz>
        !          14776: Date:   Fri Mar 31 23:21:19 2000 +0000
        !          14777: 
        !          14778:     Fixed bug in processing of dynamic attributes.
        !          14779: 
        !          14780: commit 65e55e9cca38828980123ea64fe203d799a20810
        !          14781: Author: Ondrej Filip <feela@network.cz>
        !          14782: Date:   Fri Mar 31 01:40:12 2000 +0000
        !          14783: 
        !          14784:     Checksum changes. Bug is still NOT fixed. :-(
        !          14785: 
        !          14786: commit 9f940976d10e6295f78adf4afb1868a7ed6cac73
        !          14787: Author: Ondrej Filip <feela@network.cz>
        !          14788: Date:   Fri Mar 31 01:14:41 2000 +0000
        !          14789: 
        !          14790:     Some bug fixes. LSA checksum is still bad. I'll fix it later.
        !          14791: 
        !          14792: commit f45fd3164bf2f9342e12e867f8d68c7fc77d3177
        !          14793: Author: Ondrej Filip <feela@network.cz>
        !          14794: Date:   Fri Mar 31 00:21:41 2000 +0000
        !          14795: 
        !          14796:     Sending of lspd as responce to lsreq done.
        !          14797: 
        !          14798: commit 14a7921c83f0ecfc8793b3a38e4ac16ae9bd75d3
        !          14799: Author: Ondrej Filip <feela@network.cz>
        !          14800: Date:   Thu Mar 30 20:18:51 2000 +0000
        !          14801: 
        !          14802:     LSA structure changes. (Len added.)
        !          14803: 
        !          14804: commit de769e24c01ff0c4aa573d9b4cec833dcae182d2
        !          14805: Author: Ondrej Filip <feela@network.cz>
        !          14806: Date:   Thu Mar 30 20:00:42 2000 +0000
        !          14807: 
        !          14808:     Skeleton structures and files added.
        !          14809: 
        !          14810: commit 95eb1dba3ffe810bd876546ca4580af3bccdf181
        !          14811: Author: Ondrej Filip <feela@network.cz>
        !          14812: Date:   Thu Mar 30 19:37:26 2000 +0000
        !          14813: 
        !          14814:     Add hashing to link state request list.
        !          14815: 
        !          14816: commit 76915ec9798a2c067ef05c6fb94cea58af12128e
        !          14817: Author: Ondrej Filip <feela@network.cz>
        !          14818: Date:   Thu Mar 30 19:21:17 2000 +0000
        !          14819: 
        !          14820:     Minor changes.
        !          14821: 
        !          14822: commit 973399ae2c21b41983a35fe71657fb41351d99e6
        !          14823: Author: Martin Mares <mj@ucw.cz>
        !          14824: Date:   Thu Mar 30 18:44:23 2000 +0000
        !          14825: 
        !          14826:     Basic analysis of UPDATE packets.
        !          14827: 
        !          14828: commit b552ecc4d7ddb1b960aa26b96ebea95a3af72043
        !          14829: Author: Martin Mares <mj@ucw.cz>
        !          14830: Date:   Thu Mar 30 17:39:48 2000 +0000
        !          14831: 
        !          14832:     Connection state machine works.
        !          14833: 
        !          14834: commit ce0603a6eda81b97d6db021c91b86cb4c920eb04
        !          14835: Author: Ondrej Filip <feela@network.cz>
        !          14836: Date:   Thu Mar 30 16:22:58 2000 +0000
        !          14837: 
        !          14838:     Better list manipulation.
        !          14839: 
        !          14840: commit 3fdbafb6f49946f15d0c10d311dd35479bf6c0f1
        !          14841: Author: Martin Mares <mj@ucw.cz>
        !          14842: Date:   Thu Mar 30 10:44:20 2000 +0000
        !          14843: 
        !          14844:     More BGP. This time it connects, but the state machine still isn't complete.
        !          14845: 
        !          14846: commit 320f41735795b51c51a9f5c976a2335a9ec96e32
        !          14847: Author: Martin Mares <mj@ucw.cz>
        !          14848: Date:   Thu Mar 30 10:43:37 2000 +0000
        !          14849: 
        !          14850:     Defined sk_close() which closes the socket safely even if called from
        !          14851:     socket hook. Replaces the SK_DELETED hack.
        !          14852:     
        !          14853:     Squashed a couple of bugs in handling of TCP sockets.
        !          14854: 
        !          14855: commit 3a6337ecb2f6e5c8454a8416214c60432611aaa6
        !          14856: Author: Martin Mares <mj@ucw.cz>
        !          14857: Date:   Thu Mar 30 08:50:46 2000 +0000
        !          14858: 
        !          14859:     Use FF_FORCE_TMPATTR where appropriate.
        !          14860: 
        !          14861: commit 3076b5aedc1d348413276b361806053e80dca7c6
        !          14862: Author: Martin Mares <mj@ucw.cz>
        !          14863: Date:   Thu Mar 30 08:50:30 2000 +0000
        !          14864: 
        !          14865:     Renamed FF_OUTGOING to FF_FORCE_TMPATTR which much better fits the semantics.
        !          14866:     
        !          14867:     Call rte_cow() instead of rte_do_cow(), so that COW works properly.
        !          14868:     
        !          14869:     Stripped "\n" off several (de)bug messages.
        !          14870: 
        !          14871: commit 6d2b32114feadb283cb988daa7ed80142aa8c4d1
        !          14872: Author: Ondrej Filip <feela@network.cz>
        !          14873: Date:   Thu Mar 30 00:18:59 2000 +0000
        !          14874: 
        !          14875:     LSreq initial work.
        !          14876: 
        !          14877: commit 3ee2310c5dccebe2b63098ab478b5b1d61e4fcb2
        !          14878: Author: Martin Mares <mj@ucw.cz>
        !          14879: Date:   Wed Mar 29 22:57:46 2000 +0000
        !          14880: 
        !          14881:     Avoid conflicts with libraries defining their own xmalloc by defining
        !          14882:     xmalloc to bird_xmalloc internally.
        !          14883: 
        !          14884: commit 2560c8860eeed2e352c394aec920a4f696563e6c
        !          14885: Author: Ondrej Filip <feela@network.cz>
        !          14886: Date:   Wed Mar 29 17:51:40 2000 +0000
        !          14887: 
        !          14888:     Slave bug fix.
        !          14889: 
        !          14890: commit 910e557b47f52bf38aa923a69249670d71befc02
        !          14891: Author: Ondrej Filip <feela@network.cz>
        !          14892: Date:   Wed Mar 29 17:18:06 2000 +0000
        !          14893: 
        !          14894:     Many changes in dbdes sending & receiving. EXDONE caused.
        !          14895: 
        !          14896: commit 315648af8ed75c91e0dd82748a933963b9e0c4ec
        !          14897: Author: Ondrej Filip <feela@network.cz>
        !          14898: Date:   Wed Mar 29 13:02:58 2000 +0000
        !          14899: 
        !          14900:     RXMT timer handling bug fix.
        !          14901: 
        !          14902: commit 3fba20968816a9dbd4565fd6806f29d72d73f638
        !          14903: Author: Ondrej Filip <feela@network.cz>
        !          14904: Date:   Wed Mar 29 12:47:07 2000 +0000
        !          14905: 
        !          14906:     Some FIXME added.
        !          14907: 
        !          14908: commit 96501dfe5f6fd7a2837aee910c78f147e54e4f0b
        !          14909: Author: Ondrej Filip <feela@network.cz>
        !          14910: Date:   Wed Mar 29 12:45:37 2000 +0000
        !          14911: 
        !          14912:     Sending of DBdes bug fixed.
        !          14913: 
        !          14914: commit 04c6319a630e9e18bc45da5e5b1c1f11d726c261
        !          14915: Author: Ondrej Filip <feela@network.cz>
        !          14916: Date:   Wed Mar 29 12:32:25 2000 +0000
        !          14917: 
        !          14918:     IMMS reverted to bits. Outgoing packets dumping added.
        !          14919:     Cisco does not set inteface MTU. Hmm....
        !          14920: 
        !          14921: commit 0a06a9b8b3dbd59c850303c49eea97c12e1ac0ff
        !          14922: Author: Pavel Machek <pavel@ucw.cz>
        !          14923: Date:   Wed Mar 29 09:02:00 2000 +0000
        !          14924: 
        !          14925:     f_run gets one more parameter to distinguish between in and out modes.
        !          14926: 
        !          14927: commit 8d2e3eba92e339f0635e0cb2fbfb49482b26295a
        !          14928: Author: Pavel Machek <pavel@ucw.cz>
        !          14929: Date:   Wed Mar 29 08:58:06 2000 +0000
        !          14930: 
        !          14931:     Cross-protocol issues solved better
        !          14932: 
        !          14933: commit 963ea03d872db30e1a0d0216e488b1960590af2d
        !          14934: Author: Ondrej Filip <feela@network.cz>
        !          14935: Date:   Wed Mar 29 00:34:28 2000 +0000
        !          14936: 
        !          14937:     DBdes sending/receiving changes.
        !          14938: 
        !          14939: commit d0031c5ee94b29b7a5419a0504c160e424d970b0
        !          14940: Author: Pavel Machek <pavel@ucw.cz>
        !          14941: Date:   Mon Mar 27 12:21:11 2000 +0000
        !          14942: 
        !          14943:     Use neigh_connected_to in rip, and behave more correctly
        !          14944:     w.r.t. whotoldme and nexthop.
        !          14945: 
        !          14946: commit 200accf396b869267fd707b56afddb27d8479acc
        !          14947: Author: Martin Mares <mj@ucw.cz>
        !          14948: Date:   Mon Mar 27 12:16:37 2000 +0000
        !          14949: 
        !          14950:     if_connected() is again private.
        !          14951:     
        !          14952:     Introduced neigh_connected_to() to serve the same purpose efficiently.
        !          14953: 
        !          14954: commit 6480dd08803bc46bcd19b466ac6c499699d17448
        !          14955: Author: Pavel Machek <pavel@ucw.cz>
        !          14956: Date:   Sun Mar 26 21:31:57 2000 +0000
        !          14957: 
        !          14958:     I broke compilation. Sorry.
        !          14959: 
        !          14960: commit 8c86f96fa6f783326455f8a8d88a242cd8dd9f1b
        !          14961: Author: Pavel Machek <pavel@ucw.cz>
        !          14962: Date:   Sun Mar 26 18:01:27 2000 +0000
        !          14963: 
        !          14964:     Split horizont done right.
        !          14965:     
        !          14966:     Locks done better.
        !          14967: 
        !          14968: commit 697711be2cf6b5da140b8c12c301affa53488021
        !          14969: Author: Pavel Machek <pavel@ucw.cz>
        !          14970: Date:   Sun Mar 26 18:00:45 2000 +0000
        !          14971: 
        !          14972:     if_connected is usefull outside of neighbour cache.
        !          14973: 
        !          14974: commit 9ee07ca53fd94ad72b7cb2776cc15f13a026a910
        !          14975: Author: Pavel Machek <pavel@ucw.cz>
        !          14976: Date:   Fri Mar 24 10:08:20 2000 +0000
        !          14977: 
        !          14978:     FIXME was actually already resolved
        !          14979: 
        !          14980: commit 772f489932cf24d7a408835ac67f7b4f4d85a1eb
        !          14981: Author: Pavel Machek <pavel@ucw.cz>
        !          14982: Date:   Thu Mar 23 12:08:40 2000 +0000
        !          14983: 
        !          14984:     Minor change to make code more readable.
        !          14985: 
        !          14986: commit ff8ed6328595c77e8b0ed3ed4cea3fb4d9bb141d
        !          14987: Author: Pavel Machek <pavel@ucw.cz>
        !          14988: Date:   Wed Mar 22 14:26:03 2000 +0000
        !          14989: 
        !          14990:     Rip now tries to lock interface.
        !          14991:     
        !          14992:     Fixed fatal errors which caused segfault at startup.
        !          14993:     
        !          14994:     Fixed fatal errors in rip which caused it not to send more than first
        !          14995:     update.
        !          14996: 
        !          14997: commit ba4466701aed032f947272dead47b3abc7bb7a3f
        !          14998: Author: Pavel Machek <pavel@ucw.cz>
        !          14999: Date:   Wed Mar 22 14:23:40 2000 +0000
        !          15000: 
        !          15001:     Format of dates changed, so rip authentication is now commented out.
        !          15002: 
        !          15003: commit 72a6ef11fe6589d0f4d5158c207ff8a0669becc3
        !          15004: Author: Martin Mares <mj@ucw.cz>
        !          15005: Date:   Tue Mar 21 15:53:50 2000 +0000
        !          15006: 
        !          15007:     Construction of BGP packets.
        !          15008: 
        !          15009: commit a8f944cb6e6c75c1aac2500ccf1f3905c4c3fd7a
        !          15010: Author: Martin Mares <mj@ucw.cz>
        !          15011: Date:   Tue Mar 21 15:51:30 2000 +0000
        !          15012: 
        !          15013:     Wrote real version of unaligned data access functions (needed for BGP).
        !          15014: 
        !          15015: commit c01e37416d09a92bf838250a15fe99fdc48bc010
        !          15016: Author: Martin Mares <mj@ucw.cz>
        !          15017: Date:   Mon Mar 20 21:50:17 2000 +0000
        !          15018: 
        !          15019:     Started work on BGP. Wrote main part of the connection handling code.
        !          15020: 
        !          15021: commit 1cf716f0751ce1d146d6d5114cb36686844d4817
        !          15022: Author: Martin Mares <mj@ucw.cz>
        !          15023: Date:   Mon Mar 20 21:49:21 2000 +0000
        !          15024: 
        !          15025:     Handle EINPROGRESS properly.
        !          15026:     
        !          15027:     Set IP_DONTROUTE sockopt only if sk->ttl == 1.
        !          15028: 
        !          15029: commit 267a2c0ebd980c16c1cf01044b0ee44095f34b9e
        !          15030: Author: Martin Mares <mj@ucw.cz>
        !          15031: Date:   Mon Mar 20 20:52:18 2000 +0000
        !          15032: 
        !          15033:     Added missing newline in debug output.
        !          15034: 
        !          15035: commit ca97b489de8cca61d1affa49983b7cdc1c81cf96
        !          15036: Author: Martin Mares <mj@ucw.cz>
        !          15037: Date:   Mon Mar 20 18:45:03 2000 +0000
        !          15038: 
        !          15039:     Define new data types for BGP.
        !          15040: 
        !          15041: commit 2638249d34cc7f600fba25edd29538c00a3aca31
        !          15042: Author: Martin Mares <mj@ucw.cz>
        !          15043: Date:   Sun Mar 19 22:09:07 2000 +0000
        !          15044: 
        !          15045:     Bare skeleton of the BGP.
        !          15046: 
        !          15047: commit 349e21bb0bb7584fb18c19859d876893c3130947
        !          15048: Author: Martin Mares <mj@ucw.cz>
        !          15049: Date:   Sun Mar 19 21:59:24 2000 +0000
        !          15050: 
        !          15051:     Protocol tracing: Don't dump core on filtered out routes.
        !          15052: 
        !          15053: commit 856b87d1e4c44608df5debd8e4246a3c4026bbcb
        !          15054: Author: Pavel Machek <pavel@ucw.cz>
        !          15055: Date:   Mon Mar 13 13:31:00 2000 +0000
        !          15056: 
        !          15057:     Cleanup, mostly debugging messages.
        !          15058: 
        !          15059: commit abf2be7d0cabc3c8c021b6f6784cf63610571715
        !          15060: Author: Martin Mares <mj@ucw.cz>
        !          15061: Date:   Sun Mar 12 23:04:04 2000 +0000
        !          15062: 
        !          15063:     Add internal commands of the client to the command list.
        !          15064: 
        !          15065: commit 971b2310ae4d367d608e34e9465ad5d2c65e505d
        !          15066: Author: Martin Mares <mj@ucw.cz>
        !          15067: Date:   Sun Mar 12 22:55:09 2000 +0000
        !          15068: 
        !          15069:     Commands which failed expansions are to be stored to history, too.
        !          15070: 
        !          15071: commit f098e072bec8d5858afbf713635217ea84c7e45d
        !          15072: Author: Martin Mares <mj@ucw.cz>
        !          15073: Date:   Sun Mar 12 22:53:05 2000 +0000
        !          15074: 
        !          15075:     Fixed a bunch of FIXME's by removing them :)
        !          15076: 
        !          15077: commit 432709027680d7791b325b2c2116c658eba21c8d
        !          15078: Author: Martin Mares <mj@ucw.cz>
        !          15079: Date:   Sun Mar 12 22:44:54 2000 +0000
        !          15080: 
        !          15081:     Made `show status' show uptime and time of last reconfiguration.
        !          15082: 
        !          15083: commit 7a88832e78cbc18db109c091d74f6d27284cff44
        !          15084: Author: Martin Mares <mj@ucw.cz>
        !          15085: Date:   Sun Mar 12 22:43:13 2000 +0000
        !          15086: 
        !          15087:     Added tm_format_datetime().
        !          15088: 
        !          15089: commit 81ce667b7b7c38e109984602cf4e5ecbec80f7f1
        !          15090: Author: Martin Mares <mj@ucw.cz>
        !          15091: Date:   Sun Mar 12 22:40:07 2000 +0000
        !          15092: 
        !          15093:     Don't crash when filter_same() gets called on FILTER_ACCEPT or FILTER_REJECT.
        !          15094: 
        !          15095: commit a92bebe0ec3545b1f99909d20224977aa6da1827
        !          15096: Author: Martin Mares <mj@ucw.cz>
        !          15097: Date:   Sun Mar 12 21:58:51 2000 +0000
        !          15098: 
        !          15099:     Yet another LOCAL_DEBUG turned off.
        !          15100: 
        !          15101: commit 832fa033b7ecacf3225d7aa8c86e30484a07d946
        !          15102: Author: Martin Mares <mj@ucw.cz>
        !          15103: Date:   Sun Mar 12 21:54:39 2000 +0000
        !          15104: 
        !          15105:     Cleaned up debugging in kernel syncer.  Netlink has still LOCAL_DEBUG
        !          15106:     turned on, but after some testing I'll gag it.
        !          15107: 
        !          15108: commit e68dd11c43ebec527da69da7b093ae90ef6d6ea9
        !          15109: Author: Martin Mares <mj@ucw.cz>
        !          15110: Date:   Sun Mar 12 21:47:25 2000 +0000
        !          15111: 
        !          15112:     Use do { } while(0) instead of empty DBG if not debugging.
        !          15113: 
        !          15114: commit 6b9fa320806ce8a734d865ebcb8052ba0e50c527
        !          15115: Author: Martin Mares <mj@ucw.cz>
        !          15116: Date:   Sun Mar 12 21:01:38 2000 +0000
        !          15117: 
        !          15118:     Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
        !          15119:     several debug() calls converted to DBG().
        !          15120: 
        !          15121: commit 6a9f28b0b9254ba21c36126d6f10388815840001
        !          15122: Author: Martin Mares <mj@ucw.cz>
        !          15123: Date:   Sun Mar 12 20:50:35 2000 +0000
        !          15124: 
        !          15125:     Added tracing of interface events.
        !          15126: 
        !          15127: commit b0a47440e33e7a270205130b01d59faadb6b6726
        !          15128: Author: Martin Mares <mj@ucw.cz>
        !          15129: Date:   Sun Mar 12 20:49:08 2000 +0000
        !          15130: 
        !          15131:     Oops, got `<' and `>' markers in trace output reversed.
        !          15132: 
        !          15133: commit cfd46ee4c5b0d3689f8f9d094a68bc4b732cd0af
        !          15134: Author: Martin Mares <mj@ucw.cz>
        !          15135: Date:   Sun Mar 12 20:30:53 2000 +0000
        !          15136: 
        !          15137:     Added debugging of communication between protocols and routing tables.
        !          15138:     Just ask for "debug routes" if you want to see the routes and "debug filters"
        !          15139:     if you want even the rejected ones.
        !          15140: 
        !          15141: commit c8d5ffafb7c7e644048691221ca9d56ec68925a0
        !          15142: Author: Pavel Machek <pavel@ucw.cz>
        !          15143: Date:   Fri Mar 10 20:21:12 2000 +0000
        !          15144: 
        !          15145:     Fix <=, >=, !=
        !          15146: 
        !          15147: commit ce17d4c165cadb09d391e34cda1b796a125ef012
        !          15148: Author: Ondrej Filip <feela@network.cz>
        !          15149: Date:   Thu Mar 9 22:38:05 2000 +0000
        !          15150: 
        !          15151:     LSA DB is completely redesigned. Now it should be faster and it needs
        !          15152:     less memory.
        !          15153: 
        !          15154: commit af834f8630eb0078c723fb9b0af053dba6725d5e
        !          15155: Author: Pavel Machek <pavel@ucw.cz>
        !          15156: Date:   Thu Mar 9 16:38:51 2000 +0000
        !          15157: 
        !          15158:     Categorized TRACE() messages in rip
        !          15159: 
        !          15160: commit cb822c0777657703e546bc99a7e5b646abe83d3f
        !          15161: Author: Pavel Machek <pavel@ucw.cz>
        !          15162: Date:   Thu Mar 9 15:12:41 2000 +0000
        !          15163: 
        !          15164:     Rip tracing: still need config hunk to set p->debug.
        !          15165: 
        !          15166: commit 38466dbdacc706d7a6abcf348c448bd9f8fb01d4
        !          15167: Author: Pavel Machek <pavel@ucw.cz>
        !          15168: Date:   Thu Mar 9 14:59:10 2000 +0000
        !          15169: 
        !          15170:     log() classes done right
        !          15171: 
        !          15172: commit 995e5894cd9872603bc7c0ffd79fef96e4839006
        !          15173: Author: Pavel Machek <pavel@ucw.cz>
        !          15174: Date:   Thu Mar 9 14:47:43 2000 +0000
        !          15175: 
        !          15176:     1 less shift/reduce conflict
        !          15177:     
        !          15178:     print now takes arguments separated by ,
        !          15179:     
        !          15180:     [ 1.2.3.0/24 .. 3.4.5.0/8 ] is now forbidden
        !          15181:     
        !          15182:     [ 1.2.3.0/8 ] now actually works
        !          15183: 
        !          15184: commit e4a73dbfcbb24a6a01ca960b641ce29d5045b3ba
        !          15185: Author: Pavel Machek <pavel@ucw.cz>
        !          15186: Date:   Thu Mar 9 13:21:40 2000 +0000
        !          15187: 
        !          15188:     CONST() is now gone
        !          15189: 
        !          15190: commit 30147b89ff3a389ad40096505f3d1a5ba1705736
        !          15191: Author: Ondrej Filip <feela@network.cz>
        !          15192: Date:   Wed Mar 8 12:50:28 2000 +0000
        !          15193: 
        !          15194:     Sending of DBDes. (Checksum and length calculation NOT done.)
        !          15195: 
        !          15196: commit 839380d7ecd133531ead2403c6dbc74950dad13c
        !          15197: Author: Martin Mares <mj@ucw.cz>
        !          15198: Date:   Tue Mar 7 21:50:21 2000 +0000
        !          15199: 
        !          15200:     Added debugging of protocol state transitions.
        !          15201: 
        !          15202: commit f30b86f9d5004a3e159c385269e76efc71b1566a
        !          15203: Author: Martin Mares <mj@ucw.cz>
        !          15204: Date:   Tue Mar 7 21:50:03 2000 +0000
        !          15205: 
        !          15206:     Added configuration of default protocol debugging flags.
        !          15207: 
        !          15208: commit 3eb0b586ca93b1d0d34f935cac8524e02f708126
        !          15209: Author: Martin Mares <mj@ucw.cz>
        !          15210: Date:   Tue Mar 7 21:04:36 2000 +0000
        !          15211: 
        !          15212:     No longer echoes commands before sending them.
        !          15213: 
        !          15214: commit 3cbfcafecdf4f3dd1b201e0adf849f9959284c87
        !          15215: Author: Martin Mares <mj@ucw.cz>
        !          15216: Date:   Tue Mar 7 21:04:14 2000 +0000
        !          15217: 
        !          15218:     DBG calls debug() if defined(LOCAL_DEBUG) || defined(GLOBAL_DEBUG).
        !          15219: 
        !          15220: commit 96d8e3bff242d5c9d0eb75fa04a21f6c09d8dbcf
        !          15221: Author: Martin Mares <mj@ucw.cz>
        !          15222: Date:   Tue Mar 7 20:49:48 2000 +0000
        !          15223: 
        !          15224:     Added protocol debugging flags (protocol.h: D_xxx), parsing of them
        !          15225:     in configuration files and commands for manipulating them.
        !          15226:     
        !          15227:     Current debug message policy:
        !          15228:     
        !          15229:        o  D_STATES, D_ROUTES and D_FILTERS are handled in generic code.
        !          15230:        o  Other debug flags should be handled in the protocols and whenever
        !          15231:           the flag is set, the corresponding messages should be printed
        !          15232:           using calls to log(L_TRACE, ...), each message prefixed with
        !          15233:           the name of the protocol instance. These messages should cover
        !          15234:           the whole normal operation of the protocol and should be useful
        !          15235:           for an administrator trying to understand what does the protocol
        !          15236:           behave on his network or who is attempting to diagnose network
        !          15237:           problems. If your messages don't fit to the categories I've defined,
        !          15238:           feel free to add your own ones (by adding them to protocol.h
        !          15239:           and on two places in nest/config.Y), but please try to keep the
        !          15240:           categories as general as possible (i.e., not tied to your protocol).
        !          15241:        o  Internal debug messages not interesting even to an experienced
        !          15242:           user should be printed by calling DBG() which is either void or
        !          15243:           a call to debug() depending on setting of the LOCAL_DEBUG symbol
        !          15244:           at the top of your source.
        !          15245:        o  Dump functions (proto->dump etc.) should call debug() to print
        !          15246:           their messages.
        !          15247:        o  If you are doing any internal consistency checks, use ASSERT
        !          15248:           or bug().
        !          15249:        o  Nobody shall ever call printf() or any other stdio functions.
        !          15250:     
        !          15251:     Also please try to log any protocol errors you encounter and tag them
        !          15252:     with the appropriate message category (usually L_REMOTE or L_AUTH). Always
        !          15253:     carefully check contents of any message field you receive and verify all
        !          15254:     IP addresses you work with (by calling ipa_classify() or by using the
        !          15255:     neighbour cache if you want to check direct connectedness as well).
        !          15256: 
        !          15257: commit c801e1fbabee49838287a9e96814d3d0bf84ffa2
        !          15258: Author: Martin Mares <mj@ucw.cz>
        !          15259: Date:   Tue Mar 7 20:09:35 2000 +0000
        !          15260: 
        !          15261:     Renamed command `shutdown' to `down', so that `s' can be used as an
        !          15262:     abbreviation for `show'.
        !          15263: 
        !          15264: commit 3549667925d04fa6a46ea35f56a9d3c741634d6a
        !          15265: Author: Martin Mares <mj@ucw.cz>
        !          15266: Date:   Sun Mar 5 22:48:30 2000 +0000
        !          15267: 
        !          15268:     Implemented real slab allocator. If you suspect it from being buggy,
        !          15269:     just #define FAKE_SLAB at the top of lib/slab.c to bypass it.
        !          15270: 
        !          15271: commit 9f4929e749d945c727f245ed7ef30c557124c352
        !          15272: Author: Martin Mares <mj@ucw.cz>
        !          15273: Date:   Sat Mar 4 22:30:44 2000 +0000
        !          15274: 
        !          15275:     Renamed EAF_INLINE to EAF_TEMP to make the name reflect the real meaning.
        !          15276: 
        !          15277: commit b9626ec6eaf299b889f52d017d025f356b43371a
        !          15278: Author: Martin Mares <mj@ucw.cz>
        !          15279: Date:   Sat Mar 4 22:21:06 2000 +0000
        !          15280: 
        !          15281:     Garbage collector events and counters are now per table and one day
        !          15282:     they can be made configurable if it turns out to be useful.
        !          15283: 
        !          15284: commit 16c07e3d519b87a2166a513dd4edd8dab3bc3d19
        !          15285: Author: Martin Mares <mj@ucw.cz>
        !          15286: Date:   Sat Mar 4 21:27:57 2000 +0000
        !          15287: 
        !          15288:     Removed bogus comment.
        !          15289: 
        !          15290: commit 54fb7701a21693eb7a51342eb98d663dd7324e8a
        !          15291: Author: Martin Mares <mj@ucw.cz>
        !          15292: Date:   Sat Mar 4 21:26:35 2000 +0000
        !          15293: 
        !          15294:     Fixed display of short continued messages in verbose mode.
        !          15295: 
        !          15296: commit c7814f01fc5fb51ae4054833ea8074ab9bcc86de
        !          15297: Author: Martin Mares <mj@ucw.cz>
        !          15298: Date:   Sat Mar 4 21:26:19 2000 +0000
        !          15299: 
        !          15300:     Enabled short continuations.
        !          15301: 
        !          15302: commit a58dad62383855ad1a60d4ec5406c38d24874506
        !          15303: Author: Martin Mares <mj@ucw.cz>
        !          15304: Date:   Sat Mar 4 21:19:10 2000 +0000
        !          15305: 
        !          15306:     Please *think* when defining operator priorities.
        !          15307:     
        !          15308:     (-: num_of_parser_conflicts -= 42 :-)
        !          15309: 
        !          15310: commit ee76a92a80a0241421f57fe332c251255d2af4f8
        !          15311: Author: Martin Mares <mj@ucw.cz>
        !          15312: Date:   Sat Mar 4 21:09:14 2000 +0000
        !          15313: 
        !          15314:     Implemented real attribute cache.
        !          15315: 
        !          15316: commit d4d7562806b7306d6e5ed9b759906e264b743dc5
        !          15317: Author: Pavel Machek <pavel@ucw.cz>
        !          15318: Date:   Thu Mar 2 22:23:18 2000 +0000
        !          15319: 
        !          15320:     Avoid being exponential, do not allow ! =
        !          15321: 
        !          15322: commit c8518ae136d94dc9576531a311947ba13213aea0
        !          15323: Author: Martin Mares <mj@ucw.cz>
        !          15324: Date:   Wed Mar 1 15:05:43 2000 +0000
        !          15325: 
        !          15326:     Removed RTF_EXTERIOR and RTF_TAGGED (unused).
        !          15327: 
        !          15328: commit 85053fce04a2cba09332a6eb667f09f9c4182392
        !          15329: Author: Martin Mares <mj@ucw.cz>
        !          15330: Date:   Wed Mar 1 14:51:47 2000 +0000
        !          15331: 
        !          15332:     Reimplemented neighbor cache. Now uses real hashing.
        !          15333: 
        !          15334: commit 7293c5dd8175aac4650cb48c68c7dd278a74371e
        !          15335: Author: Martin Mares <mj@ucw.cz>
        !          15336: Date:   Wed Mar 1 14:49:07 2000 +0000
        !          15337: 
        !          15338:     Added proto->hash_key which contains randomly generated hash key used
        !          15339:     for calculation of hash functions depending on proto.
        !          15340: 
        !          15341: commit 62ab789de5f5ace97a93fce551469f0229ba8c92
        !          15342: Author: Pavel Machek <pavel@ucw.cz>
        !          15343: Date:   Wed Mar 1 14:42:59 2000 +0000
        !          15344: 
        !          15345:     Added type parameter to f_new_dynamic_attr.
        !          15346: 
        !          15347: commit 31e79264a21df1acdbfbb66af40e05073b115a2c
        !          15348: Author: Pavel Machek <pavel@ucw.cz>
        !          15349: Date:   Wed Mar 1 14:31:31 2000 +0000
        !          15350: 
        !          15351:     tmp_attrs fixed.
        !          15352:     
        !          15353:     I do not know if it is right since mj ingores talk once started :-(.
        !          15354: 
        !          15355: commit 4ebbbd4079cbf6295367b9c7a555c1b668fa0d8c
        !          15356: Author: Martin Mares <mj@ucw.cz>
        !          15357: Date:   Wed Mar 1 12:15:20 2000 +0000
        !          15358: 
        !          15359:     Changed comments regarding hash function.
        !          15360: 
        !          15361: commit 14a6c2a705fce9143e721b8da167dcbaa053c936
        !          15362: Author: Martin Mares <mj@ucw.cz>
        !          15363: Date:   Wed Mar 1 12:03:43 2000 +0000
        !          15364: 
        !          15365:     IP_PREC_INTERNET_CONTROL for IPv6 (see the comment).
        !          15366: 
        !          15367: commit 4c1b4e1a582ea8d13943c46ad87588d5743439cb
        !          15368: Author: Martin Mares <mj@ucw.cz>
        !          15369: Date:   Wed Mar 1 11:48:11 2000 +0000
        !          15370: 
        !          15371:     If the user has specified identical preferences for instances of different
        !          15372:     protocols, break the tie by comparing addresses, so we keep the ordering
        !          15373:     unambiguous.
        !          15374: 
        !          15375: commit aee539f241dd233eb9e716e11ee2c449ab482a75
        !          15376: Author: Martin Mares <mj@ucw.cz>
        !          15377: Date:   Wed Mar 1 11:42:13 2000 +0000
        !          15378: 
        !          15379:     Made `datetime' more user friendly. Now it should be a quoted string
        !          15380:     of type "dd-mm-yyyy".
        !          15381: 
        !          15382: commit db1326aa5e39711d88d305ac08a0afa137ab77f0
        !          15383: Author: Martin Mares <mj@ucw.cz>
        !          15384: Date:   Wed Mar 1 11:32:23 2000 +0000
        !          15385: 
        !          15386:     Dynamic attributes are now declared in per-protocol grammar files instead
        !          15387:     of filter/config.Y. Bird now compiles even if you disable RIP.
        !          15388:     
        !          15389:     Removed RTA and IMPOSSIBLE tokens (unused).
        !          15390:     
        !          15391:     Removed superfluous comment in filter.h.
        !          15392:     
        !          15393:     I've tried to do my best, but Pavel, please check these changes.
        !          15394: 
        !          15395: commit 2ca3d9a8fc25be6f7d41d8a6ff50a70612c11c93
        !          15396: Author: Martin Mares <mj@ucw.cz>
        !          15397: Date:   Wed Mar 1 11:30:16 2000 +0000
        !          15398: 
        !          15399:     Defined INVALID_TOKEN which is a token guaranteed to be never generated.
        !          15400: 
        !          15401: commit d07bab399735ee80205637f8e180e7595e0c0a67
        !          15402: Author: Martin Mares <mj@ucw.cz>
        !          15403: Date:   Wed Mar 1 11:29:30 2000 +0000
        !          15404: 
        !          15405:     ipa_opposite hack is not applicable in IPv6.
        !          15406: 
        !          15407: commit ef0883a12fc699fbcef61f56fe8445f5e2ac1bb7
        !          15408: Author: Martin Mares <mj@ucw.cz>
        !          15409: Date:   Tue Feb 29 23:20:55 2000 +0000
        !          15410: 
        !          15411:     Adapted RIP to new interface flags. Pavel, please verify it's right.
        !          15412: 
        !          15413: commit 6a636392d33627944df9d5a9573932cdc0bf6da5
        !          15414: Author: Martin Mares <mj@ucw.cz>
        !          15415: Date:   Tue Feb 29 23:19:52 2000 +0000
        !          15416: 
        !          15417:     Rewrote interface type detection logic. The `unnumbered' flag is now per
        !          15418:     address, not per interface (hence it's ifa->flags & IA_UNNUMBERED) and
        !          15419:     should be set reliably. IF_MULTIACCESS should be fixed now, but it isn't
        !          15420:     wise to rely on it on interfaces configured with /30 prefix.
        !          15421: 
        !          15422: commit e69e4ed9349ee28262fe74f70e7e52c181d5d098
        !          15423: Author: Martin Mares <mj@ucw.cz>
        !          15424: Date:   Sun Feb 27 22:00:19 2000 +0000
        !          15425: 
        !          15426:     Support expansion of command abbreviations.
        !          15427:     
        !          15428:     Client considered finished (modulo bugs).
        !          15429: 
        !          15430: commit de30342f97490e3a3626c4a5fbf3352d1d0aa9c8
        !          15431: Author: Ondrej Filip <feela@network.cz>
        !          15432: Date:   Fri Feb 25 19:19:41 2000 +0000
        !          15433: 
        !          15434:     Router LSA & area adding.
        !          15435: 
        !          15436: commit b786df7035f43bb5eb4f7bca980e3bf684e527b7
        !          15437: Author: Ondrej Filip <feela@network.cz>
        !          15438: Date:   Fri Feb 25 14:26:54 2000 +0000
        !          15439: 
        !          15440:     Memory allocation in ospf_area changed.
        !          15441: 
        !          15442: commit 2d496d2028e1283384f1c9d243f96eb59c42297e
        !          15443: Author: Pavel Machek <pavel@ucw.cz>
        !          15444: Date:   Fri Feb 25 11:15:26 2000 +0000
        !          15445: 
        !          15446:     Get rid of 'ab'-s, added return to functions.
        !          15447: 
        !          15448: commit df0cf75dc849f5182d75328f4d4189a2d6048b57
        !          15449: Author: Martin Mares <mj@ucw.cz>
        !          15450: Date:   Thu Feb 24 18:46:24 2000 +0000
        !          15451: 
        !          15452:     Hmmm, libreadline 2.1 seems to be the oldest version we work with.
        !          15453: 
        !          15454: commit 1d4ba6583afa5e6d4118aca0d0a645342d575b68
        !          15455: Author: Martin Mares <mj@ucw.cz>
        !          15456: Date:   Thu Feb 24 18:43:23 2000 +0000
        !          15457: 
        !          15458:     Moan loudly if libreadline is an old version which doesn't support
        !          15459:     callbacks.
        !          15460: 
        !          15461: commit ab56f6b16fd9401565a066122be3231dccd24fb6
        !          15462: Author: Ondrej Filip <feela@network.cz>
        !          15463: Date:   Thu Feb 24 00:26:10 2000 +0000
        !          15464: 
        !          15465:     Area work and router LSA starts when interface goes up.
        !          15466: 
        !          15467: commit ea28da044af9a35407724ba091d9a823c1cfe7e7
        !          15468: Author: Ondrej Filip <feela@network.cz>
        !          15469: Date:   Wed Feb 23 23:23:19 2000 +0000
        !          15470: 
        !          15471:     Small change for debugging.
        !          15472: 
        !          15473: commit 91808fffc22e37b6d558f22db911ad0a3277d694
        !          15474: Author: Ondrej Filip <feela@network.cz>
        !          15475: Date:   Wed Feb 23 23:14:18 2000 +0000
        !          15476: 
        !          15477:     Structures for router LSA added.
        !          15478: 
        !          15479: commit 6fa948d6c5abd0620836f66c654354ce38936f3a
        !          15480: Author: Ondrej Filip <feela@network.cz>
        !          15481: Date:   Wed Feb 23 23:13:27 2000 +0000
        !          15482: 
        !          15483:     Better debugging.
        !          15484: 
        !          15485: commit e6fcf113eca687d4dd888ef41033114ec8be82b9
        !          15486: Author: Ondrej Filip <feela@network.cz>
        !          15487: Date:   Wed Feb 23 23:13:10 2000 +0000
        !          15488: 
        !          15489:     Better debuging.
        !          15490: 
        !          15491: commit fae0396ea4fd9d2530086eef77b8a11b6640d640
        !          15492: Author: Martin Mares <mj@ucw.cz>
        !          15493: Date:   Thu Feb 17 23:37:16 2000 +0000
        !          15494: 
        !          15495:     Completion works. Unfortunately, we have to access a couple of internal
        !          15496:     symbols of libreadline :-(
        !          15497: 
        !          15498: commit 0223d4fff11badc03470b4320fa9dfe28afd1bed
        !          15499: Author: Martin Mares <mj@ucw.cz>
        !          15500: Date:   Thu Feb 17 22:00:13 2000 +0000
        !          15501: 
        !          15502:     Client: Online help works (Cisco style: just press `?' at the end of a line).
        !          15503: 
        !          15504: commit c51f132d582632037b4ef064fbd32d785af245fc
        !          15505: Author: Martin Mares <mj@ucw.cz>
        !          15506: Date:   Tue Feb 15 12:18:37 2000 +0000
        !          15507: 
        !          15508:     First usable version of the client. No command completion and similar nifty
        !          15509:     features yet, but it works.
        !          15510: 
        !          15511: commit 973304bc2b274ffaa6e27612256f6cea4a3a40c1
        !          15512: Author: Martin Mares <mj@ucw.cz>
        !          15513: Date:   Mon Feb 14 17:32:50 2000 +0000
        !          15514: 
        !          15515:     Don't make dependencies in client directory if the client is not
        !          15516:     configured in.
        !          15517: 
        !          15518: commit 4bf6de87379a3458b59275373b9e88611baabb88
        !          15519: Author: Ondrej Filip <feela@network.cz>
        !          15520: Date:   Tue Feb 8 22:43:10 2000 +0000
        !          15521: 
        !          15522:     Hash table structure redesigned.
        !          15523: 
        !          15524: commit 316d7bd7d16ea7ea26831bb7100dd0ac3c63084e
        !          15525: Author: Ondrej Filip <feela@network.cz>
        !          15526: Date:   Tue Feb 8 22:13:12 2000 +0000
        !          15527: 
        !          15528:     Other LS struct added.
        !          15529: 
        !          15530: commit d3cb698053e14b3d35750d92389c34b71503bfc6
        !          15531: Author: Ondrej Filip <feela@network.cz>
        !          15532: Date:   Tue Feb 8 19:24:22 2000 +0000
        !          15533: 
        !          15534:     LSA type changed from u16 to u8.
        !          15535: 
        !          15536: commit c7b915d68c9475ba3a23c99ec7f796ec0a53978b
        !          15537: Author: Ondrej Filip <feela@network.cz>
        !          15538: Date:   Tue Feb 8 19:12:42 2000 +0000
        !          15539: 
        !          15540:     Malloc() changed to cfg_alloc().
        !          15541: 
        !          15542: commit 9a4037d40891321a2f091cb1f1003bb1ee725136
        !          15543: Author: Pavel Machek <pavel@ucw.cz>
        !          15544: Date:   Mon Jan 31 17:44:22 2000 +0000
        !          15545: 
        !          15546:     filter_same() implemented. Don't bet on it, yet.
        !          15547: 
        !          15548: commit 70844a6a46305080d7ada79936fb272beb411cf4
        !          15549: Author: Pavel Machek <pavel@ucw.cz>
        !          15550: Date:   Wed Jan 26 21:28:53 2000 +0000
        !          15551: 
        !          15552:     Updated docs about filters, and added fixme.
        !          15553: 
        !          15554: commit bd215f8bab7e0d94fa482b47ff8d5971cd5ab799
        !          15555: Author: Pavel Machek <pavel@ucw.cz>
        !          15556: Date:   Wed Jan 26 14:12:18 2000 +0000
        !          15557: 
        !          15558:     Do not send empty packets in rip.
        !          15559: 
        !          15560: commit 8660913ba83d66491caf407a7e6eb16a4eeda2d0
        !          15561: Author: Pavel Machek <pavel@ucw.cz>
        !          15562: Date:   Wed Jan 26 12:07:18 2000 +0000
        !          15563: 
        !          15564:     Output made prettier.
        !          15565: 
        !          15566: commit 7211be1cffdee84fd15e8b6b2a07a644948f1455
        !          15567: Author: Martin Mares <mj@ucw.cz>
        !          15568: Date:   Thu Jan 20 13:13:30 2000 +0000
        !          15569: 
        !          15570:     Configure, link and use the readline library.
        !          15571: 
        !          15572: commit 9fac310d1a4e46f4bcc70177e59cbf93763ef479
        !          15573: Author: Martin Mares <mj@ucw.cz>
        !          15574: Date:   Wed Jan 19 15:07:00 2000 +0000
        !          15575: 
        !          15576:     Put client on a stony ground. The whole client is going to be system-specific
        !          15577:     (the current version UNIX-specific) anyway, so it's useless to try splitting it
        !          15578:     to sysdep and generic part. Instead of this, configure script decides (based on
        !          15579:     system type and user's wish) what (if any) client should be built and what
        !          15580:     autoconfiguration it requires. Also, the client provides its own die/bug/...
        !          15581:     functions.
        !          15582: 
        !          15583: commit f50b9e48b93e3f69423a0e6e5fef273ba2022958
        !          15584: Author: Martin Mares <mj@ucw.cz>
        !          15585: Date:   Wed Jan 19 14:37:56 2000 +0000
        !          15586: 
        !          15587:     Generate a list of all commands and their help texts for the client to use.
        !          15588: 
        !          15589: commit 4b87e256eba51a8711c24fbae501ac7975b4ecd3
        !          15590: Author: Martin Mares <mj@ucw.cz>
        !          15591: Date:   Wed Jan 19 12:30:19 2000 +0000
        !          15592: 
        !          15593:     Split off general commands to cmds.c.
        !          15594:     
        !          15595:     Added `show symbols' command which dumps whole symbol table together
        !          15596:     with symbol types etc.
        !          15597: 
        !          15598: commit f5ad9f87a389c1167a8468d0190bcf6d3cc33cf6
        !          15599: Author: Martin Mares <mj@ucw.cz>
        !          15600: Date:   Wed Jan 19 11:52:32 2000 +0000
        !          15601: 
        !          15602:     Killed a couple of bugs in the neighbor cache.
        !          15603:     
        !          15604:     Manual disable/enable/restart/shutdown/reconfiguration of protocols
        !          15605:     no longer hangs on loops in neighbor lists :)
        !          15606: 
        !          15607: commit 3ea1ba632b3cdb5005a9339fd5e74d5f93631a48
        !          15608: Author: Martin Mares <mj@ucw.cz>
        !          15609: Date:   Tue Jan 18 11:01:03 2000 +0000
        !          15610: 
        !          15611:     Killed protocol->priority. Protocol startup should be clean and hack-free now.
        !          15612:     It seems everything still works (except for disable/enable/restart which hangs
        !          15613:     sometimes, but it's another story).
        !          15614: 
        !          15615: commit 54aaa89ada2d048c64a5afd58844bc395b1a3cfe
        !          15616: Author: Martin Mares <mj@ucw.cz>
        !          15617: Date:   Tue Jan 18 10:42:45 2000 +0000
        !          15618: 
        !          15619:     protocol->startup_counter no longer exists.
        !          15620: 
        !          15621: commit aa8761de9471dbe28149d990bdbc851c744f4e2b
        !          15622: Author: Martin Mares <mj@ucw.cz>
        !          15623: Date:   Tue Jan 18 10:39:30 2000 +0000
        !          15624: 
        !          15625:     Kernel route syncer now supports dynamic reconfiguration. Also it doesn't
        !          15626:     depend on the startup counter hack now and uses a zero-time timer instead
        !          15627:     to make itself scheduled after normal protocol startup.
        !          15628: 
        !          15629: commit fb89b1a4ced5f3d847ecbc1d4b86a0cb47564ef7
        !          15630: Author: Martin Mares <mj@ucw.cz>
        !          15631: Date:   Mon Jan 17 12:40:00 2000 +0000
        !          15632: 
        !          15633:     Removed point-to-point tunnel hack as it breaks ordinary PtP interfaces.
        !          15634:     I'll find a better solution soon.
        !          15635: 
        !          15636: commit 295ae16d4ddf4b714e716a0a1537f40c54f1119c
        !          15637: Author: Martin Mares <mj@ucw.cz>
        !          15638: Date:   Mon Jan 17 12:38:50 2000 +0000
        !          15639: 
        !          15640:     Static protocol supports full dynamic reconfiguration.
        !          15641: 
        !          15642: commit 471cc0be651a8db7068a65963ecfd4cc45f97ab1
        !          15643: Author: Martin Mares <mj@ucw.cz>
        !          15644: Date:   Mon Jan 17 12:38:07 2000 +0000
        !          15645: 
        !          15646:     Moved initlialization of protocol lists to global init. Argh.
        !          15647: 
        !          15648: commit d272fe22dddcb5c293d6aac18d36e3e3e66406a5
        !          15649: Author: Martin Mares <mj@ucw.cz>
        !          15650: Date:   Mon Jan 17 11:52:50 2000 +0000
        !          15651: 
        !          15652:     Separated `official protocol names' used in status dumps from name templates
        !          15653:     used for automatic generation of instance names.
        !          15654:     
        !          15655:        protocol->name is the official name
        !          15656:        protocol->template is the name template (usually "name%d"),
        !          15657:                should be all lowercase.
        !          15658:     
        !          15659:     Updated all protocols to define the templates, checked that their configuration
        !          15660:     grammar includes proto_name which generates the name and interns it in the
        !          15661:     symbol table.
        !          15662: 
        !          15663: commit f7fcb752520759ab3aed274ca608e8e6f96665c8
        !          15664: Author: Martin Mares <mj@ucw.cz>
        !          15665: Date:   Mon Jan 17 11:17:33 2000 +0000
        !          15666: 
        !          15667:     Reconfiguration for device protocol.
        !          15668: 
        !          15669: commit 0ec90e9fc6f6bec2d0b64f6b9711a6d3edb4bd52
        !          15670: Author: Martin Mares <mj@ucw.cz>
        !          15671: Date:   Mon Jan 17 00:20:45 2000 +0000
        !          15672: 
        !          15673:     Pipe protocol supports reconfiguration.
        !          15674: 
        !          15675: commit 88dc89f9918f524d9ca143d409c261a4a8230555
        !          15676: Author: Martin Mares <mj@ucw.cz>
        !          15677: Date:   Mon Jan 17 00:20:17 2000 +0000
        !          15678: 
        !          15679:     Device protocol supports reconfiguration.
        !          15680: 
        !          15681: commit 26368f656c2398acc4d3ed55879d2f371cecf75b
        !          15682: Author: Martin Mares <mj@ucw.cz>
        !          15683: Date:   Mon Jan 17 00:19:58 2000 +0000
        !          15684: 
        !          15685:     Don't forget changing proto->name to point to name in new configuration
        !          15686:     (to avoid the name being freed with the old config).
        !          15687:     
        !          15688:     Also remember to add proto_pipe to protocol_list.
        !          15689: 
        !          15690: commit ca0edc53956ecd493055ba1625754ee75d58a9c7
        !          15691: Author: Martin Mares <mj@ucw.cz>
        !          15692: Date:   Sun Jan 16 23:36:53 2000 +0000
        !          15693: 
        !          15694:     When a quoted string is encountered, don't forget to copy it to the
        !          15695:     config pool before passing it to the parser.
        !          15696: 
        !          15697: commit 99278e10421a2e6703e77f91e6ef436eaf660405
        !          15698: Author: Martin Mares <mj@ucw.cz>
        !          15699: Date:   Sun Jan 16 23:36:19 2000 +0000
        !          15700: 
        !          15701:     Wording changes.
        !          15702: 
        !          15703: commit f14a4becbe77cfb3c2e4243d6fc383b0acd8956f
        !          15704: Author: Martin Mares <mj@ucw.cz>
        !          15705: Date:   Sun Jan 16 23:30:06 2000 +0000
        !          15706: 
        !          15707:     Reworked proto lists -- each proto is now in two lists: the global one
        !          15708:     (proto_list) and per-type one (original lists). A lot of things simplified.
        !          15709:     
        !          15710:     Implemented `disable', `enable' and `restart' CLI commands.
        !          15711: 
        !          15712: commit 30a6108cccac93048440113211df2eed1fb541b1
        !          15713: Author: Martin Mares <mj@ucw.cz>
        !          15714: Date:   Sun Jan 16 17:49:32 2000 +0000
        !          15715: 
        !          15716:     Added filter_same() for comparision of two filters.
        !          15717:     
        !          15718:     Pavel, please implement this as soon as possible.
        !          15719: 
        !          15720: commit bf8558bc9cab35f31bccd6a55e51f121370765c4
        !          15721: Author: Martin Mares <mj@ucw.cz>
        !          15722: Date:   Sun Jan 16 17:40:26 2000 +0000
        !          15723: 
        !          15724:     Converted shutdown to a kind of reconfiguration, it's no more handled
        !          15725:     as a exception in protocol state machines. Introduced a `shutdown'
        !          15726:     CLI command. Killed few reconfiguration bugs.
        !          15727: 
        !          15728: commit ebc793a5f552bb676014f771d81c074b7dd4345d
        !          15729: Author: Martin Mares <mj@ucw.cz>
        !          15730: Date:   Sun Jan 16 17:39:16 2000 +0000
        !          15731: 
        !          15732:     No more problems when events get scheduled during event processing.
        !          15733: 
        !          15734: commit 50fe90edf3deab409ea7887c131bfe6ce89fa556
        !          15735: Author: Martin Mares <mj@ucw.cz>
        !          15736: Date:   Sun Jan 16 16:44:50 2000 +0000
        !          15737: 
        !          15738:     First attempt on dynamic reconfiguration. There are still lots of bugs
        !          15739:     and problems to solve, but the hardest part works.
        !          15740: 
        !          15741: commit 394aec8fdd112a81da1e2f6f0e09ee74256dc24e
        !          15742: Author: Martin Mares <mj@ucw.cz>
        !          15743: Date:   Sun Jan 16 16:40:57 2000 +0000
        !          15744: 
        !          15745:     Don't forget to set proto->min_scope = SCOPE_HOST.
        !          15746: 
        !          15747: commit 150875747813977ddf12474fa10a771090586402
        !          15748: Author: Ondrej Filip <feela@network.cz>
        !          15749: Date:   Wed Jan 5 00:03:47 2000 +0000
        !          15750: 
        !          15751:     Preparing for building LS databaze. Huh, why is it so complicated? :-(
        !          15752:     
        !          15753:     Adding definition of some constants.
        !          15754: 
        !          15755: commit 7a7c1d9f34b95263d3bc100dec6cf3b94f1a9802
        !          15756: Author: Pavel Machek <pavel@ucw.cz>
        !          15757: Date:   Mon Dec 20 19:14:06 1999 +0000
        !          15758: 
        !          15759:     Few more entries for bird documentation
        !          15760: 
        !          15761: commit c8c0f62444a048e9d0986463ee1bfcdfc06df7c8
        !          15762: Author: Pavel Machek <pavel@ucw.cz>
        !          15763: Date:   Sat Dec 18 20:41:19 1999 +0000
        !          15764: 
        !          15765:     This is first version of documentation. Be sure to take a close look
        !          15766:     at it, and it would be very nice if you wrote at least introductions
        !          15767:     to your chapters...
        !          15768: 
        !          15769: commit 60d7d10e6f19483545760f2241312758dd72a2ad
        !          15770: Author: Pavel Machek <pavel@ucw.cz>
        !          15771: Date:   Sat Dec 18 20:39:53 1999 +0000
        !          15772: 
        !          15773:     Added fixme.
        !          15774: 
        !          15775: commit 476e10842503b51331a7994b6e25c91b20eb8e71
        !          15776: Author: Martin Mares <mj@ucw.cz>
        !          15777: Date:   Thu Dec 16 13:51:43 1999 +0000
        !          15778: 
        !          15779:     Minor cleanups.
        !          15780: 
        !          15781: commit e693ddff874890a9e5c990f6ca75d2e2358d065a
        !          15782: Author: Martin Mares <mj@ucw.cz>
        !          15783: Date:   Thu Dec 16 13:23:32 1999 +0000
        !          15784: 
        !          15785:     Handle cases when SIOCGIFINDEX is defined, but doesn't work (new glibc
        !          15786:     with 2.0 kernels).
        !          15787: 
        !          15788: commit 3f996d46df3cf1bdbefe0b0b0f5245c76b12756b
        !          15789: Author: Martin Mares <mj@ucw.cz>
        !          15790: Date:   Thu Dec 16 13:14:32 1999 +0000
        !          15791: 
        !          15792:     Added missing semicolon.
        !          15793:     
        !          15794:     rip.h compiles in IPv6 mode, rip.c still doesn't.
        !          15795: 
        !          15796: commit a2867cd957c9282d47440a1f42a6b823f5c9e4b2
        !          15797: Author: Martin Mares <mj@ucw.cz>
        !          15798: Date:   Thu Dec 16 13:14:02 1999 +0000
        !          15799: 
        !          15800:     Better order of includes.
        !          15801:     
        !          15802:     set_inaddr() moved to sysio.h.
        !          15803: 
        !          15804: commit 12a9d139eecea7e7fb5e73e82a2531c70894d4c8
        !          15805: Author: Martin Mares <mj@ucw.cz>
        !          15806: Date:   Thu Dec 16 13:13:22 1999 +0000
        !          15807: 
        !          15808:     ipv6_compare() accepts non-lvalue arguments as well. This makes filters
        !          15809:     compile with IPv6.
        !          15810: 
        !          15811: commit 67ece6df42b20ecc524cf3e5c14e8b541afec860
        !          15812: Author: Martin Mares <mj@ucw.cz>
        !          15813: Date:   Thu Dec 16 13:06:13 1999 +0000
        !          15814: 
        !          15815:     Tried to clean up multicast handling. Now we don't try to guess
        !          15816:     multicast abilities depending on definedness of symbols and use hard-wired
        !          15817:     system-dependent configuration defines instead.
        !          15818:     
        !          15819:     Please test whereever you can.
        !          15820: 
        !          15821: commit ccdc33975648647270bf33511ec5bbab4d634634
        !          15822: Author: Martin Mares <mj@ucw.cz>
        !          15823: Date:   Thu Dec 16 12:59:09 1999 +0000
        !          15824: 
        !          15825:     Avoid touching F_MODIFY, it no longer exists.
        !          15826: 
        !          15827: commit 6aea8905c4f0c2b0da6061b445894496e473145d
        !          15828: Author: Martin Mares <mj@ucw.cz>
        !          15829: Date:   Thu Dec 16 12:18:33 1999 +0000
        !          15830: 
        !          15831:     TODO entries and FIXME's.
        !          15832: 
        !          15833: commit d46ffc97ffc9ae753f999614bb69033b1f44df6d
        !          15834: Author: Martin Mares <mj@ucw.cz>
        !          15835: Date:   Thu Dec 16 12:18:19 1999 +0000
        !          15836: 
        !          15837:     Kicked off F_MODIFY (not generated nor used)
        !          15838: 
        !          15839: commit f545d38707bf01aa9db3915d782a547f89f92c1d
        !          15840: Author: Martin Mares <mj@ucw.cz>
        !          15841: Date:   Thu Dec 9 18:54:20 1999 +0000
        !          15842: 
        !          15843:     Added universal locking mechanism which will solve problems
        !          15844:     with protocols wanting to use the same port on the same interface
        !          15845:     during reconfiguration time.
        !          15846:     
        !          15847:     How to use locks: In the if_notify hook, just order locks for the
        !          15848:     interfaces you want to work with and do the real socket opening after the
        !          15849:     lock hook function gets called. When you stop using the socket, close
        !          15850:     it and rfree() the lock.
        !          15851:     
        !          15852:     Please update your protocols to use the new locking mechanism.
        !          15853: 
        !          15854: commit 30bc402ebb324749f9468f8ff196545bb0a58442
        !          15855: Author: Martin Mares <mj@ucw.cz>
        !          15856: Date:   Wed Dec 8 15:12:54 1999 +0000
        !          15857: 
        !          15858:     Temporary work-arounds for multicast problems. Needs further investigation.
        !          15859: 
        !          15860: commit 0da472d7e867e31c49fccc4ee45df3ef47c29c9b
        !          15861: Author: Martin Mares <mj@ucw.cz>
        !          15862: Date:   Wed Dec 8 14:16:13 1999 +0000
        !          15863: 
        !          15864:     Except for special protocols (nowadays only the kernel syncer), don't
        !          15865:     export host and link scope routes.
        !          15866: 
        !          15867: commit dff1f5791794102e4e6880516545145c5036873f
        !          15868: Author: Pavel Machek <pavel@ucw.cz>
        !          15869: Date:   Wed Dec 8 13:33:44 1999 +0000
        !          15870: 
        !          15871:     Added hooks for show route.
        !          15872:     Fixed passing metrics around routing tables.
        !          15873: 
        !          15874: commit dc82daaa9b0d88dca8684a7a766b253853ee7023
        !          15875: Author: Martin Mares <mj@ucw.cz>
        !          15876: Date:   Wed Dec 8 13:20:19 1999 +0000
        !          15877: 
        !          15878:     - Path to control socket is selectable via command-line option.
        !          15879:     - die() when control socket open failed.
        !          15880: 
        !          15881: commit 4d4de35f002e3d7a780462b834f01eeb0f70239a
        !          15882: Author: Pavel Machek <pavel@ucw.cz>
        !          15883: Date:   Wed Dec 8 12:51:45 1999 +0000
        !          15884: 
        !          15885:     Fix timing and fix endianity in metrics.
        !          15886: 
        !          15887: commit 2e18b87dcf5d4029d11bc46b37d601aae4f97174
        !          15888: Author: Pavel Machek <pavel@ucw.cz>
        !          15889: Date:   Wed Dec 8 12:51:26 1999 +0000
        !          15890: 
        !          15891:     Disallow rta.net syntax.
        !          15892: 
        !          15893: commit 3df563fa4c3c0acca181ce09dbb05452720e90e8
        !          15894: Author: Pavel Machek <pavel@ucw.cz>
        !          15895: Date:   Wed Dec 8 12:51:15 1999 +0000
        !          15896: 
        !          15897:     Put rip options into config file.
        !          15898: 
        !          15899: commit 9b47eb8530263b5ebd4a41f9ef3dab982775fc44
        !          15900: Author: Pavel Machek <pavel@ucw.cz>
        !          15901: Date:   Wed Dec 8 12:50:57 1999 +0000
        !          15902: 
        !          15903:     Make bird.conf that does not crash machine when you run bird as root.
        !          15904: 
        !          15905: commit 6c14255dd666c362f19f193a41a31f66310a34ea
        !          15906: Author: Pavel Machek <pavel@ucw.cz>
        !          15907: Date:   Wed Dec 8 10:15:51 1999 +0000
        !          15908: 
        !          15909:     Make rta. syntax optional.
        !          15910: 
        !          15911: commit febe526303996d48a667cd077f5703ca91f43219
        !          15912: Author: Pavel Machek <pavel@ucw.cz>
        !          15913: Date:   Wed Dec 8 10:15:40 1999 +0000
        !          15914: 
        !          15915:     Separated bird.conf and bird.conf for testing filters.
        !          15916: 
        !          15917: commit f78056fb2cf4554d5dcc50b5e0e79bc09ae825cf
        !          15918: Author: Martin Mares <mj@ucw.cz>
        !          15919: Date:   Mon Dec 6 13:51:04 1999 +0000
        !          15920: 
        !          15921:     Allow logging to stderr as well.
        !          15922: 
        !          15923: commit 4ab5331c6370ba83dc7b228f9a94ccc1c64a973e
        !          15924: Author: Martin Mares <mj@ucw.cz>
        !          15925: Date:   Mon Dec 6 13:50:50 1999 +0000
        !          15926: 
        !          15927:     Added type `g' for void (general) pointer.
        !          15928: 
        !          15929: commit a0c37b45e59f024fc24b65ffbaf2c9e0f1996938
        !          15930: Author: Martin Mares <mj@ucw.cz>
        !          15931: Date:   Mon Dec 6 13:45:56 1999 +0000
        !          15932: 
        !          15933:     Logging is now configurable. You can define multiple log outputs (to both
        !          15934:     files and syslog) and assign lists of message categories to each of them.
        !          15935: 
        !          15936: commit 7c0cc76ed76100ef8492f13eeec1e061d52b9be0
        !          15937: Author: Martin Mares <mj@ucw.cz>
        !          15938: Date:   Mon Dec 6 13:44:45 1999 +0000
        !          15939: 
        !          15940:     Moved initialization of protocol list to proto.c.
        !          15941:     
        !          15942:     Added sysdep configuration hooks.
        !          15943: 
        !          15944: commit a9c986f98116fef5c35d956e7a867be0735f3268
        !          15945: Author: Martin Mares <mj@ucw.cz>
        !          15946: Date:   Mon Dec 6 13:43:47 1999 +0000
        !          15947: 
        !          15948:     Added tracked_fopen() which is a fopen registered in resource database.
        !          15949:     Will be used for log files.
        !          15950: 
        !          15951: commit 34350a52700955d50895058d01b5407aea970e9b
        !          15952: Author: Martin Mares <mj@ucw.cz>
        !          15953: Date:   Mon Dec 6 12:34:45 1999 +0000
        !          15954: 
        !          15955:     Implemented echoing of log messages to CLI connections. Just try `echo all'.
        !          15956: 
        !          15957: commit f3792601dfe85c3017c984a6de5722d0e9da8a16
        !          15958: Author: Martin Mares <mj@ucw.cz>
        !          15959: Date:   Sat Dec 4 23:28:56 1999 +0000
        !          15960: 
        !          15961:     Don't forget to send an OK reply after dumping debug information.
        !          15962: 
        !          15963: commit 305a01f57bd97906000c36bb154d63bc90012ef7
        !          15964: Author: Martin Mares <mj@ucw.cz>
        !          15965: Date:   Sat Dec 4 23:17:29 1999 +0000
        !          15966: 
        !          15967:     Added DEBUG commands.
        !          15968:     
        !          15969:     Removed CLI tests, real commands now serve as much better examples.
        !          15970: 
        !          15971: commit feed82267663c6826da896309de180417bd0b39f
        !          15972: Author: Martin Mares <mj@ucw.cz>
        !          15973: Date:   Fri Dec 3 11:41:23 1999 +0000
        !          15974: 
        !          15975:     Implemented `show static'. It's a relatively good example of how to write
        !          15976:     show commands for other protocols.
        !          15977: 
        !          15978: commit 02c1fbddd462fecc6887a44ef67202870bcae7be
        !          15979: Author: Martin Mares <mj@ucw.cz>
        !          15980: Date:   Fri Dec 3 11:40:45 1999 +0000
        !          15981: 
        !          15982:     Added proto_get_named() to be used in CLI commands to get protocol instance
        !          15983:     of a given protocol with optionally given name. See `show static' for an
        !          15984:     example.
        !          15985: 
        !          15986: commit 28e01f85c65c536837227829f645818dfa6a2652
        !          15987: Author: Martin Mares <mj@ucw.cz>
        !          15988: Date:   Fri Dec 3 11:10:50 1999 +0000
        !          15989: 
        !          15990:     Renamed SHOW PROTOCOLS VERBOSE to SHOW PROTOCOLS ALL to be consistent
        !          15991:     with the other commands.
        !          15992: 
        !          15993: commit 430da60fa29196cf8715e09e1d81c7ea0b672f05
        !          15994: Author: Martin Mares <mj@ucw.cz>
        !          15995: Date:   Thu Dec 2 14:04:44 1999 +0000
        !          15996: 
        !          15997:     Implemented `show route where <condition>' command.
        !          15998:     
        !          15999:     Pavel, please check my addition to filter/config.Y.
        !          16000: 
        !          16001: commit f2c6c80a2422b87a2947b7324ad14309198d64a4
        !          16002: Author: Martin Mares <mj@ucw.cz>
        !          16003: Date:   Thu Dec 2 14:03:25 1999 +0000
        !          16004: 
        !          16005:     I tried to turn on the YYERROR_VERBOSE switch, but bison is buggy as hell,
        !          16006:     so it doesn't even compile. Turned it again off and added a comment on it.
        !          16007: 
        !          16008: commit efe51e38632dd7875af6789536be9ccfefd758c9
        !          16009: Author: Martin Mares <mj@ucw.cz>
        !          16010: Date:   Thu Dec 2 12:04:39 1999 +0000
        !          16011: 
        !          16012:     Avoid `default rule can be matched' warning in CLI state.
        !          16013: 
        !          16014: commit 9c3726afd2edabf42f11f21cf787061db6c5a33a
        !          16015: Author: Martin Mares <mj@ucw.cz>
        !          16016: Date:   Wed Dec 1 15:17:24 1999 +0000
        !          16017: 
        !          16018:     Updated TODO file.
        !          16019: 
        !          16020: commit 730f2e2c8c29b3461caa096fa514cbf71f84e51b
        !          16021: Author: Martin Mares <mj@ucw.cz>
        !          16022: Date:   Wed Dec 1 15:10:21 1999 +0000
        !          16023: 
        !          16024:     Added dumping of routing tables (`show route'). This includes filtering.
        !          16025: 
        !          16026: commit 04a60c689aeb10fafa9919bcff5f8391e0f3a158
        !          16027: Author: Martin Mares <mj@ucw.cz>
        !          16028: Date:   Wed Dec 1 15:08:32 1999 +0000
        !          16029: 
        !          16030:     Added get_route_info and show_route_data hooks to struct protocol.
        !          16031:     Please implement them.
        !          16032: 
        !          16033: commit f611f0ee824a6b363dc675e8f6ac963f20e7d007
        !          16034: Author: Martin Mares <mj@ucw.cz>
        !          16035: Date:   Wed Dec 1 15:07:56 1999 +0000
        !          16036: 
        !          16037:     Reset temporary parser data before parsing, not afterwards. This enables
        !          16038:     deferred CLI command handlers to store their temporary data in the CLI
        !          16039:     parsing pool.
        !          16040: 
        !          16041: commit 2ad6dcdb2c949904643eabbbf6d0029045e8ea45
        !          16042: Author: Martin Mares <mj@ucw.cz>
        !          16043: Date:   Wed Dec 1 15:07:06 1999 +0000
        !          16044: 
        !          16045:     Make ACCEPT/REJECT actually return the result...
        !          16046: 
        !          16047: commit e7f76bae8ccfe405ce3032aaa3a5e9228e5feb98
        !          16048: Author: Pavel Machek <pavel@ucw.cz>
        !          16049: Date:   Wed Dec 1 13:44:42 1999 +0000
        !          16050: 
        !          16051:     Stupid bug (essentially while(1) loop) occuring sometimes during start
        !          16052:     of bird fixed.
        !          16053: 
        !          16054: commit 7e1f99719e01af86006bc5c9b9a472516ec85a2c
        !          16055: Author: Pavel Machek <pavel@ucw.cz>
        !          16056: Date:   Wed Dec 1 12:54:23 1999 +0000
        !          16057: 
        !          16058:     accept should behave as return, not running any commands after it.
        !          16059: 
        !          16060: commit 639e62855495fcf461c177373d8f5eb0d5d87332
        !          16061: Author: Pavel Machek <pavel@ucw.cz>
        !          16062: Date:   Wed Dec 1 12:52:57 1999 +0000
        !          16063: 
        !          16064:     Actually check sequence numbers.
        !          16065: 
        !          16066: commit 3daf783f95790682025ef03ac5b2f486943e6214
        !          16067: Author: Martin Mares <mj@ucw.cz>
        !          16068: Date:   Wed Dec 1 12:01:41 1999 +0000
        !          16069: 
        !          16070:     Implemented get_status for the pipe protocol (reports name of the other
        !          16071:     side of the pipe).
        !          16072:     
        !          16073:     Please do so for your protocols as well.
        !          16074: 
        !          16075: commit 9685deb910c9e7400915209c1924e100b1feb5d5
        !          16076: Author: Martin Mares <mj@ucw.cz>
        !          16077: Date:   Wed Dec 1 12:00:15 1999 +0000
        !          16078: 
        !          16079:     `show protocols' now shows time of last state change and protocol-dependent
        !          16080:     status information (obtained via newly introduced hook protocol->get_status).
        !          16081: 
        !          16082: commit 5954dcfab74c8d8a2774f259c9940c1d87e76518
        !          16083: Author: Martin Mares <mj@ucw.cz>
        !          16084: Date:   Wed Dec 1 11:59:24 1999 +0000
        !          16085: 
        !          16086:     Introduced new protocol-dependent integer field `aux' to struct neighbor.
        !          16087: 
        !          16088: commit afa8937ac8433a7cb430a14f7613e8d0555f1149
        !          16089: Author: Martin Mares <mj@ucw.cz>
        !          16090: Date:   Wed Dec 1 11:59:00 1999 +0000
        !          16091: 
        !          16092:     Added tm_format_reltime() for formatting of relative time quantities.
        !          16093: 
        !          16094: commit 6781e5213b3c910317a68aaee7ee53e81ee93948
        !          16095: Author: Pavel Machek <pavel@ucw.cz>
        !          16096: Date:   Wed Dec 1 11:39:58 1999 +0000
        !          16097: 
        !          16098:     FIXME's cleaned up: I have actually fixed things without killing
        !          16099:     comments.
        !          16100:     
        !          16101:     There are no urgent FIXME's in filters. Perhaps we should start with
        !          16102:     documentation?
        !          16103: 
        !          16104: commit f2ed663aea02ac38621ecfe91cd1f37f4a56dc4d
        !          16105: Author: Martin Mares <mj@ucw.cz>
        !          16106: Date:   Wed Dec 1 10:28:39 1999 +0000
        !          16107: 
        !          16108:     Use linux-22 configuration with all 2.2.x and 2.3.x kernels. This means
        !          16109:     you need to have your kernel compiled with netlink routing messages enabled.
        !          16110:     If it doesn't work for you, use --with-sysconfig=linux-21 and let me know
        !          16111:     what's going wrong.
        !          16112: 
        !          16113: commit 1d2664a4d4455470e0b6c7fc50d232283e39e1e0
        !          16114: Author: Martin Mares <mj@ucw.cz>
        !          16115: Date:   Tue Nov 30 14:04:09 1999 +0000
        !          16116: 
        !          16117:     Remember protocol instance in proto_config and use that for
        !          16118:     `show protocols <name>'.
        !          16119: 
        !          16120: commit c9aae7f47fd7ad71b80cbc86c01a26c504ba08d0
        !          16121: Author: Martin Mares <mj@ucw.cz>
        !          16122: Date:   Tue Nov 30 14:03:36 1999 +0000
        !          16123: 
        !          16124:     Lexer supports fallback symbol tables and uses them to recognize
        !          16125:     symbols from global config when parsing CLI commands.
        !          16126:     
        !          16127:     cf_lex_init_tables() is now called automatically inside the lexer.
        !          16128: 
        !          16129: commit f0474f207061151183bb85d59f09422e7bb7e2ee
        !          16130: Author: Martin Mares <mj@ucw.cz>
        !          16131: Date:   Tue Nov 30 14:02:27 1999 +0000
        !          16132: 
        !          16133:     Use TIME_INFINITY for initialization of password entries instead
        !          16134:     of 2000000000 (BTW who wrote that???)
        !          16135: 
        !          16136: commit 487d1afa523706d8b0caec63492f4a2b6cef3bce
        !          16137: Author: Martin Mares <mj@ucw.cz>
        !          16138: Date:   Tue Nov 30 14:01:39 1999 +0000
        !          16139: 
        !          16140:     Moved TIME_INFINITY to timer.h, so that it's publicly available.
        !          16141: 
        !          16142: commit 0d3e6bceeeec4ebf007e02374f799cd1fb21f20c
        !          16143: Author: Martin Mares <mj@ucw.cz>
        !          16144: Date:   Tue Nov 30 12:57:14 1999 +0000
        !          16145: 
        !          16146:     `show interfaces' and `show protocols' works.
        !          16147: 
        !          16148: commit 10b5baaef32076369b06b4318cc61e6fa11e5493
        !          16149: Author: Martin Mares <mj@ucw.cz>
        !          16150: Date:   Tue Nov 30 12:56:52 1999 +0000
        !          16151: 
        !          16152:     Don't use continuation shortcuts until real client is written.
        !          16153: 
        !          16154: commit 163b2073465b1d2f90d23832456e79463fdec308
        !          16155: Author: Ondrej Filip <feela@network.cz>
        !          16156: Date:   Tue Nov 30 10:35:26 1999 +0000
        !          16157: 
        !          16158:     Inicialisation of Topology Graph (TG).
        !          16159: 
        !          16160: commit ae97b946e99bef043613d210489a926fe4807ec1
        !          16161: Author: Martin Mares <mj@ucw.cz>
        !          16162: Date:   Thu Nov 25 15:35:30 1999 +0000
        !          16163: 
        !          16164:     Added few basic commands: show status, show interfaces [summary],
        !          16165:     show protocols (incomplete).
        !          16166: 
        !          16167: commit 35793769273f7286aafa0455547d1d7cfeef3931
        !          16168: Author: Martin Mares <mj@ucw.cz>
        !          16169: Date:   Thu Nov 25 15:34:51 1999 +0000
        !          16170: 
        !          16171:     cli_msg() moved to cli.h, so that it can be used outside the parser.
        !          16172: 
        !          16173: commit ea32afb765381e642a525409a8f6cdff99aa0225
        !          16174: Author: Martin Mares <mj@ucw.cz>
        !          16175: Date:   Thu Nov 25 15:34:20 1999 +0000
        !          16176: 
        !          16177:     Added ip_scope_text() for translating of scopes to strings.
        !          16178: 
        !          16179: commit 1a509a6310cb2a5211bf3ac9fd963f06d9109cb1
        !          16180: Author: Pavel Machek <pavel@ucw.cz>
        !          16181: Date:   Thu Nov 25 15:03:12 1999 +0000
        !          16182: 
        !          16183:     md5 authentication seems to work.
        !          16184: 
        !          16185: commit d3702d57fd5357e9a11ada6c46769a79da8e547a
        !          16186: Author: Pavel Machek <pavel@ucw.cz>
        !          16187: Date:   Thu Nov 25 14:54:08 1999 +0000
        !          16188: 
        !          16189:     Bugfixes: select right password for password authentication, do not
        !          16190:     try to process authentication blocks as datablocks, make it possible
        !          16191:     to add data at end of packet. Password authentication should actually work.
        !          16192: 
        !          16193: commit 4aa885a53c479c774aab5befe55a1714b89cdc9e
        !          16194: Author: Pavel Machek <pavel@ucw.cz>
        !          16195: Date:   Thu Nov 25 13:42:49 1999 +0000
        !          16196: 
        !          16197:     Filters: fix rta access to use ->aux field.
        !          16198: 
        !          16199: commit 7e61cac325aae2628d668673f60853608e072e66
        !          16200: Author: Pavel Machek <pavel@ucw.cz>
        !          16201: Date:   Thu Nov 25 13:38:25 1999 +0000
        !          16202: 
        !          16203:     Triggered updates should now actually work. Fixed metric=16 -> time it
        !          16204:     out logic.
        !          16205: 
        !          16206: commit 774f149959030b66faca7a97dfb4d1703a84e0d7
        !          16207: Author: Pavel Machek <pavel@ucw.cz>
        !          16208: Date:   Thu Nov 25 12:01:45 1999 +0000
        !          16209: 
        !          16210:     Fix timeouts. Triggered updates are not done, yet.
        !          16211: 
        !          16212: commit 455ca441d99184e1514415bd7acb25f82d01366e
        !          16213: Author: Pavel Machek <pavel@ucw.cz>
        !          16214: Date:   Wed Nov 24 12:16:31 1999 +0000
        !          16215: 
        !          16216:     Check that prefixes are really prefixes + fix config file to
        !          16217:     comply. (:-( 1.2.3.4/8 looks nicer than 1.0.0.0/8).
        !          16218: 
        !          16219: commit 8f013d9ca443d4ff39af7560039f108efa9ef474
        !          16220: Author: Pavel Machek <pavel@ucw.cz>
        !          16221: Date:   Wed Nov 24 12:09:58 1999 +0000
        !          16222: 
        !          16223:     Sorry, previous commit did not even compile.
        !          16224: 
        !          16225: commit 48f9e0195488db0a515e4e5140d402fe4fe7d927
        !          16226: Author: Pavel Machek <pavel@ucw.cz>
        !          16227: Date:   Wed Nov 24 12:04:32 1999 +0000
        !          16228: 
        !          16229:     Filters: write access to dynamic attributes should actually work. It
        !          16230:     would be nice to find method of testing such beasts.
        !          16231: 
        !          16232: commit 99bbd23b229419403f673c626001eb0f35cc3a4e
        !          16233: Author: Martin Mares <mj@ucw.cz>
        !          16234: Date:   Thu Nov 18 14:41:43 1999 +0000
        !          16235: 
        !          16236:     More CLI plans...
        !          16237: 
        !          16238: commit 8d24b6899d0aba52fef8c48921ce4d1481ee212c
        !          16239: Author: Martin Mares <mj@ucw.cz>
        !          16240: Date:   Thu Nov 18 14:41:29 1999 +0000
        !          16241: 
        !          16242:     Allow EA type to be set to 'undefined' which overrides all further definitons
        !          16243:     of that EA in the same list and causes ea_find() to fail unless you add
        !          16244:     EA_ALLOW_UNDEF to the second argument.
        !          16245:     
        !          16246:     ea_sort (resp. ea_do_prune()) removes all undef'd attributes from the list.
        !          16247:     
        !          16248:     I hope this works :)
        !          16249: 
        !          16250: commit f31156ca217226ad110cc46e6365d70e64c527e0
        !          16251: Author: Pavel Machek <pavel@ucw.cz>
        !          16252: Date:   Thu Nov 18 14:29:10 1999 +0000
        !          16253: 
        !          16254:     Filters: first parts of extended attributes being read-write. It can
        !          16255:     not actually work since I do not do rta/rte cow, yet.
        !          16256: 
        !          16257: commit c7b43f33ae8d583ead531d76ed81f1b5deb507f3
        !          16258: Author: Pavel Machek <pavel@ucw.cz>
        !          16259: Date:   Thu Nov 18 14:01:36 1999 +0000
        !          16260: 
        !          16261:     Split inst->code into inst->code and inst->aux. Both are only 16 bit,
        !          16262:     so aux is suitable for storing type but not much more.
        !          16263: 
        !          16264: commit da40b6f753f4dd48dbcaebbe6174decb28705ab8
        !          16265: Author: Martin Mares <mj@ucw.cz>
        !          16266: Date:   Thu Nov 18 13:42:51 1999 +0000
        !          16267: 
        !          16268:     DEF_PREF_UKR and DEF_PREF_SINK removed.
        !          16269: 
        !          16270: commit 346a12c2109b99d907e7ebeb3560992e92a6c26b
        !          16271: Author: Pavel Machek <pavel@ucw.cz>
        !          16272: Date:   Thu Nov 18 13:21:52 1999 +0000
        !          16273: 
        !          16274:     You can now print enum.
        !          16275: 
        !          16276: commit 4364b47e48ddedb841e8ec8db25c8b4fa878a911
        !          16277: Author: Ondrej Filip <feela@network.cz>
        !          16278: Date:   Wed Nov 17 15:50:41 1999 +0000
        !          16279: 
        !          16280:     ospf.c and ospc.h splitted into various files.
        !          16281: 
        !          16282: commit bff1db76292b194bbbf0c476d960f40aa0ea47ce
        !          16283: Author: Martin Mares <mj@ucw.cz>
        !          16284: Date:   Wed Nov 17 14:58:21 1999 +0000
        !          16285: 
        !          16286:     Added skeleton of command tree. Please inspect.
        !          16287: 
        !          16288: commit 2af2636a691da37c73ba032ece29dee1dd20fff7
        !          16289: Author: Ondrej Filip <feela@network.cz>
        !          16290: Date:   Wed Nov 17 13:28:51 1999 +0000
        !          16291: 
        !          16292:     Another bugfix. (In EXCHANGE state.)
        !          16293: 
        !          16294: commit e17baa31088766f7f278be6754d0acc6e8380e4e
        !          16295: Author: Ondrej Filip <feela@network.cz>
        !          16296: Date:   Wed Nov 17 13:15:01 1999 +0000
        !          16297: 
        !          16298:     Fixed bug receiving dbdes packets in EXSTART state.
        !          16299: 
        !          16300: commit 62a463954815748d0d82da0e30651e6eea7bc9cf
        !          16301: Author: Martin Mares <mj@ucw.cz>
        !          16302: Date:   Wed Nov 17 12:14:44 1999 +0000
        !          16303: 
        !          16304:     Added some temporary examples of how to define CLI commands (search for CF_CLI).
        !          16305:     
        !          16306:     To define a new command, just add a new rule to the gramar:
        !          16307:       CF_CLI(COMMAND NAME, arguments, help-args, help-text) {
        !          16308:        what-should-the-command-do
        !          16309:        } ;
        !          16310:     where <arguments> are appended to the RHS of the rule, <help-args> is the
        !          16311:     argument list as shown in the help and <help-text> is description of the
        !          16312:     command for the help.
        !          16313:     
        !          16314:     <what-should-the-command-do> is a C code snippet to be executed. It should
        !          16315:     not take too much time to execute. If you want to print out a lot of
        !          16316:     information, you can schedule a routine to be called after the current
        !          16317:     buffer is flushed by making cli->cont point to the routine (see the
        !          16318:     TEST LONG command definition for an example); if the connection is closed
        !          16319:     in the meantime, cli->cleanup gets called.
        !          16320:     
        !          16321:     You can access `struct cli' belonging to the connection you're currently
        !          16322:     servicing as this_cli, but only during parse time, not from routines scheduled
        !          16323:     for deferred execution.
        !          16324:     
        !          16325:     Functions to call inside command handlers:
        !          16326:       cli_printf(cli, code, printf-args) -- print text to CLI connection,
        !          16327:        <code> is message code as assigned in doc/reply_codes or a negative
        !          16328:        one if it's a continuation line.
        !          16329:       cli_msg(code, printf-args) -- the same for this_cli.
        !          16330:     
        !          16331:     Use 'sock -x bird.ctl' for connecting to the CLI until a client is written.
        !          16332: 
        !          16333: commit 30770df2ab33ffbfd75a9478265ac5e1a1db98d9
        !          16334: Author: Martin Mares <mj@ucw.cz>
        !          16335: Date:   Wed Nov 17 12:04:24 1999 +0000
        !          16336: 
        !          16337:     If the main event queue is not empty, call select() with zero timeout, so
        !          16338:     that the events are ran again after the FD's are checked. This allows us
        !          16339:     to schedule I/O checks between processing of user commands.
        !          16340: 
        !          16341: commit 84a7d7f77c05578d9ebfff90672e73f021999d25
        !          16342: Author: Martin Mares <mj@ucw.cz>
        !          16343: Date:   Wed Nov 17 12:01:11 1999 +0000
        !          16344: 
        !          16345:     ev_run() now returns whether the event has been requeued or not.
        !          16346:     ev_run_list() now returns number of events which remain in the list.
        !          16347: 
        !          16348: commit ffb59d243a350ed525850e864b38af0ecb0ffea5
        !          16349: Author: Martin Mares <mj@ucw.cz>
        !          16350: Date:   Wed Nov 17 12:00:21 1999 +0000
        !          16351: 
        !          16352:     Command line interface now works.
        !          16353: 
        !          16354: commit ea9bb932a31e5df14e3a1a5f580e62b6aedc0247
        !          16355: Author: Martin Mares <mj@ucw.cz>
        !          16356: Date:   Wed Nov 17 11:16:15 1999 +0000
        !          16357: 
        !          16358:     Commented out nexthop selection, see the comment.
        !          16359: 
        !          16360: commit 7d509304b58d7ebf1d53e36a8e656830b409e1e8
        !          16361: Author: Martin Mares <mj@ucw.cz>
        !          16362: Date:   Mon Nov 15 11:36:22 1999 +0000
        !          16363: 
        !          16364:     An example of how to define enums.
        !          16365: 
        !          16366: commit fd54b602665f71879087faeb0b733fefa9c964bb
        !          16367: Author: Martin Mares <mj@ucw.cz>
        !          16368: Date:   Mon Nov 15 11:36:09 1999 +0000
        !          16369: 
        !          16370:     ENUM's are now recognized as constants.
        !          16371: 
        !          16372: commit 944f008af7a46144e38f963097e8e4cce493e2a7
        !          16373: Author: Martin Mares <mj@ucw.cz>
        !          16374: Date:   Mon Nov 15 11:35:41 1999 +0000
        !          16375: 
        !          16376:     Defined CF_ENUM.
        !          16377: 
        !          16378: commit cbc31830079fb5e49c14c3de446b10ed8da99ce0
        !          16379: Author: Martin Mares <mj@ucw.cz>
        !          16380: Date:   Mon Nov 15 11:34:51 1999 +0000
        !          16381: 
        !          16382:     SYM_STAT is gone.
        !          16383: 
        !          16384: commit 4515bdba4f56b298e62150ffe24608ba1a42e7da
        !          16385: Author: Pavel Machek <pavel@ucw.cz>
        !          16386: Date:   Thu Nov 11 13:55:39 1999 +0000
        !          16387: 
        !          16388:     Fixed order of arguments for function call.
        !          16389:     
        !          16390:     Enumeration types should work once CF_ENUM() is ready.
        !          16391:     
        !          16392:     Created test.conf for testing of filters. (I'm currently thinking
        !          16393:     about ./tests in root directory which will just fire all available
        !          16394:     tests...)
        !          16395: 
        !          16396: commit 4ed8718a19747bba95ff86fb8d3c6ea357b50101
        !          16397: Author: Pavel Machek <pavel@ucw.cz>
        !          16398: Date:   Thu Nov 11 13:27:59 1999 +0000
        !          16399: 
        !          16400:     Shift/reduce conflict goes away _and_ if/then/else works.
        !          16401: 
        !          16402: commit 986e34131dbd2bca668c2b0a6ebb25de6848fc0a
        !          16403: Author: Ondrej Filip <feela@network.cz>
        !          16404: Date:   Wed Nov 10 16:06:12 1999 +0000
        !          16405: 
        !          16406:     Sending DBDES packet in EXSTART done.
        !          16407: 
        !          16408: commit 1183b6b2297f03113d31dc73ef0edc8fc7ef0b7e
        !          16409: Author: Pavel Machek <pavel@ucw.cz>
        !          16410: Date:   Wed Nov 10 13:59:13 1999 +0000
        !          16411: 
        !          16412:     Enums do not work, this is testcase.
        !          16413: 
        !          16414: commit cb8034f42cfaa2753152fa1d776cc618d07fedda
        !          16415: Author: Pavel Machek <pavel@ucw.cz>
        !          16416: Date:   Wed Nov 10 13:44:29 1999 +0000
        !          16417: 
        !          16418:     First try on enumerational types.
        !          16419:     
        !          16420:     Mj's noassoc removed: this brings back shift/reduce conflict but
        !          16421:     it makes parser actually work. Mj please check it. IF/THEN/ELSE still
        !          16422:     will not work.
        !          16423: 
        !          16424: commit 2f702671b46fa2ea01021170f685f554e4012782
        !          16425: Author: Pavel Machek <pavel@ucw.cz>
        !          16426: Date:   Wed Nov 10 13:07:18 1999 +0000
        !          16427: 
        !          16428:     No more shift/reduce conflicts.
        !          16429: 
        !          16430: commit 4995564570f9779686f767ec98034ce58d836203
        !          16431: Author: Martin Mares <mj@ucw.cz>
        !          16432: Date:   Wed Nov 10 13:05:57 1999 +0000
        !          16433: 
        !          16434:     Shift/reduce conflicts in IF/THEN/ELSE rules solved.
        !          16435: 
        !          16436: commit f453665704cc8d946f86057e67151ef27419e280
        !          16437: Author: Pavel Machek <pavel@ucw.cz>
        !          16438: Date:   Wed Nov 10 12:44:07 1999 +0000
        !          16439: 
        !          16440:     Enumerational types, defined keyword added.
        !          16441: 
        !          16442: commit 6ba36f06ae10ea7efd60c30f8ef40d6143c69ef6
        !          16443: Author: Martin Mares <mj@ucw.cz>
        !          16444: Date:   Wed Nov 10 12:27:01 1999 +0000
        !          16445: 
        !          16446:     Added LSA hashing table (parts of code stolen from rt-fib.c, but
        !          16447:     heavily simplified since we don't need asynchronous walking).
        !          16448: 
        !          16449: commit 3918b1b050701dee217fa9bc8c4c44d47cb84124
        !          16450: Author: Pavel Machek <pavel@ucw.cz>
        !          16451: Date:   Wed Nov 10 11:52:36 1999 +0000
        !          16452: 
        !          16453:     Added timeout for routes (which means proper expiring of routes) added
        !          16454:     few fixmes.
        !          16455: 
        !          16456: commit 024dcaaea253e1f69f4325edebec4a9b5618caea
        !          16457: Author: Martin Mares <mj@ucw.cz>
        !          16458: Date:   Wed Nov 10 10:48:19 1999 +0000
        !          16459: 
        !          16460:     Added project status report for KSVI.
        !          16461: 
        !          16462: commit a5b583f20abfbf8181b46c08947df7043c213113
        !          16463: Author: Pavel Machek <pavel@ucw.cz>
        !          16464: Date:   Thu Nov 4 14:39:51 1999 +0000
        !          16465: 
        !          16466:     FIXME's updated. One fixme is remaining for correct RIPv4. Wow.
        !          16467: 
        !          16468: commit 7bf19253d0c33e6accd5b36a5b221f6d1d9cadcc
        !          16469: Author: Pavel Machek <pavel@ucw.cz>
        !          16470: Date:   Thu Nov 4 14:26:18 1999 +0000
        !          16471: 
        !          16472:     Reject packets which are not authenticated.
        !          16473:     
        !          16474:     Set correct nexthop on outgoing packets.
        !          16475: 
        !          16476: commit 3c989eb4a784c34870e9d66d5be3c976d8f03797
        !          16477: Author: Pavel Machek <pavel@ucw.cz>
        !          16478: Date:   Thu Nov 4 14:05:40 1999 +0000
        !          16479: 
        !          16480:     Fixed comments about shift/reduce conflicts.
        !          16481: 
        !          16482: commit ae3e1af2a86c428f473ef0270151cead16cc0e8e
        !          16483: Author: Pavel Machek <pavel@ucw.cz>
        !          16484: Date:   Thu Nov 4 14:03:45 1999 +0000
        !          16485: 
        !          16486:     Add possibility of local variables.
        !          16487: 
        !          16488: commit f30b25f9625d5542ace217bb6b3610d0a09f228a
        !          16489: Author: Pavel Machek <pavel@ucw.cz>
        !          16490: Date:   Thu Nov 4 14:03:36 1999 +0000
        !          16491: 
        !          16492:     Use local variables to test that functionality.
        !          16493: 
        !          16494: commit df8b85e33f6df0567127efdd80acf98ba6f3ffea
        !          16495: Author: Martin Mares <mj@ucw.cz>
        !          16496: Date:   Thu Nov 4 13:53:47 1999 +0000
        !          16497: 
        !          16498:     Silly bug.
        !          16499: 
        !          16500: commit c8f61a01ea1862d0c0a3ec4cc15c5d49e1366725
        !          16501: Author: Martin Mares <mj@ucw.cz>
        !          16502: Date:   Thu Nov 4 13:51:52 1999 +0000
        !          16503: 
        !          16504:     Symbols are not scoped.
        !          16505: 
        !          16506: commit 91447965fed2728a1f877e21f7f58aab4c0022c7
        !          16507: Author: Pavel Machek <pavel@ucw.cz>
        !          16508: Date:   Thu Nov 4 13:33:30 1999 +0000
        !          16509: 
        !          16510:     Possibility to access first extended attributes.
        !          16511: 
        !          16512: commit 2727bb7c5bbdac54661a5097f86d979799095db8
        !          16513: Author: Martin Mares <mj@ucw.cz>
        !          16514: Date:   Thu Nov 4 13:29:43 1999 +0000
        !          16515: 
        !          16516:     Renamed attr->attrs to attr->eattrs.
        !          16517: 
        !          16518: commit 6dc7a0cb39d712c7670a113d5a66e9e868eb9872
        !          16519: Author: Pavel Machek <pavel@ucw.cz>
        !          16520: Date:   Wed Nov 3 22:23:01 1999 +0000
        !          16521: 
        !          16522:     Filters now do not allow function (int arg; int arg2; ).
        !          16523: 
        !          16524: commit e5005be2b415ebd9bdea28a3515961f4eb904501
        !          16525: Author: Pavel Machek <pavel@ucw.cz>
        !          16526: Date:   Wed Nov 3 22:21:26 1999 +0000
        !          16527: 
        !          16528:     You should not follow next two times.
        !          16529: 
        !          16530: commit ecc3cf6f50768284b9660b5717190107e742404f
        !          16531: Author: Ondrej Filip <feela@network.cz>
        !          16532: Date:   Wed Nov 3 12:59:38 1999 +0000
        !          16533: 
        !          16534:     Working on db des receiving.
        !          16535:     Preparing for building LDA database.
        !          16536: 
        !          16537: commit 03b7bd14de501891ea8ae1d914e1da0b1f4147d5
        !          16538: Author: Martin Mares <mj@ucw.cz>
        !          16539: Date:   Sun Oct 31 17:48:21 1999 +0000
        !          16540: 
        !          16541:     Started a list of CLI reply codes.
        !          16542: 
        !          16543: commit bc2fb68098faaf09393437a7743285d2af71d102
        !          16544: Author: Martin Mares <mj@ucw.cz>
        !          16545: Date:   Sun Oct 31 17:47:47 1999 +0000
        !          16546: 
        !          16547:     Parse CLI commands. We use the same parser as for configuration files (because
        !          16548:     we want to allow filter and similar complex constructs to be used in commands
        !          16549:     and we should avoid code duplication), only with CLI_MARKER token prepended
        !          16550:     before the whole input.
        !          16551:     
        !          16552:     Defined macro CF_CLI(cmd, args, help) for defining CLI commands in .Y files.
        !          16553:     The first argument specifies the command itself, the remaining two arguments
        !          16554:     are copied to the help file (er, will be copied after the help file starts
        !          16555:     to exist). This macro automatically creates a skeleton rule for the command,
        !          16556:     you only need to append arguments as in:
        !          16557:     
        !          16558:        CF_CLI(STEAL MONEY, <$>, [[Steal <$> US dollars or equivalent in any other currency]]): NUM {
        !          16559:                cli_msg(0, "%d$ stolen", $3);
        !          16560:        } ;
        !          16561:     
        !          16562:     Also don't forget to reset lexer state between inputs.
        !          16563: 
        !          16564: commit b9672a845f7ff7d2441e21746566eacc51f274b7
        !          16565: Author: Martin Mares <mj@ucw.cz>
        !          16566: Date:   Sun Oct 31 15:43:44 1999 +0000
        !          16567: 
        !          16568:     The CLI I/O functions work as desired.
        !          16569: 
        !          16570: commit 7d3aab1c1643e8b2bcff7f856e0d4455fa0ba4b4
        !          16571: Author: Martin Mares <mj@ucw.cz>
        !          16572: Date:   Fri Oct 29 12:10:10 1999 +0000
        !          16573: 
        !          16574:     First steps of the Command Line Interface: I/O routines.
        !          16575: 
        !          16576: commit b93abffae4ad5767625b35c9a09513e9d27a5256
        !          16577: Author: Martin Mares <mj@ucw.cz>
        !          16578: Date:   Fri Oct 29 12:09:29 1999 +0000
        !          16579: 
        !          16580:     Implemented unix-domain sockets.
        !          16581: 
        !          16582: commit 0d70292d88276a9883ab8bc15b00e6a2e2fe4487
        !          16583: Author: Martin Mares <mj@ucw.cz>
        !          16584: Date:   Fri Oct 29 12:08:49 1999 +0000
        !          16585: 
        !          16586:     Events now return a value.  If it's non-zero, the event is re-queued
        !          16587:     for processing in next event cycle. This can be used to prevent background
        !          16588:     actions (hint: user commands) from hogging the CPU for too long time.
        !          16589: 
        !          16590: commit 92af6f309b9283482384bd9bbd0351cd71e3cf1d
        !          16591: Author: Martin Mares <mj@ucw.cz>
        !          16592: Date:   Fri Oct 29 10:08:27 1999 +0000
        !          16593: 
        !          16594:     Simplify handling of free chunks.
        !          16595: 
        !          16596: commit 54165b1315dd09b0ea97705367b73086131c1ed8
        !          16597: Author: Martin Mares <mj@ucw.cz>
        !          16598: Date:   Fri Oct 29 10:08:09 1999 +0000
        !          16599: 
        !          16600:     Configure PATH_CONTROL_SOCKET.
        !          16601:     autoconf.h is now written to obj/sysdep, the source tree is hopefully
        !          16602:     completely read-only now.
        !          16603: 
        !          16604: commit ed6081502ad814289b9b7b5537658c3b1ad435e5
        !          16605: Author: Martin Mares <mj@ucw.cz>
        !          16606: Date:   Fri Oct 29 09:44:44 1999 +0000
        !          16607: 
        !          16608:     Added skeleton of the client. Does nothing, but at least compiles.
        !          16609: 
        !          16610: commit 41be4444f2f548c5cc135593b2c820180a22ff99
        !          16611: Author: Pavel Machek <pavel@ucw.cz>
        !          16612: Date:   Thu Oct 28 21:03:36 1999 +0000
        !          16613: 
        !          16614:     switch() { } done right.
        !          16615: 
        !          16616: commit c2250f91c749f563229ad624bbd03053c1d671d0
        !          16617: Author: Ondrej Filip <feela@network.cz>
        !          16618: Date:   Tue Oct 19 16:13:06 1999 +0000
        !          16619: 
        !          16620:     Minor changes and bug fixes. Preparing for Exchange and higher states.
        !          16621: 
        !          16622: commit 96f1b8ba10f7787fc7cf0e0430a85766200707a5
        !          16623: Author: Ondrej Filip <feela@network.cz>
        !          16624: Date:   Mon Oct 18 21:48:51 1999 +0000
        !          16625: 
        !          16626:     Huge changes. Neighbor and interface state machines rewritten.
        !          16627:     It should be cleaner now, I'm preparing for file splitting.
        !          16628:     Maybe I added some minor bugs. :-(
        !          16629: 
        !          16630: commit f942a589ef627f5b2604955cbfdbe91fa706f29d
        !          16631: Author: Pavel Machek <pavel@ucw.cz>
        !          16632: Date:   Tue Oct 12 13:04:50 1999 +0000
        !          16633: 
        !          16634:     FIXME's for rip added.
        !          16635:     
        !          16636:     Will we ever able to generate packets saying "route 1.2.3.4 using someone else"?
        !          16637: 
        !          16638: commit 89dc383a8ce26bfe49250e5063bcadec22ff42c6
        !          16639: Author: Martin Mares <mj@ucw.cz>
        !          16640: Date:   Tue Oct 12 07:46:08 1999 +0000
        !          16641: 
        !          16642:     Changed syntax of ip_class_mask, the old one was stupid.
        !          16643: 
        !          16644: commit d3dd620b96c5960207b9321b416423b8130a4df7
        !          16645: Author: Pavel Machek <pavel@ucw.cz>
        !          16646: Date:   Tue Oct 12 06:27:42 1999 +0000
        !          16647: 
        !          16648:     Filters: permit variables of prefix types, cleanup around
        !          16649:     variables. TODO list added, hopefully complete. Use new features of
        !          16650:     filters in bird.conf
        !          16651: 
        !          16652: commit c79ec2ec1962394f1550afa10a8b396f0e4dfc52
        !          16653: Author: Pavel Machek <pavel@ucw.cz>
        !          16654: Date:   Mon Oct 11 14:19:29 1999 +0000
        !          16655: 
        !          16656:     Untested IPv6 support added. I do not know if it compiles in IPV6 mode.
        !          16657: 
        !          16658: commit 720d911d777f64872df923e102ebc509113885f0
        !          16659: Author: Pavel Machek <pavel@ucw.cz>
        !          16660: Date:   Thu Oct 7 14:10:08 1999 +0000
        !          16661: 
        !          16662:     Added constants of type prefix and pair, added their printing
        !          16663: 
        !          16664: commit 4872cef4dfcadab405d0393a21f9136852d7b9c4
        !          16665: Author: Pavel Machek <pavel@ucw.cz>
        !          16666: Date:   Thu Oct 7 14:09:50 1999 +0000
        !          16667: 
        !          16668:     Added examples of pairs and prefixes
        !          16669: 
        !          16670: commit c9f8c1a855cfdde2095cd792289dbce2b7a06371
        !          16671: Author: Pavel Machek <pavel@ucw.cz>
        !          16672: Date:   Thu Oct 7 13:38:26 1999 +0000
        !          16673: 
        !          16674:     FIXME's added. Hopefully fixme list is now complete for filters.
        !          16675: 
        !          16676: commit f782b72c538b5728f6c3f531a25f669f0bf99b2c
        !          16677: Author: Martin Mares <mj@ucw.cz>
        !          16678: Date:   Sat Oct 2 11:06:44 1999 +0000
        !          16679: 
        !          16680:     Failure to set socket TOS is not a fatal error.
        !          16681: 
        !          16682: commit 507cb9e58b947ad8c6ad1c73706a08010d90f4cc
        !          16683: Author: Martin Mares <mj@ucw.cz>
        !          16684: Date:   Sat Oct 2 10:55:19 1999 +0000
        !          16685: 
        !          16686:     Don't forget to free large blocks.
        !          16687: 
        !          16688: commit ac40c888c21c72ae7f6c3d329dd2ba5417eec009
        !          16689: Author: Pavel Machek <pavel@ucw.cz>
        !          16690: Date:   Sat Oct 2 10:44:48 1999 +0000
        !          16691: 
        !          16692:     Obvious bugs in authentication fixed.
        !          16693: 
        !          16694: commit 7db7b7db603a2d852066c313da76c72673a204fa
        !          16695: Author: Pavel Machek <pavel@ucw.cz>
        !          16696: Date:   Wed Sep 29 14:24:58 1999 +0000
        !          16697: 
        !          16698:     Case arg { 1: printf "one"; } works. You can not use two commands
        !          16699:     after one label, yet.
        !          16700: 
        !          16701: commit 4caa2231fc75ed351b9a9f20a97a81ce5d4421d0
        !          16702: Author: Pavel Machek <pavel@ucw.cz>
        !          16703: Date:   Wed Sep 29 14:23:11 1999 +0000
        !          16704: 
        !          16705:     Make configuration use new case statement.
        !          16706: 
        !          16707: commit 2c1d1cc765238aef0e8bfdbc1d8bc954fa0fc222
        !          16708: Author: Ondrej Filip <feela@network.cz>
        !          16709: Date:   Wed Aug 25 18:44:50 1999 +0000
        !          16710: 
        !          16711:     DD packet receiving in ExStart.
        !          16712: 
        !          16713: commit 1af664158d20e9887ca11b63fc062a63f333297a
        !          16714: Author: Ondrej Filip <feela@network.cz>
        !          16715: Date:   Tue Aug 24 18:32:26 1999 +0000
        !          16716: 
        !          16717:     A structure for receiving DD seq packets added.
        !          16718: 
        !          16719: commit e3121112ab8cda4b4e413a801e5626f9ffb02ca8
        !          16720: Author: Ondrej Filip <feela@network.cz>
        !          16721: Date:   Tue Aug 24 14:42:51 1999 +0000
        !          16722: 
        !          16723:     Preparing to send DD packets.
        !          16724: 
        !          16725: commit 2981814066543b72e292b7b36ca41bfa1cc2554c
        !          16726: Author: Pavel Machek <pavel@ucw.cz>
        !          16727: Date:   Fri Aug 20 09:59:39 1999 +0000
        !          16728: 
        !          16729:     Few FIXME's removed from auth, few FIXME's added to filter.
        !          16730: 
        !          16731: commit bce8a34b128f1c0495f3f7a28d832d9c2b4a9543
        !          16732: Author: Pavel Machek <pavel@ucw.cz>
        !          16733: Date:   Wed Aug 18 13:19:33 1999 +0000
        !          16734: 
        !          16735:     Few fixme's fixed in rip (will not crash any more on request for
        !          16736:     sending routing table - hopefully).
        !          16737:     
        !          16738:     Next few steps in md5 authentication (not yet complete).
        !          16739: 
        !          16740: commit f651941402079052fbdabf64092e7dd4a6a8cafe
        !          16741: Author: Martin Mares <mj@ucw.cz>
        !          16742: Date:   Tue Aug 17 20:47:40 1999 +0000
        !          16743: 
        !          16744:     Added a function for generating 32-bit random numbers.
        !          16745: 
        !          16746: commit b332fcdfc8f0b1ac7111a63c55f72ba4b00b8035
        !          16747: Author: Ondrej Filip <feela@network.cz>
        !          16748: Date:   Mon Aug 16 10:32:05 1999 +0000
        !          16749: 
        !          16750:     Better dumping.
        !          16751: 
        !          16752: commit 032df28048c1c3d64716d3876ea759660d9d3cf0
        !          16753: Author: Ondrej Filip <feela@network.cz>
        !          16754: Date:   Tue Aug 10 12:06:45 1999 +0000
        !          16755: 
        !          16756:     Small bux fixes. A neigh_chstate added.
        !          16757: 
        !          16758: commit a7d388d23e26bdc94aefc3788b6be6c278f6dc5b
        !          16759: Author: Ondrej Filip <feela@network.cz>
        !          16760: Date:   Mon Aug 9 18:59:37 1999 +0000
        !          16761: 
        !          16762:     Multiple "hton problems" fixed. Now we're in EXSTART state.
        !          16763: 
        !          16764: commit 2be22ddb4cf4c7a88a0c424f0de7c968e5c326a1
        !          16765: Author: Ondrej Filip <feela@network.cz>
        !          16766: Date:   Mon Aug 9 18:49:50 1999 +0000
        !          16767: 
        !          16768:     "My own IP problem" fixed.
        !          16769: 
        !          16770: commit a4c2ee717cf42bb53688c18840bd7294b6bf61dd
        !          16771: Author: Ondrej Filip <feela@network.cz>
        !          16772: Date:   Mon Aug 9 18:34:08 1999 +0000
        !          16773: 
        !          16774:     Bug fix in checksum calculation.
        !          16775: 
        !          16776: commit b1693b8f749ccc683a2a78dc3129e56e500bc73f
        !          16777: Author: Ondrej Filip <feela@network.cz>
        !          16778: Date:   Mon Aug 9 18:11:51 1999 +0000
        !          16779: 
        !          16780:     Bug in election fixed.
        !          16781: 
        !          16782: commit e83dc0d7e78fd31b435b36424beb790bf55881a8
        !          16783: Author: Ondrej Filip <feela@network.cz>
        !          16784: Date:   Mon Aug 9 17:58:01 1999 +0000
        !          16785: 
        !          16786:     (Backup) Designated Router election added.
        !          16787: 
        !          16788: commit 8c51f96acff1cfb05d1cf05f4355fce655c32599
        !          16789: Author: Ondrej Filip <feela@network.cz>
        !          16790: Date:   Mon Aug 9 13:03:28 1999 +0000
        !          16791: 
        !          16792:     Some interface state machine changes. I found some problem in RFC,
        !          16793:     trying to conntact authors.
        !          16794: 
        !          16795: commit 55e06729b173b24ce0c243db7e96094f10071eaf
        !          16796: Author: Martin Mares <mj@ucw.cz>
        !          16797: Date:   Tue Aug 3 19:57:43 1999 +0000
        !          16798: 
        !          16799:     Forgot to do a `cvs add', grr.
        !          16800: 
        !          16801: commit d7975d261f8a30efcdbd9fad6ba47419a6ac6c39
        !          16802: Author: Martin Mares <mj@ucw.cz>
        !          16803: Date:   Tue Aug 3 19:38:48 1999 +0000
        !          16804: 
        !          16805:     Ouch, how could I write this?
        !          16806: 
        !          16807: commit 4532a89e31734a457d4debe56df713d66e31cdd6
        !          16808: Author: Martin Mares <mj@ucw.cz>
        !          16809: Date:   Tue Aug 3 19:37:37 1999 +0000
        !          16810: 
        !          16811:     Taught Netlink how to behave in IPv6 world.
        !          16812: 
        !          16813: commit 4f22c9818554087d8f5ab51b8666a7a48d1f4329
        !          16814: Author: Martin Mares <mj@ucw.cz>
        !          16815: Date:   Tue Aug 3 19:36:51 1999 +0000
        !          16816: 
        !          16817:     Support for IPv6 sockets. How nice one doesn't have to ifdef around
        !          16818:     ten years of API evolution :-)
        !          16819: 
        !          16820: commit dce267832a0468ed5e596f0b0733b926af7ead3a
        !          16821: Author: Martin Mares <mj@ucw.cz>
        !          16822: Date:   Tue Aug 3 19:36:06 1999 +0000
        !          16823: 
        !          16824:     Basic support for IPv6.  The system-dependent part doesn't work yet,
        !          16825:     but the core routines are there and seem to be working.
        !          16826:     
        !          16827:        o  lib/ipv6.[ch] written
        !          16828:        o  Lexical analyser recognizes IPv6 addresses and when in IPv6
        !          16829:           mode, treats pure IPv4 addresses as router IDs.
        !          16830:        o  Router ID must be configured manually on IPv6 systems.
        !          16831:        o  Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts.
        !          16832:        o  Fixed few places where ipa_(hton|ntoh) was called as a function
        !          16833:           returning converted address.
        !          16834: 
        !          16835: commit 707ef833783ef731c56baae1c0dc7b7a9e7321ff
        !          16836: Author: Martin Mares <mj@ucw.cz>
        !          16837: Date:   Tue Aug 3 19:35:01 1999 +0000
        !          16838: 
        !          16839:     Pruned the TODO list.
        !          16840: 
        !          16841: commit 9c11ec9efca2fc75495cf8dcb28a959ba22b01fa
        !          16842: Author: Martin Mares <mj@ucw.cz>
        !          16843: Date:   Tue Aug 3 19:34:26 1999 +0000
        !          16844: 
        !          16845:     Implemented a Table-to-Table protocol a.k.a The Pipe.
        !          16846: 
        !          16847: commit 8c943173ced1fb85c627a8ba1c3d7360eab7d22b
        !          16848: Author: Martin Mares <mj@ucw.cz>
        !          16849: Date:   Tue Aug 3 19:33:45 1999 +0000
        !          16850: 
        !          16851:     Allow announces of rte's to protocols in FS_FEEDING state.
        !          16852:     Else, we would get chicken-egg problems in the table-to-table protocol.
        !          16853: 
        !          16854: commit 7de45ba4a01bfdc986a4b597c04ad39d9b97a58a
        !          16855: Author: Martin Mares <mj@ucw.cz>
        !          16856: Date:   Tue Aug 3 19:33:22 1999 +0000
        !          16857: 
        !          16858:     Kernel route syncer supports multiple tables.
        !          16859:     
        !          16860:     The changes are just too extensive for lazy me to list them
        !          16861:     there, but see the comment at the top of sysdep/unix/krt.c.
        !          16862:     The code got a bit more ifdeffy than I'd like, though.
        !          16863:     
        !          16864:     Also fixed a bunch of FIXME's and added a couple of others. :)
        !          16865: 
        !          16866: commit 9d8856897f92ad74be140adafaac41f9df6edf31
        !          16867: Author: Martin Mares <mj@ucw.cz>
        !          16868: Date:   Tue Aug 3 19:31:54 1999 +0000
        !          16869: 
        !          16870:     Protocol engine bug fixes:
        !          16871:     
        !          16872:        o  Make proto_config->table always point to the right
        !          16873:           table even if it should be the default one.
        !          16874:        o  When shutting down, kill protocol in reverse order
        !          16875:           of their priority.
        !          16876:        o  When stopping a protocol down, disconnect it from
        !          16877:           routing tables immediately instead of waiting
        !          16878:           for the delayed protocol flush event.
        !          16879:     
        !          16880:     Also added a protocol instance counter (used by KRT code
        !          16881:     in very magic ways).
        !          16882: 
        !          16883: commit b6628a8c98fa53c1b293221ad0f7e0611cb0b76d
        !          16884: Author: Martin Mares <mj@ucw.cz>
        !          16885: Date:   Tue Aug 3 19:31:30 1999 +0000
        !          16886: 
        !          16887:     Added macros for walking lists backwards.
        !          16888: 
        !          16889: commit 9a706f32afe703a44e605e92cc50cc77d4e91088
        !          16890: Author: Martin Mares <mj@ucw.cz>
        !          16891: Date:   Tue Aug 3 19:31:11 1999 +0000
        !          16892: 
        !          16893:     Added missing structure declarations.
        !          16894: 
        !          16895: commit 8edf2361f9c4bd745a1249db3f66dfc079dd2ca1
        !          16896: Author: Martin Mares <mj@ucw.cz>
        !          16897: Date:   Tue Aug 3 19:30:49 1999 +0000
        !          16898: 
        !          16899:     Cleaned up handling of interface patterns:
        !          16900:     
        !          16901:        o  Parsing of interface patterns moved to generic code,
        !          16902:           introduced this_ipatt which works similarly to this_iface.
        !          16903:        o  Interface patterns now support selection by both interface
        !          16904:           names and primary IP addresses.
        !          16905:        o  Proto `direct' updated.
        !          16906:        o  RIP updated as well, it also seems the memory corruption
        !          16907:           bug there is gone.
        !          16908: 
        !          16909: commit 9273035403ace754e5b405b2c5efba7d55c28e78
        !          16910: Author: Martin Mares <mj@ucw.cz>
        !          16911: Date:   Tue Aug 3 19:30:20 1999 +0000
        !          16912: 
        !          16913:     Changes to interface handling on traditional Unices:
        !          16914:     
        !          16915:       o  Aliases are interpreted as secondary addresses.
        !          16916:       o  When the system doesn't supply interface indices, generate
        !          16917:          our ones.
        !          16918: 
        !          16919: commit 5e13ffe6f4e229974238bb2ea96ea2ce8282b7ed
        !          16920: Author: Martin Mares <mj@ucw.cz>
        !          16921: Date:   Tue Aug 3 19:29:57 1999 +0000
        !          16922: 
        !          16923:     Faster checksum function.
        !          16924: 
        !          16925: commit 913f7dc9f2dca8bebf8daebcce006b96f55ae6db
        !          16926: Author: Martin Mares <mj@ucw.cz>
        !          16927: Date:   Tue Aug 3 19:29:27 1999 +0000
        !          16928: 
        !          16929:     Added functions for parsing and formatting of dates.
        !          16930: 
        !          16931: commit 6542ece91a783e999f61cc51cbe18c8b4c96a36c
        !          16932: Author: Pavel Machek <pavel@ucw.cz>
        !          16933: Date:   Thu Jul 1 09:11:21 1999 +0000
        !          16934: 
        !          16935:     Function calling in filters works - somehow. Calling syntax is
        !          16936:     currently very ugly, beware. Variables are not really local - that
        !          16937:     needs to be fixed.
        !          16938: 
        !          16939: commit 39369d6fbe4b3f73c8110b14623f367c8ffded50
        !          16940: Author: Ondrej Filip <feela@network.cz>
        !          16941: Date:   Wed Jun 2 16:31:13 1999 +0000
        !          16942: 
        !          16943:     Fixed stupid bug with hello vs inactim timers.
        !          16944: 
        !          16945: commit bae0f7dbb111e2c8fbb8a94b59de6e241020ad66
        !          16946: Author: Ondrej Filip <feela@network.cz>
        !          16947: Date:   Tue Jun 1 17:29:56 1999 +0000
        !          16948: 
        !          16949:     Neigbor deleting done. (I have some problems with timers, so it does not
        !          16950:     send hello.)
        !          16951: 
        !          16952: commit cd70d93470498c0b68a084be5aeab5dd45a0df60
        !          16953: Author: Ondrej Filip <feela@network.cz>
        !          16954: Date:   Tue Jun 1 16:35:18 1999 +0000
        !          16955: 
        !          16956:     Detecting of new neighbor added. It starts inactivity timer.
        !          16957: 
        !          16958: commit bd7f1081f24aa6ca4cdba004478742b730644a91
        !          16959: Author: Martin Mares <mj@ucw.cz>
        !          16960: Date:   Tue Jun 1 15:31:43 1999 +0000
        !          16961: 
        !          16962:     Grrr, the "obvious fix" to multicasting code from yesterday was
        !          16963:     fundamentally wrong. Reversed.
        !          16964: 
        !          16965: commit 3e1f30610e109b3eff7e3d8b420c4b7988bd3152
        !          16966: Author: Martin Mares <mj@ucw.cz>
        !          16967: Date:   Tue Jun 1 13:57:24 1999 +0000
        !          16968: 
        !          16969:     Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocols
        !          16970:     use it when creating sockets.
        !          16971: 
        !          16972: commit 9de840bdbd59669a129f68f1ff3595b34439ec09
        !          16973: Author: Pavel Machek <pavel@ucw.cz>
        !          16974: Date:   Mon May 31 20:34:48 1999 +0000
        !          16975: 
        !          16976:     Set corectly destination address for RIP multicast. Broadcasting &
        !          16977:     multicasting rip actually works [broadcasting is kind of hard to turn
        !          16978:     it on, through].
        !          16979: 
        !          16980: commit b94bbe00278b0c6e84f34875367d85d34d08621b
        !          16981: Author: Pavel Machek <pavel@ucw.cz>
        !          16982: Date:   Mon May 31 20:30:16 1999 +0000
        !          16983: 
        !          16984:     Added FIXME: mode broadcast randombly corrupts memory.
        !          16985:     
        !          16986:     Small cleaning and bugfixes.
        !          16987: 
        !          16988: commit c7208da0b72dc7e4ff512edbecc62a99b0392c5a
        !          16989: Author: Martin Mares <mj@ucw.cz>
        !          16990: Date:   Mon May 31 20:28:46 1999 +0000
        !          16991: 
        !          16992:     Fix potential multicasting bug.
        !          16993: 
        !          16994: commit 9607536dbf7c50f9c2fc7a670eab51e5c313d10f
        !          16995: Author: Pavel Machek <pavel@ucw.cz>
        !          16996: Date:   Mon May 31 19:43:08 1999 +0000
        !          16997: 
        !          16998:     Kill duplicity between rif and rif_patt.
        !          16999: 
        !          17000: commit 72efa4b6f82222f91b63b9f61bbc88e458096ea7
        !          17001: Author: Pavel Machek <pavel@ucw.cz>
        !          17002: Date:   Mon May 31 19:37:16 1999 +0000
        !          17003: 
        !          17004:     Small fixes to rip.
        !          17005: 
        !          17006: commit bf97bd28276af42aa59ea29b926b4848ae14e149
        !          17007: Author: Pavel Machek <pavel@ucw.cz>
        !          17008: Date:   Mon May 31 19:22:40 1999 +0000
        !          17009: 
        !          17010:     Cleanup of warnings
        !          17011: 
        !          17012: commit 91c7c7416b4a18ac2b9e872c2a1a6391cf8b3dc8
        !          17013: Author: Pavel Machek <pavel@ucw.cz>
        !          17014: Date:   Mon May 31 19:16:22 1999 +0000
        !          17015: 
        !          17016:     Incoming side of authentication done but untested. Right handling of
        !          17017:     filters in rip.
        !          17018: 
        !          17019: commit 2e6197d634a14533899915477032f082e675e35f
        !          17020: Author: Pavel Machek <pavel@ucw.cz>
        !          17021: Date:   Mon May 31 19:15:52 1999 +0000
        !          17022: 
        !          17023:     Added password_strncpy() which pads destination with zeros.
        !          17024: 
        !          17025: commit 9c9e49ac392dfdbff97be579842028a4eb1d0dec
        !          17026: Author: Pavel Machek <pavel@ucw.cz>
        !          17027: Date:   Mon May 31 19:15:32 1999 +0000
        !          17028: 
        !          17029:     Added extended attributes for rip.
        !          17030: 
        !          17031: commit c72b09c8508d71b9a0a998c2dabe475d54b4d014
        !          17032: Author: Ondrej Filip <feela@network.cz>
        !          17033: Date:   Mon May 31 19:07:31 1999 +0000
        !          17034: 
        !          17035:     IP socket priority (sock->tos) added. Constant taken from tcpdump of CISCO
        !          17036:     and gated.
        !          17037: 
        !          17038: commit 35ff423d54ebabffc5ab9dd757dfa2a1a70e9676
        !          17039: Author: Ondrej Filip <feela@network.cz>
        !          17040: Date:   Mon May 31 18:56:20 1999 +0000
        !          17041: 
        !          17042:     Some RX_Hello checks added.
        !          17043: 
        !          17044: commit bb027be1e232ca2207a03a8e001441965cc07801
        !          17045: Author: Martin Mares <mj@ucw.cz>
        !          17046: Date:   Mon May 31 18:55:35 1999 +0000
        !          17047: 
        !          17048:     Added extra argument to rt_update hook which contains a pointer to the
        !          17049:     temporary attribute list.
        !          17050: 
        !          17051: commit 75b84c34e3434209517f2ebc8160f39d33e3735e
        !          17052: Author: Ondrej Filip <feela@network.cz>
        !          17053: Date:   Mon May 31 18:24:54 1999 +0000
        !          17054: 
        !          17055:     Sending and receving of hello pkts works. No I will start building neighbor
        !          17056:     database.
        !          17057: 
        !          17058: commit 4a4911a36a865525f5de86ea8b575164ea9a855a
        !          17059: Author: Martin Mares <mj@ucw.cz>
        !          17060: Date:   Mon May 31 17:39:44 1999 +0000
        !          17061: 
        !          17062:     Added missing quotes.
        !          17063: 
        !          17064: commit 10915c9650d4b63b12140effc68718e2aecd01d3
        !          17065: Author: Pavel Machek <pavel@ucw.cz>
        !          17066: Date:   Mon May 31 17:12:38 1999 +0000
        !          17067: 
        !          17068:     Modified rip to new password handling in nest. Now it at least compiles.
        !          17069: 
        !          17070: commit 900d5470ae2cada4d37ed62f8bf2ce64c84349cd
        !          17071: Author: Pavel Machek <pavel@ucw.cz>
        !          17072: Date:   Mon May 31 17:12:00 1999 +0000
        !          17073: 
        !          17074:     Added PASSIVE option to paswwords.
        !          17075: 
        !          17076: commit 139ca21d05df71b59a72af126d063170421cf9f7
        !          17077: Author: Martin Mares <mj@ucw.cz>
        !          17078: Date:   Mon May 31 13:21:07 1999 +0000
        !          17079: 
        !          17080:     Added sk_send_buffer_empty().
        !          17081: 
        !          17082: commit fd5f8704bb7c2e9845a7c4785ace83a2b77d2c57
        !          17083: Author: Pavel Machek <pavel@ucw.cz>
        !          17084: Date:   Wed May 26 14:37:47 1999 +0000
        !          17085: 
        !          17086:     Make rip use newly defined password lists.
        !          17087: 
        !          17088: commit 858a717796d7aa48fe9b22a6b035fec9edbb5a2a
        !          17089: Author: Pavel Machek <pavel@ucw.cz>
        !          17090: Date:   Wed May 26 14:37:07 1999 +0000
        !          17091: 
        !          17092:     Change format of passwords (less ;'s) and fix password.h to allow
        !          17093:     multiple inclusions.
        !          17094: 
        !          17095: commit 7eb01479c92cd2f615993f2112aa5986f3e2b0ad
        !          17096: Author: Pavel Machek <pavel@ucw.cz>
        !          17097: Date:   Wed May 26 14:36:34 1999 +0000
        !          17098: 
        !          17099:     Example of password list usage.
        !          17100: 
        !          17101: commit 1a2ded450ecfbb8ccb7f459d7265fc5333d13420
        !          17102: Author: Pavel Machek <pavel@ucw.cz>
        !          17103: Date:   Wed May 26 14:24:57 1999 +0000
        !          17104: 
        !          17105:     Skeleton for password handling, currently I only build structures and
        !          17106:     do nothing more advanced for them
        !          17107: 
        !          17108: commit 9d79fec8dc7c5a3b7e590c00df7eadcef9e80144
        !          17109: Author: Pavel Machek <pavel@ucw.cz>
        !          17110: Date:   Wed May 26 14:24:32 1999 +0000
        !          17111: 
        !          17112:     Added notion of datetime
        !          17113: 
        !          17114: commit 6bd08d017b5cb2608a81c0c7c9fe8fb5da73ba60
        !          17115: Author: Pavel Machek <pavel@ucw.cz>
        !          17116: Date:   Wed May 26 14:22:41 1999 +0000
        !          17117: 
        !          17118:     Better date/time input methods need to be done
        !          17119: 
        !          17120: commit 903a3f3928a5d7c223ff4c0087343cf214f8478d
        !          17121: Author: Ondrej Filip <feela@network.cz>
        !          17122: Date:   Mon May 24 21:49:22 1999 +0000
        !          17123: 
        !          17124:     struct ospf_neigbor corrected.
        !          17125: 
        !          17126: commit c76674f0e98d356ea235ea76fd55d71a3673b123
        !          17127: Author: Ondrej Filip <feela@network.cz>
        !          17128: Date:   Mon May 24 21:17:16 1999 +0000
        !          17129: 
        !          17130:     struct ospf_neigbor added. Neigbor state machine implementation can start.
        !          17131: 
        !          17132: commit 65112dd270dbfa598c1f8a5074bf7224b9e1469c
        !          17133: Author: Ondrej Filip <feela@network.cz>
        !          17134: Date:   Mon May 24 18:22:00 1999 +0000
        !          17135: 
        !          17136:     ifa->time split into wait_timer and hello_timer. I will send hello in WAITING state.
        !          17137: 
        !          17138: commit daeb60393d011f8ee1326e212b310983276b6ba1
        !          17139: Author: Ondrej Filip <feela@network.cz>
        !          17140: Date:   Mon May 24 17:37:45 1999 +0000
        !          17141: 
        !          17142:     Small bug in ipv4_skip_header.
        !          17143: 
        !          17144: commit b9f8590025fd5d6dd360f759c5a219d69b975123
        !          17145: Author: Ondrej Filip <feela@network.cz>
        !          17146: Date:   Mon May 24 17:29:05 1999 +0000
        !          17147: 
        !          17148:     IP header test added.
        !          17149: 
        !          17150: commit 4b0d57e53120e404e00f7d252119e45288ceeb71
        !          17151: Author: Martin Mares <mj@ucw.cz>
        !          17152: Date:   Fri May 21 14:29:44 1999 +0000
        !          17153: 
        !          17154:     Added CONFIG_MULTIPLE_TABLES whereever appropriate.
        !          17155: 
        !          17156: commit 1c3c9dceb385198199c6c0190f3011d106142b67
        !          17157: Author: Martin Mares <mj@ucw.cz>
        !          17158: Date:   Fri May 21 14:29:23 1999 +0000
        !          17159: 
        !          17160:     Removed one unused structure field.
        !          17161: 
        !          17162: commit a70693ca9bc935513d1bfa9b3a49459d27927657
        !          17163: Author: Martin Mares <mj@ucw.cz>
        !          17164: Date:   Fri May 21 14:28:44 1999 +0000
        !          17165: 
        !          17166:     Don't forget to export CPPFLAGS to GCC. :)
        !          17167: 
        !          17168: commit a07e9d82352d0060ff4f00aa8d0a2575cafc781a
        !          17169: Author: Martin Mares <mj@ucw.cz>
        !          17170: Date:   Fri May 21 14:09:06 1999 +0000
        !          17171: 
        !          17172:     Added --with-sysinclude to allow explicitly setting where kernel includes
        !          17173:     reside, so that you can easily switch between 2.0 and 2.2 ones.
        !          17174:     
        !          17175:     Check existence of <linux/rtnetlink.h> for linux-22 configs to make sure
        !          17176:     we're using the correct set of includes.
        !          17177: 
        !          17178: commit 4f1a6d27b9a44f61329bc7b6779a0c645362e181
        !          17179: Author: Martin Mares <mj@ucw.cz>
        !          17180: Date:   Mon May 17 20:16:53 1999 +0000
        !          17181: 
        !          17182:     Kill remaining master_table relics in KRT code.
        !          17183:     
        !          17184:     Make all protocols pass routing table to rte_update and rte_discard.
        !          17185: 
        !          17186: commit 0e02abfd5770062768eeb4c75061b7d2f656489d
        !          17187: Author: Martin Mares <mj@ucw.cz>
        !          17188: Date:   Mon May 17 20:14:52 1999 +0000
        !          17189: 
        !          17190:     From now we support multiple tables. The master_table variable is
        !          17191:     definitely gone. Both rte_update() and rte_discard() have an additional
        !          17192:     argument telling which table should they modify.
        !          17193:     
        !          17194:     Also, rte_update() no longer walks the whole protocol list -- each table
        !          17195:     has a list of all protocols connected to this table and having the
        !          17196:     rt_notify hook set. Each protocol can also freely decide (by calling
        !          17197:     proto_add_announce_hook) to connect to any other table, but it will
        !          17198:     be probably used only by the table-to-table protocol.
        !          17199:     
        !          17200:     The default debugging dumps now include all routing tables and also
        !          17201:     all their connections.
        !          17202: 
        !          17203: commit 4107df1d1b7454a16e6f45ea55aae13b01c9f566
        !          17204: Author: Martin Mares <mj@ucw.cz>
        !          17205: Date:   Mon May 17 20:06:19 1999 +0000
        !          17206: 
        !          17207:     Implemented two new symbol handling functions:
        !          17208:     
        !          17209:       o  cf_define_symbol() -- it assigns a meaning to a symbol, bailing
        !          17210:          out if it already has one.
        !          17211:       o  cf_find_symbol() -- finds symbol by name and creates it if not found.
        !          17212:     
        !          17213:     Also modified filter/config.Y to make use of the first function.
        !          17214: 
        !          17215: commit b23c5e0ff4e9071b2568bf2f7d437bc13273d17d
        !          17216: Author: Martin Mares <mj@ucw.cz>
        !          17217: Date:   Fri May 14 18:03:09 1999 +0000
        !          17218: 
        !          17219:     Added ip_skip_header() and modified OSPF to use it.
        !          17220: 
        !          17221: commit 11ce4490fac7d0446802738f5fb8fd68c36bd30b
        !          17222: Author: Ondrej Filip <feela@network.cz>
        !          17223: Date:   Fri May 14 08:50:25 1999 +0000
        !          17224: 
        !          17225:     *** empty log message ***
        !          17226: 
        !          17227: commit 67ff91302f21f6a40201bcc8a01c9c76eaaf1ed1
        !          17228: Author: Ondrej Filip <feela@network.cz>
        !          17229: Date:   Fri May 14 08:46:06 1999 +0000
        !          17230: 
        !          17231:     Netmask checking for hello packets added.
        !          17232: 
        !          17233: commit 7426ee3d49fab13428f198c78c8b7f3da131382e
        !          17234: Author: Ondrej Filip <feela@network.cz>
        !          17235: Date:   Thu May 13 09:18:36 1999 +0000
        !          17236: 
        !          17237:     Checksum control added.
        !          17238: 
        !          17239: commit 296ecb56eb4d1951d23d74d502d2c48a42eb6eee
        !          17240: Author: Ondrej Filip <feela@network.cz>
        !          17241: Date:   Tue May 11 15:34:33 1999 +0000
        !          17242: 
        !          17243:     OSPF RX implementation starts....
        !          17244: 
        !          17245: commit 1b16029c12a501752388523ebfe2981e7d7d7ed3
        !          17246: Author: Pavel Machek <pavel@ucw.cz>
        !          17247: Date:   Tue May 11 09:53:45 1999 +0000
        !          17248: 
        !          17249:     Mensi updaty do ripu. Pridana passwd autentikace (netestovano).
        !          17250: 
        !          17251: commit f7103dfcfe174d39c8aa10eb100550e3ec213981
        !          17252: Author: Ondrej Filip <feela@network.cz>
        !          17253: Date:   Tue May 11 09:50:02 1999 +0000
        !          17254: 
        !          17255:     Better logging output. Added 'struct proto *' info 'struct ospf iface'.
        !          17256: 
        !          17257: commit 1a54d44a23de7b0bf0dfe62dd3d09d8167e5a597
        !          17258: Author: Martin Mares <mj@ucw.cz>
        !          17259: Date:   Mon May 10 21:37:39 1999 +0000
        !          17260: 
        !          17261:     Added packet checksumming code. Watch the comments for an explanation.
        !          17262: 
        !          17263: commit a2697f02ac5109e749bff4d07bee6cedd0ab650b
        !          17264: Author: Martin Mares <mj@ucw.cz>
        !          17265: Date:   Fri May 7 13:46:16 1999 +0000
        !          17266: 
        !          17267:     Netlink support for secondary interface addresses.
        !          17268: 
        !          17269: commit 9a158361da249e0eab1e0f7bd2c7dbe9f32eddfa
        !          17270: Author: Martin Mares <mj@ucw.cz>
        !          17271: Date:   Thu May 6 21:38:11 1999 +0000
        !          17272: 
        !          17273:     I rewrote the interface handling code, so that it supports multiple
        !          17274:     addresses per interface (needed for example for IPv6 support).
        !          17275:     
        !          17276:     Visible changes:
        !          17277:     
        !          17278:     o  struct iface now contains a list of all interface addresses (represented
        !          17279:        by struct ifa), iface->addr points to the primary address (if any).
        !          17280:     o  Interface has IF_UP set iff it's up and it has a primary address.
        !          17281:     o  IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED
        !          17282:        in the protocols; I've added this, but please check).
        !          17283:     o  The if_notify_change hook has been simplified (only one interface pointer
        !          17284:        etc.).
        !          17285:     o  Introduced a ifa_notify_change hook. (For now, only the Direct protocol
        !          17286:        does use it -- it's wise to just listen to device routes in all other
        !          17287:        protocols.)
        !          17288:     o  Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway).
        !          17289:     o  Updated all the code except netlink (I'll look at it tomorrow) to match
        !          17290:        the new semantics (please look at your code to ensure I did it right).
        !          17291:     
        !          17292:     Things to fix:
        !          17293:     
        !          17294:     o  Netlink.
        !          17295:     o  Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
        !          17296: 
        !          17297: commit ec8b579e9c9703601bf745745b620103fe2e2477
        !          17298: Author: Martin Mares <mj@ucw.cz>
        !          17299: Date:   Tue Apr 27 16:03:17 1999 +0000
        !          17300: 
        !          17301:     Recognize site scope for IPv4 addresses (prefixes reserved for private
        !          17302:     networks).
        !          17303:     
        !          17304:     Removed old #ifndef logic which was used to avoid IPv4/IPv6 clashes
        !          17305:     before conditionals in Modules lists were introduced.
        !          17306: 
        !          17307: commit 59e2188cb7020e43e25c9d5bdcd011f341ddfc1d
        !          17308: Author: Ondrej Filip <feela@network.cz>
        !          17309: Date:   Tue Apr 27 13:04:33 1999 +0000
        !          17310: 
        !          17311:     Just changes of comments.
        !          17312: 
        !          17313: commit 6376a961332552e2bc178d647f1e5cfa01a1ac32
        !          17314: Author: Ondrej Filip <feela@network.cz>
        !          17315: Date:   Tue Apr 27 12:56:52 1999 +0000
        !          17316: 
        !          17317:     Hello timer implemented.
        !          17318: 
        !          17319: commit 93bde8dce23ae10476263a84cc40bbe186263fdc
        !          17320: Author: Ondrej Filip <feela@network.cz>
        !          17321: Date:   Thu Apr 22 13:12:28 1999 +0000
        !          17322: 
        !          17323:     Work on hello continues.
        !          17324: 
        !          17325: commit 36bbfc704c7d2153537751e24413db9b9c97bc58
        !          17326: Author: Pavel Machek <pavel@ucw.cz>
        !          17327: Date:   Mon Apr 19 18:41:56 1999 +0000
        !          17328: 
        !          17329:     Updated filters: they now actually see IP/pxlen of net being filtered,
        !          17330:     gateway, and who told us, so they can do usefull jobs from now on.
        !          17331: 
        !          17332: commit afbc41ab3d4f07f7dc4dbc6c769fe7fa1567f357
        !          17333: Author: Pavel Machek <pavel@ucw.cz>
        !          17334: Date:   Wed Apr 14 21:11:24 1999 +0000
        !          17335: 
        !          17336:     SImplify code a tiny bit.
        !          17337: 
        !          17338: commit b11d8a4f59b3559779938b0a37914a7bc8c07a6b
        !          17339: Author: Ondrej Filip <feela@network.cz>
        !          17340: Date:   Wed Apr 14 15:13:44 1999 +0000
        !          17341: 
        !          17342:     Redesigned struct ospf_iface & new struct ospf_sock.
        !          17343: 
        !          17344: commit b31568a516142e905712bad498914fb6a82dc25b
        !          17345: Author: Ondrej Filip <feela@network.cz>
        !          17346: Date:   Wed Apr 14 12:47:18 1999 +0000
        !          17347: 
        !          17348:     Small bug fix in memcpy.
        !          17349: 
        !          17350: commit 4c5e5e3a1c438cb2e92535e3fabc458aa0d6deb3
        !          17351: Author: Martin Mares <mj@ucw.cz>
        !          17352: Date:   Wed Apr 14 12:29:47 1999 +0000
        !          17353: 
        !          17354:     Multicasts once again: When using SO_BINDTODEVICE, don't specify IP address
        !          17355:     of the interface.
        !          17356: 
        !          17357: commit 1b50a1e4be2b54bd4ccadfaeaf558aea15255de4
        !          17358: Author: Martin Mares <mj@ucw.cz>
        !          17359: Date:   Wed Apr 14 11:39:07 1999 +0000
        !          17360: 
        !          17361:     Next attempt to get SO_BINDTODEVICE work :)
        !          17362: 
        !          17363: commit 36154beb705cdaf03f9ee050798d9e653ded6ca5
        !          17364: Author: Martin Mares <mj@ucw.cz>
        !          17365: Date:   Wed Apr 14 11:21:02 1999 +0000
        !          17366: 
        !          17367:     Use SO_BINDTODEVICE if we're using old multicast API (i.e., struct ip_mreq
        !          17368:     and not ip_mreqn). This should get multicasts on unnumbered PtP links work.
        !          17369: 
        !          17370: commit 9da4d143402efd16bec286e3723b42386b20968b
        !          17371: Author: Martin Mares <mj@ucw.cz>
        !          17372: Date:   Wed Apr 14 11:09:55 1999 +0000
        !          17373: 
        !          17374:     A couple of OSPF fixes:
        !          17375:     
        !          17376:     o  ((flags & IF_CHANGE_UP) == IF_CHANGE_UP)   ->   (flags & IF_CHANGE_UP)
        !          17377:     o  bcopy  ->  memcpy   (bcopy is unportable)
        !          17378:     o  Ifdeffed out add_tail(&(ifa->sk_list),NODE mcsk) -- the node in socket
        !          17379:        structure is for internal use by the resource manager only. (Now, the
        !          17380:        debugging dump of open sockets looks sane :-)).
        !          17381: 
        !          17382: commit 1ab4dee0288e4ad6c8fbefae3aa64ca873cf4500
        !          17383: Author: Martin Mares <mj@ucw.cz>
        !          17384: Date:   Wed Apr 14 10:49:31 1999 +0000
        !          17385: 
        !          17386:     Removed redeclaration of `idval', so that it compiles :)
        !          17387: 
        !          17388: commit 4c630a6dd7e02cbbe1cca2c626feb86801ee4d03
        !          17389: Author: Ondrej Filip <feela@network.cz>
        !          17390: Date:   Tue Apr 13 21:46:20 1999 +0000
        !          17391: 
        !          17392:     Added wait timer for eligible BCAST & NBMA interface.
        !          17393: 
        !          17394: commit 55e7732a5a5fe47752eafe6024ba473bd7959e45
        !          17395: Author: Ondrej Filip <feela@network.cz>
        !          17396: Date:   Tue Apr 13 19:27:44 1999 +0000
        !          17397: 
        !          17398:     Change in ospf_iface. (My bad understanding of lists manipulation.)
        !          17399: 
        !          17400: commit aec76c6e8e5702144522f0061bc102d26e10b97c
        !          17401: Author: Ondrej Filip <feela@network.cz>
        !          17402: Date:   Tue Apr 13 18:21:53 1999 +0000
        !          17403: 
        !          17404:     IPv6 changes.
        !          17405: 
        !          17406: commit 43fc099b98594fb3ac6a56a90fd00f42fc98f742
        !          17407: Author: Pavel Machek <pavel@ucw.cz>
        !          17408: Date:   Tue Apr 13 11:40:04 1999 +0000
        !          17409: 
        !          17410:     Sets of IP addresses should work, now. (From now on it is also
        !          17411:     possible to write if 1.2.3.4 < 1.2.3.5, but I'm not sure if it is good
        !          17412:     for anything.)
        !          17413: 
        !          17414: commit 24eaae9e5d0b154ec47d9d4e13649fb066814ef1
        !          17415: Author: Ondrej Filip <feela@network.cz>
        !          17416: Date:   Tue Apr 13 00:46:34 1999 +0000
        !          17417: 
        !          17418:     Small change to stop using loopback.
        !          17419: 
        !          17420: commit cb2e8c49706c14ea662df44cd3911c1f9db4b4a8
        !          17421: Author: Ondrej Filip <feela@network.cz>
        !          17422: Date:   Tue Apr 13 00:24:05 1999 +0000
        !          17423: 
        !          17424:     A small init change to avoid core dump.
        !          17425: 
        !          17426: commit 5b1a92e6d4350bcecff4f78b9cfabfb98ca7ce2a
        !          17427: Author: Ondrej Filip <feela@network.cz>
        !          17428: Date:   Mon Apr 12 23:54:21 1999 +0000
        !          17429: 
        !          17430:     Not all I mean serious. Almost everything will change.
        !          17431:     Changes: struct ospf_iface draft, various constants added...
        !          17432: 
        !          17433: commit 2f5d154466e8d76f4054561a361bb45f157c29a6
        !          17434: Author: Martin Mares <mj@ucw.cz>
        !          17435: Date:   Mon Apr 12 20:26:06 1999 +0000
        !          17436: 
        !          17437:     Added ipa_compare as requested.
        !          17438: 
        !          17439: commit 38506f71b0bea5580987e999a7b1a69f58aec7ec
        !          17440: Author: Pavel Machek <pavel@ucw.cz>
        !          17441: Date:   Mon Apr 12 19:58:18 1999 +0000
        !          17442: 
        !          17443:     Sets of integers now actually work. Sets of IP will work as soon as
        !          17444:     compare function is ready.
        !          17445: 
        !          17446: commit 01bd7759b260b379089acf28cc47bd49572ebd22
        !          17447: Author: Martin Mares <mj@ucw.cz>
        !          17448: Date:   Mon Apr 12 18:07:05 1999 +0000
        !          17449: 
        !          17450:     Ignore alias interfaces (some day, we will treat them as pure secondary
        !          17451:     interface addresses).
        !          17452: 
        !          17453: commit 08e2d6259a71c5e43ac0083ea6d81357678f99eb
        !          17454: Author: Martin Mares <mj@ucw.cz>
        !          17455: Date:   Mon Apr 12 18:01:07 1999 +0000
        !          17456: 
        !          17457:     Removed TOS support. This simplifies many things a lot.
        !          17458: 
        !          17459: commit 170c984a9ef1bde00711f405b03d24a2e151501c
        !          17460: Author: Martin Mares <mj@ucw.cz>
        !          17461: Date:   Mon Apr 12 17:27:21 1999 +0000
        !          17462: 
        !          17463:     Cosmetic message fix.
        !          17464: 
        !          17465: commit 113694892e9669a1ae3dd44274f27c862c6c293a
        !          17466: Author: Martin Mares <mj@ucw.cz>
        !          17467: Date:   Mon Apr 12 17:21:11 1999 +0000
        !          17468: 
        !          17469:     Use $(CC) instead of gcc even when generating dependencies.
        !          17470: 
        !          17471: commit 620c4f90c9437362bf17180e6dbbf14c4e480e40
        !          17472: Author: Martin Mares <mj@ucw.cz>
        !          17473: Date:   Mon Apr 12 17:20:50 1999 +0000
        !          17474: 
        !          17475:     Oops, a typo in previous struct ip_mreqn changes...
        !          17476: 
        !          17477: commit 61fb537c6273c50deb7d33f8af246993eab4bc4d
        !          17478: Author: Martin Mares <mj@ucw.cz>
        !          17479: Date:   Mon Apr 12 15:27:56 1999 +0000
        !          17480: 
        !          17481:     Use `struct ip_mreqn' instead of `struct ip_mreq' for multicast
        !          17482:     operations on 2.1/2.2 kernels. This allows passing of real interface
        !          17483:     indexes instead of referencing interfaces by their IP addresses which
        !          17484:     fails badly in presence of unnumbered interfaces.
        !          17485:     
        !          17486:     Unfortunately, this structure is not visible with glibc 2.0 as it provides
        !          17487:     its own networking headers :-(  Both libc5 and glibc 2.1 should be OK.
        !          17488: 
        !          17489: commit 5a99ade413b97a780758f5c8f927604ad6c8e57b
        !          17490: Author: Martin Mares <mj@ucw.cz>
        !          17491: Date:   Mon Apr 12 14:57:46 1999 +0000
        !          17492: 
        !          17493:     Fixed a couple of bugs in handling of multicast sockets.
        !          17494:     
        !          17495:     See comments in lib/socket.h for a detailed guide on how to use them.
        !          17496: 
        !          17497: commit bad631e04806287e99e2464c0fdc884f9efa1e71
        !          17498: Author: Pavel Machek <pavel@ucw.cz>
        !          17499: Date:   Mon Apr 12 12:07:15 1999 +0000
        !          17500: 
        !          17501:     Oops, typo.
        !          17502: 
        !          17503: commit 8ba2cc064b823274e8af043bf0676bfc252e810a
        !          17504: Author: Pavel Machek <pavel@ucw.cz>
        !          17505: Date:   Mon Apr 12 12:01:59 1999 +0000
        !          17506: 
        !          17507:     In case no startup function is defined, don't try to launch it.
        !          17508: 
        !          17509: commit ed9a82369ffc660ec20d9b7fa64188a450267672
        !          17510: Author: Martin Mares <mj@ucw.cz>
        !          17511: Date:   Sun Apr 11 19:28:16 1999 +0000
        !          17512: 
        !          17513:     Added new target "tags" to generate a tag table for Emacs.
        !          17514:     
        !          17515:     Also made "depend" work before the tree is compiled first time.
        !          17516: 
        !          17517: commit 2db3b2887ea93c9946956a9a5ce5a06f0ef783c3
        !          17518: Author: Pavel Machek <pavel@ucw.cz>
        !          17519: Date:   Sat Apr 10 09:45:08 1999 +0000
        !          17520: 
        !          17521:     Decrease number of warnings.
        !          17522: 
        !          17523: commit 49ed70b48e3b66c4dd71315e842733d69204698e
        !          17524: Author: Martin Mares <mj@ucw.cz>
        !          17525: Date:   Wed Apr 7 14:25:56 1999 +0000
        !          17526: 
        !          17527:     Portability fixes.
        !          17528: 
        !          17529: commit 23b1539bf90bfb6b35d9a2be0a2b6b1e311c1460
        !          17530: Author: Pavel Machek <pavel@ucw.cz>
        !          17531: Date:   Wed Apr 7 12:11:08 1999 +0000
        !          17532: 
        !          17533:     Filters upgraded - a bit. Moved code to filter.c because it is where
        !          17534:     it belongs. (f-util.c stays there for auxiliary and non-important things.)
        !          17535: 
        !          17536: commit 7976a574b692f747d833d899caf0fbbf702714c1
        !          17537: Author: Martin Mares <mj@ucw.cz>
        !          17538: Date:   Tue Apr 6 21:31:03 1999 +0000
        !          17539: 
        !          17540:     ip_pton: Avoid modification of the string we're converting.
        !          17541: 
        !          17542: commit e2dc2f30efd65cf3da4db150fae695978388e247
        !          17543: Author: Martin Mares <mj@ucw.cz>
        !          17544: Date:   Mon Apr 5 20:25:03 1999 +0000
        !          17545: 
        !          17546:     Routing table core changes to support full route filtering:
        !          17547:     
        !          17548:     o  Introduced rte_cow() which should be used for copying on write the
        !          17549:        rte's in filters. Each rte now carries a flag saying whether it's
        !          17550:        a real route (possessing table linkage and other insignia) or a local
        !          17551:        copy. This function can be expected to be fast since its fast-path
        !          17552:        is inlined.
        !          17553:     o  Introduced rte_update_pool which is a linear memory pool used for
        !          17554:        all temporary data during rte_update. You should not reference it directly
        !          17555:        -- instead use a pool pointer passed to all related functions.
        !          17556:     o  Split rte_update to three functions:
        !          17557:     
        !          17558:        rte_update      The front end: handles all checking, inbound
        !          17559:                        filtering and calls rte_recalculate() for the
        !          17560:                        final version of the route.
        !          17561:        rte_recalculate Update the table according to already filtered route.
        !          17562:        rte_announce    Announce routing table changes to all protocols,
        !          17563:                        passing them through export filters and so on.
        !          17564:     
        !          17565:        The interface has _not_ changed -- still call rte_update() and it will
        !          17566:        do the rest for you automagically.
        !          17567:     o  Use new filtering semantics to be explained in a separate mail.
        !          17568: 
        !          17569: commit 9e0e485e50ea74c4f1c5cb65bdfe6ce819c2cee2
        !          17570: Author: Martin Mares <mj@ucw.cz>
        !          17571: Date:   Mon Apr 5 20:17:59 1999 +0000
        !          17572: 
        !          17573:     Added some new protocol hooks (look at the comments for better explanation):
        !          17574:     
        !          17575:        make_tmp_attrs          Convert inline attributes to ea_list
        !          17576:        store_tmp_attrs         Convert ea_list to inline attributes
        !          17577:        import_control          Pre-import decisions
        !          17578: 
        !          17579: commit 5056c559c4eb253a4eee10cf35b694faec5265eb
        !          17580: Author: Martin Mares <mj@ucw.cz>
        !          17581: Date:   Mon Apr 5 20:15:31 1999 +0000
        !          17582: 
        !          17583:     Changed syntax of attaching filters to protocols to hopefully the final
        !          17584:     version:
        !          17585:     
        !          17586:        EXPORT <filter-spec>    for outbound routes (i.e., those announced
        !          17587:                                by BIRD to the rest of the world).
        !          17588:        IMPORT <filter-spec>    for inbound routes (i.e., those imported
        !          17589:                                by BIRD from the rest of the world).
        !          17590:     
        !          17591:     where <filter-spec> is one of:
        !          17592:     
        !          17593:        ALL                     pass all routes
        !          17594:        NONE                    drop all routes
        !          17595:        FILTER <name>           use named filter
        !          17596:        FILTER { <filter> }     use explicitly defined filter
        !          17597:     
        !          17598:     For all protocols, the default is IMPORT ALL, EXPORT NONE. This includes
        !          17599:     the kernel protocol, so that you need to add EXPORT ALL to get the previous
        !          17600:     configuration of kernel syncer (as usually, see doc/bird.conf.example for
        !          17601:     a bird.conf example :)).
        !          17602: 
        !          17603: commit 63a381dbf5e37c2740982d07988cea983c699816
        !          17604: Author: Martin Mares <mj@ucw.cz>
        !          17605: Date:   Mon Apr 5 20:10:31 1999 +0000
        !          17606: 
        !          17607:     Several filter changes. (Pavel, please check if they are OK.)
        !          17608:     
        !          17609:        o  Changed parameters of f_run. Changed rtein+rteout pair to rte pointer
        !          17610:           passed by reference, added ea_list of temporary attrs again passed
        !          17611:           by reference and finally added a pointer to memory pool for storing
        !          17612:           temporary data (new ea_lists's, temporary rta's etc.).
        !          17613:        o  Re-ordered result codes, so that all accepts come before all rejects.
        !          17614:        o  Introduced FILTER_ACCEPT and FILTER_REJECT dummy values (will be
        !          17615:           used in protocol configurations).
        !          17616:        o  Added filter_name() which returns name of a filter or ACCEPT/REJECT
        !          17617:           for the dummies.
        !          17618: 
        !          17619: commit d4ff748224fc18e460e74ab14d70d01fd50e4b92
        !          17620: Author: Martin Mares <mj@ucw.cz>
        !          17621: Date:   Mon Apr 5 20:06:02 1999 +0000
        !          17622: 
        !          17623:     Use a more reasonable pool chunk size: 4080 bytes seem to be a good
        !          17624:     approximation of a integral fraction of page size even if both malloc
        !          17625:     overhead and chunk header space is counted.
        !          17626: 
        !          17627: commit c10421d3d4b5f23dc953c887332bdb6e80ae0540
        !          17628: Author: Martin Mares <mj@ucw.cz>
        !          17629: Date:   Sat Apr 3 13:05:18 1999 +0000
        !          17630: 
        !          17631:     More changes to the kernel syncer.
        !          17632:     
        !          17633:     o  Now compatible with filtering.
        !          17634:     o  Learning of kernel routes supported only on CONFIG_SELF_CONSCIOUS
        !          17635:        systems (on the others it's impossible to get it semantically correct).
        !          17636:     o  Learning now stores all of its routes in a separate fib and selects
        !          17637:        the ones the kernel really uses for forwarding packets.
        !          17638:     o  Better treatment of CONFIG_AUTO_ROUTES ports.
        !          17639:     o  Lots of internal changes.
        !          17640: 
        !          17641: commit 69ec9087ad3fb631f46275220909a876deadb6b5
        !          17642: Author: Martin Mares <mj@ucw.cz>
        !          17643: Date:   Sat Apr 3 13:01:58 1999 +0000
        !          17644: 
        !          17645:     Added new protocol hook for dumping of protocol-dependent route
        !          17646:     attributes.
        !          17647:     
        !          17648:     Please implement in all protocols.
        !          17649: 
        !          17650: commit 73c7bed168890399981f70e1d0be35d8cde01fed
        !          17651: Author: Martin Mares <mj@ucw.cz>
        !          17652: Date:   Sat Apr 3 13:00:52 1999 +0000
        !          17653: 
        !          17654:     Defined CONFIG_SELF_CONSCIOUS whenever the kernel scanner is able
        !          17655:     to distinguish between our own routes and alien ones.
        !          17656: 
        !          17657: commit fe662dfd782619fd6505a1456b973b2525ab6ebf
        !          17658: Author: Martin Mares <mj@ucw.cz>
        !          17659: Date:   Fri Apr 2 13:38:54 1999 +0000
        !          17660: 
        !          17661:     Fixed `too many interfaces' cases.
        !          17662: 
        !          17663: commit 0498d92f955f011ceb70e1124f25ac567c359005
        !          17664: Author: Pavel Machek <pavel@ucw.cz>
        !          17665: Date:   Fri Apr 2 11:45:55 1999 +0000
        !          17666: 
        !          17667:     Believe it or not, printf()'s does not work too much without this one.
        !          17668: 
        !          17669: commit 8cda9cdbcf445ebe828b7bf89dcb4c7f83937756
        !          17670: Author: Martin Mares <mj@ucw.cz>
        !          17671: Date:   Thu Apr 1 19:23:59 1999 +0000
        !          17672: 
        !          17673:     Argh, the fix was wrong.
        !          17674: 
        !          17675: commit e4241f24f2ebc796a9cfb03db2a9502f5ebd9c0c
        !          17676: Author: Martin Mares <mj@ucw.cz>
        !          17677: Date:   Thu Apr 1 15:35:15 1999 +0000
        !          17678: 
        !          17679:     Portability fixes.
        !          17680: 
        !          17681: commit abae6e9cd3f041648eaa85fad2f861515b67c1ce
        !          17682: Author: Martin Mares <mj@ucw.cz>
        !          17683: Date:   Thu Apr 1 15:33:52 1999 +0000
        !          17684: 
        !          17685:     First few FreeBSD portability fixes.
        !          17686: 
        !          17687: commit 6accdf4f437ef2a3251df917f2b83fe985e64961
        !          17688: Author: Martin Mares <mj@ucw.cz>
        !          17689: Date:   Mon Mar 29 20:46:00 1999 +0000
        !          17690: 
        !          17691:     Updated the TODO list.
        !          17692: 
        !          17693: commit fb71b23e6004d18480dcfdfbc2e7da7bbc4eb400
        !          17694: Author: Martin Mares <mj@ucw.cz>
        !          17695: Date:   Mon Mar 29 20:33:45 1999 +0000
        !          17696: 
        !          17697:     Remember that we can run device syncer without kernel syncer
        !          17698:     and vice versa now.
        !          17699: 
        !          17700: commit 78d5ec15043ab67fdf31feabe4a83129488625fe
        !          17701: Author: Martin Mares <mj@ucw.cz>
        !          17702: Date:   Mon Mar 29 20:28:25 1999 +0000
        !          17703: 
        !          17704:     Please don't commit debugging code which makes BIRD exit before anything
        !          17705:     actually starts to happen. Grrr.
        !          17706: 
        !          17707: commit e4912e3594c9211c8a147f1dcd4eeaf3b0095ed0
        !          17708: Author: Martin Mares <mj@ucw.cz>
        !          17709: Date:   Mon Mar 29 20:26:32 1999 +0000
        !          17710: 
        !          17711:     Prefer `gm4' over `m4' (due to BSD et al.).
        !          17712: 
        !          17713: commit ba92164871f65bb9adcfa66b901d1a7b86697a86
        !          17714: Author: Pavel Machek <pavel@ucw.cz>
        !          17715: Date:   Mon Mar 29 20:21:28 1999 +0000
        !          17716: 
        !          17717:     Update of filters towards new interface.
        !          17718: 
        !          17719: commit 5bc512aa3a0d3e4ca378fff3316b75c131f17637
        !          17720: Author: Martin Mares <mj@ucw.cz>
        !          17721: Date:   Mon Mar 29 20:14:33 1999 +0000
        !          17722: 
        !          17723:     Clarify resource dumps and include them in the main debugging dump.
        !          17724: 
        !          17725: commit 3f2a21fd348e49cf3ca98750b14e14dd04b3209b
        !          17726: Author: Martin Mares <mj@ucw.cz>
        !          17727: Date:   Mon Mar 29 20:14:00 1999 +0000
        !          17728: 
        !          17729:     Don't try to delete interface routes on CONFIG_AUTO_ROUTES systems.
        !          17730: 
        !          17731: commit 6c02d83f4d225abc03f99fb80299f1ba10ac174a
        !          17732: Author: Martin Mares <mj@ucw.cz>
        !          17733: Date:   Mon Mar 29 19:56:32 1999 +0000
        !          17734: 
        !          17735:     Added FIXME: If a strange interface appears, ignore it instead of only
        !          17736:     writing an error message...
        !          17737: 
        !          17738: commit f5c687f7911501ac1efd8163fade4862dc65456c
        !          17739: Author: Martin Mares <mj@ucw.cz>
        !          17740: Date:   Mon Mar 29 19:35:47 1999 +0000
        !          17741: 
        !          17742:     Added lp_flush() which flushes contents of a linear pool, leaving all the
        !          17743:     memory available for subsequent allocations from the same pool. Both flushing
        !          17744:     and re-using the memory costs just few instructions.
        !          17745: 
        !          17746: commit f54801ffedf3d6342b37c1560502bfc24e7fe64a
        !          17747: Author: Martin Mares <mj@ucw.cz>
        !          17748: Date:   Mon Mar 29 19:14:43 1999 +0000
        !          17749: 
        !          17750:     Moved all system-dependent #include's containing endianity conversion
        !          17751:     functions to sysdep header endian.h.
        !          17752: 
        !          17753: commit 6134024815adf2541293008f848dce4e8a21d061
        !          17754: Author: Martin Mares <mj@ucw.cz>
        !          17755: Date:   Mon Mar 29 19:13:36 1999 +0000
        !          17756: 
        !          17757:     #define NULL if not defined by system includes.
        !          17758: 
        !          17759: commit 7f400d1c620e80461e61384c7d0b8893edb92695
        !          17760: Author: Martin Mares <mj@ucw.cz>
        !          17761: Date:   Mon Mar 29 19:04:14 1999 +0000
        !          17762: 
        !          17763:     After today's lengthy discussions about filter syntax, let's clean up
        !          17764:     whitespace/semicolon rules for whole config file:
        !          17765:     
        !          17766:        o  All non-zero amounts of whitespace are equivalent to single space
        !          17767:           (aka `all the whitespace has been born equal' ;-)).
        !          17768:        o  Comments count as whitespace.
        !          17769:        o  Whitespace has no syntactic signifance (it can only separate lexical
        !          17770:           elements).
        !          17771:        o  Consequence: line ends are no longer treated as `;'s.
        !          17772:        o  Every declaration must be terminated by an explicit `;' unless
        !          17773:           or by a group enclosed in `{' and `}'.
        !          17774: 
        !          17775: commit 1127ac6ec7eff52d4ccbc4d836a63fa6513f6d48
        !          17776: Author: Martin Mares <mj@ucw.cz>
        !          17777: Date:   Sat Mar 27 22:51:05 1999 +0000
        !          17778: 
        !          17779:     Cleaned up system configuration files -- removed few obsolete parameters,
        !          17780:     documented the remaining ones (sysdep/cf/README).
        !          17781:     
        !          17782:     Available configurations:
        !          17783:     
        !          17784:        o  linux-20: Old Linux interface via /proc/net/route (selected by default
        !          17785:                on pre-2.1 kernels).
        !          17786:        o  linux-21: Old Linux interface, but device routes handled by the
        !          17787:                kernel (selected by default for 2.1 and newer kernels).
        !          17788:        o  linux-22: Linux with Netlink (I play with it a lot yet, so it isn't
        !          17789:                a default).
        !          17790:        o  linux-ipv6: Prototype config for IPv6 on Linux. Not functional yet.
        !          17791: 
        !          17792: commit 7dc4827c968053e45bcb7f145e9986eeb20c993b
        !          17793: Author: Martin Mares <mj@ucw.cz>
        !          17794: Date:   Fri Mar 26 21:50:43 1999 +0000
        !          17795: 
        !          17796:     Added everything protocols need to know about multiple routing tables,
        !          17797:     i.e. struct proto now contains field 'table' pointing to routing table
        !          17798:     the protocol is attached to. Use this instead of &master_table.
        !          17799:     
        !          17800:     Modified all protocols except the kernel syncer to use this field.
        !          17801: 
        !          17802: commit 7e5f5ffdda7232048c4baf3fdec358afb494a29d
        !          17803: Author: Martin Mares <mj@ucw.cz>
        !          17804: Date:   Fri Mar 26 21:44:38 1999 +0000
        !          17805: 
        !          17806:     Moved to a much more systematic way of configuring kernel protocols.
        !          17807:     
        !          17808:       o  Nothing is configured automatically. You _need_ to specify
        !          17809:          the kernel syncer in config file in order to get it started.
        !          17810:       o  Syncing has been split to route syncer (protocol "Kernel") and
        !          17811:          interface syncer (protocol "Device"), device routes are generated
        !          17812:          by protocol "Direct" (now can exist in multiple instances, so that
        !          17813:          it will be possible to feed different device routes to different
        !          17814:          routing tables once multiple tables get supported).
        !          17815:     
        !          17816:     See doc/bird.conf.example for a living example of these shiny features.
        !          17817: 
        !          17818: commit 739ebd8e82b090ed91b3ebe77509ecd6784eca9a
        !          17819: Author: Martin Mares <mj@ucw.cz>
        !          17820: Date:   Fri Mar 26 21:38:02 1999 +0000
        !          17821: 
        !          17822:     Allow different instances of the same protocol with identical preferences.
        !          17823: 
        !          17824: commit 4ba84ebc8285c3a5c556fc769101cc29cb3d3708
        !          17825: Author: Martin Mares <mj@ucw.cz>
        !          17826: Date:   Fri Mar 26 21:37:29 1999 +0000
        !          17827: 
        !          17828:     Slightly better generator of default protocol instance names.
        !          17829: 
        !          17830: commit 241b7311ec5a091b7f3e1a1f2a776f3ef403c500
        !          17831: Author: Martin Mares <mj@ucw.cz>
        !          17832: Date:   Fri Mar 26 21:35:28 1999 +0000
        !          17833: 
        !          17834:     Don't compile OSPF by default.
        !          17835: 
        !          17836: commit b5239f223874b87dd7c9de4d624cdf1230022111
        !          17837: Author: Martin Mares <mj@ucw.cz>
        !          17838: Date:   Fri Mar 26 21:33:36 1999 +0000
        !          17839: 
        !          17840:     Don't try to manipulate neighbor lists for copied interface structures.
        !          17841:     This avoids few nasty references to free memory.
        !          17842: 
        !          17843: commit f79a749d0b9a5a7509db9ad6c547bbabc0457675
        !          17844: Author: Martin Mares <mj@ucw.cz>
        !          17845: Date:   Wed Mar 24 09:23:34 1999 +0000
        !          17846: 
        !          17847:     Removed our declaration of RTPROT_BIRD since Alexey has assigned
        !          17848:     us a real protocol number in 2.2.4 kernel.
        !          17849: 
        !          17850: commit 421838ffef49338218dd85ff5efd1d5396ab7ccf
        !          17851: Author: Martin Mares <mj@ucw.cz>
        !          17852: Date:   Wed Mar 17 15:01:07 1999 +0000
        !          17853: 
        !          17854:     rte_update: Check sanity of incoming entries. Throw out (and log) all routes
        !          17855:     to bogus prefixes and non-local routes to host scope addresses.
        !          17856: 
        !          17857: commit 529c414953c24c326d9063a8f06fa652f0dfbc30
        !          17858: Author: Martin Mares <mj@ucw.cz>
        !          17859: Date:   Wed Mar 17 14:31:26 1999 +0000
        !          17860: 
        !          17861:     Allow input and output filters (only accept/reject style as we didn't define
        !          17862:     modifying filters yet) to be attached to protocol instances.
        !          17863: 
        !          17864: commit e0f2e42f4f420f7bbdda3d4656c9dda585f1297a
        !          17865: Author: Martin Mares <mj@ucw.cz>
        !          17866: Date:   Wed Mar 17 14:29:39 1999 +0000
        !          17867: 
        !          17868:     A couple of filter tweaks:
        !          17869:     
        !          17870:        o  Introduced struct filter which serves as an external reference
        !          17871:           to filter. Using struct symbol for this is unwise since it doesn't
        !          17872:           allow extra information attached to the filter and it also forces
        !          17873:           all filters to be named.
        !          17874:        o  Implemented config rule 'filter' which matches either named filter
        !          17875:           or an embedded unnamed filter (`{ <filter> }').
        !          17876:        o  Fixed totally bogus comment at the top of filter.h.
        !          17877:        o  Added a missing prototype for f_run() to filter.h.
        !          17878: 
        !          17879: commit c612a3be310069b9fbbcfef931bb546d536a716f
        !          17880: Author: Martin Mares <mj@ucw.cz>
        !          17881: Date:   Wed Mar 17 13:13:18 1999 +0000
        !          17882: 
        !          17883:     Removed the `rta_same' hook since it's no longer needed (all protocols
        !          17884:     needing some local information should use extended attrs and cached
        !          17885:     rta's).
        !          17886: 
        !          17887: commit b77ae37d11aa6e16dce31f50ca42ea30714a793e
        !          17888: Author: Martin Mares <mj@ucw.cz>
        !          17889: Date:   Wed Mar 17 13:09:09 1999 +0000
        !          17890: 
        !          17891:     Implemented extended route attributes and all related functions.
        !          17892: 
        !          17893: commit 9a38757c6ab87bf64ebc22b25b1410a3a09e6b10
        !          17894: Author: Pavel Machek <pavel@ucw.cz>
        !          17895: Date:   Wed Mar 17 13:05:25 1999 +0000
        !          17896: 
        !          17897:     Initialize pointers to functions so that code is actually alive.
        !          17898: 
        !          17899: commit 3c7ad64c57de77763357684fab919b2fc082a759
        !          17900: Author: Pavel Machek <pavel@ucw.cz>
        !          17901: Date:   Wed Mar 17 13:04:33 1999 +0000
        !          17902: 
        !          17903:     Compilation fix for mj.
        !          17904: 
        !          17905: commit 29df5739c455a954598c809c2e930abc41c8488e
        !          17906: Author: Pavel Machek <pavel@ucw.cz>
        !          17907: Date:   Wed Mar 17 10:20:23 1999 +0000
        !          17908: 
        !          17909:     Don't segfault on unknown interface.
        !          17910: 
        !          17911: commit d36d838df5f726e1f6845fe0e6e5c188426ac00d
        !          17912: Author: Pavel Machek <pavel@ucw.cz>
        !          17913: Date:   Wed Mar 17 10:19:07 1999 +0000
        !          17914: 
        !          17915:     accept & reject should now work
        !          17916: 
        !          17917: commit c1f8dc9149d3868e5a0f4e4ad97759fb3b177bec
        !          17918: Author: Ondrej Filip <feela@network.cz>
        !          17919: Date:   Tue Mar 9 22:27:43 1999 +0000
        !          17920: 
        !          17921:     Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF.
        !          17922: 
        !          17923: commit 2575593e0fa9fb84a4cc481928c32519b3fea2cd
        !          17924: Author: Pavel Machek <pavel@ucw.cz>
        !          17925: Date:   Tue Mar 9 14:45:27 1999 +0000
        !          17926: 
        !          17927:     Resolved conflicts, you no longer need to wrap constants in const()
        !          17928: 
        !          17929: commit 1aa5cf1c6171393d4be4447eada173d4e1eb983a
        !          17930: Author: Pavel Machek <pavel@ucw.cz>
        !          17931: Date:   Tue Mar 9 14:44:43 1999 +0000
        !          17932: 
        !          17933:     Added '=' to operator list
        !          17934: 
        !          17935: commit b7005824453583d1459b49c5a424b50e2ea9a2c8
        !          17936: Author: Pavel Machek <pavel@ucw.cz>
        !          17937: Date:   Mon Mar 8 20:30:06 1999 +0000
        !          17938: 
        !          17939:     Filters are now a tiny bit stronger (if is actually working ;-)
        !          17940: 
        !          17941: commit 111213f0b66cff8f562f7d9117c9080a9882129e
        !          17942: Author: Martin Mares <mj@ucw.cz>
        !          17943: Date:   Thu Mar 4 19:00:31 1999 +0000
        !          17944: 
        !          17945:     Fixed processing of !krt_capable() routes. Converted device route decisions
        !          17946:     to the krt_capable mechanism as well.
        !          17947: 
        !          17948: commit e16155ae4aaee5d9ba7b6940f8312b36707718e4
        !          17949: Author: Martin Mares <mj@ucw.cz>
        !          17950: Date:   Thu Mar 4 18:36:18 1999 +0000
        !          17951: 
        !          17952:     KRT: Implemented asynchronous route / interface state notifications
        !          17953:     (via Netlink). Tweaked kernel synchronization rules a bit. Discovered
        !          17954:     locking bug in kernel Netlink :-)
        !          17955:     
        !          17956:     Future plans: Hunt all the bugs and solve all the FIXME's.
        !          17957: 
        !          17958: commit 2253c9e239253d2094b4b1cabd97d296af885afb
        !          17959: Author: Martin Mares <mj@ucw.cz>
        !          17960: Date:   Thu Mar 4 14:23:32 1999 +0000
        !          17961: 
        !          17962:     Although there are still heaps of FIXME's, Netlink works.
        !          17963:     
        !          17964:     To build BIRD with Netlink support, just configure it with
        !          17965:     
        !          17966:        ./configure --with-sysconfig=linux-21
        !          17967:     
        !          17968:     After it will be tested well enough, I'll probably make it a default
        !          17969:     for 2.2 kernels (and rename it to linux-22 :)).
        !          17970: 
        !          17971: commit f81dc8564ae6c17638d7e3970b9980d0d00fc78a
        !          17972: Author: Martin Mares <mj@ucw.cz>
        !          17973: Date:   Thu Mar 4 11:40:05 1999 +0000
        !          17974: 
        !          17975:     Converted some mb_alloc/bzero pairs to mb_allocz.
        !          17976: 
        !          17977: commit 8fe48f1377c8b501e9b090748b195c62f5b582d2
        !          17978: Author: Martin Mares <mj@ucw.cz>
        !          17979: Date:   Thu Mar 4 11:39:24 1999 +0000
        !          17980: 
        !          17981:     Initialize allocated struct proto :-)
        !          17982: 
        !          17983: commit 7a2105becdbadf20c1b4e4d2359e339c90610825
        !          17984: Author: Martin Mares <mj@ucw.cz>
        !          17985: Date:   Thu Mar 4 11:36:26 1999 +0000
        !          17986: 
        !          17987:     Use dmalloc instead of EFence when available (dmalloc has lot of improvements
        !          17988:     over EFence and also hopefully smaller memory overhead, but sadly it's non-free
        !          17989:     for commercial use).
        !          17990:     
        !          17991:     If the DMALLOC_OPTIONS environment variable is not set, switch on `reasonable'
        !          17992:     checks by default.
        !          17993:     
        !          17994:     Also introduced mb_allocz() for cleared mb_alloc().
        !          17995: 
        !          17996: commit aa64578641c15b137172acc927d9d7af5914576b
        !          17997: Author: Martin Mares <mj@ucw.cz>
        !          17998: Date:   Wed Mar 3 20:57:29 1999 +0000
        !          17999: 
        !          18000:     Netlink scans routes...
        !          18001: 
        !          18002: commit 51ad41f2fc0c95179cb4ba65e568d2b84de32a28
        !          18003: Author: Martin Mares <mj@ucw.cz>
        !          18004: Date:   Wed Mar 3 20:56:33 1999 +0000
        !          18005: 
        !          18006:     EFence helped to find using of already free rte's in rt_prune().
        !          18007: 
        !          18008: commit 53b7a2982adf5d09a1cfddbc12cf172e0700fc55
        !          18009: Author: Martin Mares <mj@ucw.cz>
        !          18010: Date:   Wed Mar 3 20:55:35 1999 +0000
        !          18011: 
        !          18012:     Fix several things I broke today.
        !          18013: 
        !          18014: commit 0e889c52542508dd49433bed1785072cb7799009
        !          18015: Author: Martin Mares <mj@ucw.cz>
        !          18016: Date:   Wed Mar 3 20:40:51 1999 +0000
        !          18017: 
        !          18018:     Added a hack forcing protocols with priority>0 to be started up
        !          18019:     immediately. Grrr, need to find a real solution some day.
        !          18020: 
        !          18021: commit 2d14045224f2233aed386eddf155d10a81892c3f
        !          18022: Author: Martin Mares <mj@ucw.cz>
        !          18023: Date:   Wed Mar 3 19:49:56 1999 +0000
        !          18024: 
        !          18025:     Rewrote the kernel syncer. The old layering was horrible.
        !          18026:     
        !          18027:     The new kernel syncer is cleanly split between generic UNIX module
        !          18028:     and OS dependent submodules:
        !          18029:     
        !          18030:       -  krt.c (the generic part)
        !          18031:       -  krt-iface (low-level functions for interface handling)
        !          18032:       -  krt-scan (low-level functions for routing table scanning)
        !          18033:       -  krt-set (low-level functions for setting of kernel routes)
        !          18034:     
        !          18035:     krt-set and krt-iface are common for all BSD-like Unices, krt-scan is heavily
        !          18036:     system dependent (most Unices require /dev/kmem parsing, Linux uses /proc),
        !          18037:     Netlink substitues all three modules.
        !          18038:     
        !          18039:     We expect each UNIX port supports kernel routing table scanning, kernel
        !          18040:     interface table scanning, kernel route manipulation and possibly also
        !          18041:     asynchronous event notifications (new route, interface state change;
        !          18042:     not implemented yet) and build the KRT protocol on the top of these
        !          18043:     primitive operations.
        !          18044: 
        !          18045: commit b2280748ad5087b5dab54dd4e423053ffe1f2387
        !          18046: Author: Martin Mares <mj@ucw.cz>
        !          18047: Date:   Wed Mar 3 19:33:54 1999 +0000
        !          18048: 
        !          18049:     Introduced protocol priority (all 'normal' protocols should use the
        !          18050:     default zero priority). No more "kernel syncer initialized before
        !          18051:     device routes" problems.
        !          18052: 
        !          18053: commit 84c7e1943f0dbf896b1dd8d02a21120aa00463f4
        !          18054: Author: Pavel Machek <pavel@ucw.cz>
        !          18055: Date:   Tue Mar 2 19:49:28 1999 +0000
        !          18056: 
        !          18057:     Add interface for running filters (please comment!), avoid bison warnings
        !          18058: 
        !          18059: commit 05a845ed8e623c51025058037d0ca25db712ae68
        !          18060: Author: Pavel Machek <pavel@ucw.cz>
        !          18061: Date:   Tue Mar 2 19:49:22 1999 +0000
        !          18062: 
        !          18063:     Avoid segfault
        !          18064: 
        !          18065: commit 7972248d5d7f404a65fd630b2af712703aca0746
        !          18066: Author: Martin Mares <mj@ucw.cz>
        !          18067: Date:   Tue Mar 2 18:37:02 1999 +0000
        !          18068: 
        !          18069:     Netlink module supports interface scan on startup. Working on more.
        !          18070: 
        !          18071: commit e35ef181a41384446aca614522a7cbb10606dd5b
        !          18072: Author: Martin Mares <mj@ucw.cz>
        !          18073: Date:   Tue Mar 2 18:36:09 1999 +0000
        !          18074: 
        !          18075:     o  The if_change_too_big_p change was too high-spirited. Fixed.
        !          18076:     o  Introduced if_find_by_index()
        !          18077:     o  Recognizing two types of interface updates: full update (starting with
        !          18078:        if_start_update(), ending with if_end_update(), guaranteed to see
        !          18079:        all existing interfaces) and a partial update (only if_update(),
        !          18080:        usually due to asynchronous interface notifications).
        !          18081: 
        !          18082: commit bcbd8cc3be670a96e1405b896cff4be0912ba379
        !          18083: Author: Martin Mares <mj@ucw.cz>
        !          18084: Date:   Tue Mar 2 17:28:06 1999 +0000
        !          18085: 
        !          18086:     Interface logic changes:
        !          18087:     
        !          18088:     o  Introduced IF_LINK_UP flag corresponding to real link state.
        !          18089:     o  Allowed addressless interfaces.
        !          18090:     o  IF_UP is now automatically calculated and set iff the interface
        !          18091:        is administratively up, has link up and has an IP address assigned.
        !          18092:        It may be IF_IGNORED, though (as in case of the loopback).
        !          18093:     o  Any changes which include up/down transition are considered small
        !          18094:        enough to not provoke artificial upping and downing of the interface.
        !          18095:     o  When an interface disappears (i.e., it wasn't seen in the last scan),
        !          18096:        we announce this change only once.
        !          18097:     o  IF_LOOPBACK implies IF_IGNORE.
        !          18098: 
        !          18099: commit 25287d6f7e687c77704816e565529960c65e3250
        !          18100: Author: Martin Mares <mj@ucw.cz>
        !          18101: Date:   Tue Mar 2 17:20:07 1999 +0000
        !          18102: 
        !          18103:     Don't try to install static routes to disconnected neighbors.
        !          18104: 
        !          18105: commit eab0d1e5e5e89d82e435d224f5faf1a16524c69c
        !          18106: Author: Martin Mares <mj@ucw.cz>
        !          18107: Date:   Tue Mar 2 16:39:41 1999 +0000
        !          18108: 
        !          18109:     Latest changes broke out-of-tree compilation.
        !          18110: 
        !          18111: commit 3d8ef0c9ef7878292ef314a0f5f34390d74f4e9f
        !          18112: Author: Pavel Machek <pavel@ucw.cz>
        !          18113: Date:   Tue Mar 2 13:15:35 1999 +0000
        !          18114: 
        !          18115:     I just don't like files enclosed in <>.
        !          18116: 
        !          18117: commit e834074dd43cabd10ca9811191a212f86b8f6ed7
        !          18118: Author: Martin Mares <mj@ucw.cz>
        !          18119: Date:   Mon Mar 1 22:42:47 1999 +0000
        !          18120: 
        !          18121:     If we are compiling with debugging enabled and libefence is available,
        !          18122:     link it to get debugging malloc.
        !          18123: 
        !          18124: commit b982b6db2bc9df396d4cd329e23c5b3199a409a2
        !          18125: Author: Martin Mares <mj@ucw.cz>
        !          18126: Date:   Mon Mar 1 22:31:27 1999 +0000
        !          18127: 
        !          18128:     Implemented netlink protocol parsing functions. More to come tomorrow.
        !          18129: 
        !          18130: commit b4b3b39e20a669ab3f33f71474e937b5e9ce6d26
        !          18131: Author: Martin Mares <mj@ucw.cz>
        !          18132: Date:   Mon Mar 1 22:30:33 1999 +0000
        !          18133: 
        !          18134:     Added SK_MAGIC type sockets for internal use by system dependent code,
        !          18135:     especially for netlink communication.
        !          18136: 
        !          18137: commit c748cdb9ec8b7de5daaf759825bc428cd0bcd400
        !          18138: Author: Pavel Machek <pavel@ucw.cz>
        !          18139: Date:   Mon Mar 1 21:18:01 1999 +0000
        !          18140: 
        !          18141:     Hopefully ended translating to new interface
        !          18142: 
        !          18143: commit bdb95a21a45bce1754bf54de3e7423cf8eebf9ee
        !          18144: Author: Martin Mares <mj@ucw.cz>
        !          18145: Date:   Mon Mar 1 20:17:46 1999 +0000
        !          18146: 
        !          18147:     Added skeletal version of Linux netlink interface. It doesn't work yet,
        !          18148:     but the framework is there and I'll try finish it soon.
        !          18149: 
        !          18150: commit ea3582a6f66223dfd2c0dd6c597dc40b48033fd5
        !          18151: Author: Martin Mares <mj@ucw.cz>
        !          18152: Date:   Mon Mar 1 20:15:14 1999 +0000
        !          18153: 
        !          18154:     Include "config.h" instead of "autoconf.h" in all Modules lists to make defines
        !          18155:     in the static portion of configuration includes available as well.
        !          18156: 
        !          18157: commit 1b769b08c195f7d95525131f65e5794c3c09a335
        !          18158: Author: Martin Mares <mj@ucw.cz>
        !          18159: Date:   Mon Mar 1 20:13:54 1999 +0000
        !          18160: 
        !          18161:     Renamed struct rtattr to struct rta to make things more consistent and
        !          18162:     avoid namespace clashes with <linux/rtnetlink.h>. Other files should
        !          18163:     not be affected since they use 'rta' directly.
        !          18164: 
        !          18165: commit 025d14cd5a0909b534762e5a50bfef97c2b4c9ee
        !          18166: Author: Martin Mares <mj@ucw.cz>
        !          18167: Date:   Mon Mar 1 19:05:58 1999 +0000
        !          18168: 
        !          18169:     Use traditional Unix route/iface interface only when CONFIG_NETLINK
        !          18170:     is not defined. Also moved declarations of Unix iface logic to krt.h.
        !          18171: 
        !          18172: commit 12be9b8c1870ab8813d29350a2e2743f8e144642
        !          18173: Author: Martin Mares <mj@ucw.cz>
        !          18174: Date:   Mon Mar 1 17:51:29 1999 +0000
        !          18175: 
        !          18176:     Pruned the TODO list.
        !          18177: 
        !          18178: commit 293e313ec91d4d23d6333e8cd852d425079cee68
        !          18179: Author: Pavel Machek <pavel@ucw.cz>
        !          18180: Date:   Mon Feb 15 13:34:43 1999 +0000
        !          18181: 
        !          18182:     More rip fixes (config data moved to struct rip_proto_config), still
        !          18183:     not tested.
        !          18184: 
        !          18185: commit b5fe3dc21c930e1d9864e342a75785efe862bd24
        !          18186: Author: Martin Mares <mj@ucw.cz>
        !          18187: Date:   Sat Feb 13 22:13:04 1999 +0000
        !          18188: 
        !          18189:     Cleaned up TODO file.
        !          18190:     
        !          18191:     That's all for today, midnight gets closer.
        !          18192: 
        !          18193: commit 45090fecd97c97cceb677257c6e8c26044065d13
        !          18194: Author: Martin Mares <mj@ucw.cz>
        !          18195: Date:   Sat Feb 13 22:02:21 1999 +0000
        !          18196: 
        !          18197:     Synced example config with new options.
        !          18198: 
        !          18199: commit d88e99a92ae688cc7f6534af4c2555fe6f6709f6
        !          18200: Author: Martin Mares <mj@ucw.cz>
        !          18201: Date:   Sat Feb 13 21:59:48 1999 +0000
        !          18202: 
        !          18203:     Implemented static device routes.
        !          18204:     
        !          18205:     Expect for reconfiguration issues, the static protocol is complete now.
        !          18206: 
        !          18207: commit d1f7eab6b5f1bd86a47402cb8fdb5cbcedc8947f
        !          18208: Author: Martin Mares <mj@ucw.cz>
        !          18209: Date:   Sat Feb 13 21:58:53 1999 +0000
        !          18210: 
        !          18211:     Parameter order for the proto->if_notify hook was different in the include
        !          18212:     file and different in reality. Decided to use the same order as we do
        !          18213:     for proto->rt_notify (i.e., first new value and second the old one).
        !          18214: 
        !          18215: commit 726141746b7f86b02a902bd6b316792e4be0380c
        !          18216: Author: Martin Mares <mj@ucw.cz>
        !          18217: Date:   Sat Feb 13 21:34:33 1999 +0000
        !          18218: 
        !          18219:     '#' comments in config files are equivalent to end of line, therefore
        !          18220:     also to implicit ';'.
        !          18221: 
        !          18222: commit 5996da6a1d2eb11ac45d9d578618b9350e58593d
        !          18223: Author: Martin Mares <mj@ucw.cz>
        !          18224: Date:   Sat Feb 13 21:29:01 1999 +0000
        !          18225: 
        !          18226:     Implemented garbage collection of routing tables to delete orphaned network
        !          18227:     nodes having no routes attached. Such cleanup must be done from event handler
        !          18228:     since most functions manipulating the routing tables expect network entries
        !          18229:     won't disappear from under their hands and it's also probably faster when
        !          18230:     done asynchronously.
        !          18231: 
        !          18232: commit f4a0a64e02c13b2b467f9c1a29222f817b54ce2d
        !          18233: Author: Martin Mares <mj@ucw.cz>
        !          18234: Date:   Sat Feb 13 21:00:25 1999 +0000
        !          18235: 
        !          18236:     Static protocol doesn't need any shutdown function. Everything gets
        !          18237:     disposed by the core: neighbors, rte's, etc's...
        !          18238: 
        !          18239: commit 3fb4ca2ce2b5750d38a5e31023d2873c9942cc78
        !          18240: Author: Martin Mares <mj@ucw.cz>
        !          18241: Date:   Sat Feb 13 20:57:47 1999 +0000
        !          18242: 
        !          18243:     Don't send any neighbor notifications to protocols being flushed.
        !          18244: 
        !          18245: commit 783f8b689a29aaffbe75e964fdd09a3c219ea81c
        !          18246: Author: Martin Mares <mj@ucw.cz>
        !          18247: Date:   Sat Feb 13 20:55:08 1999 +0000
        !          18248: 
        !          18249:     When protocols go down, prune the neighbor list.
        !          18250: 
        !          18251: commit 013a9b91fe495371cbf9a5690613de45b634e3af
        !          18252: Author: Martin Mares <mj@ucw.cz>
        !          18253: Date:   Sat Feb 13 20:46:03 1999 +0000
        !          18254: 
        !          18255:     When shutting down, remove all routes (except for RTS_INHERIT and RTS_DEVICE
        !          18256:     routes) from kernel routing tables unless the "persist" switch is set.
        !          18257: 
        !          18258: commit 0a2e9d9f5685fb4ca63e02fd3645194bb6de79d7
        !          18259: Author: Martin Mares <mj@ucw.cz>
        !          18260: Date:   Sat Feb 13 20:19:24 1999 +0000
        !          18261: 
        !          18262:     Moved sanity check of protocol state during annoucements to rte_announce.
        !          18263: 
        !          18264: commit f4aabcee62890b7c3e999e188ab72752fbb20b79
        !          18265: Author: Martin Mares <mj@ucw.cz>
        !          18266: Date:   Sat Feb 13 20:15:36 1999 +0000
        !          18267: 
        !          18268:     Perform gracious shutdown upon receipt of SIGTERM. Finally we can
        !          18269:     test the whole protocol shutdown code... :)
        !          18270: 
        !          18271: commit 7f3d1a0850ff7f240b2f240db6d44b3a5dee6d48
        !          18272: Author: Martin Mares <mj@ucw.cz>
        !          18273: Date:   Sat Feb 13 19:57:19 1999 +0000
        !          18274: 
        !          18275:     Squashed one bug in timing of route scans.
        !          18276: 
        !          18277: commit 4c9dd1e4b95e273eacc900abb63db4b8bafaf34b
        !          18278: Author: Martin Mares <mj@ucw.cz>
        !          18279: Date:   Sat Feb 13 19:43:21 1999 +0000
        !          18280: 
        !          18281:     Synchronize signals to the main select/event/timer loop.
        !          18282:     
        !          18283:     Parse command line options.
        !          18284: 
        !          18285: commit 1a54b1c6ac5177a1ef21f799f6cf28f355c5bbe9
        !          18286: Author: Martin Mares <mj@ucw.cz>
        !          18287: Date:   Sat Feb 13 19:15:28 1999 +0000
        !          18288: 
        !          18289:     Implemented real cleanup and pruning of routing table on protocol shutdown.
        !          18290: 
        !          18291: commit ab749558a2a4356c38ed760649ef7d62daa48223
        !          18292: Author: Martin Mares <mj@ucw.cz>
        !          18293: Date:   Sat Feb 13 19:14:16 1999 +0000
        !          18294: 
        !          18295:     Pass new argument to FIB_ITERATE_END.
        !          18296: 
        !          18297: commit 2569bc40731081ac70ee328a7df37109399b53c6
        !          18298: Author: Martin Mares <mj@ucw.cz>
        !          18299: Date:   Sat Feb 13 19:13:51 1999 +0000
        !          18300: 
        !          18301:     Fixed bug in FIB_ITERATE_END: it assumed the control variable is named
        !          18302:     "z". I've added an argument specifying name of the variable.
        !          18303:     
        !          18304:     Renamed "again" label in FIB_ITERATE_* to "fis_again" to avoid name
        !          18305:     clashes.
        !          18306: 
        !          18307: commit 4e9498cbb171d52e2f3015d3e9d6c7b1b7205e27
        !          18308: Author: Martin Mares <mj@ucw.cz>
        !          18309: Date:   Sat Feb 13 18:42:00 1999 +0000
        !          18310: 
        !          18311:     config->router_id works again.
        !          18312: 
        !          18313: commit 67bd949a520151a5ab50090d02617adc4960868c
        !          18314: Author: Martin Mares <mj@ucw.cz>
        !          18315: Date:   Thu Feb 11 22:59:06 1999 +0000
        !          18316: 
        !          18317:     Real implementation of protocol state machines. Delayed startup/shutdown
        !          18318:     should work now. Initial feeding of protocols by interfaces/routes is
        !          18319:     done from the event queue to prevent unwanted recursion.
        !          18320: 
        !          18321: commit 14dea0ed25cd0385ce35cf66ff309a78960b18ca
        !          18322: Author: Martin Mares <mj@ucw.cz>
        !          18323: Date:   Thu Feb 11 22:51:15 1999 +0000
        !          18324: 
        !          18325:     Run the event queue before writing SIGUSR dumps.
        !          18326: 
        !          18327: commit 64011f898c1bc99183a57f21d6e099c8f4496a09
        !          18328: Author: Martin Mares <mj@ucw.cz>
        !          18329: Date:   Thu Feb 11 22:45:54 1999 +0000
        !          18330: 
        !          18331:     struct proto again contains instance name (a copy of proto->cf->name).
        !          18332: 
        !          18333: commit 3b15402fd4055cb5bd66cd9ac1106ceecff9f760
        !          18334: Author: Martin Mares <mj@ucw.cz>
        !          18335: Date:   Thu Feb 11 22:18:36 1999 +0000
        !          18336: 
        !          18337:     Grrr, forgot to commit the event routines themselves :|
        !          18338: 
        !          18339: commit e8f73195fa68b027fdcb89f239107c2d4902bd9a
        !          18340: Author: Martin Mares <mj@ucw.cz>
        !          18341: Date:   Thu Feb 11 21:18:26 1999 +0000
        !          18342: 
        !          18343:     Added simple event scheduling system to avoid recursive calling
        !          18344:     of various callbacks.
        !          18345:     
        !          18346:     Events are just another resource type objects (thus automatically freed
        !          18347:     and unlinked when the protocol using them shuts down). Each event can
        !          18348:     be linked in at most one event list. For most purposes, just use the
        !          18349:     global event list handled by the following functions:
        !          18350:     
        !          18351:        ev_schedule     Schedule event to be called at the next event
        !          18352:                        scheduling point. If the event was already
        !          18353:                        scheduled, it's just re-linked to the end of the list.
        !          18354:        ev_postpone     Postpone an already scheduled event, so that it
        !          18355:                        won't get called. Postponed events can be scheduled
        !          18356:                        again by ev_schedule().
        !          18357:     
        !          18358:     You can also create custom event lists to build your own synchronization
        !          18359:     primitives. Just use:
        !          18360:     
        !          18361:        ev_init_list    to initialize an event list
        !          18362:        ev_enqueue      to schedule event on specified event list
        !          18363:        ev_postpone     works as well for custom lists
        !          18364:        ev_run_list     to run all events on your custom list
        !          18365:        ev_run          to run a specific event and dequeue it
        !          18366: 
        !          18367: commit edf62ba13fa6a74447d7ad44b23acbee964731bc
        !          18368: Author: Pavel Machek <pavel@ucw.cz>
        !          18369: Date:   Mon Feb 8 22:50:32 1999 +0000
        !          18370: 
        !          18371:     Propagate depend into all subdirectories; make rip compile after
        !          18372:     latest mj's changes.
        !          18373: 
        !          18374: commit ed245f967f76d29d6a4ce971ba4287ba6a7031f7
        !          18375: Author: Martin Mares <mj@ucw.cz>
        !          18376: Date:   Fri Feb 5 21:39:21 1999 +0000
        !          18377: 
        !          18378:     Synced Linux sysdeps to new interface.
        !          18379: 
        !          18380: commit 10d807d000155a6257f6fbad88eb72a8bf9045da
        !          18381: Author: Martin Mares <mj@ucw.cz>
        !          18382: Date:   Fri Feb 5 21:38:50 1999 +0000
        !          18383: 
        !          18384:     Synced kernel interface to new interface.
        !          18385: 
        !          18386: commit e9e3dc265971fbf985c5df09cb1d98494c386581
        !          18387: Author: Martin Mares <mj@ucw.cz>
        !          18388: Date:   Fri Feb 5 21:38:22 1999 +0000
        !          18389: 
        !          18390:     Modified static router to use new interface.
        !          18391: 
        !          18392: commit 31b3e1bbf5bc823ec5cf6d88931132f00e6c52b9
        !          18393: Author: Martin Mares <mj@ucw.cz>
        !          18394: Date:   Fri Feb 5 21:37:34 1999 +0000
        !          18395: 
        !          18396:     Implemented new configuration/reconfiguration interface and defined protocol
        !          18397:     state machines. Full explanation will follow soon.
        !          18398: 
        !          18399: commit c4c63eecc37a744c53c23da89b1ba09b9640cb6e
        !          18400: Author: Martin Mares <mj@ucw.cz>
        !          18401: Date:   Fri Feb 5 21:29:19 1999 +0000
        !          18402: 
        !          18403:     Added several parentheses to MIN/MAX macros.
        !          18404: 
        !          18405: commit 292099d55f1131d75efec647d3780e7a1a665fdf
        !          18406: Author: Pavel Machek <pavel@ucw.cz>
        !          18407: Date:   Wed Feb 3 12:28:16 1999 +0000
        !          18408: 
        !          18409:     Few fixes in parsing of filters
        !          18410: 
        !          18411: commit 294c182eb1dd02d0ae8658acb4a21db5d2977f3c
        !          18412: Author: Martin Mares <mj@ucw.cz>
        !          18413: Date:   Sat Jan 23 21:08:59 1999 +0000
        !          18414: 
        !          18415:     Replaced the old ugly ipv6 compilation hack by a conditional in Modules.
        !          18416: 
        !          18417: commit 2c2f67bd83c267c1dbee68c6ed7d67f9be77e566
        !          18418: Author: Martin Mares <mj@ucw.cz>
        !          18419: Date:   Sat Jan 23 21:08:36 1999 +0000
        !          18420: 
        !          18421:     Filter all `Modules' files through C preprocessor, so that they can
        !          18422:     reference BIRD configuration.
        !          18423:     
        !          18424:     By the way: Do you know GCC by default does `#define unix 1'?
        !          18425: 
        !          18426: commit ca3d562b24d5a3e303ab00d276496fb38b7382ee
        !          18427: Author: Pavel Machek <pavel@ucw.cz>
        !          18428: Date:   Fri Jan 15 18:13:55 1999 +0000
        !          18429: 
        !          18430:     filters_init() renamed to filters_postconfig().
        !          18431: 
        !          18432: commit c9b6670608577521c883db4bccd75b871568b7f7
        !          18433: Author: Martin Mares <mj@ucw.cz>
        !          18434: Date:   Fri Jan 15 18:04:28 1999 +0000
        !          18435: 
        !          18436:     Original `expr' is back, filter expressions renamed to `term'.
        !          18437:     
        !          18438:     In the future, we'll allow any filter term in place of `expr' and we'll
        !          18439:     just evaluate it immediately, but not now as we have no evaluation
        !          18440:     routines.
        !          18441: 
        !          18442: commit 3169cf699175a2489712eee955a9ee9890ef00c9
        !          18443: Author: Martin Mares <mj@ucw.cz>
        !          18444: Date:   Fri Jan 15 17:18:41 1999 +0000
        !          18445: 
        !          18446:     Added bird.conf to .cvsignore and created an example configuration file.
        !          18447:     
        !          18448:     If you want to run bird now, just copy doc/bird.conf.example as bird.conf
        !          18449:     and edit it to suit your needs.
        !          18450: 
        !          18451: commit e3a39a9ee70bf7060f9de38268885b637bc1a65a
        !          18452: Author: Martin Mares <mj@ucw.cz>
        !          18453: Date:   Fri Jan 15 16:59:26 1999 +0000
        !          18454: 
        !          18455:     Killed duplicate %type for expr.
        !          18456: 
        !          18457: commit ca6dfded2c22c74298ff595e59afe4672151889b
        !          18458: Author: Pavel Machek <pavel@ucw.cz>
        !          18459: Date:   Fri Jan 15 16:52:14 1999 +0000
        !          18460: 
        !          18461:     Make filters actually compiled.
        !          18462: 
        !          18463: commit b9d70dc84e488212328103438bdf4e369c7d27a1
        !          18464: Author: Pavel Machek <pavel@ucw.cz>
        !          18465: Date:   Fri Jan 15 16:49:17 1999 +0000
        !          18466: 
        !          18467:     Filters, second try. This time they have their own directory.
        !          18468: 
        !          18469: commit b79f9215b99c7a54dbb2639c972dda497d141133
        !          18470: Author: Martin Mares <mj@ucw.cz>
        !          18471: Date:   Fri Jan 15 16:40:14 1999 +0000
        !          18472: 
        !          18473:     Propagate "depend" target to real top-level Makefile.
        !          18474: 
        !          18475: commit 489b6b5e003f4a8a7856688ab0372b2ca59c84d9
        !          18476: Author: Pavel Machek <pavel@ucw.cz>
        !          18477: Date:   Fri Jan 15 16:13:51 1999 +0000
        !          18478: 
        !          18479:     #if 1 that creeped into cvs killed.
        !          18480: 
        !          18481: commit eeb05158acd0cb8def7aa155c2c718f608e6a5ae
        !          18482: Author: Pavel Machek <pavel@ucw.cz>
        !          18483: Date:   Fri Jan 15 14:42:55 1999 +0000
        !          18484: 
        !          18485:     Be a tiny bit more verbose.
        !          18486: 
        !          18487: commit 72380a3447d2c54730a4a32495e5dd964c34f57e
        !          18488: Author: Pavel Machek <pavel@ucw.cz>
        !          18489: Date:   Fri Jan 15 14:41:51 1999 +0000
        !          18490: 
        !          18491:     Filters added. They are unable to do anything interesting for now
        !          18492:     (with exception of printing integers to screen), but they exist.
        !          18493: 
        !          18494: commit 41183888ee8addbd7887936e3b41974f5824d8ae
        !          18495: Author: Pavel Machek <pavel@ucw.cz>
        !          18496: Date:   Fri Jan 15 14:40:50 1999 +0000
        !          18497: 
        !          18498:     Properly initialize filters. Also bumped version to 0.0.0 as it
        !          18499:     actually does something.
        !          18500: 
        !          18501: commit cceb3e7d2fafcf3acee1db1d762ed697863b6f3b
        !          18502: Author: Martin Mares <mj@ucw.cz>
        !          18503: Date:   Tue Jan 12 20:36:18 1999 +0000
        !          18504: 
        !          18505:     Fixed trivial bug in naming of `depend' file. Argh.
        !          18506: 
        !          18507: commit 663683a575cb170c656db06770b490037ecf3db7
        !          18508: Author: Pavel Machek <pavel@ucw.cz>
        !          18509: Date:   Tue Jan 12 16:50:38 1999 +0000
        !          18510: 
        !          18511:     Make it compile again (stupid makefiles!), make quiet option work
        !          18512:     (multicast/broadcast options are currently unimplemented).
        !          18513: 
        !          18514: commit 77cedad1f6de8fcd0e59f280d08437ab3216428e
        !          18515: Author: Pavel Machek <pavel@ucw.cz>
        !          18516: Date:   Tue Jan 12 16:41:34 1999 +0000
        !          18517: 
        !          18518:     Keep protocol data out of iface_patt.
        !          18519: 
        !          18520: commit 50e89a6ea26caba59c7d4dd512fdc12c09cee64c
        !          18521: Author: Pavel Machek <pavel@ucw.cz>
        !          18522: Date:   Tue Jan 12 16:40:55 1999 +0000
        !          18523: 
        !          18524:     Patterns expanded in the right way
        !          18525: 
        !          18526: commit 18fff6a1979725c1ed839d9a10285e22dc0b8214
        !          18527: Author: Martin Mares <mj@ucw.cz>
        !          18528: Date:   Sun Jan 10 00:26:11 1999 +0000
        !          18529: 
        !          18530:     Initialize only protocols which are compiled in :)
        !          18531: 
        !          18532: commit b296730cb6b72ff84ba04fa58a6c7198f3a831e0
        !          18533: Author: Martin Mares <mj@ucw.cz>
        !          18534: Date:   Sun Jan 10 00:25:50 1999 +0000
        !          18535: 
        !          18536:     Few last-minute bug fixes.
        !          18537: 
        !          18538: commit 49e7e5ee0b2848f5bf120a962e2e7eb11b86566a
        !          18539: Author: Martin Mares <mj@ucw.cz>
        !          18540: Date:   Sun Jan 10 00:18:32 1999 +0000
        !          18541: 
        !          18542:     New makefiles. Includes support for out-of-source-tree builds.
        !          18543: 
        !          18544: commit 2f9bcf9713523f6fefecd143cc2aa2a8dda7f27f
        !          18545: Author: Martin Mares <mj@ucw.cz>
        !          18546: Date:   Sat Jan 9 15:02:11 1999 +0000
        !          18547: 
        !          18548:     First step of "autoconfization". Created a configure script which
        !          18549:     guesses most system-dependent parameters and determines name of system
        !          18550:     configuration file (sysdep/cf/...) with the remaining ones.
        !          18551:     
        !          18552:     To compile BIRD, you now need to do:
        !          18553:     
        !          18554:        autoconf                # Create configure from configure.in
        !          18555:        ./configure             # Run configure script
        !          18556:        make                    # Compile everything
        !          18557:     
        !          18558:     Configuration files:
        !          18559:     
        !          18560:        sysdep/config.h         Master config file
        !          18561:        sysdep/autoconf.h       Parameters determined by configure script
        !          18562:        sysdep/cf/*.h           Fixed system configuration we're unable
        !          18563:                                to guess.
        !          18564:     
        !          18565:     Makefiles are still the original ones, but this will change soon.
        !          18566: 
        !          18567: commit 6996f459c6d8e6205bbacd83e3656b47635f7d6d
        !          18568: Author: Pavel Machek <pavel@ucw.cz>
        !          18569: Date:   Tue Dec 22 19:41:04 1998 +0000
        !          18570: 
        !          18571:     Bird now uses fib structure instead of linklist.
        !          18572: 
        !          18573: commit 1d7c44b7119d30874563c9f8bbac25273ecabb57
        !          18574: Author: Pavel Machek <pavel@ucw.cz>
        !          18575: Date:   Tue Dec 22 19:20:43 1998 +0000
        !          18576: 
        !          18577:     Oops, previous modification for passing NULL to fib_init() did not
        !          18578:     compile :-(.
        !          18579: 
        !          18580: commit ce45fc128783ea7b93bd7ebd5ac4eec763adbb40
        !          18581: Author: Pavel Machek <pavel@ucw.cz>
        !          18582: Date:   Tue Dec 22 18:55:49 1998 +0000
        !          18583: 
        !          18584:     Allow NULL to init_fib().
        !          18585: 
        !          18586: commit 852fc0af31ed885e355bb1d14ce0e4468830c359
        !          18587: Author: Martin Mares <mj@ucw.cz>
        !          18588: Date:   Sun Dec 20 14:29:06 1998 +0000
        !          18589: 
        !          18590:     log(), die() and bug() messages shound NOT contain trailing newlines.
        !          18591: 
        !          18592: commit 08c69a7720af32a82b8e2b4b9ea3742074b3b8ee
        !          18593: Author: Martin Mares <mj@ucw.cz>
        !          18594: Date:   Sun Dec 20 14:27:37 1998 +0000
        !          18595: 
        !          18596:     die() -> bug() where appropriate.
        !          18597: 
        !          18598: commit ee969ea7f4c4f40020e4209b167da04d04aba52c
        !          18599: Author: Martin Mares <mj@ucw.cz>
        !          18600: Date:   Sun Dec 20 14:26:57 1998 +0000
        !          18601: 
        !          18602:     Added #if 0 to rip_postconfig(), so that it doesn't crash whole daemon
        !          18603:     when RIP is unconfigured.
        !          18604:     
        !          18605:     die() -> bug()
        !          18606: 
        !          18607: commit 98e87c8628f9b0a0a96bc46879b65a78b756a718
        !          18608: Author: Martin Mares <mj@ucw.cz>
        !          18609: Date:   Sun Dec 20 14:24:35 1998 +0000
        !          18610: 
        !          18611:     Finer grained logging levels:
        !          18612:     
        !          18613:     #define L_DEBUG "\001"   /* Debugging messages */
        !          18614:     #define L_INFO "\002"    /* Informational messages */
        !          18615:     #define L_WARN "\003"    /* Warnings */
        !          18616:     #define L_ERR "\004"     /* Errors */
        !          18617:     #define L_AUTH "\005"    /* Authorization failed etc. */
        !          18618:     #define L_FATAL "\006"   /* Fatal errors */
        !          18619:     #define L_TRACE "\002"   /* Protocol tracing */
        !          18620:     #define L_INFO "\003"    /* Informational messages */
        !          18621:     #define L_REMOTE "\004"  /* Remote protocol errors */
        !          18622:     #define L_WARN "\004"    /* Local warnings */
        !          18623:     #define L_ERR "\005"     /* Local errors */
        !          18624:     #define L_AUTH "\006"    /* Authorization failed etc. */
        !          18625:     #define L_FATAL "\007"   /* Fatal errors */
        !          18626:     #define L_BUG "\010"     /* BIRD bugs */
        !          18627:     
        !          18628:     Introduced bug() which is like die(), but with level L_BUG. Protocols
        !          18629:     should _never_ call die() as it should be used only during initialization
        !          18630:     and on irrecoverable catastrophic events like out of memory.
        !          18631:     
        !          18632:     Also introduced ASSERT() which behaves like normal assert(), but it calls
        !          18633:     bug() when assertion fails. When !defined(DEBUGGING), it gets ignored.
        !          18634: 
        !          18635: commit e440395d7d3c503692321e2f6ec4e42bf758acb1
        !          18636: Author: Martin Mares <mj@ucw.cz>
        !          18637: Date:   Sun Dec 20 14:01:37 1998 +0000
        !          18638: 
        !          18639:     When printing a routing table, fib_check() it.
        !          18640: 
        !          18641: commit 3ab001b97402bc01a4777cf1cb60ce940d50ffe3
        !          18642: Author: Martin Mares <mj@ucw.cz>
        !          18643: Date:   Sun Dec 20 14:01:20 1998 +0000
        !          18644: 
        !          18645:     Rewrote fib functions to make them insert/delete/asynchronous-walk safe.
        !          18646:     This is implemented in a way similar to lib/slists.h, but it took some
        !          18647:     more effort to make rehashing not disturb the readers. We do it by just
        !          18648:     taking _highest_ k bits of ipa_hash as our hash value and sorting each
        !          18649:     box by whole ipa_hash().
        !          18650:     
        !          18651:     Consult FIB_ITERATE_* macros in nest/route.h.
        !          18652:     
        !          18653:     Implemented fib_check() debugging function and also rewrote the rehashing
        !          18654:     algorithm to use better thresholds and not to waste time by rehashing
        !          18655:     forth and back.
        !          18656: 
        !          18657: commit a6f250f5c6d079badc4a1274b19a21a52de6acec
        !          18658: Author: Martin Mares <mj@ucw.cz>
        !          18659: Date:   Sun Dec 20 13:57:49 1998 +0000
        !          18660: 
        !          18661:     New hash functions according to benchmarks posted yesterday. (The IPv6
        !          18662:     version has not been benchmarked yet due to insufficient test data.)
        !          18663:     Now ipa_hash() returns a uniformely distributed 16-bit value.
        !          18664: 
        !          18665: commit a05406e69c699c8b6f43bf58f47b8b0385113083
        !          18666: Author: Martin Mares <mj@ucw.cz>
        !          18667: Date:   Sun Dec 20 13:56:27 1998 +0000
        !          18668: 
        !          18669:     Implemented deletion/insertion/asynchronous-walk lists.
        !          18670:     For example of their use, look at comments in lib/slists.h.
        !          18671: 
        !          18672: commit 29ad2c9ee11df80c780c4e3f0fd217783af1d727
        !          18673: Author: Martin Mares <mj@ucw.cz>
        !          18674: Date:   Sat Dec 19 21:53:28 1998 +0000
        !          18675: 
        !          18676:     Variance estimation fixed.
        !          18677: 
        !          18678: commit 87b60bf7e8ad12b3efd3d6f37df0d029f50d2d91
        !          18679: Author: Martin Mares <mj@ucw.cz>
        !          18680: Date:   Sat Dec 19 11:51:47 1998 +0000
        !          18681: 
        !          18682:     Added several tools for fib hashing function analysis. It turned out
        !          18683:     we can use very simple function which is monotonic with respect
        !          18684:     to re-hashing:
        !          18685:     
        !          18686:        n ^= n >> 16;
        !          18687:        n ^= n << 10;
        !          18688:        h = (n >> (16 - o)) & ((1 << o) - 1);
        !          18689:     
        !          18690:     where o is table order. Statistical analysis for both backbone routing
        !          18691:     table and local OSPF routing tables gives values near theoretical
        !          18692:     optimum for uniform distribution (see ips.c for formulae).
        !          18693:     
        !          18694:     The trick is very simple: We always calculate a 16-bit hash value n and
        !          18695:     use o most significant bits (this gives us monotonity wrt. rehashing
        !          18696:     if we sort the chains by the value of n). The first shift/xor pair
        !          18697:     reduces the IP address to a 16-bit one, the second pair makes higher
        !          18698:     bits of the 16-bit value uniformly distributed even for tables containing
        !          18699:     lots of long prefixes (typical interior routing case with 24-bit or even
        !          18700:     longer prefixes).
        !          18701: 
        !          18702: commit 02933ddbbec94f1bb01c0b9e5198fe272c1f5025
        !          18703: Author: Pavel Machek <pavel@ucw.cz>
        !          18704: Date:   Wed Dec 9 20:08:57 1998 +0000
        !          18705: 
        !          18706:     debug() -> DBG() in rip.
        !          18707: 
        !          18708: commit 06fa1453cdc419acd0c037ac82f49b4d8e77cfbd
        !          18709: Author: Pavel Machek <pavel@ucw.cz>
        !          18710: Date:   Wed Dec 9 15:22:40 1998 +0000
        !          18711: 
        !          18712:     Initial multicast support (can not work, but skeleton is there)
        !          18713: 
        !          18714: commit 8e66a0ebb927f40c9fcb48bbf5f2d811d7b7c7f3
        !          18715: Author: Martin Mares <mj@ucw.cz>
        !          18716: Date:   Tue Dec 8 18:37:58 1998 +0000
        !          18717: 
        !          18718:     Hopefully finished kernel syncer (krt) rewrite:
        !          18719:     
        !          18720:       o  Interface syncing is now a part of krt and it can have configurable
        !          18721:          parameters. Actually, the only one is scan rate now :)
        !          18722:       o  Kernel routing table syncing is now synchronized with interface
        !          18723:          syncing (we need the most recent version of the interface list
        !          18724:          to prevent lots of routes to non-existent destinations from
        !          18725:          appearing). Instead of its own timer, we just check if it's
        !          18726:          route scan time after each iface list scan.
        !          18727:       o  Syncing of device routes implemented.
        !          18728:       o  CONFIG_AUTO_ROUTES should control syncing of automatic device routes.
        !          18729:       o  Rewrote krt_remove_route() to really remove routes :)
        !          18730:       o  Better diagnostics.
        !          18731:       o  Fixed a couple of bugs.
        !          18732: 
        !          18733: commit 980297d2899a5aec6609d1f7b44626e52e6e4417
        !          18734: Author: Martin Mares <mj@ucw.cz>
        !          18735: Date:   Tue Dec 8 18:31:31 1998 +0000
        !          18736: 
        !          18737:     Fixed a couple of bugs in static protocol. All static routes except device
        !          18738:     ones seem to work well.
        !          18739: 
        !          18740: commit 618533af91051b7b26ac19816e89cd81352b0f13
        !          18741: Author: Martin Mares <mj@ucw.cz>
        !          18742: Date:   Tue Dec 8 18:30:35 1998 +0000
        !          18743: 
        !          18744:     Added source RTS_DUMMY for temporary routes. They should never appear
        !          18745:     in the main table.
        !          18746: 
        !          18747: commit f39e4713c270752d7bbfcc8115a7ea7f589c3997
        !          18748: Author: Martin Mares <mj@ucw.cz>
        !          18749: Date:   Tue Dec 8 16:20:13 1998 +0000
        !          18750: 
        !          18751:     Rewritten kernel syncer. Now uses the rta trickery I've introduced yesterday
        !          18752:     and does things "the right way". Few things are still missing (device
        !          18753:     routes etc.), I'll add them later in the evening.
        !          18754: 
        !          18755: commit 04925e9040330afc92f8001e6a19ae2146e36782
        !          18756: Author: Martin Mares <mj@ucw.cz>
        !          18757: Date:   Mon Dec 7 21:59:15 1998 +0000
        !          18758: 
        !          18759:     Minor rte/rta interface changes:
        !          18760:     
        !          18761:       o  rte can now contain a pointer to both cached and uncached rta. Protocols
        !          18762:          which don't need their own attribute caching can now just fill-in a rta,
        !          18763:          link it to rte without any calls to attribute cache and call rte_update()
        !          18764:          which will replace rte->attrs by a cached copy.
        !          18765:     
        !          18766:       o  In order to support this, one of previously pad bytes in struct rta
        !          18767:          now holds new attribute flags (RTAF_CACHED). If you call rte_update()
        !          18768:          with uncached rta, you _must_ clear these flags. In other cases rta_lookup()
        !          18769:          sets it appropriately.
        !          18770:     
        !          18771:       o  Added rte_free() which is useful when you construct a rte and then the
        !          18772:          circumstances change and you decide not to use it for an update. (Needed
        !          18773:          for temporary rte's in kernel syncer...)
        !          18774: 
        !          18775: commit cdc6bfa70f730c3741537cc21cdd0a5d13ed2af9
        !          18776: Author: Martin Mares <mj@ucw.cz>
        !          18777: Date:   Mon Dec 7 10:16:15 1998 +0000
        !          18778: 
        !          18779:     Comparison of kernel reject routes fixed.
        !          18780: 
        !          18781: commit 12df4d909bdfa9e99dd0dd1b9fd690ce85b87dc5
        !          18782: Author: Martin Mares <mj@ucw.cz>
        !          18783: Date:   Mon Dec 7 10:15:42 1998 +0000
        !          18784: 
        !          18785:     KRF_* flags moved to krt.h as they are internal to kernel syncer,
        !          18786:     fib->pad0,pad1 renamed to x0,x1 and in case of struct net x0 is reserved
        !          18787:     for kernel syncing as well.
        !          18788: 
        !          18789: commit f6bd206607d9fcad3572841813d7376bd2df4952
        !          18790: Author: Martin Mares <mj@ucw.cz>
        !          18791: Date:   Sun Dec 6 23:13:31 1998 +0000
        !          18792: 
        !          18793:     All static routes except for device ones should work and appear/disappear
        !          18794:     when their destination comes on/off link. Deserves better testing :)
        !          18795:     
        !          18796:     See example in bird.conf.
        !          18797: 
        !          18798: commit 78d06cf2bc8ec8b9850802fc9d34afe4d1782c6c
        !          18799: Author: Martin Mares <mj@ucw.cz>
        !          18800: Date:   Sun Dec 6 23:11:47 1998 +0000
        !          18801: 
        !          18802:     Removed protocol-specific data in rte for protocol static since no
        !          18803:     such data ever existed.
        !          18804: 
        !          18805: commit 436965d25e840ef5f9614ed55181f5bf8c765d3b
        !          18806: Author: Martin Mares <mj@ucw.cz>
        !          18807: Date:   Sun Dec 6 23:11:18 1998 +0000
        !          18808: 
        !          18809:     Aesthetic fix for neighbor cache debug dump.
        !          18810: 
        !          18811: commit 89d2355d3d16ac51ad5861d91b17eaa65713f80b
        !          18812: Author: Martin Mares <mj@ucw.cz>
        !          18813: Date:   Sun Dec 6 23:10:45 1998 +0000
        !          18814: 
        !          18815:     Added new rule for prefix length / netmask.
        !          18816: 
        !          18817: commit cc12cf05c789ef85d72cf19e9b52f0c4982542f7
        !          18818: Author: Martin Mares <mj@ucw.cz>
        !          18819: Date:   Sun Dec 6 23:10:28 1998 +0000
        !          18820: 
        !          18821:     cf_error() now accepts any format strings instead of just an error
        !          18822:     message. Also added extra kludge to get rid of collisions of REJECT
        !          18823:     symbols.
        !          18824: 
        !          18825: commit a1bf6440b5c27f7fb829eb25f6ac1c2629eb72eb
        !          18826: Author: Martin Mares <mj@ucw.cz>
        !          18827: Date:   Sun Dec 6 18:21:23 1998 +0000
        !          18828: 
        !          18829:     Added skeleton of static route protocol.
        !          18830: 
        !          18831: commit 980ffedbb04bf3beedf147fc7dfed40cdbf968aa
        !          18832: Author: Martin Mares <mj@ucw.cz>
        !          18833: Date:   Sun Dec 6 17:40:42 1998 +0000
        !          18834: 
        !          18835:     Kernel syncer is now configurable. It will probably need some more
        !          18836:     options, but at least basic tuning is possible now.
        !          18837: 
        !          18838: commit 0846203e896d8ab009217968e391b5e13ea3c4c6
        !          18839: Author: Martin Mares <mj@ucw.cz>
        !          18840: Date:   Sun Dec 6 17:39:08 1998 +0000
        !          18841: 
        !          18842:     Fixed bug in CF_ADDTO. How it's possible it has ever worked?
        !          18843: 
        !          18844: commit 166b9c4912f1a52d7910c630280cf5a076eb1990
        !          18845: Author: Martin Mares <mj@ucw.cz>
        !          18846: Date:   Sun Dec 6 17:38:42 1998 +0000
        !          18847: 
        !          18848:     Added rule "bool" for boolean switches.
        !          18849: 
        !          18850: commit b35d72ac668c52ef0755cedba89bdca54bd995ac
        !          18851: Author: Martin Mares <mj@ucw.cz>
        !          18852: Date:   Sun Dec 6 11:59:18 1998 +0000
        !          18853: 
        !          18854:     Name cleanups as suggested by Pavel:
        !          18855:     
        !          18856:     - cfg_strcpy() -> cfg_strdup()
        !          18857:     - mempool -> linpool, mp_* -> lp_*  [to avoid confusion with memblock, mb_*]
        !          18858:     
        !          18859:     Anyway, it might be better to stop ranting about names and do some *real* work.
        !          18860: 
        !          18861: commit 2d9290e973b9cfc909057a0409152e020d1c29db
        !          18862: Author: Pavel Machek <pavel@ucw.cz>
        !          18863: Date:   Fri Dec 4 11:45:51 1998 +0000
        !          18864: 
        !          18865:     Rip now has configurable per-interface metric (please rewiev), and few
        !          18866:     more configurable parameters. To do that, union was added into iface_patt.
        !          18867: 
        !          18868: commit 9b999c393c6f89a73d5fe0f4e152b77ca0afb1b2
        !          18869: Author: Pavel Machek <pavel@ucw.cz>
        !          18870: Date:   Tue Dec 1 16:17:10 1998 +0000
        !          18871: 
        !          18872:     Infinity is now configurable ammount.
        !          18873: 
        !          18874: commit 50d8424ad1f40f9979214c1d6cbf8e290ba9a5cb
        !          18875: Author: Martin Mares <mj@ucw.cz>
        !          18876: Date:   Sun Nov 29 22:03:58 1998 +0000
        !          18877: 
        !          18878:     Added configuration of the device internal protocol. This is primarily
        !          18879:     intended to serve as an example of interface pattern list use. As a side
        !          18880:     effect, you can disable generating of device routes by disabling
        !          18881:     this protocol.
        !          18882: 
        !          18883: commit 66efdf962a343c7cf5aef475f35f9e3864cb4fdd
        !          18884: Author: Martin Mares <mj@ucw.cz>
        !          18885: Date:   Sun Nov 29 22:01:33 1998 +0000
        !          18886: 
        !          18887:     Handle disabled protocol instances.
        !          18888: 
        !          18889: commit ed45f2e126680c7197be2058f9c162f1d5019eeb
        !          18890: Author: Martin Mares <mj@ucw.cz>
        !          18891: Date:   Sun Nov 29 22:01:03 1998 +0000
        !          18892: 
        !          18893:     Added functions for manipulating interface name pattern lists:
        !          18894:     
        !          18895:        o  iface_patt_match(list, iface) -- match interface against list
        !          18896:        o  iface_patts_equal(a, b, c) -- compare whether two pattern lists are
        !          18897:           equal or not. c(x,y) is called for comparison of protocol-dependent
        !          18898:           data.
        !          18899: 
        !          18900: commit 49e4a4d1fd64da045182f6ccd38753feb364f9c5
        !          18901: Author: Martin Mares <mj@ucw.cz>
        !          18902: Date:   Sun Nov 29 21:59:37 1998 +0000
        !          18903: 
        !          18904:     Created new functions for allocating configuration data:
        !          18905:     
        !          18906:        o  cfg_alloc(size) -- generic memory allocation
        !          18907:        o  cfg_allocu(size) -- unaligned memory allocation
        !          18908:        o  cfg_allocz(size) -- zeroed memory allocation
        !          18909:        o  cfg_strcpy(str) -- allocate a copy of a string
        !          18910:     
        !          18911:     Also fixed a bug in lexing of string literals.
        !          18912: 
        !          18913: commit 5cd462f291b45a6a33168cdfbc4ba55ee068af65
        !          18914: Author: Martin Mares <mj@ucw.cz>
        !          18915: Date:   Sun Nov 29 14:51:47 1998 +0000
        !          18916: 
        !          18917:     `wc -l TODO` decreased.
        !          18918: 
        !          18919: commit dee929d86844b1956b1c0f1d2c0289a787ab9226
        !          18920: Author: Martin Mares <mj@ucw.cz>
        !          18921: Date:   Sun Nov 29 14:47:24 1998 +0000
        !          18922: 
        !          18923:     Added function for shell-like pattern matching. Will be used for
        !          18924:     matching interface names in protocol-to-iface bindings.
        !          18925: 
        !          18926: commit bd5d0d62f10c65d56e1900014be5989a3feb8380
        !          18927: Author: Martin Mares <mj@ucw.cz>
        !          18928: Date:   Sun Nov 29 14:40:39 1998 +0000
        !          18929: 
        !          18930:     Allow setting debug value and `disabled' flag in protocol definition.
        !          18931: 
        !          18932: commit 0cf86f0fc34c7daf020a9189279644af89e273a1
        !          18933: Author: Martin Mares <mj@ucw.cz>
        !          18934: Date:   Sun Nov 29 14:38:34 1998 +0000
        !          18935: 
        !          18936:     Renamed `DEBUG' symbol to `DEBUGGING' to prevent collisions with token
        !          18937:     names and include files.
        !          18938: 
        !          18939: commit 7af99789c78894fa2c7ffce3d7172d6a46c1c0e3
        !          18940: Author: Martin Mares <mj@ucw.cz>
        !          18941: Date:   Fri Nov 27 21:34:03 1998 +0000
        !          18942: 
        !          18943:     Oops, forgot to remove a debugging kludge.
        !          18944: 
        !          18945: commit 0b62c3a7c7548cd447b4f18e0346cc9e74862ab3
        !          18946: Author: Martin Mares <mj@ucw.cz>
        !          18947: Date:   Fri Nov 27 21:32:45 1998 +0000
        !          18948: 
        !          18949:     Trivial 15-line bison excercise: Implemented expressions including
        !          18950:     user-defined numeric symbols. Whenever possible, use `expr' instead
        !          18951:     of `NUM' to get full express ion power :-)
        !          18952: 
        !          18953: commit c74c0e3cdf008988a8873d3f76c0d71b29ab8673
        !          18954: Author: Martin Mares <mj@ucw.cz>
        !          18955: Date:   Fri Nov 27 21:09:57 1998 +0000
        !          18956: 
        !          18957:     First attempt at protocol configuration (now done only for RIP).
        !          18958: 
        !          18959: commit 93fb60d54ca7ce3efec1cc0b39fb0840d055ccd1
        !          18960: Author: Martin Mares <mj@ucw.cz>
        !          18961: Date:   Fri Nov 27 21:08:37 1998 +0000
        !          18962: 
        !          18963:     Fixed few misspellings and exported instance init as rip_init_instance().
        !          18964: 
        !          18965: commit 8450be97d6ffb052fce95292d39c3f67afbcdc1c
        !          18966: Author: Martin Mares <mj@ucw.cz>
        !          18967: Date:   Fri Nov 27 21:07:02 1998 +0000
        !          18968: 
        !          18969:     Added generator of default names.
        !          18970: 
        !          18971: commit 906b0170a41cc0d8ea11c7bae0a9fea3d18fe6d1
        !          18972: Author: Martin Mares <mj@ucw.cz>
        !          18973: Date:   Fri Nov 27 19:39:16 1998 +0000
        !          18974: 
        !          18975:     Experimental config file.
        !          18976: 
        !          18977: commit b4712244a0fb49b32dc58d28523f122d8ed2cae8
        !          18978: Author: Martin Mares <mj@ucw.cz>
        !          18979: Date:   Fri Nov 27 19:38:30 1998 +0000
        !          18980: 
        !          18981:     Dummy grammar for RIP configuration. Now empty, but must be here since
        !          18982:     it's referenced in the makefiles.
        !          18983: 
        !          18984: commit da87782278cdb38a90f5236fbbc4928c9ca2ee15
        !          18985: Author: Martin Mares <mj@ucw.cz>
        !          18986: Date:   Fri Nov 27 19:37:57 1998 +0000
        !          18987: 
        !          18988:     Parser fragment for the core. Now handles only router ID setting.
        !          18989: 
        !          18990: commit 70591fa06481e7935dcf66ec79812c470c71f4c8
        !          18991: Author: Martin Mares <mj@ucw.cz>
        !          18992: Date:   Fri Nov 27 19:37:07 1998 +0000
        !          18993: 
        !          18994:     Compile and use the new configuration code by default.
        !          18995: 
        !          18996: commit f142750d3420d482d7e9344c71777fdd37754114
        !          18997: Author: Martin Mares <mj@ucw.cz>
        !          18998: Date:   Fri Nov 27 19:36:06 1998 +0000
        !          18999: 
        !          19000:     Base of the parser.
        !          19001: 
        !          19002: commit 82fc7be7bbb9af40d0abf8477f7af25e1423da1a
        !          19003: Author: Martin Mares <mj@ucw.cz>
        !          19004: Date:   Fri Nov 27 19:35:50 1998 +0000
        !          19005: 
        !          19006:     Lexical analyser.
        !          19007: 
        !          19008: commit fe7cec12e8589b7d6af6033cb80804fbcbe7c0b8
        !          19009: Author: Martin Mares <mj@ucw.cz>
        !          19010: Date:   Fri Nov 27 19:35:10 1998 +0000
        !          19011: 
        !          19012:     Replaced nest/confile.h by conf/conf.h, added a lot of new definitions.
        !          19013: 
        !          19014: commit ce6ca80926c0ce87c9a08ea4f4236b1a95846086
        !          19015: Author: Martin Mares <mj@ucw.cz>
        !          19016: Date:   Fri Nov 27 19:33:53 1998 +0000
        !          19017: 
        !          19018:     This script takes configuration fragments and generates full Bison grammar
        !          19019:     from them.
        !          19020: 
        !          19021: commit 882c588a4060739a4820941cd1c6014bd10ab0db
        !          19022: Author: Martin Mares <mj@ucw.cz>
        !          19023: Date:   Fri Nov 27 19:33:26 1998 +0000
        !          19024: 
        !          19025:     This script takes configuration fragments and extracts keyword list
        !          19026:     from them.
        !          19027: 
        !          19028: commit d2ed2579fa365fa36b7882ef847b9e640290c05e
        !          19029: Author: Martin Mares <mj@ucw.cz>
        !          19030: Date:   Fri Nov 27 19:31:41 1998 +0000
        !          19031: 
        !          19032:     Now merges configuration fragments (*.Y) as well.
        !          19033: 
        !          19034: commit dfeef5d8bb9fe19cb44d4121fd8324179a38b7a0
        !          19035: Author: Martin Mares <mj@ucw.cz>
        !          19036: Date:   Fri Nov 27 19:29:27 1998 +0000
        !          19037: 
        !          19038:     Implemented ip_pton()
        !          19039: 
        !          19040: commit a3afae585af9a544f919a95509107aae33fbe53c
        !          19041: Author: Martin Mares <mj@ucw.cz>
        !          19042: Date:   Fri Nov 27 19:29:00 1998 +0000
        !          19043: 
        !          19044:     Removed prototype of rp_free() since this function has never existed.
        !          19045: 
        !          19046: commit 3cef8c706ccfbc17d8af6aed7820c9231d908214
        !          19047: Author: Martin Mares <mj@ucw.cz>
        !          19048: Date:   Fri Nov 27 19:28:29 1998 +0000
        !          19049: 
        !          19050:     Added path to config file.
        !          19051: 
        !          19052: commit 4254dc45e77b4c2d45178c7a5ce1e9bff19b8bf7
        !          19053: Author: Martin Mares <mj@ucw.cz>
        !          19054: Date:   Sat Nov 21 10:25:34 1998 +0000
        !          19055: 
        !          19056:     Killed bug in processing of 'h' prefix. Patch taken from linux-2.1.129.
        !          19057: 
        !          19058: commit 9158ca99f740d5b1b50d233e0f64e61504dc6fdf
        !          19059: Author: Martin Mares <mj@ucw.cz>
        !          19060: Date:   Mon Nov 16 21:41:21 1998 +0000
        !          19061: 
        !          19062:     Complain loudly if the logging buffer would overflow.
        !          19063: 
        !          19064: commit 53a416d376a16b2091dce898a16600b0cd27c348
        !          19065: Author: Martin Mares <mj@ucw.cz>
        !          19066: Date:   Mon Nov 16 21:40:35 1998 +0000
        !          19067: 
        !          19068:     Implemented snprintf and similar functions. It took a lot of thinking,
        !          19069:     but the modifications were relatively simple and straightforward.
        !          19070: 
        !          19071: commit c3e9b2ab2448bce4a6fe6a5be9c8de8beecc8e17
        !          19072: Author: Pavel Machek <pavel@ucw.cz>
        !          19073: Date:   Mon Oct 26 15:35:19 1998 +0000
        !          19074: 
        !          19075:     RIP now includes notion of interface, and is correctly talking to
        !          19076:     itself on second host. Split horizont is broken.
        !          19077: 
        !          19078: commit dafd580ed94f38c95a84d8d00d3a57c7c194d6db
        !          19079: Author: Martin Mares <mj@ucw.cz>
        !          19080: Date:   Mon Oct 26 15:24:32 1998 +0000
        !          19081: 
        !          19082:     Previous fix was wrong.
        !          19083: 
        !          19084: commit db6984c43c47bfb549394f6571f024df301b19ee
        !          19085: Author: Martin Mares <mj@ucw.cz>
        !          19086: Date:   Mon Oct 26 15:01:04 1998 +0000
        !          19087: 
        !          19088:     rte_update: Doesn't loop forever when multiple routes point to the same
        !          19089:     destination.
        !          19090: 
        !          19091: commit dc7c7494e372febc44ae7d1f4ed618a6fe8bf45e
        !          19092: Author: Pavel Machek <pavel@ucw.cz>
        !          19093: Date:   Tue Oct 20 16:45:53 1998 +0000
        !          19094: 
        !          19095:     RIP _NOW_ actually talks to itself (workaround core bug: send data
        !          19096:     from other port than we receive at), few FIXME's added.
        !          19097: 
        !          19098: commit 756b86dea31f2b94b1fbc1d95098f1a177b2817e
        !          19099: Author: Martin Mares <mj@ucw.cz>
        !          19100: Date:   Tue Oct 20 16:39:04 1998 +0000
        !          19101: 
        !          19102:     Learn static device routes from the kernel (temporary until we can make
        !          19103:     such things configurable).
        !          19104: 
        !          19105: commit feb6abe009aa13b3cd0ce22e6333163fb7561c16
        !          19106: Author: Pavel Machek <pavel@ucw.cz>
        !          19107: Date:   Tue Oct 20 16:12:43 1998 +0000
        !          19108: 
        !          19109:     RIP now actually talks to itself.
        !          19110: 
        !          19111: commit 8ca8683c705c76dc155521204ef098e6fe547696
        !          19112: Author: Martin Mares <mj@ucw.cz>
        !          19113: Date:   Tue Oct 20 15:47:02 1998 +0000
        !          19114: 
        !          19115:     Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-)
        !          19116: 
        !          19117: commit acc62f5e1d4a100ec0be5c73e928a041aa9a4f9d
        !          19118: Author: Martin Mares <mj@ucw.cz>
        !          19119: Date:   Tue Oct 20 15:17:38 1998 +0000
        !          19120: 
        !          19121:     Insert/remove hooks return void, not int.
        !          19122: 
        !          19123: commit a0762910a62085d875b5bf5e1494c4fdde6f603f
        !          19124: Author: Martin Mares <mj@ucw.cz>
        !          19125: Date:   Tue Oct 20 15:13:18 1998 +0000
        !          19126: 
        !          19127:     Added pointer to network to RTE. The complications with passing NET separately
        !          19128:     aren't worth 4 bytes per RTE.
        !          19129:     
        !          19130:     rte_discard and rte_dump don't need net * as parameter.
        !          19131: 
        !          19132: commit b6903c948b2325f11cfb07f2df0590708920b987
        !          19133: Author: Martin Mares <mj@ucw.cz>
        !          19134: Date:   Mon Oct 19 18:18:12 1998 +0000
        !          19135: 
        !          19136:     Updated TODO.
        !          19137: 
        !          19138: commit 7d8329078066b5682a0330b20dbdf74c7a01cbac
        !          19139: Author: Martin Mares <mj@ucw.cz>
        !          19140: Date:   Mon Oct 19 18:13:36 1998 +0000
        !          19141: 
        !          19142:     Generate router_id automatically if possible (standard "smallest of local
        !          19143:     regular interface addresses" rule).
        !          19144:     
        !          19145:     Protocols should NOT rely on router_id existence -- when router ID is not
        !          19146:     available, the router_id variable is set to zero and protocols requiring
        !          19147:     valid router ID should just refuse to start, reporting such error to the log.
        !          19148: 
        !          19149: commit 08045252553478457f923a9f941675df9992f507
        !          19150: Author: Martin Mares <mj@ucw.cz>
        !          19151: Date:   Mon Oct 19 17:52:29 1998 +0000
        !          19152: 
        !          19153:     Basic kernel routing table syncing implemented. Learning of routes installed
        !          19154:     by other programs or the kernel itself is not supported yet, but it's not
        !          19155:     needed for development of other protocols.
        !          19156: 
        !          19157: commit 567e6c62208d3bb05b58b8ed08c2be29d6542f2b
        !          19158: Author: Martin Mares <mj@ucw.cz>
        !          19159: Date:   Mon Oct 19 17:48:45 1998 +0000
        !          19160: 
        !          19161:     Use (SOCK_DGRAM,IPPROTO_IP) socket instead of (SOCK_STREAM,IPPROTO_TCP).
        !          19162:     This is exactly what Linux ifconfig does and seems to be the preferred way.
        !          19163: 
        !          19164: commit 4cf45766bac4b1e3f5196f7e36d012cb7c010dc1
        !          19165: Author: Martin Mares <mj@ucw.cz>
        !          19166: Date:   Mon Oct 19 17:47:50 1998 +0000
        !          19167: 
        !          19168:     Exporting fill_in_sockaddr() for use by other unix-dependent code.
        !          19169: 
        !          19170: commit 36f2caf147fb80e2b3db59d367e07f5d143f3710
        !          19171: Author: Martin Mares <mj@ucw.cz>
        !          19172: Date:   Mon Oct 19 17:46:45 1998 +0000
        !          19173: 
        !          19174:     Fixed generation of device routes for unnumbered point-to-point links.
        !          19175: 
        !          19176: commit f184ea6f7e1233403d06fa4615cb9f27f9d9a839
        !          19177: Author: Martin Mares <mj@ucw.cz>
        !          19178: Date:   Mon Oct 19 17:45:29 1998 +0000
        !          19179: 
        !          19180:     Proto struct now contain (down | starting | up) state.
        !          19181: 
        !          19182: commit 16a8ba30a97d82f8e43385d1a9b116fdb16746a8
        !          19183: Author: Martin Mares <mj@ucw.cz>
        !          19184: Date:   Sun Oct 18 22:25:56 1998 +0000
        !          19185: 
        !          19186:     We parse /proc/net/route and flag RT entries according to it. More to come
        !          19187:     today in the morning...
        !          19188: 
        !          19189: commit 4c45595e3bb9f0b605e3102742831dad8915b309
        !          19190: Author: Martin Mares <mj@ucw.cz>
        !          19191: Date:   Sun Oct 18 22:24:41 1998 +0000
        !          19192: 
        !          19193:     o  FIB flags now available for FIB users.
        !          19194:     o  struct network: FIB flags used for kernel syncing.
        !          19195:     o  struct network: `next' field deleted (historical relic).
        !          19196: 
        !          19197: commit ab3a76a382745e0195b213c6d87ddc0e3cabd690
        !          19198: Author: Martin Mares <mj@ucw.cz>
        !          19199: Date:   Sun Oct 18 22:22:28 1998 +0000
        !          19200: 
        !          19201:     Added ipa_from_u32 and ipa_from_u32 for use in the kernel sync code (IPv4 only).
        !          19202:     Don't ever think of using it in routing protocols.
        !          19203: 
        !          19204: commit 7e7790c61f14dff300d7c5464fdd47e4c15a0731
        !          19205: Author: Martin Mares <mj@ucw.cz>
        !          19206: Date:   Sun Oct 18 12:50:43 1998 +0000
        !          19207: 
        !          19208:     Since almost every UNIX system requires different techniques for reading
        !          19209:     the kernel routing table as opposed to modifying it which is approximately
        !          19210:     the same on non-netlink systems, I've split the kernel routing table
        !          19211:     routines to read and write parts. To be implemented later ;-)
        !          19212: 
        !          19213: commit 8b1688177b2b3c6a3740f792997f3057b9bff0da
        !          19214: Author: Martin Mares <mj@ucw.cz>
        !          19215: Date:   Sun Oct 18 12:48:15 1998 +0000
        !          19216: 
        !          19217:     * Please distinguish between DGB() and debug().
        !          19218: 
        !          19219: commit 3629bcf0c7ff8ccc56baabc4769f90635d1a7864
        !          19220: Author: Martin Mares <mj@ucw.cz>
        !          19221: Date:   Sun Oct 18 12:26:02 1998 +0000
        !          19222: 
        !          19223:     Preconfig, postconfig and init hooks can be NULL.
        !          19224: 
        !          19225: commit 0432c0173bb4d234e8ba8e4afea0a8e708e119d8
        !          19226: Author: Martin Mares <mj@ucw.cz>
        !          19227: Date:   Sun Oct 18 11:53:21 1998 +0000
        !          19228: 
        !          19229:     Split protocol init to building of protocol list and real protocol init.
        !          19230:     Added kernel route table syncer skeleton.
        !          19231: 
        !          19232: commit 05e56feb57b8e313a2328dbe82e2c2a70ff5115a
        !          19233: Author: Martin Mares <mj@ucw.cz>
        !          19234: Date:   Sun Oct 18 11:50:36 1998 +0000
        !          19235: 
        !          19236:     Removed global pointer to proto_dev.
        !          19237: 
        !          19238: commit 5b22683d2f27fcc5954cc9d4d58e55e539414d53
        !          19239: Author: Martin Mares <mj@ucw.cz>
        !          19240: Date:   Sun Oct 18 11:13:16 1998 +0000
        !          19241: 
        !          19242:     After contemplating about RIP route timeouts for a long time, I've implemented
        !          19243:     protocol callbacks for route insertion and deletion from the central table.
        !          19244:     RIP should maintain its own per-protocol queue of existing routes, scan it
        !          19245:     periodically and call rte_discard() for routes that have timed out.
        !          19246: 
        !          19247: commit 570ce189d77fc40841e8e9f8f86ea3c3840aa450
        !          19248: Author: Martin Mares <mj@ucw.cz>
        !          19249: Date:   Sun Oct 18 10:49:46 1998 +0000
        !          19250: 
        !          19251:     Implemented `route last modified' time.
        !          19252: 
        !          19253: commit 2a900b1b1565d778f19c10b087aea558f067bba7
        !          19254: Author: Martin Mares <mj@ucw.cz>
        !          19255: Date:   Sat Oct 17 11:26:28 1998 +0000
        !          19256: 
        !          19257:     Fixed misleading comment.
        !          19258: 
        !          19259: commit 7f3d198df118dc218bb2049f1cc0597ec62864bc
        !          19260: Author: Martin Mares <mj@ucw.cz>
        !          19261: Date:   Sat Oct 17 11:24:13 1998 +0000
        !          19262: 
        !          19263:     Each protocol now hears even its own routes and needs to make its own
        !          19264:     loop detection. This is needed since both RIP and OSPF handle multiple
        !          19265:     neighbors and they need to redistribute routes learned from each neighbor
        !          19266:     to the remaining ones.
        !          19267: 
        !          19268: commit 47b793064c25c8adcab48cacc018be1675f2448a
        !          19269: Author: Martin Mares <mj@ucw.cz>
        !          19270: Date:   Sat Oct 17 11:05:18 1998 +0000
        !          19271: 
        !          19272:     Solve chicken-and-egg problems with protocol startup. We now queue all inactive
        !          19273:     protocols and don't send route/interface updates to them and when they come up,
        !          19274:     we resend the whole route/interface tables privately.
        !          19275:     
        !          19276:     Removed the "scan interface list after protocol start" work-around.
        !          19277: 
        !          19278: commit d92882be9b1bfcc1a8e8a7bd552bdec4831694aa
        !          19279: Author: Martin Mares <mj@ucw.cz>
        !          19280: Date:   Sat Oct 17 11:02:39 1998 +0000
        !          19281: 
        !          19282:     WALK_LIST_DELSAFE now actually works (it really couldn't since it didn't
        !          19283:     reference list head at all).
        !          19284: 
        !          19285: commit c05ea56f8eb15dfe3c9d18496deaa926e0cf8aac
        !          19286: Author: Pavel Machek <pavel@ucw.cz>
        !          19287: Date:   Sat Oct 17 10:25:22 1998 +0000
        !          19288: 
        !          19289:     rip should now correctly listen, but entries will not time out.
        !          19290: 
        !          19291: commit 8333431c4d0d7dcf065938e21440b4ce20cb8f8f
        !          19292: Author: Pavel Machek <pavel@ucw.cz>
        !          19293: Date:   Thu Oct 15 15:12:24 1998 +0000
        !          19294: 
        !          19295:     Rip: rip_rta_same added.
        !          19296: 
        !          19297: commit 93f1c532e99cddb5575075313c0707bcd4758f07
        !          19298: Author: Martin Mares <mj@ucw.cz>
        !          19299: Date:   Wed Oct 14 13:38:17 1998 +0000
        !          19300: 
        !          19301:     Moved scanning of interfaces, so that they get initialized after all
        !          19302:     routing protocol instances.
        !          19303: 
        !          19304: commit cf3934c5691ec4a00d54b863576916f9a1dd1f1a
        !          19305: Author: Pavel Machek <pavel@ucw.cz>
        !          19306: Date:   Wed Oct 14 13:27:53 1998 +0000
        !          19307: 
        !          19308:     Lists: unneccessary test killed, make code friendly to non-gcc.
        !          19309: 
        !          19310: commit c93214d442644c9667d69f904d57aef6b4ddd47e
        !          19311: Author: Martin Mares <mj@ucw.cz>
        !          19312: Date:   Tue Oct 13 19:57:33 1998 +0000
        !          19313: 
        !          19314:     o  There are cases when SIOCGIFINDEX is defined, but it doesn't work. When
        !          19315:        this happens, don't reject the whole interface, just mark it as index 0.
        !          19316:     o  Removed Pavel's comment about EFAULT and SIGSEGV. EFAULT is a valid return
        !          19317:        code for cases where the buffer is too small.
        !          19318:     o  Commented out the smart interface list size logic temporarily as it seems
        !          19319:        Linux 2.0 SIOCGIFCONF doesn't react to ifc_req==NULL sanely. Replaced it
        !          19320:        by exponential stepping.
        !          19321: 
        !          19322: commit fdf33cde1cd14a2a0215d6d459489e258fe20789
        !          19323: Author: Pavel Machek <pavel@ucw.cz>
        !          19324: Date:   Tue Oct 13 14:59:46 1998 +0000
        !          19325: 
        !          19326:     Strange, on atrey ioctl() does not fill structure, and bird segfaults
        !          19327:     on it. Now we "only" die().
        !          19328: 
        !          19329: commit 21580e304f612b276a90d2a90f4fb86569609255
        !          19330: Author: Pavel Machek <pavel@ucw.cz>
        !          19331: Date:   Tue Oct 13 14:32:18 1998 +0000
        !          19332: 
        !          19333:     I prefer to have broken drivers than completely stupid ones...
        !          19334:     
        !          19335:                                                        Linus Torvalds
        !          19336:     
        !          19337:     Rip now uses main routing table properly: entries are stored directly
        !          19338:     into main routing table and we are relying on core to call our's
        !          19339:     compare. That unfortunately broke garbage collecting (and probably
        !          19340:     many more things). It compiles.
        !          19341: 
        !          19342: commit 1d941de47a90fb9ca39d7acf6aa396447d1fc7df
        !          19343: Author: Pavel Machek <pavel@ucw.cz>
        !          19344: Date:   Wed Oct 7 19:33:50 1998 +0000
        !          19345: 
        !          19346:     RIP now somehow listens to main routing table (dont expect it to work)
        !          19347: 
        !          19348: commit 8c43696da0c0680820aa949da35e823e68162788
        !          19349: Author: Martin Mares <mj@ucw.cz>
        !          19350: Date:   Mon Aug 31 21:13:42 1998 +0000
        !          19351: 
        !          19352:     Route update hook now gets network prefix as well as updated
        !          19353:     route attributes.
        !          19354: 
        !          19355: commit bf65d27deaa0bacd801ec06a3257dda03a53fee2
        !          19356: Author: Pavel Machek <pavel@ucw.cz>
        !          19357: Date:   Thu Jul 30 07:43:45 1998 +0000
        !          19358: 
        !          19359:     Bird's info are now understood by ripquery.
        !          19360: 
        !          19361: commit 279f4c7b7b2ebe13793649f191040042a8c4c014
        !          19362: Author: Pavel Machek <pavel@ucw.cz>
        !          19363: Date:   Tue Jul 28 21:44:11 1998 +0000
        !          19364: 
        !          19365:     Rip now includes code to reply, but it is currently broken.
        !          19366: 
        !          19367: commit 48b41d58112737f87f1217414291e61f5430f611
        !          19368: Author: Pavel Machek <pavel@ucw.cz>
        !          19369: Date:   Tue Jul 28 21:42:08 1998 +0000
        !          19370: 
        !          19371:     Do not segfault on iface == NULL.
        !          19372: 
        !          19373: commit a872b0f7dae38cfef574d0d3b30609e968cdf95b
        !          19374: Author: Pavel Machek <pavel@ucw.cz>
        !          19375: Date:   Mon Jul 20 20:05:40 1998 +0000
        !          19376: 
        !          19377:     Reversed buggy patch.
        !          19378: 
        !          19379: commit c25e90efed6bc76d05370403839640ed05017506
        !          19380: Author: Martin Mares <mj@ucw.cz>
        !          19381: Date:   Wed Jul 15 19:42:23 1998 +0000
        !          19382: 
        !          19383:     Added comment explaining `now'.
        !          19384: 
        !          19385: commit 1be52eea5777f082b02e0f484620e692017b16a2
        !          19386: Author: Martin Mares <mj@ucw.cz>
        !          19387: Date:   Fri Jul 10 08:39:34 1998 +0000
        !          19388: 
        !          19389:     Removed format specification attributes for log() and debug() until
        !          19390:     GCC is fixed to handle custom formats.
        !          19391: 
        !          19392: commit 786d0bb9e7c5db5104e3fd0ff7fdfbd1e19844ea
        !          19393: Author: Martin Mares <mj@ucw.cz>
        !          19394: Date:   Fri Jul 10 08:38:29 1998 +0000
        !          19395: 
        !          19396:     Added ipa_class_mask() which guesses netmask for classful addressing.
        !          19397:     For pure A/B/C class addresses it just returns the class netmask, for
        !          19398:     subnets it tries to guess subnet mask. Please make sure the address
        !          19399:     you pass to this function is really a valid host address (i.e., call
        !          19400:     ipa_validate() first).
        !          19401: 
        !          19402: commit 28a9a189d71ef3b05daa21d60277149edb8e98ad
        !          19403: Author: Martin Mares <mj@ucw.cz>
        !          19404: Date:   Fri Jul 10 08:32:18 1998 +0000
        !          19405: 
        !          19406:     Replaced remaining references of clock_t by bird_clock_t.
        !          19407: 
        !          19408: commit a103373f6147f27e4ac71e5903563e57ce52902c
        !          19409: Author: Pavel Machek <pavel@ucw.cz>
        !          19410: Date:   Thu Jul 9 19:39:04 1998 +0000
        !          19411: 
        !          19412:     Commiting RIP. RIP should somehow listen, will not reply. I needed to
        !          19413:     commit it so that whole thing compiles.
        !          19414: 
        !          19415: commit 86b0023033a25cdc6ab5480e03893f516184a2a5
        !          19416: Author: Pavel Machek <pavel@ucw.cz>
        !          19417: Date:   Thu Jul 9 19:37:39 1998 +0000
        !          19418: 
        !          19419:     Making SIGUSR1 dump also all protocols.
        !          19420: 
        !          19421: commit 87d2be86e5f8af0e2f01e7fb711bd282e29e376b
        !          19422: Author: Pavel Machek <pavel@ucw.cz>
        !          19423: Date:   Thu Jul 9 19:36:52 1998 +0000
        !          19424: 
        !          19425:     Adding proto_dump_all() function
        !          19426: 
        !          19427: commit cf3527e2f4f1f4009fa332e6284b8904c24d0d43
        !          19428: Author: Pavel Machek <pavel@ucw.cz>
        !          19429: Date:   Thu Jul 9 19:36:05 1998 +0000
        !          19430: 
        !          19431:     Adding MIN()/MAX() macros
        !          19432: 
        !          19433: commit aea2dcabdc4ed80172ac8d4f5c4d31bc8607d1e7
        !          19434: Author: Pavel Machek <pavel@ucw.cz>
        !          19435: Date:   Thu Jul 9 19:35:23 1998 +0000
        !          19436: 
        !          19437:     Adding walk list which permits you to delete entries.
        !          19438: 
        !          19439: commit 962ba482fd7bba97cf13a96105503efff4dcb88a
        !          19440: Author: Martin Mares <mj@ucw.cz>
        !          19441: Date:   Wed Jun 17 14:36:02 1998 +0000
        !          19442: 
        !          19443:     Use '%I' instead of dirty address printing hacks.
        !          19444: 
        !          19445: commit d997534f65903e8078efe2f8ceb19941692598f7
        !          19446: Author: Martin Mares <mj@ucw.cz>
        !          19447: Date:   Wed Jun 17 14:34:13 1998 +0000
        !          19448: 
        !          19449:     Oops, forgot '%m'...
        !          19450: 
        !          19451: commit 9556f225853748d5fee9a21e179b8fd5da2d3c42
        !          19452: Author: Martin Mares <mj@ucw.cz>
        !          19453: Date:   Wed Jun 17 14:33:29 1998 +0000
        !          19454: 
        !          19455:     debug() and log() use the new printf. Feel free to use new formatting
        !          19456:     sequences for all output.
        !          19457: 
        !          19458: commit ecacdfa434acf8af38ed8c1c0c8e71dab400b0f4
        !          19459: Author: Martin Mares <mj@ucw.cz>
        !          19460: Date:   Wed Jun 17 14:31:36 1998 +0000
        !          19461: 
        !          19462:     Added local version of sprintf (bsprintf and bvsprintf) offering few new
        !          19463:     format strings:
        !          19464:     
        !          19465:        %I      IP address
        !          19466:        %#I     IP address in hexadecimal
        !          19467:        %1I     IP address padded to full length
        !          19468:        %m      strerror(errno)
        !          19469: 
        !          19470: commit 97d858c590998786d4d8a16b5c1f657800d74736
        !          19471: Author: Martin Mares <mj@ucw.cz>
        !          19472: Date:   Wed Jun 17 14:28:46 1998 +0000
        !          19473: 
        !          19474:     ip_ntop() and ip_ntox() for IPv4.
        !          19475: 
        !          19476: commit 6b5e06abb57528a091fd171dff379634fa7c4dad
        !          19477: Author: Martin Mares <mj@ucw.cz>
        !          19478: Date:   Wed Jun 17 14:26:30 1998 +0000
        !          19479: 
        !          19480:     Added function for converting of IP addresses to printable form.
        !          19481: 
        !          19482: commit 620a355a15d65a8a2980f98b2de3e7d04c3dab62
        !          19483: Author: Martin Mares <mj@ucw.cz>
        !          19484: Date:   Thu Jun 4 20:30:11 1998 +0000
        !          19485: 
        !          19486:     Now sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UP
        !          19487:     only if it's really up.
        !          19488: 
        !          19489: commit 236d4eb8ce5dc894e97bcf1f561186d41c361cea
        !          19490: Author: Martin Mares <mj@ucw.cz>
        !          19491: Date:   Thu Jun 4 20:29:44 1998 +0000
        !          19492: 
        !          19493:     FIB_WALK and friends are now slightly more friendly.
        !          19494: 
        !          19495: commit 66e53309acceb0fd7e56faf54e1cc733a5477c67
        !          19496: Author: Martin Mares <mj@ucw.cz>
        !          19497: Date:   Thu Jun 4 20:29:05 1998 +0000
        !          19498: 
        !          19499:     Dumping of _static_ attributes implemented.
        !          19500: 
        !          19501: commit b1e4f81485c15bacfff6040a1295bee31479a875
        !          19502: Author: Martin Mares <mj@ucw.cz>
        !          19503: Date:   Thu Jun 4 20:28:43 1998 +0000
        !          19504: 
        !          19505:     We have full interface routes now.
        !          19506: 
        !          19507: commit 0cdbd3975a1ebc5e6705d23ed90388269c24b42e
        !          19508: Author: Martin Mares <mj@ucw.cz>
        !          19509: Date:   Thu Jun 4 20:28:19 1998 +0000
        !          19510: 
        !          19511:     Handle route deletion without segfaults. A bit more debug dumps.
        !          19512: 
        !          19513: commit 5331da6a4d0c77e70d134fa40b5061b00ab593b0
        !          19514: Author: Martin Mares <mj@ucw.cz>
        !          19515: Date:   Thu Jun 4 20:27:49 1998 +0000
        !          19516: 
        !          19517:     Fixed processing of timers.
        !          19518: 
        !          19519: commit fd50083df499dd7aa4dd3eec97171003da300250
        !          19520: Author: Martin Mares <mj@ucw.cz>
        !          19521: Date:   Wed Jun 3 08:43:44 1998 +0000
        !          19522: 
        !          19523:     Killed socket debug code. Initialize config pool and protocols.
        !          19524:     More to come later...
        !          19525: 
        !          19526: commit c5ffa447598bc24cf1b674553bc4d3cc80a831d1
        !          19527: Author: Martin Mares <mj@ucw.cz>
        !          19528: Date:   Wed Jun 3 08:42:16 1998 +0000
        !          19529: 
        !          19530:     Skeleton of device route protocol. As it's tightly coupled with our kernel,
        !          19531:     it sits here instead of `proto/dev'.
        !          19532: 
        !          19533: commit d9f330c5ffe03c05b7e6541a06adac657f24407b
        !          19534: Author: Martin Mares <mj@ucw.cz>
        !          19535: Date:   Wed Jun 3 08:40:10 1998 +0000
        !          19536: 
        !          19537:     Protocol hooks. All of them may be NULL.
        !          19538: 
        !          19539: commit 7f4a39886c128bfc2e39987180eb1482ee04d553
        !          19540: Author: Martin Mares <mj@ucw.cz>
        !          19541: Date:   Wed Jun 3 08:38:53 1998 +0000
        !          19542: 
        !          19543:     Basic protocol operations.
        !          19544: 
        !          19545: commit a5f1a60e0254871c3285aabde372f5a6790c19c3
        !          19546: Author: Martin Mares <mj@ucw.cz>
        !          19547: Date:   Wed Jun 3 08:38:06 1998 +0000
        !          19548: 
        !          19549:     Changed protocol declarations a bit.
        !          19550: 
        !          19551: commit 33beab4f6c7904204a5116b4eb4cbed5f859f24a
        !          19552: Author: Martin Mares <mj@ucw.cz>
        !          19553: Date:   Wed Jun 3 08:36:34 1998 +0000
        !          19554: 
        !          19555:     Added configuration pool.
        !          19556: 
        !          19557: commit c5fd704e48333fb8e690d78a3be1303f6c2638c7
        !          19558: Author: Martin Mares <mj@ucw.cz>
        !          19559: Date:   Wed Jun 3 08:35:40 1998 +0000
        !          19560: 
        !          19561:     Protocols will reside in directory `proto'.
        !          19562: 
        !          19563: commit 869c695998f0bc3b80d8500d88a53fb169c21bc1
        !          19564: Author: Martin Mares <mj@ucw.cz>
        !          19565: Date:   Mon Jun 1 21:41:32 1998 +0000
        !          19566: 
        !          19567:     Synced to new interface code.
        !          19568: 
        !          19569: commit 4cc78c5082344f0d237a5cdfb05e53dfd04ffd8b
        !          19570: Author: Martin Mares <mj@ucw.cz>
        !          19571: Date:   Mon Jun 1 21:41:11 1998 +0000
        !          19572: 
        !          19573:     - Rewrote whole interface logic. Removed support for multiple addresses per
        !          19574:       interface since it makes much trouble everywhere. Instead, we understand
        !          19575:       secondary addresses as subinterfaces.
        !          19576:     
        !          19577:     - In case interface addresses or basic flags change, we simply convert it
        !          19578:       to a down/up sequence.
        !          19579:     
        !          19580:     - Implemented the universal neighbour cache. (Just forget what did previous
        !          19581:       includes say of neighbour caching, this one is brand new.)
        !          19582: 
        !          19583: commit 0fe3b28b68f10a32f3fe43e8221559a72be5ca28
        !          19584: Author: Martin Mares <mj@ucw.cz>
        !          19585: Date:   Mon Jun 1 21:36:58 1998 +0000
        !          19586: 
        !          19587:     Added ipa_xor() and ipa_in_net().
        !          19588: 
        !          19589: commit af847acc27978cf48721aafbacab70e48f42ede7
        !          19590: Author: Martin Mares <mj@ucw.cz>
        !          19591: Date:   Tue May 26 21:46:38 1998 +0000
        !          19592: 
        !          19593:     Whee, multicast sockets work!
        !          19594:     
        !          19595:     Implemented recurrent timers.
        !          19596: 
        !          19597: commit 140f03410500420a4b44e62a98896a29c99a2b00
        !          19598: Author: Martin Mares <mj@ucw.cz>
        !          19599: Date:   Tue May 26 21:44:54 1998 +0000
        !          19600: 
        !          19601:     Added CONFIG_AUTO_ROUTES (automatic device route creation) and
        !          19602:     CONFIG_ALL_MULTICAST (all interfaces capable of multicasting, not depending
        !          19603:     on IFF_MULTICAST flag).
        !          19604: 
        !          19605: commit fe82105e5dc2077c16da802f721160443e0c6fc2
        !          19606: Author: Martin Mares <mj@ucw.cz>
        !          19607: Date:   Tue May 26 21:43:45 1998 +0000
        !          19608: 
        !          19609:     Debug messages.
        !          19610: 
        !          19611: commit 8a48ecb8b15e827f779d4b9fb080dff280b99872
        !          19612: Author: Martin Mares <mj@ucw.cz>
        !          19613: Date:   Tue May 26 21:42:05 1998 +0000
        !          19614: 
        !          19615:     Implemented scanning of network interfaces. Mostly very ugly code due to
        !          19616:     terrible kernel interface (SIOGIFCONF and friends).
        !          19617: 
        !          19618: commit b1487ee909ebd4cfc59f30d3678cb6667d4a72c8
        !          19619: Author: Martin Mares <mj@ucw.cz>
        !          19620: Date:   Tue May 26 21:38:06 1998 +0000
        !          19621: 
        !          19622:     Added generic functions for unaligned data access.
        !          19623: 
        !          19624: commit ed68a5c6a4da7050995934adb07612dea1cf6644
        !          19625: Author: Martin Mares <mj@ucw.cz>
        !          19626: Date:   Tue May 26 21:37:37 1998 +0000
        !          19627: 
        !          19628:     Resource pools are now named.
        !          19629: 
        !          19630: commit d5417b379f05541418fb4f1ac87100ba8106b0c6
        !          19631: Author: Martin Mares <mj@ucw.cz>
        !          19632: Date:   Tue May 26 21:36:48 1998 +0000
        !          19633: 
        !          19634:     Added ipa_opposite().
        !          19635: 
        !          19636: commit 5222c46ceb8035f2292c3a91f6ee85fbbed82c5e
        !          19637: Author: Martin Mares <mj@ucw.cz>
        !          19638: Date:   Tue May 26 21:36:17 1998 +0000
        !          19639: 
        !          19640:     DBG now calls debug() instead of sending it to log().
        !          19641: 
        !          19642: commit d804db0dabf944495071fe6b62a9d836f78997af
        !          19643: Author: Martin Mares <mj@ucw.cz>
        !          19644: Date:   Sun May 24 15:00:48 1998 +0000
        !          19645: 
        !          19646:     Added few socket declarations.
        !          19647: 
        !          19648: commit b5d9ee5c878b41ffbc138be171d700992e9d78c7
        !          19649: Author: Martin Mares <mj@ucw.cz>
        !          19650: Date:   Sun May 24 14:50:18 1998 +0000
        !          19651: 
        !          19652:     Added UNIX implementation of both timers and sockets. Timers should work,
        !          19653:     sockets were tested only in TCP mode. main.c now contains some test
        !          19654:     cases for socket code.
        !          19655: 
        !          19656: commit 6d45cf21be3f979ba4e8a1a5f557663618fadfb3
        !          19657: Author: Martin Mares <mj@ucw.cz>
        !          19658: Date:   Sun May 24 14:49:14 1998 +0000
        !          19659: 
        !          19660:     Added debug dump function, but it's still empty :(
        !          19661: 
        !          19662: commit ded3ee6dddae06c1cabc3a2d34e3139eb0eb338f
        !          19663: Author: Martin Mares <mj@ucw.cz>
        !          19664: Date:   Sun May 24 14:48:52 1998 +0000
        !          19665: 
        !          19666:     protos_init, not proto_init.
        !          19667: 
        !          19668: commit b53499cdaa21994f5d92afed23fdf85c2b7fe134
        !          19669: Author: Martin Mares <mj@ucw.cz>
        !          19670: Date:   Sun May 24 14:48:09 1998 +0000
        !          19671: 
        !          19672:     Added interface index (used only by OS-dependent code since ifindexes itself
        !          19673:     are OS-dependent).
        !          19674: 
        !          19675: commit d4bc8dc00037e868771fb259a1e7b9ae5e92ed5a
        !          19676: Author: Martin Mares <mj@ucw.cz>
        !          19677: Date:   Sun May 24 14:46:20 1998 +0000
        !          19678: 
        !          19679:     Staticized some variables and functions.
        !          19680: 
        !          19681: commit 315aba32b3c5744a040331d653218d15a55455a5
        !          19682: Author: Martin Mares <mj@ucw.cz>
        !          19683: Date:   Sun May 24 14:44:25 1998 +0000
        !          19684: 
        !          19685:     Fixed path to includes.
        !          19686: 
        !          19687: commit a2ccbb0b97c1eac3a68f01b7786822a66aaaefa2
        !          19688: Author: Martin Mares <mj@ucw.cz>
        !          19689: Date:   Sun May 24 14:40:29 1998 +0000
        !          19690: 
        !          19691:     Implemented timers. Using bird_clock_t for absolute time from now...
        !          19692: 
        !          19693: commit 235562ca5ac1db2e2ea026bff42c8c2a898b44db
        !          19694: Author: Martin Mares <mj@ucw.cz>
        !          19695: Date:   Sun May 24 09:20:59 1998 +0000
        !          19696: 
        !          19697:     Point-to-point links: added address of the opposite end.
        !          19698: 
        !          19699: commit 480effedac0ae45a4f01ce32bac962db08ba5a3d
        !          19700: Author: Martin Mares <mj@ucw.cz>
        !          19701: Date:   Sun May 24 09:19:26 1998 +0000
        !          19702: 
        !          19703:     Added declarations of all our socket functions.
        !          19704: 
        !          19705: commit 2326b001d6f28e69b88c3c19795d8c0999f07db1
        !          19706: Author: Martin Mares <mj@ucw.cz>
        !          19707: Date:   Wed May 20 11:54:33 1998 +0000
        !          19708: 
        !          19709:     Added routing table and routing attribute code.
        !          19710: 
        !          19711: commit 3994080eb1a86f085498bee1f36cbdb52b30191d
        !          19712: Author: Martin Mares <mj@ucw.cz>
        !          19713: Date:   Fri May 15 13:43:59 1998 +0000
        !          19714: 
        !          19715:     Fixed path to includes.
        !          19716: 
        !          19717: commit 25697773b529d80278679978b7416ca9c87e15e9
        !          19718: Author: Martin Mares <mj@ucw.cz>
        !          19719: Date:   Fri May 15 07:56:13 1998 +0000
        !          19720: 
        !          19721:     The library is now glued together from generic and OS-dependent parts
        !          19722:     by the `mergedirs' script. Few more IP address manipulation functions
        !          19723:     and some fixes.
        !          19724: 
        !          19725: commit 62aa008abd627c6862310daf65ffd337a920bdbb
        !          19726: Author: Martin Mares <mj@ucw.cz>
        !          19727: Date:   Fri May 15 07:54:32 1998 +0000
        !          19728: 
        !          19729:     Parts of routing table code. Data structure declarations should be
        !          19730:     complete now.
        !          19731: 
        !          19732: commit 18c8241a91bd9208879666f1a1a13f454e66d75b
        !          19733: Author: Martin Mares <mj@ucw.cz>
        !          19734: Date:   Sun May 3 16:43:39 1998 +0000
        !          19735: 
        !          19736:     BIRD library: The story continues.
        !          19737:     
        !          19738:     Complete resource manages and IP address handling.
        !          19739: 
        !          19740: commit a8b6038225d18155883e330c96b2bc2e44153e1e
        !          19741: Author: Martin Mares <mj@ucw.cz>
        !          19742: Date:   Sun May 3 16:42:45 1998 +0000
        !          19743: 
        !          19744:     Next attempt on data structures...
        !          19745: 
        !          19746: commit 6032aa6ade49545d7c8b6025cf6e6373eb7c910c
        !          19747: Author: Martin Mares <mj@ucw.cz>
        !          19748: Date:   Sun May 3 16:42:08 1998 +0000
        !          19749: 
        !          19750:     Added new subdir for UNIX-dependent files.
        !          19751:     
        !          19752:     Now contains only functions for logging, but it will change soon.
        !          19753: 
        !          19754: commit 1feea03e7463d8eaeb00d5df6c2cd3e8e20f2bcd
        !          19755: Author: Martin Mares <mj@ucw.cz>
        !          19756: Date:   Tue Apr 28 14:39:34 1998 +0000
        !          19757: 
        !          19758:     Changed #include <x/y> to #include "x/y" for our local includes, so that
        !          19759:     gcc -MM can be used to separate them from the system ones.
        !          19760:     
        !          19761:     Added automatic generation of dependencies.
        !          19762: 
        !          19763: commit c40e05a0dffa33a8724e56121a2b6dcdfa9183e0
        !          19764: Author: Martin Mares <mj@ucw.cz>
        !          19765: Date:   Thu Apr 23 14:01:15 1998 +0000
        !          19766: 
        !          19767:     Added IP address manipulation macros, interface declarations and logging.
        !          19768: 
        !          19769: commit 481f69854a788bd2bea5c6938e038ec6e21c491b
        !          19770: Author: Martin Mares <mj@ucw.cz>
        !          19771: Date:   Thu Apr 23 08:09:39 1998 +0000
        !          19772: 
        !          19773:     Added few route attributes.
        !          19774: 
        !          19775: commit 58ef912c6babf1866193ab04674a5866dd761f13
        !          19776: Author: Martin Mares <mj@ucw.cz>
        !          19777: Date:   Wed Apr 22 12:58:34 1998 +0000
        !          19778: 
        !          19779:     First look at data structures. More to come tomorrow...
        !          19780: 
        !          19781: commit b60f7489148d021cb541414b8788f795ec4378fa
        !          19782: Author: Martin Mares <mj@ucw.cz>
        !          19783: Date:   Fri Mar 20 18:30:55 1998 +0000
        !          19784: 
        !          19785:     Added banner presented to KSVI.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>