Annotation of embedaddon/bird2/ChangeLog, revision 1.1

1.1     ! misho       1: commit b000a94275d7bb81868b9d6ad7582e5a3939532a
        !             2: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !             3: Date:   Fri Oct 11 00:18:38 2019 +0200
        !             4: 
        !             5:     NEWS and version update
        !             6: 
        !             7: commit 6c9cda6f924ec400e6e55ed009bfaf7a7fd9819d
        !             8: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !             9: Date:   Thu Oct 10 23:33:40 2019 +0200
        !            10: 
        !            11:     BGP: Fix reconfiguration with import table
        !            12:     
        !            13:     Change of some options requires route refresh, but when import table is
        !            14:     active, channel reload is done from it instead of doing full route
        !            15:     refresh. So in this case we request it internally.
        !            16: 
        !            17: commit eeb2c61653cb8a912a1c92ad3b98932245c2c202
        !            18: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            19: Date:   Thu Oct 10 22:43:41 2019 +0200
        !            20: 
        !            21:     Doc: Minor documentation fixes
        !            22:     
        !            23:     Thanks to Christoph for the bugreport.
        !            24: 
        !            25: commit 843b10c8b0c28ed3bea9a37b166500aabf5e930f
        !            26: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            27: Date:   Thu Oct 10 15:25:36 2019 +0200
        !            28: 
        !            29:     Nest: Handle non-MPLS on MPLS case in recursive route update
        !            30:     
        !            31:     When non-MPLS recursive route resolves to MPLS underlying route,
        !            32:     then it should get MPLS labels from the the underlying route.
        !            33: 
        !            34: commit 9eace84342bc879abf371a84f8af3bd697e1c0a2
        !            35: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            36: Date:   Thu Oct 10 15:06:32 2019 +0200
        !            37: 
        !            38:     Nest: Handle PtP links in recursive route update
        !            39:     
        !            40:     Underlying (IGP) route may lead to PtP link, in this case it does not
        !            41:     need gateway. Which is different than direct route without gateway.
        !            42:     
        !            43:     When recursive (BGP) route uses PtP route, it should not use recursive
        !            44:     next hop as immediate next hop, while for direct routes it should.
        !            45: 
        !            46: commit cb2b6e0494e685fc4cce52a1d449ffd69bec351e
        !            47: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            48: Date:   Thu Oct 10 14:01:16 2019 +0200
        !            49: 
        !            50:     Nest: Fix recursive route update
        !            51:     
        !            52:     Missing cleanup can lead to dangling pointer to old next hops.
        !            53: 
        !            54: commit 09ee846d9275b4cb0b77f7e458aba6a71b111c52
        !            55: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            56: Date:   Sat Sep 28 14:17:20 2019 +0200
        !            57: 
        !            58:     BGP: AIGP metric support (RFC 7311)
        !            59: 
        !            60: commit 759b204be33fa8485c9e28038ee029a49e2e9d3f
        !            61: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !            62: Date:   Tue Oct 1 17:01:29 2019 +0200
        !            63: 
        !            64:     Lib: Support for 64-bit numbers in bvsnprintf()
        !            65:     
        !            66:     Use 'l' for s64/u64 instead of for long/ulong, as that is much more
        !            67:     useful. Also make number() correct with regard to signed/unsigned
        !            68:     typecasts.
        !            69: 
        !            70: commit cc95b4594ac924b40325a4f1adcae5312179db40
        !            71: Author: Maria Matejka <mq@ucw.cz>
        !            72: Date:   Mon Sep 30 13:54:14 2019 +0200
        !            73: 
        !            74:     Build: Pass -g to cc called as linker to explicitly keep debug info
        !            75: 
        !            76: commit d6eea6caee187dc5f6d8ed585a59031039a5c523
        !            77: Author: Maria Matejka <mq@ucw.cz>
        !            78: Date:   Mon Sep 23 15:41:55 2019 +0200
        !            79: 
        !            80:     Testing measures times
        !            81: 
        !            82: commit 368f70604f347e310ca70828bfdd2504fd116064
        !            83: Author: Maria Matejka <mq@ucw.cz>
        !            84: Date:   Wed Sep 25 16:37:16 2019 +0200
        !            85: 
        !            86:     LTO: debug info also kept with the final binary
        !            87: 
        !            88: commit 6dda6931d1d8f99d944d85770e235bfe75db0eb6
        !            89: Author: Maria Matejka <mq@ucw.cz>
        !            90: Date:   Wed Aug 21 17:35:27 2019 +0200
        !            91: 
        !            92:     Perf: allow testing with cached route attributes.
        !            93: 
        !            94: commit 15a758378716a0af1d198c55d56a66da4ef08c93
        !            95: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !            96: Date:   Tue Oct 8 14:20:25 2019 +0200
        !            97: 
        !            98:     Doc: Fix duplicated lines
        !            99:     
        !           100:     Thanks to elados93 for the patch.
        !           101: 
        !           102: commit c41a914d6e9be91cda40c7e7c05a8b4f2b515089
        !           103: Author: Maria Matejka <mq@ucw.cz>
        !           104: Date:   Mon Sep 30 13:53:24 2019 +0200
        !           105: 
        !           106:     Testing: Don't call vsnprintf with NULL format
        !           107: 
        !           108: commit 24493e9169d3058958ab3ec4d2b02c5753954981
        !           109: Author: Maria Matejka <mq@ucw.cz>
        !           110: Date:   Fri Oct 4 12:20:02 2019 +0200
        !           111: 
        !           112:     Fixed undefined behavior on signals.
        !           113:     
        !           114:     The C11 specification allows only sig_atomic_t and _Atomic variable
        !           115:     access. All other accesses to global variables are undefined behavior.
        !           116:     
        !           117:     Using int was probably OK on x86 and x86_64; yet there were some reports
        !           118:     from other architectures (especially some MIPS) that in rare cases,
        !           119:     after issuing SIGHUP, BIRD did strange things.
        !           120: 
        !           121: commit 4821251ebb13c05e8752f6f54b8e5ad6d87fecaa
        !           122: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           123: Date:   Mon Sep 30 19:10:14 2019 +0200
        !           124: 
        !           125:     BFD: Fix reconfiguration of neighbors
        !           126:     
        !           127:     The bfd_reconfigure_neighbors() returned after first reconfigured
        !           128:     neighbor instead of continuing with the next one.
        !           129:     
        !           130:     Thanks to Winston Chen for the bugreport and a patch.
        !           131: 
        !           132: commit ca2dacfcee92d8cfecff74dd020c2d16202b0d5c
        !           133: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           134: Date:   Tue Sep 24 17:12:15 2019 +0200
        !           135: 
        !           136:     Nest: Fix bug in export table
        !           137:     
        !           138:     Exported route may be in modified state, we need to get cached one for
        !           139:     rte_same() and rta_clone() to work properly.
        !           140: 
        !           141: commit ea0917bcba86d354f9c8516a4f114c38d04f890b
        !           142: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           143: Date:   Tue Sep 24 00:18:48 2019 +0200
        !           144: 
        !           145:     Filter: Fix eval command
        !           146: 
        !           147: commit 9c79022153c6ef3a6c35b2db8be6b259104e67f3
        !           148: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           149: Date:   Sun Sep 22 23:32:22 2019 +0200
        !           150: 
        !           151:     Nest: Fix help for 'graceful restart' command
        !           152:     
        !           153:     Multi-worded commands are not automatically added to top-level
        !           154:     help output.
        !           155:     
        !           156:     Thanks to Christoph for the bugreport.
        !           157: 
        !           158: commit 3f477ccb03ed99cf6754baaca179fcf791bcda55
        !           159: Author: Maria Matejka <mq@ucw.cz>
        !           160: Date:   Fri Sep 20 10:16:51 2019 +0200
        !           161: 
        !           162:     Filters: Function body comparison result now used.
        !           163:     
        !           164:     Function bodies were compared in post-parse time, yet the result was not
        !           165:     used and the functions were incorrectly considered the same as before.
        !           166:     
        !           167:     Now the result is used to reload affected protocols.
        !           168: 
        !           169: commit eb1e43a9af9e1905b754f1f191d228e2676ce181
        !           170: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           171: Date:   Tue Sep 17 14:45:14 2019 +0200
        !           172: 
        !           173:     BGP: Fix setup with multiple dynamic BGP ranges
        !           174:     
        !           175:     Based on a patch from Liam Nattrass, thanks.
        !           176: 
        !           177: commit 5235c3f78da15826b0654ba68dc7a897faa42c98
        !           178: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           179: Date:   Tue Sep 10 17:34:41 2019 +0200
        !           180: 
        !           181:     NEWS and version update
        !           182: 
        !           183: commit 532471967e6d92ae7a480367cc6d935cca75c7b2
        !           184: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           185: Date:   Tue Sep 10 17:28:06 2019 +0200
        !           186: 
        !           187:     Doc: Update BGP mask documentation
        !           188: 
        !           189: commit 452e90ba72f57c44b44f9940ac951d2fde417583
        !           190: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           191: Date:   Tue Sep 10 13:45:18 2019 +0200
        !           192: 
        !           193:     Filter: Fix crash with 'where' filters and function calls
        !           194:     
        !           195:     The old 'where' code computed size value incorrectly, which leads
        !           196:     to invalid instruction lines and filter errors or crashes.
        !           197: 
        !           198: commit 1127887a8b111dab18c592f1f3f575920f38bfe3
        !           199: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           200: Date:   Mon Sep 9 13:17:30 2019 +0200
        !           201: 
        !           202:     BGP: Fix handling of bgp_aggregator atttribute
        !           203:     
        !           204:     The attribute should not be modifiable by filters as we do not
        !           205:     support its type.
        !           206: 
        !           207: commit 8388f5a7e14108a1458fea35bfbb5a453e2c563c
        !           208: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           209: Date:   Mon Sep 9 03:13:35 2019 +0200
        !           210: 
        !           211:     BGP: Fix bugs in handling of shutdown messages
        !           212:     
        !           213:     There is an improper check for valid message size, which may lead to
        !           214:     stack overflow and buffer leaks to log when a large message is received.
        !           215:     
        !           216:     Thanks to Daniel McCarney for bugreport and analysis.
        !           217: 
        !           218: commit 56d8b1e7f6252158caf0ecd3147376b858b16d97
        !           219: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           220: Date:   Thu Aug 29 20:58:16 2019 +0200
        !           221: 
        !           222:     OSPF: Fix 'show ospf lsadb' cmd without proto arg
        !           223:     
        !           224:     It crashed when used without protocol argument.
        !           225:     
        !           226:     Thanks to Alexander for the bugreport.
        !           227: 
        !           228: commit 32a254050d3da57ca6d7627aa606a8dce11907ee
        !           229: Author: Maria Matejka <mq@ucw.cz>
        !           230: Date:   Mon Aug 26 21:53:56 2019 +0200
        !           231: 
        !           232:     Channel refeed with import table splitting between routes for one prefix
        !           233: 
        !           234: commit 5ab3447de18235de566eb5116c0aec24050f5f85
        !           235: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           236: Date:   Wed Aug 21 17:30:00 2019 +0200
        !           237: 
        !           238:     Sysdep: Drop supplementary groups when dropping GID
        !           239:     
        !           240:     We forgot to do that. Oops.
        !           241: 
        !           242: commit 4fa0e472cf3e8c61a3f67e91d201dbc12ea94221
        !           243: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           244: Date:   Wed Aug 21 17:16:08 2019 +0200
        !           245: 
        !           246:     BGP: Use reallocation for capability structure
        !           247:     
        !           248:     Instead of having large stack buffer for max amount of AFI/SAFI pairs.
        !           249:     The old code is not correct w.r.t. extendeded option length, as more
        !           250:     AFI/SAFI pairs may fit into the capability option.
        !           251: 
        !           252: commit 524d2538537b2530bf031daa1d5c8e4653f92c5c
        !           253: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           254: Date:   Tue Aug 20 19:12:59 2019 +0200
        !           255: 
        !           256:     BGP: Implement extended optional parameters length
        !           257:     
        !           258:     Extends BGP options/capabilities data length to 16bit, to avoid issues
        !           259:     with too many capabilities. See draft-ietf-idr-ext-opt-param-07
        !           260: 
        !           261: commit a297a4f044bcc7c38549710a720bc1f97df9ba65
        !           262: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           263: Date:   Tue Aug 13 18:57:40 2019 +0200
        !           264: 
        !           265:     Nest: Fix crash in route reload when some channels are not up.
        !           266:     
        !           267:     Only channels that are up can be reloaded.
        !           268: 
        !           269: commit b7d7599ce3576f28310af18b403fed49a0840b67
        !           270: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           271: Date:   Tue Aug 13 18:22:07 2019 +0200
        !           272: 
        !           273:     BGP: implement Adj-RIB-Out
        !           274:     
        !           275:     The patch implements optional internal export table to a channel and
        !           276:     hooks it to BGP so it can be used as Adj-RIB-Out. When enabled, all
        !           277:     exported (post-filtered) routes are stored there. An export table can be
        !           278:     examined using e.g. 'show route export table bgp1.ipv4'.
        !           279: 
        !           280: commit dfe63ed84d42178a53b01071c64f23250e74d6d9
        !           281: Author: Maria Matejka <mq@ucw.cz>
        !           282: Date:   Tue Aug 13 16:45:27 2019 +0200
        !           283: 
        !           284:     Filter: Fixing empty block and never-executed-statement bug
        !           285: 
        !           286: commit 70a4320bdd44122d7a93bc71c77a9d684b3c9adc
        !           287: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           288: Date:   Mon Aug 12 00:41:36 2019 +0200
        !           289: 
        !           290:     RAdv: Allow solicited RAs to be sent as unicast
        !           291:     
        !           292:     Add option to send solicited router advertisements as unicast directly
        !           293:     to soliciting nodes instead of as multicast to all-nodes group.
        !           294: 
        !           295: commit 9f3e09832081bc029dc98ae6dda49ee86d138fde
        !           296: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           297: Date:   Tue Aug 6 18:54:19 2019 +0200
        !           298: 
        !           299:     Filter: Allow to use set constants / expressions in path masks
        !           300:     
        !           301:     Allow to not only use set literals in path masks, but also existing
        !           302:     set constants or set expressions.
        !           303: 
        !           304: commit ef113c6f725349a2ab52f3cbef18403f82c84134
        !           305: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           306: Date:   Tue Aug 6 16:58:13 2019 +0200
        !           307: 
        !           308:     Filter: Allow to use sets in path masks
        !           309: 
        !           310: commit e2b530aa729f9c5973e498b45dd6f55ab669d1ac
        !           311: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           312: Date:   Tue Aug 6 15:29:06 2019 +0200
        !           313: 
        !           314:     BGP: Improve reconfiguration
        !           315:     
        !           316:     Several BGP channel options (including 'next hop self') could be
        !           317:     reconfigured without session reset, with just route refeed/refresh.
        !           318:     The patch improves reconfiguration code to do it that way.
        !           319: 
        !           320: commit f6a6a77640a9749c79a91300d130ba6b5941d408
        !           321: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           322: Date:   Tue Aug 6 15:09:42 2019 +0200
        !           323: 
        !           324:     BGP: Fix 'deterministic med' to work with 'merge paths'
        !           325:     
        !           326:     The 'deterministic med' option is implemented by suppressing other than
        !           327:     best-in-group routes (grouped by ASN) from best route selection. This
        !           328:     interferes with 'merge paths' as supressed routes are no longer mergable
        !           329:     with best route. This is fixed by suppressing only those routes that are
        !           330:     not mergable with best-in-group route.
        !           331: 
        !           332: commit 8c42205e35e24537122a4c821bd3128d698abf1b
        !           333: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           334: Date:   Tue Aug 6 14:53:02 2019 +0200
        !           335: 
        !           336:     Configure: CFLAGS update
        !           337:     
        !           338:      - add -flto only to default CFLAGS
        !           339:      - add -fno-strict-aliasing, -fno-strict-overflow always
        !           340:      - remove -Wno-implicit-fallthrough
        !           341: 
        !           342: commit cc02da816fb062c93b4f0d61b0cfa02b673a5e00
        !           343: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !           344: Date:   Thu Aug 1 14:49:03 2019 +0200
        !           345: 
        !           346:     Show LDFLAGS in configure
        !           347: 
        !           348: commit 3ffb0c4f25eff926989867b4a7f604f54d68281b
        !           349: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !           350: Date:   Thu Aug 1 14:45:23 2019 +0200
        !           351: 
        !           352:     Enable more threads for flto
        !           353: 
        !           354: commit de41d24a3d67c98d7330551bcf7549c007b89ae8
        !           355: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !           356: Date:   Thu Aug 1 14:27:20 2019 +0200
        !           357: 
        !           358:     Fix output of CFLAGS in configure script
        !           359: 
        !           360: commit 543875e080969876c33d365474589899c1f960e3
        !           361: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           362: Date:   Wed Jul 31 23:35:29 2019 +0200
        !           363: 
        !           364:     NEWS and version update
        !           365: 
        !           366: commit 96e4d0960c2b1bb01dc90ebfe341af8e4284090a
        !           367: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           368: Date:   Wed Jul 31 19:45:29 2019 +0200
        !           369: 
        !           370:     Change 'graceful down' command to 'graceful restart' and update docs
        !           371:     
        !           372:     The command initiating planned graceful restart including bird shutdown
        !           373:     should be called 'graceful restart' instead of 'graceful down', as the
        !           374:     later should be reserved for graceful shutdown in style of RFC 8326.
        !           375: 
        !           376: commit 8c703ecf73d7ccbd5e767858ba47a5f3ad0bc439
        !           377: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           378: Date:   Tue Jul 30 19:21:06 2019 +0200
        !           379: 
        !           380:     Doc: Update documentation about VRFs and BFD
        !           381: 
        !           382: commit 2de1e2062eba66893a36f5a84f922c880ab6c351
        !           383: Author: Maria Matejka <mq@ucw.cz>
        !           384: Date:   Tue Jul 30 14:28:40 2019 +0200
        !           385: 
        !           386:     Conf: Fixed symbol redefinition
        !           387: 
        !           388: commit 48addc88be27c46d83805ec2854bf1b5e0f0ddb3
        !           389: Author: Maria Matejka <mq@ucw.cz>
        !           390: Date:   Tue Jul 30 12:11:49 2019 +0200
        !           391: 
        !           392:     Log: Fixed race condition in reconfigure while BFD is running
        !           393: 
        !           394: commit 3b62417c356796a35229ce07238abf98fb569ccb
        !           395: Author: Vincent Bernat <vincent@bernat.ch>
        !           396: Date:   Mon Jul 29 15:42:30 2019 +0200
        !           397: 
        !           398:     RPKI: Fix allocation of hostname when using an IPv6 address
        !           399: 
        !           400: commit 00284f0ed67370c7c697adf20b08840482ea18ea
        !           401: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           402: Date:   Thu Jul 25 14:24:16 2019 +0200
        !           403: 
        !           404:     BFD: Fix formatting of 'show bfd sessions'
        !           405:     
        !           406:     The formatting was broken due to longer date in 'since' column.
        !           407: 
        !           408: commit cec40a74679821513e627f93b924067a404f6475
        !           409: Merge: 18f70a6 8263690
        !           410: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           411: Date:   Wed Jul 24 15:38:32 2019 +0200
        !           412: 
        !           413:     Merge remote-tracking branch 'origin/mq-filter-stack'
        !           414: 
        !           415: commit 18f70a6229f586d5e4f387075be42d7a1ef5d269
        !           416: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           417: Date:   Wed Jul 24 15:08:03 2019 +0200
        !           418: 
        !           419:     Nest: VRF of protocol can be explicitly specified as 'default'
        !           420:     
        !           421:     Protocol can have specified VRF, in such case it is restricted to a set
        !           422:     of ifaces associated with the VRF, otherwise it can use all interfaces.
        !           423:     
        !           424:     The patch allows to specify VRF as 'default', in which case it is
        !           425:     restricted to a set of iface not associated with any VRF.
        !           426: 
        !           427: commit 048c2f0e8cc1451b1fa48e915e0bb5e124aa9d26
        !           428: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           429: Date:   Tue Jul 23 17:02:41 2019 +0200
        !           430: 
        !           431:     OSPF: Fix formatting of 'show ospf neighbors'
        !           432:     
        !           433:     The formatting was broken when too short router-id was used.
        !           434: 
        !           435: commit 15b0a9229431dc75425c229b2f94e680db49d594
        !           436: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           437: Date:   Tue Jul 23 01:52:18 2019 +0200
        !           438: 
        !           439:     RPKI: Fix reconfiguration when ssh parameters are undefined
        !           440: 
        !           441: commit d843c274781bf9d30bfba93229b9f02a88f26fe2
        !           442: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           443: Date:   Thu Jul 18 02:39:35 2019 +0200
        !           444: 
        !           445:     Lib: Improve printf() tests
        !           446:     
        !           447:     Includes patch from Maximilian Eschenbacher
        !           448: 
        !           449: commit 39edf4abcafda429f33f98c31ae11bf6a27ab18e
        !           450: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           451: Date:   Thu Jul 18 01:57:26 2019 +0200
        !           452: 
        !           453:     Lib: Fix print of 64-bit router id
        !           454:     
        !           455:     Mismatched types to printf(). The old code coincidentally worked on amd64
        !           456:     due to its calling conventions.
        !           457:     
        !           458:     Thanks to Maximilian Eschenbacher for the bugreport.
        !           459: 
        !           460: commit cf7ff99513728e4e405508e5ccd7522289d4ec82
        !           461: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           462: Date:   Wed Jul 17 16:20:35 2019 +0200
        !           463: 
        !           464:     BFD: Support for VRFs
        !           465:     
        !           466:     Allow multiple BFD instances in separate VRFs, dispatch BFD requests
        !           467:     according to VRFs.
        !           468:     
        !           469:     Thanks to Alexander Zubkov for notice and patches.
        !           470: 
        !           471: commit 2eaf65ec607b68748744fa8e0d596cf1f3ba117a
        !           472: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           473: Date:   Mon Jul 15 18:16:55 2019 +0200
        !           474: 
        !           475:     Netlink: Fix parsing of multipath routes with MPLS labels
        !           476: 
        !           477: commit 8235c4747dcc92de2ea991f78cdf9c6b8fa7f522
        !           478: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           479: Date:   Mon Jul 15 16:23:18 2019 +0200
        !           480: 
        !           481:     Netlink: Use route replace for IPv4
        !           482:     
        !           483:     Use route replace netlink op instead of delete+add netlink ops for kernel
        !           484:     IPv4 route replace. This avoids some packetloss during route replace.
        !           485:     Still use the old behavior for IPv6, as some kernel bugs are hidden in
        !           486:     IPv6 ECMP handling.
        !           487: 
        !           488: commit 8263690e754a83b8f3c58bd0080a1628d6cba556
        !           489: Merge: efd7c87 1aec711
        !           490: Author: Maria Matejka <mq@ucw.cz>
        !           491: Date:   Mon Jul 15 16:07:16 2019 +0200
        !           492: 
        !           493:     Merge remote-tracking branch 'origin/master' into mq-filter-stack
        !           494: 
        !           495: commit efd7c87b5bcd476ba74ffe9f369e2f6fe978cbb1
        !           496: Author: Maria Matejka <mq@ucw.cz>
        !           497: Date:   Mon Jul 15 15:43:47 2019 +0200
        !           498: 
        !           499:     Filter: further split of print & die to FI_PRINT, FI_FLUSH and FI_DIE
        !           500: 
        !           501: commit 3782454e8dead1184e698fa84f7491182b54454e
        !           502: Author: Maria Matejka <mq@ucw.cz>
        !           503: Date:   Mon Jul 15 15:23:35 2019 +0200
        !           504: 
        !           505:     Filter: Simpler filter context allocation
        !           506: 
        !           507: commit f634adc7dcf8cfc2a8ea8a61fe2f85d8aadf5a75
        !           508: Author: Maria Matejka <mq@ucw.cz>
        !           509: Date:   Mon Jul 15 15:17:04 2019 +0200
        !           510: 
        !           511:     Filter: FID_MEMBER debug string is a C constant string
        !           512: 
        !           513: commit c0999a149c223fa9c622552a314c767e6a640bf6
        !           514: Author: Maria Matejka <mq@ucw.cz>
        !           515: Date:   Mon Jul 15 15:12:18 2019 +0200
        !           516: 
        !           517:     Filter: Converted FI_PRINT and FI_PATHMASK_CONSTRUCT to VARARG
        !           518: 
        !           519: commit c29d73a06a8052f653e85f6472c663f70f6706cc
        !           520: Author: Maria Matejka <mq@ucw.cz>
        !           521: Date:   Mon Jul 15 15:06:52 2019 +0200
        !           522: 
        !           523:     Filter: fixed excessive stack allocation in functions with args but no local vars
        !           524: 
        !           525: commit 0da06b7103a5601fb7c224ab82a6d3799cb55308
        !           526: Author: Maria Matejka <mq@ucw.cz>
        !           527: Date:   Mon Jul 15 13:19:01 2019 +0200
        !           528: 
        !           529:     Filter: lots of documentation
        !           530: 
        !           531: commit 1b9db6d4a7d8ab9f3ada5d21f8f05c3c8bf3c2e2
        !           532: Author: Maria Matejka <mq@ucw.cz>
        !           533: Date:   Mon Jul 15 12:03:47 2019 +0200
        !           534: 
        !           535:     Filter: Don't write out when re-evaluating filter for internal purposes.
        !           536: 
        !           537: commit 547be53b8cefc6d346cf13dcedb3e527c3472b06
        !           538: Author: Maria Matejka <mq@ucw.cz>
        !           539: Date:   Mon Jul 15 12:03:13 2019 +0200
        !           540: 
        !           541:     Filter: Don't fail badly when trying to access non-existent route in config time
        !           542: 
        !           543: commit 1aec7112f7314c3e9a4d8b9440dd85a782295310
        !           544: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           545: Date:   Wed Jul 10 18:25:36 2019 +0200
        !           546: 
        !           547:     OSPF: Fix handling of NSSA option flags
        !           548:     
        !           549:     Per RFC 3101, N-bit signalling NSSA support should be used only in Hello
        !           550:     packets, not in DBDES packets. BIRD since 2.0.4 verifies N-bit in
        !           551:     neighbor structure, which is learned from DBDES packets, therefore
        !           552:     NSSA-LSAs are not propagated to proper implementations of RFC 3101.
        !           553:     
        !           554:     This patch fixes that. Both removing the check and removing N-bit from
        !           555:     DBDES packet. This will fix compatibility issues with proper
        !           556:     implementations, but causes compatibility issues with BIRD 2.0.4.
        !           557: 
        !           558: commit bfa15a642f8e262af5c18ba5898597a20bdf4e2f
        !           559: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           560: Date:   Wed Jul 10 16:46:31 2019 +0200
        !           561: 
        !           562:     Filter: Minor cleanups
        !           563: 
        !           564: commit b2a4feeb4c877ff56d9b2ebd8119225c53ea40db
        !           565: Merge: eac9250 422a933
        !           566: Author: Maria Matejka <mq@ucw.cz>
        !           567: Date:   Wed Jul 10 11:27:08 2019 +0200
        !           568: 
        !           569:     Merge branch 'master' into mq-filter-stack
        !           570: 
        !           571: commit 422a9334294dd9a5b13abd8563a3dc7233e64b13
        !           572: Author: Maria Matejka <mq@ucw.cz>
        !           573: Date:   Wed Jul 10 11:12:41 2019 +0200
        !           574: 
        !           575:     Debug: growing message format buffer
        !           576:     
        !           577:     This led in corner cases to undefined buffer content
        !           578:     and garbage output.
        !           579: 
        !           580: commit deb84d79896cca3ac10ff9f853604f845c9420a7
        !           581: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           582: Date:   Tue Jul 9 15:57:46 2019 +0200
        !           583: 
        !           584:     OSPF: Minor fix in graceful restart
        !           585:     
        !           586:     Most LSA origination is blocked in ospf_update_topology(), this fix
        !           587:     blocks LSA origination from ospf_rt_spf().
        !           588: 
        !           589: commit e840cb9cd54162efca72137f53fddbb0e490d6fe
        !           590: Author: Vincent Bernat <bernat@luffy.cx>
        !           591: Date:   Tue Jul 9 15:25:40 2019 +0200
        !           592: 
        !           593:     Doc: Fix typo in BGP dynamic names feature description
        !           594: 
        !           595: commit 74a38adb6b4b4bf2a67e7a779a7c95b0ef1b9894
        !           596: Merge: 1322e20 2872ab9
        !           597: Author: Maria Matejka <mq@ucw.cz>
        !           598: Date:   Tue Jul 9 14:53:15 2019 +0200
        !           599: 
        !           600:     Merge branch 'master' of gitlab.labs.nic.cz:labs/bird
        !           601: 
        !           602: commit 1322e205e2066c0da8526bed505dc699d0f5b92a
        !           603: Author: Maria Matejka <mq@ucw.cz>
        !           604: Date:   Fri Feb 8 11:19:04 2019 +0100
        !           605: 
        !           606:     Test: Fixed annoying warnings (and possible obscure bugs).
        !           607: 
        !           608: commit bb001af0e8022f6445ff50b7f32c9ac102cc244e
        !           609: Author: Maria Matejka <mq@ucw.cz>
        !           610: Date:   Tue Jul 9 14:34:26 2019 +0200
        !           611: 
        !           612:     Test: better random u64 generator
        !           613: 
        !           614: commit 2872ab927ecb94b1555f5e3c8bd33021261d0c54
        !           615: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           616: Date:   Tue Jul 9 03:48:02 2019 +0200
        !           617: 
        !           618:     OSPF: Update DR when local priority changes
        !           619:     
        !           620:     When priority is reconfigured locally, we need to trigger DR election.
        !           621:     
        !           622:     (recommiting, was reset by the previous commit)
        !           623: 
        !           624: commit 85840d4c03552a69927b666774fa39921e7b1047
        !           625: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           626: Date:   Tue Jul 9 03:31:54 2019 +0200
        !           627: 
        !           628:     OSPF: Fix handling of external routes on graceful restart
        !           629:     
        !           630:     We need to flush learned external LSAs a bit later than other LSAs (after
        !           631:     first feed after end of the graceful restart) to avoid flap of external
        !           632:     routes.
        !           633: 
        !           634: commit 05e3933c06b488e71c9c149c25aec9c733a8bd1f
        !           635: Author: Maria Matejka <mq@ucw.cz>
        !           636: Date:   Mon Jul 8 13:04:50 2019 +0200
        !           637: 
        !           638:     Nest: Uninitialized variable fix
        !           639:     
        !           640:     Thanks to Vincent Bernat for reporting this.
        !           641: 
        !           642: commit 2ce25ebbefd2eaf517361a446fe40679e78e23e9
        !           643: Author: Maria Matejka <mq@ucw.cz>
        !           644: Date:   Mon Jul 8 13:00:13 2019 +0200
        !           645: 
        !           646:     Libdmalloc macros fixed
        !           647: 
        !           648: commit fa1e0ba35416561bda3708ec808d24641dd8995f
        !           649: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           650: Date:   Thu Jul 4 13:34:42 2019 +0200
        !           651: 
        !           652:     OSPF: Update DR when local priority changes
        !           653:     
        !           654:     When priority is reconfigured locally, we need to trigger DR election.
        !           655: 
        !           656: commit eac9250fd5b10809830361b94438339b3b31b270
        !           657: Merge: 8816b6c 026bfed
        !           658: Author: Maria Matejka <mq@ucw.cz>
        !           659: Date:   Wed Jul 3 11:09:52 2019 +0200
        !           660: 
        !           661:     Merge branch 'master' into mq-filter-stack
        !           662: 
        !           663: commit 8816b6cdd98d24535eece6b5e35730aac57cd9f7
        !           664: Merge: c376555 84ac62d
        !           665: Author: Maria Matejka <mq@ucw.cz>
        !           666: Date:   Wed Jul 3 08:44:42 2019 +0200
        !           667: 
        !           668:     Merge branch 'mq-filter-stack' of gitlab.labs.nic.cz:labs/bird into mq-filter-stack
        !           669: 
        !           670: commit 84ac62d3967f5294f4dc208b803a273a101744a8
        !           671: Author: Maria Matejka <mq@jmq.cz>
        !           672: Date:   Wed Jul 3 08:13:07 2019 +0200
        !           673: 
        !           674:     Filter: CLI command to dump all the linearized filters
        !           675: 
        !           676: commit 0206c070ace90c48a806a74fac52ba6e6ff9858b
        !           677: Author: Maria Matejka <mq@jmq.cz>
        !           678: Date:   Wed Jul 3 01:23:49 2019 +0200
        !           679: 
        !           680:     Filter: Split printing and dying
        !           681: 
        !           682: commit 3265c9169dfc185ccdb787c6c83d9d8e2d0429c1
        !           683: Author: Maria Matejka <mq@jmq.cz>
        !           684: Date:   Wed Jul 3 00:04:24 2019 +0200
        !           685: 
        !           686:     Removed obsolete comment at as_path_cut()
        !           687: 
        !           688: commit 78976974e711e52c3b8fa6a80b290cf2fa4f692d
        !           689: Author: Maria Matejka <mq@jmq.cz>
        !           690: Date:   Wed Jul 3 00:00:11 2019 +0200
        !           691: 
        !           692:     Dynamic attributes definition split whether it is bitmask or not.
        !           693: 
        !           694: commit 263fa2c4a6bf226172a6aef9a6b8198a5901c5bf
        !           695: Author: Maria Matejka <mq@jmq.cz>
        !           696: Date:   Tue Jul 2 22:57:00 2019 +0200
        !           697: 
        !           698:     Filter: Dropped some more irrelevant whitespace from generated files
        !           699: 
        !           700: commit 59d3a3611f05c05040cec4bf09f31c26ade0fa0a
        !           701: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           702: Date:   Tue Jul 2 18:23:06 2019 +0200
        !           703: 
        !           704:     Netlink: Handle alien routes with unsorted nexthops
        !           705:     
        !           706:     Nest requires that nexthops are sorted, the kernel protocol have to
        !           707:     ensure that for alien routes.
        !           708: 
        !           709: commit 84c58aabd0d7a6a3d1508de004a29fd22423fde6
        !           710: Author: Maria Matejka <mq@jmq.cz>
        !           711: Date:   Tue Jul 2 17:59:21 2019 +0200
        !           712: 
        !           713:     Filter: Nicer whitespaces in generated inst-gen.h
        !           714: 
        !           715: commit 550a6488c9e2241e2979317c04d6d73752618402
        !           716: Author: Maria Matejka <mq@jmq.cz>
        !           717: Date:   Tue Jul 2 17:39:56 2019 +0200
        !           718: 
        !           719:     Filter: documentation of the M4 preprocessor
        !           720: 
        !           721: commit 1187627a1dded6a3673c0d43033f431f15cd1b8f
        !           722: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           723: Date:   Tue Jul 2 16:30:36 2019 +0200
        !           724: 
        !           725:     Netlink: Do unified scan for both IPv4 and IPv6
        !           726:     
        !           727:     Instead of separate scans for IPv4, IPv6 and MPLS, do one AF_UNSPEC scan.
        !           728:     
        !           729:     This also avoids kernel issue when kernel reported IPv4 and IPv6 routes
        !           730:     during MPLS scan if MPLS is not active.
        !           731: 
        !           732: commit c376555cecbfea83314e9f76bce5002185d3566a
        !           733: Author: Maria Matejka <mq@ucw.cz>
        !           734: Date:   Tue Jul 2 13:13:29 2019 +0200
        !           735: 
        !           736:     Filter: GCC, don't complain about indentation in generated code.
        !           737: 
        !           738: commit b40c0f028f37086991fefa9197708ba8c7b3d571
        !           739: Author: Maria Matejka <mq@ucw.cz>
        !           740: Date:   Tue Jul 2 10:45:53 2019 +0200
        !           741: 
        !           742:     Filter: Pre-evaluation of constant expressions
        !           743: 
        !           744: commit 30667d50417f926fc948905aaab3e679b416b2e1
        !           745: Author: Maria Matejka <mq@ucw.cz>
        !           746: Date:   Mon Jul 1 14:12:05 2019 +0200
        !           747: 
        !           748:     Filter: Resolving of defined constants in config time
        !           749: 
        !           750: commit 26bfe59f450c2497dabc536c3e2a604e8aa5839a
        !           751: Author: Maria Matejka <mq@ucw.cz>
        !           752: Date:   Mon Jul 1 13:13:06 2019 +0200
        !           753: 
        !           754:     Filter: Moved singleton member definitions to f-inst.c
        !           755: 
        !           756: commit 4212c0e7e5647e107e6e06238a417afc44fd7f75
        !           757: Author: Maria Matejka <mq@ucw.cz>
        !           758: Date:   Mon Jul 1 12:49:02 2019 +0200
        !           759: 
        !           760:     Filter: Moved f_inst allocation to separate function
        !           761: 
        !           762: commit f74d19765ea3fafdff8fd3443f50a7b309babe89
        !           763: Author: Maria Matejka <mq@ucw.cz>
        !           764: Date:   Mon Jul 1 12:07:06 2019 +0200
        !           765: 
        !           766:     Filter: Getting rid of RESULT_OK. Adding RESULT_VOID.
        !           767:     
        !           768:     This is a preparation for filter pre-evaluation.
        !           769: 
        !           770: commit 236828d06f512b44457970795e44068d9d38ad3e
        !           771: Author: Maria Matejka <mq@ucw.cz>
        !           772: Date:   Mon Jul 1 11:57:35 2019 +0200
        !           773: 
        !           774:     Filter: The interpreter code now shares its diversion with constructor
        !           775:     
        !           776:     This is a preparation for filter pre-evaluation.
        !           777: 
        !           778: commit 026bfedb332d8c0dde28c693c177fe993b5df26d
        !           779: Author: Maria Jan Matejka <mq@jmq.cz>
        !           780: Date:   Tue Jun 11 13:19:21 2019 +0000
        !           781: 
        !           782:     BGP: Prefix hash is too small, increase its max size.
        !           783:     
        !           784:     This doesn't make any change for you until you have
        !           785:     millions of updates waiting to be sent. Increasing
        !           786:     the max hash size from 2^20 to 2^24.
        !           787: 
        !           788: commit 9dac814ee89fe41856923a532c87ffd14dbc0f79
        !           789: Author: Maria Jan Matejka <mq@jmq.cz>
        !           790: Date:   Tue Jun 11 09:35:25 2019 +0000
        !           791: 
        !           792:     BGP: split tx explicitly
        !           793:     
        !           794:     If BGP has too many data to send and BIRD is slower than the link, TX is
        !           795:     always possible until all data is sent. This patch limits maximum number
        !           796:     of generated BGP messages in one iteration of TX hook.
        !           797: 
        !           798: commit bb57d9171f2b4567f54169c8864953c4e5e18025
        !           799: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           800: Date:   Sun Jun 30 22:30:56 2019 +0200
        !           801: 
        !           802:     Add mock-up function for unit tests
        !           803:     
        !           804:     They failed without it.
        !           805: 
        !           806: commit 6c0f85d5de1588b6427f6f47c1be4a220799cd70
        !           807: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           808: Date:   Sun Jun 30 22:11:11 2019 +0200
        !           809: 
        !           810:     Doc: OSPF graceful restart options
        !           811: 
        !           812: commit 1a2ad348f660b150265f6df759a07de8a2b6de2f
        !           813: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           814: Date:   Sun Jun 30 20:12:59 2019 +0200
        !           815: 
        !           816:     OSPF: Support for graceful restart
        !           817:     
        !           818:     Implement OSPFv2 (RFC 3623) and OSPFv3 (RFC 5187) graceful restart,
        !           819:     for both restarting and helper sides. Graceful restart is initiated
        !           820:     by 'graceful down' command.
        !           821: 
        !           822: commit 8a68316eb96be1fecf91ca395f3321aa99997ad2
        !           823: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           824: Date:   Tue Jun 18 16:27:21 2019 +0200
        !           825: 
        !           826:     Nest: Add command to request graceful restart
        !           827:     
        !           828:     When 'graceful down' command is entered, protocols are shut down
        !           829:     with regard to graceful restart. Namely Kernel protocol does
        !           830:     not remove routes and BGP protocol does not send notification,
        !           831:     just closes the connection.
        !           832: 
        !           833: commit 63f49457dcc4216002742166dfecce751efa78d5
        !           834: Author: Maria Matejka <mq@ucw.cz>
        !           835: Date:   Fri Jun 28 11:08:48 2019 +0200
        !           836: 
        !           837:     Filter: renaming pointers for consistency
        !           838:     
        !           839:     The struct f_inst * is now always "what"
        !           840:     and the union member pointer is always "whati".
        !           841: 
        !           842: commit 64bb1346c71cbd2764b1e0a00dc88290bec72a5a
        !           843: Author: Maria Matejka <mq@ucw.cz>
        !           844: Date:   Thu Jun 27 15:55:48 2019 +0200
        !           845: 
        !           846:     Filter: A little cleanup of M4 interpreter generator
        !           847: 
        !           848: commit a8ab54d18d3af8e7dc9811ab8e3ba9a105131a25
        !           849: Merge: 63e7620 2e07773
        !           850: Author: Maria Matejka <mq@jmq.cz>
        !           851: Date:   Tue Jun 25 22:40:05 2019 +0200
        !           852: 
        !           853:     Merge remote-tracking branch 'refs/remotes/origin/mq-filter-stack' into mq-filter-stack
        !           854: 
        !           855: commit 63e7620462b80c9c6bbbd4f128b6816e0748d6c6
        !           856: Author: Maria Matejka <mq@jmq.cz>
        !           857: Date:   Tue Jun 25 16:18:06 2019 +0200
        !           858: 
        !           859:     Conf/Filters: Moved argument count to conf scope
        !           860: 
        !           861: commit 2e0777317f373921487d80e88c376d23a842ba2c
        !           862: Author: Maria Matejka <mq@ucw.cz>
        !           863: Date:   Fri Jun 21 11:33:28 2019 +0200
        !           864: 
        !           865:     Filter instructions don't confuse now v1 and res.
        !           866: 
        !           867: commit a84b8b6ebb2b6825b7059e34cfaafe405ab0117e
        !           868: Author: Maria Matejka <mq@ucw.cz>
        !           869: Date:   Wed Jun 19 14:09:57 2019 +0200
        !           870: 
        !           871:     Revert "Filter: Dropped the setter instructions in favor of direct result storage."
        !           872:     
        !           873:     This reverts commit bd91338246c1ba40358243f1bdf5a6dbd3a29f35.
        !           874: 
        !           875: commit 5c864e2cfaf5ff5e8e3db3ccd746162fbc7aac5b
        !           876: Author: Maria Matejka <mq@ucw.cz>
        !           877: Date:   Thu Jun 13 14:27:58 2019 +0200
        !           878: 
        !           879:     String: bstrtoul macro expanded to bstrtoul10 and 16
        !           880: 
        !           881: commit 87c82334a77dfa3fea3057fa6d4bcf8558f203a4
        !           882: Author: Maria Matejka <mq@ucw.cz>
        !           883: Date:   Thu Jun 13 14:24:48 2019 +0200
        !           884: 
        !           885:     Filter: removal of semantically insane consts in filter_commit
        !           886: 
        !           887: commit bdf2e55d98636eacaac8188ee0bd000cc10d217c
        !           888: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           889: Date:   Wed Jun 12 18:02:01 2019 +0200
        !           890: 
        !           891:     Add mock-up function for unit tests
        !           892:     
        !           893:     They failed without it.
        !           894: 
        !           895: commit 9106a750cd76d4a76c7a60294ce3a43eede166c9
        !           896: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           897: Date:   Wed Jun 12 16:13:21 2019 +0200
        !           898: 
        !           899:     Add CLI command to test reconfiguration status
        !           900:     
        !           901:     Based on patch from Kenth Eriksson <kenth.eriksson@infinera.com>.
        !           902: 
        !           903: commit 8a2cbb88d1657b4aee366605cb3d8ffcc5d3f90a
        !           904: Author: Kenth Eriksson <kenth.eriksson@infinera.com>
        !           905: Date:   Wed Jun 12 15:03:37 2019 +0200
        !           906: 
        !           907:     BIRD coding conventions
        !           908:     
        !           909:     Added Emacs config file describing BIRD coding conventions, as suggested
        !           910:     by Kenth Eriksson based on existing practice.
        !           911: 
        !           912: commit d35fb9d732b05f20a556e9bda798939358459975
        !           913: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           914: Date:   Wed Jun 12 16:35:42 2019 +0200
        !           915: 
        !           916:     BGP: Fix bug introduced in one of last patches
        !           917: 
        !           918: commit bd91338246c1ba40358243f1bdf5a6dbd3a29f35
        !           919: Author: Maria Matejka <mq@ucw.cz>
        !           920: Date:   Fri May 31 17:33:41 2019 +0200
        !           921: 
        !           922:     Filter: Dropped the setter instructions in favor of direct result storage.
        !           923:     
        !           924:     This should help filter performance a bit.
        !           925: 
        !           926: commit aa6c5f4d92f225452e432991671e7bdad185506a
        !           927: Author: Maria Matejka <mq@ucw.cz>
        !           928: Date:   Thu May 30 14:42:54 2019 +0200
        !           929: 
        !           930:     Filter: Just a little comments in filter structure
        !           931: 
        !           932: commit 1757a6fce5bd23c44cc5b72a042644c4abb744c8
        !           933: Author: Maria Matejka <mq@ucw.cz>
        !           934: Date:   Wed May 29 21:03:52 2019 +0200
        !           935: 
        !           936:     Filter: Stacks moved to thread-local storage if available.
        !           937: 
        !           938: commit 6479e403ef7398f48c0e1c0f1a71aa112938a357
        !           939: Author: Jan Maria Matejka <mq@ucw.cz>
        !           940: Date:   Thu May 23 11:27:24 2019 +0000
        !           941: 
        !           942:     Filters: If somebody doesn't like _Thread_local, don't fail for now, just be a little slower.
        !           943:     
        !           944:     When the parallel execution comes into place, we'll likely enforce this
        !           945:     C11 feature. It's much simpler and also faster than pthread_[sg]etspecific().
        !           946: 
        !           947: commit 23e3b1e6652bac4a003a7eb1e074bdaf7ebb4900
        !           948: Author: Jan Maria Matejka <mq@ucw.cz>
        !           949: Date:   Wed May 22 15:16:32 2019 +0000
        !           950: 
        !           951:     Filter: Some people can't pronounce "postfixify" correctly. Let's try "linearize" instead.
        !           952:     
        !           953:     This is just a naming change.
        !           954: 
        !           955: commit 96d757c13fe4b2e21b265275af9ac7d1e2c3f075
        !           956: Author: Jan Maria Matejka <mq@ucw.cz>
        !           957: Date:   Tue May 21 16:33:37 2019 +0000
        !           958: 
        !           959:     Filter: Store variables and function arguments on stack
        !           960: 
        !           961: commit 20c6ea70ccb69f3c1d9ca46cc7941eb686f283c6
        !           962: Author: Jan Maria Matejka <mq@ucw.cz>
        !           963: Date:   Mon May 20 17:53:10 2019 +0000
        !           964: 
        !           965:     Filter: Making the filter state thread local.
        !           966:     
        !           967:     While having the filter code still reentrant if we really need,
        !           968:     the compiler can now do constant propagation and address the
        !           969:     thread local storage directly to save some computation time.
        !           970: 
        !           971: commit 9eef9c648cee7179e069ea1f978d4e86cef580d3
        !           972: Author: Maria Matejka <mq@ucw.cz>
        !           973: Date:   Fri May 17 22:18:49 2019 +0200
        !           974: 
        !           975:     Lexer now returns known sym / unknown sym / keyword
        !           976: 
        !           977: commit dbbe4a783b3d4e7722bcb466673f8a1d2832fc7b
        !           978: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           979: Date:   Tue Apr 30 16:16:50 2019 +0200
        !           980: 
        !           981:     Doc: Dynamic BGP
        !           982: 
        !           983: commit 7ff34ca2cb86f3947bf049f73e76e6ce5d57e4a8
        !           984: Author: Alexander Azimov <a.e.azimov@gmail.com>
        !           985: Date:   Tue Apr 30 13:55:43 2019 +0200
        !           986: 
        !           987:     BGP: Compliance with RFC8203bis
        !           988: 
        !           989: commit 0b1e1e1a007f860230855d0c9e8adc88969ee077
        !           990: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !           991: Date:   Tue Apr 30 13:44:11 2019 +0200
        !           992: 
        !           993:     BGP: Output Local AS number in show protocol
        !           994:     
        !           995:     Useful for implementation of agents implementing the SNMP-BGP MIB, which
        !           996:     requires the local AS of a session to be specified.
        !           997:     
        !           998:     Thanks to Jan-Philipp Litza for the patch.
        !           999: 
        !          1000: commit e0835db4f137c1686c26165053ec9c0578b94009
        !          1001: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1002: Date:   Mon Apr 8 17:05:07 2019 +0200
        !          1003: 
        !          1004:     BGP: Dynamic BGP
        !          1005:     
        !          1006:     Support for dynamically spawning BGP protocols for incoming connections.
        !          1007:     Use 'neighbor range' to specify range of valid neighbor addresses, then
        !          1008:     incoming connections from these addresses spawn new BGP instances.
        !          1009: 
        !          1010: commit df092aa1def0419da74f15bd20582fab4ec09207
        !          1011: Author: Ondrej Filip <feela@network.cz>
        !          1012: Date:   Wed Apr 24 13:49:18 2019 +0200
        !          1013: 
        !          1014:     Small type in doc.
        !          1015: 
        !          1016: commit 6ff811976513132c831a352bd0aa0f3600252acb
        !          1017: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1018: Date:   Fri Apr 12 14:11:23 2019 +0200
        !          1019: 
        !          1020:     OSPFv3: Fix some overlooked cases in IPv4 mode
        !          1021:     
        !          1022:     Prefixes with max length (/32) were not handled properly.
        !          1023:     
        !          1024:     Thanks to bauen1 for the bugreport.
        !          1025: 
        !          1026: commit 4a50c8bd0310053a3dcab45c8dde0362348c0503
        !          1027: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1028: Date:   Mon Apr 8 16:39:22 2019 +0200
        !          1029: 
        !          1030:     BGP: Handle corner cases in event ordering
        !          1031:     
        !          1032:     When BGP connection is opened, it may happen that rx hook (with remote
        !          1033:     OPEN) is called before tx hook (for local OPEN). Therefore, we need to do
        !          1034:     internal changes (like setting local_caps) synchronously with OPENSENT
        !          1035:     transition and we need to ensure that OPEN is sent before KEEPALIVE.
        !          1036: 
        !          1037: commit 23ee6b1cd6dc597876d91db9a015f7a633764808
        !          1038: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1039: Date:   Wed Apr 3 15:54:50 2019 +0200
        !          1040: 
        !          1041:     BGP: Promiscuous ASN mode
        !          1042:     
        !          1043:     Allow to specify just 'internal' or 'external' for remote neighbor
        !          1044:     instead of specific ASN. In the second case that means BGP peers with
        !          1045:     any non-local ASNs are accepted.
        !          1046: 
        !          1047: commit a22c3e59683d0ea6c379a37f990e74a6d281ccef
        !          1048: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1049: Date:   Tue Apr 2 17:22:31 2019 +0200
        !          1050: 
        !          1051:     BGP: Separate runtime and config usage of local/remote ip and as fields
        !          1052: 
        !          1053: commit fe503c7c0632b385222c92b85d04526fdf36a1a3
        !          1054: Author: Maria Matejka <mq@ucw.cz>
        !          1055: Date:   Sat Mar 23 13:32:14 2019 +0100
        !          1056: 
        !          1057:     Filter: fixed error-checking bug in !~ operator
        !          1058: 
        !          1059: commit 7078aa63ae498b55c729df4a075eb28019917e81
        !          1060: Author: Maria Matejka <mq@ucw.cz>
        !          1061: Date:   Fri Mar 22 21:40:35 2019 +0100
        !          1062: 
        !          1063:     Fixed one warning and one undefined value.
        !          1064: 
        !          1065: commit 2ab680c6972306db71d9a8d4ee4fabf265981d30
        !          1066: Author: Maria Matejka <mq@ucw.cz>
        !          1067: Date:   Wed Mar 20 16:50:58 2019 +0100
        !          1068: 
        !          1069:     Fixed an undefined symbol bug in CLI introduced by filter refactoring
        !          1070: 
        !          1071: commit 3a22a6e858cd703d254ab331183ccd56fe195c6b
        !          1072: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1073: Date:   Tue Mar 19 19:38:32 2019 +0100
        !          1074: 
        !          1075:     Doc: Route attribute cleanups
        !          1076: 
        !          1077: commit 3c3605818fb304f8de6975c56096bfafa43a8b6b
        !          1078: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1079: Date:   Tue Mar 19 17:44:50 2019 +0100
        !          1080: 
        !          1081:     BGP: Mandatory option for channels
        !          1082:     
        !          1083:     Allow to mark channel to be mandatory, and do not allow BGP sessions if
        !          1084:     no common AFI/SAFI is established.
        !          1085: 
        !          1086: commit 7e5f769d91319b4130f7d611dd14252806892ace
        !          1087: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1088: Date:   Fri Mar 15 20:54:01 2019 +0100
        !          1089: 
        !          1090:     BGP: Handle case where capabilites are not used
        !          1091:     
        !          1092:     If peer does not announce capabilities at all, or when we have
        !          1093:     capabilities disabled, handle that as implicit IPv4 unicast.
        !          1094: 
        !          1095: commit 8d65add626b34256879a3e83855af3c0fa8ce4e7
        !          1096: Merge: 2f02c25 5d51194
        !          1097: Author: Maria Matejka <mq@ucw.cz>
        !          1098: Date:   Mon Mar 18 12:54:40 2019 +0100
        !          1099: 
        !          1100:     Merge branch 'master' into HEAD
        !          1101: 
        !          1102: commit 5d511948cddee415c2f0f1103bda0468a193f2d6
        !          1103: Author: Maria Matejka <mq@ucw.cz>
        !          1104: Date:   Fri Mar 15 15:07:00 2019 +0100
        !          1105: 
        !          1106:     Build: Automatic dependency tracking for generated files
        !          1107: 
        !          1108: commit 2f02c25e36f3946019c24dafe9b894a9e195350d
        !          1109: Author: Maria Matejka <mq@ucw.cz>
        !          1110: Date:   Thu Mar 7 18:02:05 2019 +0100
        !          1111: 
        !          1112:     Perf: fixed stupid allocation bug
        !          1113: 
        !          1114: commit d638c1794a48dec79fa0a6c118296356754a134d
        !          1115: Author: Maria Matejka <mq@ucw.cz>
        !          1116: Date:   Wed Mar 6 21:45:28 2019 +0100
        !          1117: 
        !          1118:     Gitlab CI: Drop CentOS 6 test build as unsupported.
        !          1119:     
        !          1120:     If someone wants to maintain BIRD for CentOS 6,
        !          1121:     feel free to send patches.
        !          1122: 
        !          1123: commit 875cc073b067f295cccc668008e10218f8e98dd3
        !          1124: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1125: Date:   Thu Mar 14 17:22:22 2019 +0100
        !          1126: 
        !          1127:     Nest: Update handling of temporary attributes
        !          1128:     
        !          1129:     The temporary atttributes are no longer removed by ea_do_prune(), but
        !          1130:     they are undefined by store_tmp_attrs() protocol hooks. This fixes
        !          1131:     several bugs where temporary attributes were removed when they should
        !          1132:     not or not removed when they should be. The flag EAF_TEMP is no longer
        !          1133:     needed and was removed.
        !          1134:     
        !          1135:     Update all protocol make_tmp_attrs() / store_tmp_attrs() hooks to use
        !          1136:     helper functions and to handle unset attributes properly.
        !          1137:     
        !          1138:     Also fix some related bugs like improper handling of empty eattr list.
        !          1139: 
        !          1140: commit 9aa77fccebc4d84b5e1496884cd124d09893041b
        !          1141: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1142: Date:   Wed Mar 6 18:14:12 2019 +0100
        !          1143: 
        !          1144:     OSPF: Improved handling of tmpattrs
        !          1145:     
        !          1146:     Keep track of whether OSPF tmpattrs are actually defined for given route
        !          1147:     (using flags in rte->pflags). That makes them behave more like real
        !          1148:     eattrs so a protocol can define just a subset of them or they can be
        !          1149:     undefined by filters.
        !          1150:     
        !          1151:     Do not set ospf_metric2 for other than type 2 external OSPF routes and do
        !          1152:     not set ospf_tag for non-external OSPF routes. That also fixes a bug
        !          1153:     where internal/inter-area route propagated from one OSPF instance to
        !          1154:     another is initiated with infinity ospf_metric2.
        !          1155:     
        !          1156:     Thanks to Yaroslav Dronskii for the bugreport.
        !          1157: 
        !          1158: commit e1ac6f1e301416037725b631fd6529a805e65d51
        !          1159: Author: Maria Matejka <mq@ucw.cz>
        !          1160: Date:   Wed Mar 6 15:01:10 2019 +0100
        !          1161: 
        !          1162:     Faster filters: documentation on what is happening there
        !          1163: 
        !          1164: commit a68442e0563f5b756f9a7323cea44a25ce048738
        !          1165: Author: Maria Matejka <mq@ucw.cz>
        !          1166: Date:   Wed Feb 27 14:40:05 2019 +0100
        !          1167: 
        !          1168:     Fixed link time optimizer check for FreeBSD
        !          1169: 
        !          1170: commit b9deced219cfda2afe8604b24351ae10ac56f98b
        !          1171: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1172: Date:   Tue Feb 26 18:19:35 2019 +0100
        !          1173: 
        !          1174:     NEWS and version update
        !          1175: 
        !          1176: commit f249d0b84c840242a084966999a1d228c603b431
        !          1177: Author: Maria Matejka <mq@ucw.cz>
        !          1178: Date:   Tue Feb 26 16:44:24 2019 +0100
        !          1179: 
        !          1180:     Filters: comparison of functions and filters caching
        !          1181: 
        !          1182: commit 0d12aa48363802e751d3b9a4afd6eb090592d7a3
        !          1183: Author: Maria Matejka <mq@ucw.cz>
        !          1184: Date:   Tue Feb 26 16:11:40 2019 +0100
        !          1185: 
        !          1186:     Build: No link time optimization when debug is enabled
        !          1187: 
        !          1188: commit 2915e711f77d68dff756babd19af8da1677c4549
        !          1189: Author: Maria Matejka <mq@ucw.cz>
        !          1190: Date:   Mon Feb 25 23:28:36 2019 +0100
        !          1191: 
        !          1192:     Custom number parser to speed up config parsing
        !          1193:     
        !          1194:     The glibc's generic parser is slow due to its versatility. Specialized
        !          1195:     parsers for base-10 and base-16 are much faster and we don't use other
        !          1196:     bases.
        !          1197: 
        !          1198: commit 99911873a196975f5221aad89ae5eac42e1330e0
        !          1199: Author: Maria Matejka <mq@ucw.cz>
        !          1200: Date:   Mon Feb 25 17:19:47 2019 +0100
        !          1201: 
        !          1202:     Conf: Lexer parses quoted strings in a more descriptive way
        !          1203: 
        !          1204: commit 7c36eb3e8bd7d06f65dc7319d42b6abe782c5b89
        !          1205: Author: Maria Matejka <mq@ucw.cz>
        !          1206: Date:   Fri Feb 22 12:41:51 2019 +0100
        !          1207: 
        !          1208:     Conf: Switch for faster (and slightly bigger) lexer
        !          1209: 
        !          1210: commit 412614c700085ac964b07ff9405403eaf02fa5b4
        !          1211: Author: Maria Matejka <mq@ucw.cz>
        !          1212: Date:   Fri Feb 22 12:41:51 2019 +0100
        !          1213: 
        !          1214:     Conf: Switch for faster (and slightly bigger) lexer
        !          1215: 
        !          1216: commit 93af78d2d29ce11e20d46f60cfe1d3ef68052e5c
        !          1217: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1218: Date:   Fri Feb 22 02:16:39 2019 +0100
        !          1219: 
        !          1220:     Nest: Do not compare rte.flags during rte_update()
        !          1221:     
        !          1222:     Route flags are mosty internal state of rtable, they are not significant
        !          1223:     to whether a route has changed. With the old code, all routes received as
        !          1224:     a part of enhanced route refresh are always re-announced to other peers
        !          1225:     due to change in REF_STALE.
        !          1226: 
        !          1227: commit ad702bae0ce95ee1913327dd13a877e6bf9b320d
        !          1228: Author: Maria Matejka <mq@ucw.cz>
        !          1229: Date:   Wed Feb 20 22:14:28 2019 +0100
        !          1230: 
        !          1231:     Enabled link time optimization.
        !          1232: 
        !          1233: commit d1039926f5ee5a4e0442919474f16f3c93385cc9
        !          1234: Author: Maria Matejka <mq@ucw.cz>
        !          1235: Date:   Tue Feb 19 12:34:16 2019 +0100
        !          1236: 
        !          1237:     Filter: Interpreter merged into the common m4 generator.
        !          1238:     
        !          1239:     The config-time partial evaluation of constant expressions in filters is nearby.
        !          1240: 
        !          1241: commit 32793ab685b047b553d6f7afc23b3245e8850e4a
        !          1242: Author: Maria Matejka <mq@ucw.cz>
        !          1243: Date:   Mon Feb 18 14:57:15 2019 +0100
        !          1244: 
        !          1245:     Filter: Fixed bugs in FI_CALL and FI_SWITCH
        !          1246: 
        !          1247: commit d348a916f57cb0ac390718295624dd9a1cf2d32a
        !          1248: Author: Maria Matejka <mq@ucw.cz>
        !          1249: Date:   Mon Feb 18 14:56:49 2019 +0100
        !          1250: 
        !          1251:     Test: Added -d flag to die directly after first error.
        !          1252: 
        !          1253: commit d4bf74816faf9955297f93f8bb6973c1f600dbe2
        !          1254: Author: Maria Matejka <mq@ucw.cz>
        !          1255: Date:   Mon Feb 18 14:56:10 2019 +0100
        !          1256: 
        !          1257:     GDB: Added more pretty printers for filters
        !          1258: 
        !          1259: commit ea4f55e3dcd472bb6d18c030839597ffd9583462
        !          1260: Author: Maria Matejka <mq@ucw.cz>
        !          1261: Date:   Fri Feb 15 23:59:44 2019 +0100
        !          1262: 
        !          1263:     Filter: More cleanup -- customized structures also in struct f_line_item
        !          1264: 
        !          1265: commit 0b39b1cbb70c6f37a30a3130e1c308ddd0ba36de
        !          1266: Author: Maria Matejka <mq@ucw.cz>
        !          1267: Date:   Fri Feb 15 13:53:17 2019 +0100
        !          1268: 
        !          1269:     Conf: Symbol implementation converted from void pointers to union
        !          1270:     
        !          1271:     ... and consted some declarations.
        !          1272: 
        !          1273: commit 132529ce8908661fd2baa0758c335006fb039ef0
        !          1274: Author: Maria Matejka <mq@ucw.cz>
        !          1275: Date:   Wed Feb 13 12:25:30 2019 +0100
        !          1276: 
        !          1277:     Filter: merged filter compare functions into common M4 file
        !          1278: 
        !          1279: commit dd4d409551ae22d0a9bf4e3a6edc6fb9656911b9
        !          1280: Author: Maria Matejka <mq@ucw.cz>
        !          1281: Date:   Tue Feb 12 20:37:32 2019 +0100
        !          1282: 
        !          1283:     Filter: Merged postfixify routine
        !          1284: 
        !          1285: commit de12cd18fb213ee9cc872fec77b789f34cfd7cc4
        !          1286: Author: Maria Matejka <mq@ucw.cz>
        !          1287: Date:   Tue Feb 12 14:16:28 2019 +0100
        !          1288: 
        !          1289:     Filter: Merged filter line item dumpers into common generated source
        !          1290: 
        !          1291: commit b256f241459c51224a4bf428f4bc5dfa44882920
        !          1292: Author: Maria Matejka <mq@ucw.cz>
        !          1293: Date:   Tue Feb 12 11:35:41 2019 +0100
        !          1294: 
        !          1295:     Filter: auto-generating enum-to-string
        !          1296: 
        !          1297: commit 041608129ab15b5eab6fb607c45ddd2d748295b5
        !          1298: Author: Maria Matejka <mq@ucw.cz>
        !          1299: Date:   Tue Feb 12 11:31:18 2019 +0100
        !          1300: 
        !          1301:     Filter generator: workaround for M4 claiming all the put-around code be on one line
        !          1302: 
        !          1303: commit 5289304519918f62d099463123bf6c69a0dd497e
        !          1304: Author: Maria Matejka <mq@ucw.cz>
        !          1305: Date:   Mon Feb 11 17:12:48 2019 +0100
        !          1306: 
        !          1307:     Filter data manipulation functions separated to their file
        !          1308: 
        !          1309: commit 87bd7cd7b03f24c9d7c37a2a060ef553f26ead29
        !          1310: Author: Maria Matejka <mq@ucw.cz>
        !          1311: Date:   Mon Feb 11 16:44:14 2019 +0100
        !          1312: 
        !          1313:     Filter: split the constructors to a separate file
        !          1314: 
        !          1315: commit 75206f266f8534367b88401be463953b7d5dc770
        !          1316: Author: Maria Matejka <mq@ucw.cz>
        !          1317: Date:   Mon Feb 11 15:27:47 2019 +0100
        !          1318: 
        !          1319:     Conf: Fixed makefiles
        !          1320: 
        !          1321: commit 4f082dfa892e95f86ca8137410992a248110b6ef
        !          1322: Author: Maria Matejka <mq@ucw.cz>
        !          1323: Date:   Fri Feb 8 13:38:12 2019 +0100
        !          1324: 
        !          1325:     Filter: merged filter instruction constructors, counting line size on instruction construct
        !          1326: 
        !          1327: commit 0a793ebc6059f4354c62ccec62ef7c950988ca4a
        !          1328: Author: Maria Matejka <mq@ucw.cz>
        !          1329: Date:   Fri Feb 8 11:19:04 2019 +0100
        !          1330: 
        !          1331:     Test: Fixed annoying warnings (and possible obscure bugs).
        !          1332: 
        !          1333: commit 8bdb05edb2b4e1d2989ed98d67992047ad69443c
        !          1334: Author: Maria Matejka <mq@ucw.cz>
        !          1335: Date:   Thu Feb 7 21:25:38 2019 +0100
        !          1336: 
        !          1337:     Filters: split the large filter.h file to smaller files.
        !          1338:     
        !          1339:     This should be revised, there are still ugly things in the filter API.
        !          1340: 
        !          1341: commit c1e97169cd96ce39337e75cfdf6882b180341f09
        !          1342: Author: Maria Matejka <mq@ucw.cz>
        !          1343: Date:   Wed Feb 6 14:41:39 2019 +0100
        !          1344: 
        !          1345:     Filter: M4 convertors polished a bit.
        !          1346: 
        !          1347: commit c0e958e022aac79f69e6aca2652fdb6a529e68e2
        !          1348: Author: Maria Matejka <mq@ucw.cz>
        !          1349: Date:   Wed Jan 30 14:03:47 2019 +0100
        !          1350: 
        !          1351:     Filter + Config: Fix bugs, tests and split symbols by type
        !          1352: 
        !          1353: commit 713658798dfafabcd0a74f510c1639f6e3c9c820
        !          1354: Author: Maria Matejka <mq@ucw.cz>
        !          1355: Date:   Wed Jan 23 17:08:27 2019 +0100
        !          1356: 
        !          1357:     GDB pretty printers: f_inst and f_val.
        !          1358: 
        !          1359: commit 9b46748d5b50d1e8c242a571e80fe1f9f33aeb73
        !          1360: Author: Maria Matejka <mq@ucw.cz>
        !          1361: Date:   Mon Jan 21 09:17:54 2019 +0100
        !          1362: 
        !          1363:     Filter: refactoring of instruction constructors
        !          1364: 
        !          1365: commit 4c553c5a5b40c21ba67bd82455e79678b204cd07
        !          1366: Author: Maria Matejka <mq@ucw.cz>
        !          1367: Date:   Thu Dec 27 14:26:11 2018 +0100
        !          1368: 
        !          1369:     Filter refactoring: dropped the recursion from the interpreter
        !          1370:     
        !          1371:     This is a major change of how the filters are interpreted. If everything
        !          1372:     works how it should, it should not affect you unless you are hacking the
        !          1373:     filters themselves.
        !          1374:     
        !          1375:     Anyway, this change should make a huge improvement in the filter performance
        !          1376:     as previous benchmarks showed that our major problem lies in the
        !          1377:     recursion itself.
        !          1378:     
        !          1379:     There are also some changes in nest and protocols, related mostly to
        !          1380:     spreading const declarations throughout the whole BIRD and also to
        !          1381:     refactored dynamic attribute definitions. The need of these came up
        !          1382:     during the whole work and it is too difficult to split out these
        !          1383:     not-so-related changes.
        !          1384: 
        !          1385: commit 967b88d9388b3800efed45798542cd0b41f2b903
        !          1386: Author: Maria Matejka <mq@ucw.cz>
        !          1387: Date:   Thu Dec 20 16:25:54 2018 +0100
        !          1388: 
        !          1389:     Filter refactoring: The instructions are converted to the switch body by M4
        !          1390: 
        !          1391: commit 8436040735b84bb185311125bfc91375f740fd86
        !          1392: Author: Maria Matejka <mq@ucw.cz>
        !          1393: Date:   Thu Dec 20 16:07:59 2018 +0100
        !          1394: 
        !          1395:     Filter refactoring: Drop the roa check specific f_inst
        !          1396: 
        !          1397: commit ca2ee91a80aa87b7f18898c28e93ff22cebf73d7
        !          1398: Author: Maria Matejka <mq@ucw.cz>
        !          1399: Date:   Thu Dec 20 15:25:04 2018 +0100
        !          1400: 
        !          1401:     Filter refactoring: The constant f_val is simply included inside the instruction
        !          1402:     
        !          1403:     With 32 bits, size of the args is 12 bytes, the f_val is 20 bytes.
        !          1404:     With 64 bits, size of the args is 24 bytes, the f_val the same.
        !          1405:     
        !          1406:     This is not so nice on 32 bits, anyway the f_inst itself is
        !          1407:     24 vs. 32 bytes and the overall size of filters must be 32k of
        !          1408:     instructions to get to one megabyte of RAM eaten by f_inst.
        !          1409:     
        !          1410:     Therefore it seems to be improbable for common user to get into
        !          1411:     problems with this change.
        !          1412: 
        !          1413: commit 7f0ac73724f7383a2bcc229910414d339dbd2434
        !          1414: Author: Maria Matejka <mq@ucw.cz>
        !          1415: Date:   Thu Dec 20 14:55:40 2018 +0100
        !          1416: 
        !          1417:     Filter refactoring: Changed arguments from separate unions to an array
        !          1418: 
        !          1419: commit 224b77d4f786ea09bb2632476a89f0976baafd64
        !          1420: Author: Maria Matejka <mq@ucw.cz>
        !          1421: Date:   Thu Dec 20 14:34:35 2018 +0100
        !          1422: 
        !          1423:     Filter refactoring: Converted condition to three-args instruction
        !          1424: 
        !          1425: commit 8e8b1fe48cfcb92d54e15df5198e8cef9bc3dd8e
        !          1426: Author: Maria Matejka <mq@ucw.cz>
        !          1427: Date:   Thu Dec 20 14:29:47 2018 +0100
        !          1428: 
        !          1429:     Filter refactoring: Some instructions eat up excessively much space.
        !          1430: 
        !          1431: commit c577493908a9cda9008cc4043d0473b69fb2da66
        !          1432: Author: Maria Matejka <mq@ucw.cz>
        !          1433: Date:   Thu Dec 20 14:05:32 2018 +0100
        !          1434: 
        !          1435:     Filter refactoring: Expanded the short instructions with common code.
        !          1436:     
        !          1437:     This will make the further changes more straightforward.
        !          1438: 
        !          1439: commit a8740d6c09547dd9fe445b3deb5238305c0a5959
        !          1440: Author: Maria Matejka <mq@ucw.cz>
        !          1441: Date:   Tue Dec 18 17:10:05 2018 +0100
        !          1442: 
        !          1443:     Filter refactoring: indentation fix
        !          1444: 
        !          1445: commit fc8df41ec6cd5e6e3d53036a97dc7219dbbade5e
        !          1446: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1447: Date:   Mon Dec 17 15:00:01 2018 +0100
        !          1448: 
        !          1449:     Filter refactoring: The values are now saved on a custom stack.
        !          1450:     
        !          1451:     This shall help with performance.
        !          1452: 
        !          1453: commit 7afa1438866fa94454ba133608b6877171f71d37
        !          1454: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1455: Date:   Mon Dec 17 13:51:11 2018 +0100
        !          1456: 
        !          1457:     Filter refactoring: Passing the resulting struct f_val as a pointer.
        !          1458:     
        !          1459:     This also drops the multiplexing of errors with the f_val itself
        !          1460:     together with the T_RETURN f_val type flag.
        !          1461: 
        !          1462: commit f62a369fb48be066560d6e8f0df82eef9c464ef0
        !          1463: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1464: Date:   Mon Dec 17 13:08:08 2018 +0100
        !          1465: 
        !          1466:     Filter refactoring: Moved filter instruction definition to a separate file
        !          1467: 
        !          1468: commit 25566c68109381178e0305f3e7e1464dea15b90b
        !          1469: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1470: Date:   Mon Dec 17 12:58:01 2018 +0100
        !          1471: 
        !          1472:     Filter refactoring: Moved the bitfield bit position formula to route.h
        !          1473: 
        !          1474: commit aca8263926df6156322e1a1157886f1cad2486b1
        !          1475: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1476: Date:   Mon Dec 17 12:48:33 2018 +0100
        !          1477: 
        !          1478:     Filter refactoring: Moved the interpret macros inside the block
        !          1479: 
        !          1480: commit 02dcbf343d94dd548605c5efbf724f89d81d7258
        !          1481: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1482: Date:   Mon Dec 17 12:45:21 2018 +0100
        !          1483: 
        !          1484:     Configure: Don't check for implicit fallthrough unless when debugging.
        !          1485: 
        !          1486: commit a946317fab9776754192f679f38cb7789050c52d
        !          1487: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1488: Date:   Tue Feb 27 15:39:39 2018 +0100
        !          1489: 
        !          1490:     Filter: Converted static global variables to a filter_state struct.
        !          1491:     
        !          1492:     The static filter state was messy and blocked the planned parallel
        !          1493:     execution of filters. Anyway, this will be also slower as the state
        !          1494:     structure must be passed almost everywhere with us.
        !          1495: 
        !          1496: commit ae294cc2d02ec02cbea11c275b64e7637ba0ea68
        !          1497: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1498: Date:   Tue Feb 19 18:30:28 2019 +0100
        !          1499: 
        !          1500:     HTML are no longer generated in srcdir
        !          1501: 
        !          1502: commit 900fda4411a5346f808a575101b1260b5f73fa93
        !          1503: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1504: Date:   Tue Feb 19 18:20:07 2019 +0100
        !          1505: 
        !          1506:     Doc: Detect SP/OpenSP automatically
        !          1507: 
        !          1508: commit 3a8ca7abbcf6452fa56d0c1c6ddcf7d5bd6876ed
        !          1509: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1510: Date:   Tue Feb 19 16:26:09 2019 +0100
        !          1511: 
        !          1512:     Nest: Prevent withdraws from propagation back to source protocol (for accepted mode)
        !          1513:     
        !          1514:     Update for one of previous patches, handles the the issue for
        !          1515:     first-accepted mode of route propagation.
        !          1516: 
        !          1517: commit bf8d7bba9ef3c6d95661f97dc71fa7a6b2cf0b87
        !          1518: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1519: Date:   Sun Feb 17 01:54:01 2019 +0100
        !          1520: 
        !          1521:     OSPF: Reset LSAs during area type change
        !          1522:     
        !          1523:     When area is reconfigured to a different type, we need to flush LSAs as
        !          1524:     they may not be valid (e.g. NSSA-LSA for non-NSSA area). Also, when we
        !          1525:     have have just one OSPF area and that changes type, we could restart OSPF
        !          1526:     as there is no state to keep anyway. That solves issue with different
        !          1527:     handling of external routes exported to OSPF based of main area type.
        !          1528: 
        !          1529: commit 4a3f5b36173299d44e26dc18db4e5d103875f8c4
        !          1530: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1531: Date:   Wed Feb 13 15:40:22 2019 +0100
        !          1532: 
        !          1533:     OSPF: Basic support for DN-bit handling (RFC 4576)
        !          1534:     
        !          1535:     External LSAs originated by OSPF routers with VPN-PE behavior enabled are
        !          1536:     marked by DN flag and they are ignored by other OSPF routers with VPN-PE
        !          1537:     enabled.
        !          1538: 
        !          1539: commit 1e958e52d3ef0c38e5fb5e673bcce95d1c28ac0e
        !          1540: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1541: Date:   Sat Feb 9 16:15:01 2019 +0100
        !          1542: 
        !          1543:     OSPF: Do not originate Router-Information LSA
        !          1544:     
        !          1545:     As we do not have much usage for it yet.
        !          1546: 
        !          1547: commit cd16538fc91778e31f8241f62ee47056f099c051
        !          1548: Merge: 6e8fb66 f9b97f1
        !          1549: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1550: Date:   Sat Feb 9 15:53:16 2019 +0100
        !          1551: 
        !          1552:     Merge remote-tracking branch 'origin/mq-opt'
        !          1553: 
        !          1554: commit 6e8fb66859a17b295cd9246264221a75cdbe6c55
        !          1555: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1556: Date:   Tue Feb 5 19:00:43 2019 +0100
        !          1557: 
        !          1558:     Nest: Improve export counter handling
        !          1559:     
        !          1560:     One of previous workarounds for phantom route avoidance breaks export
        !          1561:     counters by expanding sending of spurious withdraws, which are send when
        !          1562:     we are not sure whether we have advertised that routes in the past.
        !          1563:     If not, then export counter is decreased, but it was not increased
        !          1564:     before, so it overflows under zero.
        !          1565:     
        !          1566:     The patch fixes that by sendung spurious withdraws, but not counting them
        !          1567:     on export counter. That may lead to error in the other direction, but that
        !          1568:     happens only as a race condition (i.e., in normal operation filters
        !          1569:     return proper values about old route export state).
        !          1570: 
        !          1571: commit 52fdd1cb76be1e278799001fa57f56888062dd86
        !          1572: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1573: Date:   Tue Feb 5 15:59:26 2019 +0100
        !          1574: 
        !          1575:     Nest: Report preferred counters also when 'import keep filtered' is enabled
        !          1576:     
        !          1577:     Thanks to Michal Nowak for reporting the issue.
        !          1578: 
        !          1579: commit a9b97cbcb74d918f3f606eb87a506712dccd2832
        !          1580: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1581: Date:   Sun Feb 3 20:22:40 2019 +0100
        !          1582: 
        !          1583:     OSPF: Send direct acknowledgements as unicast
        !          1584:     
        !          1585:     Direct acknowledgements should be send as unicast to a corresponding
        !          1586:     neighbor. Only delayed acks should be send as multicast to all/designated
        !          1587:     routers.
        !          1588: 
        !          1589: commit 16605f2fdad730b8bb570e17192dc5f45cf15d3f
        !          1590: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1591: Date:   Sun Feb 3 17:31:27 2019 +0100
        !          1592: 
        !          1593:     OSPF: Reject duplicate DBDES packets after dead interval
        !          1594:     
        !          1595:     Master may free last DBDES packet immediately. Slave must wait dead
        !          1596:     interval before freeing last DBDES packet and then reject duplicate
        !          1597:     DBDES packets with SeqNumberMismatch.
        !          1598: 
        !          1599: commit 9c94583a3ded3b2792bd08d88beb10100a82d7b4
        !          1600: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1601: Date:   Sun Feb 3 16:20:37 2019 +0100
        !          1602: 
        !          1603:     OSPF: DD seqnum should be initialized only for first attempts
        !          1604:     
        !          1605:     After SeqNumberMismatch/BadLSReq, we should continue with the old
        !          1606:     seqnum++. The old code tries to do that by n->adj, but it was set
        !          1607:     nowhere.
        !          1608: 
        !          1609: commit 267da8138d7f429941f2d829b44cf9bdd94a14d6
        !          1610: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1611: Date:   Sun Feb 3 15:45:43 2019 +0100
        !          1612: 
        !          1613:     OSPF: Reject DBDES packets with non-matching MTU
        !          1614:     
        !          1615:     As it is specified in RFC 2328. The old code just provided warning.
        !          1616: 
        !          1617: commit e1c275d87b26f35c29ec8bfab0a3265810463574
        !          1618: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1619: Date:   Sat Feb 2 13:28:16 2019 +0100
        !          1620: 
        !          1621:     Nest: Reestablish preferred counters
        !          1622: 
        !          1623: commit f9b97f1c6282be398d2c2bb896dbb453f638f720
        !          1624: Author: Maria Matejka <mq@ucw.cz>
        !          1625: Date:   Fri Feb 1 14:09:01 2019 +0100
        !          1626: 
        !          1627:     Perf: Added forgotten all-protocol options
        !          1628: 
        !          1629: commit a8d0f2516c1ee0372edfc607832ae78632e404ca
        !          1630: Author: Maria Matejka <mq@ucw.cz>
        !          1631: Date:   Tue Jan 29 15:19:06 2019 +0100
        !          1632: 
        !          1633:     Nest: FIB rehash values tweaked for better performance
        !          1634: 
        !          1635: commit e85e37d91d0c5fca6cb7a3ea80fac582074c389d
        !          1636: Author: Maria Matejka <mq@ucw.cz>
        !          1637: Date:   Tue Jan 29 14:22:55 2019 +0100
        !          1638: 
        !          1639:     Perf: Prune the table after every loop to have clean state.
        !          1640: 
        !          1641: commit 7411b694c3ca9db4947f577f826b622ff23e570d
        !          1642: Author: Maria Matejka <mq@ucw.cz>
        !          1643: Date:   Thu Jan 31 15:03:43 2019 +0100
        !          1644: 
        !          1645:     Perf: Write also BIRD version to have all the needed data in the logfile
        !          1646: 
        !          1647: commit c65a9a05f9005d8b7369d07a3f0e99b2f205955b
        !          1648: Author: Maria Matejka <mq@ucw.cz>
        !          1649: Date:   Thu Jan 31 15:02:15 2019 +0100
        !          1650: 
        !          1651:     Nest: Don't lookup net in table before filters are run.
        !          1652:     
        !          1653:     Using dummy net instead. This should help with performance on rejected
        !          1654:     routes.
        !          1655: 
        !          1656: commit e84c81b76ff6af88041b55c4ed25c208f78d4826
        !          1657: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1658: Date:   Wed Jan 30 17:25:21 2019 +0100
        !          1659: 
        !          1660:     Nest: Prevent withdraws from propagation back to source protocol
        !          1661:     
        !          1662:     The earlier fix loosen conditions for not running filters on old
        !          1663:     route when deciding about route propagation to a protocol to avoid
        !          1664:     issues with ghost routes in some race conditions.
        !          1665:     
        !          1666:     Unfortunately, the fix also caused back-propagation of withdraws. For
        !          1667:     regular updates, back-propagation is prevented in import_control hooks,
        !          1668:     but these are not called on withdraws. For them, import_control hooks
        !          1669:     are called on old routes instead, changing (old, NULL) notification
        !          1670:     to (NULL, NULL), which is ignored. By not calling export processing
        !          1671:     in some cases, the withdraw is not ignored and is back-propagated.
        !          1672:     
        !          1673:     This patch fixes that by contract conditions so the earlier fix is not
        !          1674:     applied to back-propagated updates.
        !          1675: 
        !          1676: commit ee95f281f038684a4a2613a0c54af7389afe64da
        !          1677: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1678: Date:   Sat Jan 26 21:02:35 2019 +0100
        !          1679: 
        !          1680:     Doc: Add documentation for OSPF retransmit delay option
        !          1681:     
        !          1682:     Thanks to Igor Podlesny for notification.
        !          1683: 
        !          1684: commit 1c730ee761b3c9b7ff12a0ad11c5b1768d1e4ada
        !          1685: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1686: Date:   Sat Jan 26 20:44:37 2019 +0100
        !          1687: 
        !          1688:     Doc: Remove doc for already removed option
        !          1689: 
        !          1690: commit b8a3608aa59a67364f05dbd0d0332371a200f226
        !          1691: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1692: Date:   Sat Jan 26 19:48:16 2019 +0100
        !          1693: 
        !          1694:     BGP: Cleanup channels when going down
        !          1695:     
        !          1696:     When going up, uncleaned old channel state may trigger unexpected
        !          1697:     conditions crashing bird.
        !          1698: 
        !          1699: commit 5a50a98980a3554b66cedda6992ece4063a0e85a
        !          1700: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1701: Date:   Thu Jan 24 22:34:33 2019 +0100
        !          1702: 
        !          1703:     OSPF: Opaque LSAs and Router Information LSA
        !          1704:     
        !          1705:     Add support for OSPFv2 Opaque LSAs (RFC 5250) and for Router Information
        !          1706:     LSA (RFC 7770). The second part is here mainly for testing opaque LSAs.
        !          1707: 
        !          1708: commit 954888859969587a288501b6801ab0ddb1f94133
        !          1709: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1710: Date:   Fri Dec 14 16:10:19 2018 +0100
        !          1711: 
        !          1712:     Nest: Don't make tmp_attr before preexport is called
        !          1713: 
        !          1714: commit 3e60932a289e55e212dec1cbaf3bca44b2bbaeb8
        !          1715: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1716: Date:   Sat Jan 5 00:38:37 2019 +0100
        !          1717: 
        !          1718:     NEWS and version update
        !          1719: 
        !          1720: commit d7e8f00e7e35daff9bcf96aa455ebc6f932d0882
        !          1721: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1722: Date:   Fri Jan 4 23:49:26 2019 +0100
        !          1723: 
        !          1724:     Unix: Remove removed option from help
        !          1725:     
        !          1726:     Also includes minor cleanup of help.
        !          1727: 
        !          1728: commit a1ee5eb2aae1f5e78909b36c979fd689ba319bbd
        !          1729: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1730: Date:   Fri Jan 4 17:03:48 2019 +0100
        !          1731: 
        !          1732:     BSD: Fix TCP-MD5 code on current FreeBSD kernels
        !          1733:     
        !          1734:     Current FreeBSD kernels require SA records for both directions.
        !          1735:     
        !          1736:     Thanks to Joseph Mulloy and Andrey V. Elsukov for reporting and
        !          1737:     solving the issue.
        !          1738: 
        !          1739: commit 4d9049dc1a57ccbf0ff9fa2642282a30e875e9e1
        !          1740: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1741: Date:   Thu Jan 3 17:11:56 2019 +0100
        !          1742: 
        !          1743:     Doc: README and INSTALL update
        !          1744:     
        !          1745:     Minor cleanups, updates and clarifications. Also removes (incomplete
        !          1746:     and well-known) build steps from README, as they are better described
        !          1747:     in INSTALL.
        !          1748: 
        !          1749: commit 470740f97bfa61c3c5c79d6f2d92f2014a119031
        !          1750: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1751: Date:   Wed Jan 2 16:01:21 2019 +0100
        !          1752: 
        !          1753:     BGP: Better dispatch of incoming connections
        !          1754:     
        !          1755:     Since v2 we have multiple listening BGP sockets, and each BGP protocol
        !          1756:     has associated one of them. Use listening socket that accepted the
        !          1757:     incoming connection as a key in the dispatch process so only BGP
        !          1758:     protocols assocaited with that listening socket can be selected.
        !          1759:     This is necesary for proper dispatch when VRFs are used.
        !          1760: 
        !          1761: commit e16b0aef31adf7000c22430adc3ceb9fc969ae14
        !          1762: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1763: Date:   Wed Jan 2 15:57:14 2019 +0100
        !          1764: 
        !          1765:     BGP: Postpone setting link_addr
        !          1766:     
        !          1767:     It may happen that the LLv6 address for given iface is not defined during
        !          1768:     BGP start, so we postpone the check to the the session establishment.
        !          1769: 
        !          1770: commit 4659b2ae45672868646900c81c963da221363b40
        !          1771: Author: Arthur Gautier <baloo@gandi.net>
        !          1772: Date:   Fri Dec 28 19:38:18 2018 +0100
        !          1773: 
        !          1774:     KRT: Fix debug messages in netlink code
        !          1775: 
        !          1776: commit c2d29dd197cbff6c143a570576c81bee20fc06eb
        !          1777: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1778: Date:   Tue Dec 18 19:16:23 2018 +0100
        !          1779: 
        !          1780:     IO: Workaround for broken FreeBSD behavior
        !          1781:     
        !          1782:     FreeBSD silently changes TTL to 1 when MSG_DONTROUTE is used, even when
        !          1783:     it is explicitly set to another value. That breaks TTL security sockets,
        !          1784:     including BFD which always uses TTL 255. Bad FreeBSD!
        !          1785: 
        !          1786: commit 82b742533bdbf977ec95997fc0011a47a672bcc8
        !          1787: Author: Maria MatÄ›jka <mq@jmq.cz>
        !          1788: Date:   Fri Oct 26 09:32:35 2018 +0200
        !          1789: 
        !          1790:     Perf: Protocol to measure BIRD performance internally
        !          1791:     
        !          1792:     This protocol is highly experimental and nobody should use it in
        !          1793:     production. Anyway it may help you getting some insight into what eats
        !          1794:     so much time in filter processing.
        !          1795: 
        !          1796: commit 78131eee64aeaf14cf418d6e5bf3f17ca602afb7
        !          1797: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1798: Date:   Fri Dec 14 15:50:44 2018 +0100
        !          1799: 
        !          1800:     Debug: support for -gdwarf-4 is not available everywhere
        !          1801: 
        !          1802: commit bda5863425854cc1c705c6f428e952bafd01d2a1
        !          1803: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1804: Date:   Tue Dec 18 14:41:12 2018 +0100
        !          1805: 
        !          1806:     Nest: Handle labels_orig correctly in attribute cache
        !          1807: 
        !          1808: commit cea2e25f417866129ce7e78f1c078e993743173c
        !          1809: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1810: Date:   Mon Dec 17 17:01:08 2018 +0100
        !          1811: 
        !          1812:     OSPF: Fix wrong LSA collisions detection
        !          1813:     
        !          1814:     In some circumstances (old LSA flushed but not acknowledged and not
        !          1815:     removed) origination of a new LSA may wrongly triggers LSA collision
        !          1816:     code. The patch fixes that.
        !          1817:     
        !          1818:     Thanks to Asbjorn Mikkelsen for the bugreport and @mdelagueronniere
        !          1819:     for the original patch.
        !          1820: 
        !          1821: commit 1cab2b4a7cffb7ad604dcbd200267733ef079973
        !          1822: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1823: Date:   Sun Dec 16 23:44:24 2018 +0100
        !          1824: 
        !          1825:     BGP: Extend 'next hop keep' and 'next hop self' options
        !          1826:     
        !          1827:     Extend 'next hop keep' and 'next hop self' options to have boolean values
        !          1828:     (enabled / disabled) and also values 'ibgp'/ 'ebgp' to restrict it to
        !          1829:     routes received from IBGP / EBGP. This allows to have it enabled by
        !          1830:     default in some cases, matches features of other implementations, and
        !          1831:     allows to handle some strange cases like EBGP border router with 'next
        !          1832:     hop self' also doing IBGP route reflecting.
        !          1833:     
        !          1834:     Change default of 'next hop keep' to enabled for route servers, and
        !          1835:     'ibgp' for route reflectors.
        !          1836:     
        !          1837:     Update documentation for these options.
        !          1838: 
        !          1839: commit 337165959c5a556d6556fb2acbba5e7f2b1c35a5
        !          1840: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1841: Date:   Sun Dec 16 23:39:53 2018 +0100
        !          1842: 
        !          1843:     Nest: Fix handling of ECMP next hop flags
        !          1844:     
        !          1845:     Flag field was not copied when next hop was cached.
        !          1846: 
        !          1847: commit cfa6ff95695bcaff0c1046c63eb4a839c7a90cb7
        !          1848: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1849: Date:   Sun Dec 16 22:48:13 2018 +0100
        !          1850: 
        !          1851:     Nest: fix bug in previous patches related to channel reconfiguration
        !          1852:     
        !          1853:     The patch d506263d... blocked adding channel during reconfiguration,
        !          1854:     that broke protocols which use the same functiona also during init.
        !          1855:     This patch fixes that.
        !          1856: 
        !          1857: commit cb311b441a6bbc02e88cd4a92e19044e2e95aac2
        !          1858: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1859: Date:   Sat Dec 15 14:01:57 2018 +0100
        !          1860: 
        !          1861:     BGP: Better handling of non-matching AFI in nexthops
        !          1862: 
        !          1863: commit 3a2a3c7325b34923c4ecc465700708dd13e6ad73
        !          1864: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1865: Date:   Fri Dec 14 02:03:42 2018 +0100
        !          1866: 
        !          1867:     Doc: Rename code documentation files back to Doc
        !          1868: 
        !          1869: commit 1e0fccd1af54fdd4dbd79f6e7c5715478f83dea3
        !          1870: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1871: Date:   Fri Dec 14 01:53:32 2018 +0100
        !          1872: 
        !          1873:     Doc: Move root of code documentation to doc dir
        !          1874:     
        !          1875:     It reduces clutter in root and also avoid collision with doc dir on
        !          1876:     case-insensitive filesystems when name back to Doc.
        !          1877: 
        !          1878: commit 532116e7e33d80a79e176f043defffbfc2b8d06e
        !          1879: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1880: Date:   Wed Dec 12 17:36:54 2018 +0100
        !          1881: 
        !          1882:     BGP: Do not prepend ASN in export from non-RS EBGP to RS EBGP
        !          1883:     
        !          1884:     When route is exported to regular EBGP, local ASN should be prepended to
        !          1885:     AS_PATH. When route is propagated by route server (between RS-marked
        !          1886:     EBGP peers), it should not change AS_PATH. Question is what to do in
        !          1887:     other cases (from non-RS EBGP, IBGP, or locally originated to RS EBGP).
        !          1888:     
        !          1889:     In 1.6.x, we did not prepend ASN in non-RS EBGP or IBGP to RS EBGP, but
        !          1890:     we prepended in local to RS EBGP.
        !          1891:     
        !          1892:     In 2.0.x, we changed that so only RS-EBGP to RS-EBGP is not prepended.
        !          1893:     We received some negative responses (thanks to heisenbug and Alexander
        !          1894:     Zubkov), we decided to change it back. One reason is that it is simple
        !          1895:     to modify the AS_PATH by filters, but not possible to un-modify
        !          1896:     changes done by BGP itself. Also, as 1.6.x behavior was not really
        !          1897:     consistent, the final behavior is that ASN is never prepended when
        !          1898:     exported to RS EBGP, like to IBGP.
        !          1899:     
        !          1900:     Note that i do not express an opinion about whether such configurations
        !          1901:     are even reasonable.
        !          1902: 
        !          1903: commit 6b5ad2066a8002bb0fd1dde58e6c0f1e43613aee
        !          1904: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1905: Date:   Wed Dec 12 16:54:23 2018 +0100
        !          1906: 
        !          1907:     Doc: Document log rotation feature
        !          1908: 
        !          1909: commit 0f40405fc94fa253b5020e6603dc9ec7a02e13e7
        !          1910: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1911: Date:   Wed Dec 12 16:38:30 2018 +0100
        !          1912: 
        !          1913:     Update RFC references
        !          1914:     
        !          1915:     Progdoc comments do not allow SGML tags
        !          1916: 
        !          1917: commit 9e92f357becf405643fa8c536734cccf2ae26da2
        !          1918: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1919: Date:   Wed Dec 12 16:04:15 2018 +0100
        !          1920: 
        !          1921:     Doc: Document BGP import table option
        !          1922: 
        !          1923: commit 67d8665af58a14bdc26963f8910e738886edb373
        !          1924: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1925: Date:   Tue Dec 11 13:52:30 2018 +0100
        !          1926: 
        !          1927:     Nest: Update statistics and rx-limit for Adj-RIB-In
        !          1928: 
        !          1929: commit 682d3f7de0905ca2e853844734cce7ff65f7d77d
        !          1930: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1931: Date:   Thu Sep 27 22:57:55 2018 +0200
        !          1932: 
        !          1933:     BGP: implement Adj-RIB-In
        !          1934:     
        !          1935:     The patch implements optional internal import table to a channel and
        !          1936:     hooks it to BGP so it can be used as Adj-RIB-In. When enabled, all
        !          1937:     received (pre-filtered) routes are stored there and import filters can
        !          1938:     be re-evaluated without explicit route refresh. An import table can be
        !          1939:     examined using e.g. 'show route import table bgp1.ipv4'.
        !          1940: 
        !          1941: commit 01fd00f5ed9298ab5829403cd7a8a9ba22bcc96a
        !          1942: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1943: Date:   Tue Dec 11 18:43:58 2018 +0100
        !          1944: 
        !          1945:     Doc: Fix typo in previous LinuxDoc change
        !          1946: 
        !          1947: commit d506263da713673f95bc17aaedceebaaad03580d
        !          1948: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1949: Date:   Tue Dec 11 17:57:14 2018 +0100
        !          1950: 
        !          1951:     Nest: Forbid adding channels during reconfiguration
        !          1952:     
        !          1953:     When a new channel is found during reconfiguration, do force restart
        !          1954:     of the protocol, like with any other un-reconfigurable change.
        !          1955:     
        !          1956:     The old behavior was that the new channel was added but remained in down
        !          1957:     state, even if the protocol was up, so a manual protocol restart was
        !          1958:     often necessary.
        !          1959:     
        !          1960:     In the future this should be improved such that a reconfigurable
        !          1961:     channel addition (e.g. direct) is accepted and channel is started,
        !          1962:     while an un-reconfigurable addition forces protocol restart.
        !          1963: 
        !          1964: commit baeacdcfd3ce30b3fa89ebdd4e53c60c38c26c31
        !          1965: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          1966: Date:   Mon Dec 10 02:11:42 2018 +0100
        !          1967: 
        !          1968:     OSPF: Fix reconfiguration of vlinks
        !          1969:     
        !          1970:     Fix crash during reconfiguration of OSPF config with vlinks. When vlink
        !          1971:     is reconfigured, a generic iface-reconfiguration code is used, which in
        !          1972:     one place supposes that it is running on a regular iface.
        !          1973:     
        !          1974:     Thanks to Cybertinus for a bugreport.
        !          1975: 
        !          1976: commit 9a5ef043c11ad9fba00557dedcc0d7ae0d2794e9
        !          1977: Merge: 0e49206 265419a
        !          1978: Author: Jan Maria Matejka <mq@ucw.cz>
        !          1979: Date:   Thu Dec 6 09:55:34 2018 +0100
        !          1980: 
        !          1981:     Merge branch 'mq-custom' into int-new
        !          1982: 
        !          1983: commit 265419a3695b9a5c0a01d9fffc60f66fea8bee13
        !          1984: Author: Maria Matejka <mq@jmq.cz>
        !          1985: Date:   Wed Nov 21 20:37:11 2018 +0100
        !          1986: 
        !          1987:     Custom route attributes
        !          1988:     
        !          1989:     For local route marking purposes, local custom route attributes may be
        !          1990:     defined. These attributes are seamlessly stripped after export filter to
        !          1991:     every real protocol like Kernel, BGP or OSPF, they however pass through
        !          1992:     pipes. We currently allow at most 256 custom attributes.
        !          1993:     
        !          1994:     This should be much faster than currently used bgp communities
        !          1995:     for marking routes.
        !          1996: 
        !          1997: commit 0e4920632aa30dab4fbfb0530bce5a959e7a7675
        !          1998: Author: Robert Scheck <robert@fedoraproject.org>
        !          1999: Date:   Tue Dec 4 18:14:04 2018 +0100
        !          2000: 
        !          2001:     Doc: Allow overriding $SGML_CATALOG_FILES using distribution specific paths
        !          2002: 
        !          2003: commit f26bf60fb58bc975d510a9fff3adb76817ddb624
        !          2004: Author: Robert Scheck <robert@fedoraproject.org>
        !          2005: Date:   Tue Dec 4 18:11:42 2018 +0100
        !          2006: 
        !          2007:     Doc: Add alternative path for SGML ISO entities 8879.1986 to $SGML_CATALOG_FILES
        !          2008:     
        !          2009:     The existing paths are valid for Debian, alternative paths are necessary
        !          2010:     for Fedora and RHEL/CentOS.
        !          2011: 
        !          2012: commit 3fda08e40532245ba69e14cdac0623a138b939f9
        !          2013: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2014: Date:   Tue Dec 4 16:55:25 2018 +0100
        !          2015: 
        !          2016:     Unix: Change debugging options
        !          2017:     
        !          2018:     The old behavior was that enabling debugging did many nontrivial changes
        !          2019:     in BIRD behavior. The patch changes it that these changes are generally
        !          2020:     independent. Compiling with --enable-debug now just enables compile-time
        !          2021:     debug macros, but do not automatically activate debug mode (-d) nor local
        !          2022:     mode (-l). Debug mode with output to file (-D) do not force foreground
        !          2023:     mode (-f), therefore there is no need for backgroud option (-b), which is
        !          2024:     removed. Also fixes a bug when the default log target in -D mode was
        !          2025:     stderr instead of given debug file.
        !          2026: 
        !          2027: commit 0642fb4d456fe12e1bbeb2ffc2149433f228c02e
        !          2028: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2029: Date:   Tue Nov 27 08:49:31 2018 +0100
        !          2030: 
        !          2031:     Hash: mem_hash doesn't modify the memory, declared constant
        !          2032: 
        !          2033: commit d73c4ac869048e60276c5e568450c7342bc0bc8a
        !          2034: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2035: Date:   Thu Nov 1 12:17:49 2018 +0100
        !          2036: 
        !          2037:     Route table max hash size raised to 2^24.
        !          2038:     
        !          2039:     This is still OK for everybody to fit into RAM and also probably enough
        !          2040:     to keep a little collision rate for full BGP table.
        !          2041: 
        !          2042: commit 84661bf6da683d70e6e5e0e490d95abaf91b470b
        !          2043: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2044: Date:   Tue Oct 30 15:25:32 2018 +0100
        !          2045: 
        !          2046:     Changed IPv4 hash function to simple multiplication.
        !          2047: 
        !          2048: commit 14375237f6901a926d59cc54870cf44ed2a61d20
        !          2049: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2050: Date:   Wed Feb 14 13:42:53 2018 +0100
        !          2051: 
        !          2052:     Terminology cleanup: The import_control hook is now called preexport.
        !          2053:     
        !          2054:     Once upon a time, far far away, there were the old Bird developers
        !          2055:     discussing what direction of route flow shall be called import and
        !          2056:     export. They decided to say "import to protocol" and "export to table"
        !          2057:     when speaking about a protocol. When speaking about a table, they
        !          2058:     spoke about "importing to table" and "exporting to protocol".
        !          2059:     
        !          2060:     The latter terminology was adopted in configuration, then also the
        !          2061:     bird CLI in commit ea2ae6dd0 started to use it (in year 2009). Now
        !          2062:     it's 2018 and the terminology is the latter. Import is from protocol to
        !          2063:     table, export is from table to protocol. Anyway, there was still an
        !          2064:     import_control hook which executed right before route export.
        !          2065:     
        !          2066:     One thing is funny. There are two commits in April 1999 with just two
        !          2067:     minutes between them. The older announces the final settlement
        !          2068:     on config terminology, the newer uses the other definition. Let's see
        !          2069:     their commit messages as the git-log tool shows them (the newer first):
        !          2070:     
        !          2071:         commit 9e0e485e50ea74c4f1c5cb65bdfe6ce819c2cee2
        !          2072:         Author: Martin Mares <mj@ucw.cz>
        !          2073:         Date:   Mon Apr 5 20:17:59 1999 +0000
        !          2074:     
        !          2075:        Added some new protocol hooks (look at the comments for better explanation):
        !          2076:     
        !          2077:                make_tmp_attrs          Convert inline attributes to ea_list
        !          2078:                store_tmp_attrs         Convert ea_list to inline attributes
        !          2079:                import_control          Pre-import decisions
        !          2080:     
        !          2081:         commit 5056c559c4eb253a4eee10cf35b694faec5265eb
        !          2082:         Author: Martin Mares <mj@ucw.cz>
        !          2083:         Date:   Mon Apr 5 20:15:31 1999 +0000
        !          2084:     
        !          2085:        Changed syntax of attaching filters to protocols to hopefully the final
        !          2086:        version:
        !          2087:     
        !          2088:                EXPORT <filter-spec>    for outbound routes (i.e., those announced
        !          2089:                                        by BIRD to the rest of the world).
        !          2090:                IMPORT <filter-spec>    for inbound routes (i.e., those imported
        !          2091:                                        by BIRD from the rest of the world).
        !          2092:     
        !          2093:        where <filter-spec> is one of:
        !          2094:     
        !          2095:                ALL                     pass all routes
        !          2096:                NONE                    drop all routes
        !          2097:                FILTER <name>           use named filter
        !          2098:                FILTER { <filter> }     use explicitly defined filter
        !          2099:     
        !          2100:        For all protocols, the default is IMPORT ALL, EXPORT NONE. This includes
        !          2101:        the kernel protocol, so that you need to add EXPORT ALL to get the previous
        !          2102:        configuration of kernel syncer (as usually, see doc/bird.conf.example for
        !          2103:        a bird.conf example :)).
        !          2104:     
        !          2105:     Let's say RIP to this almost 19-years-old inconsistency. For now, if you
        !          2106:     import a route, it is always from protocol to table. If you export a
        !          2107:     route, it is always from table to protocol.
        !          2108:     
        !          2109:     And they lived happily ever after.
        !          2110: 
        !          2111: commit e2ae08694e45b2a127c9d741e41dee4b14c2964d
        !          2112: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2113: Date:   Wed Nov 28 16:43:17 2018 +0100
        !          2114: 
        !          2115:     Nest: Do not hard-reset interface when preferred address is changed
        !          2116:     
        !          2117:     Modify protocols to use preferred address change notification instead on
        !          2118:     depending on hard-reset of interfaces in that case, and remove hard-reset
        !          2119:     in that case. This avoids issue when e.g. IPv6 protocol restarts
        !          2120:     interface when IPv4 preferred address changed (as hard-reset is
        !          2121:     unavoidable and common for whole iface).
        !          2122:     
        !          2123:     The patch also fixes a bug when removing last address does not send
        !          2124:     preferred address change notification.
        !          2125: 
        !          2126: commit 66934aceff0e5299719177782bcbf151f8030591
        !          2127: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2128: Date:   Wed Nov 21 16:30:22 2018 +0100
        !          2129: 
        !          2130:     Autoconf: Minor cleanup
        !          2131: 
        !          2132: commit fc1b933304c325775169d5241ce1ac5ae3266680
        !          2133: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2134: Date:   Wed Nov 21 16:00:22 2018 +0100
        !          2135: 
        !          2136:     MRT documentation
        !          2137: 
        !          2138: commit 863ecfc78538657e51f1ec67441aec32261aa405
        !          2139: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2140: Date:   Tue Nov 20 17:38:19 2018 +0100
        !          2141: 
        !          2142:     The MRT protocol
        !          2143:     
        !          2144:     The new MRT protocol is responsible for periodic RIB table dumps in the
        !          2145:     MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is
        !          2146:     refactored and splitted between BGP to MRT protocols, will be more
        !          2147:     integrated into MRT in the future.
        !          2148:     
        !          2149:     Example:
        !          2150:     
        !          2151:     protocol mrt {
        !          2152:             table "*";
        !          2153:             filename "%N_%F_%T.mrt";
        !          2154:             period 60;
        !          2155:     }
        !          2156:     
        !          2157:     It is partially based on the old MRT code from Pavel Tvrdik.
        !          2158: 
        !          2159: commit 6712e77271fb3cb4a3c48cd7b027b39c5cea00a2
        !          2160: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2161: Date:   Wed Nov 14 17:16:05 2018 +0100
        !          2162: 
        !          2163:     Unix: Implement log file size limit / log rotation
        !          2164:     
        !          2165:     Allow to specify log file size limit and ensure that log file is rotated
        !          2166:     to secondary name to avoid exceeding of log size limit.
        !          2167:     
        !          2168:     The patch also fixes a bug related to keeping old fds open after
        !          2169:     reconfiguration and using old fds after 'configure undo'.
        !          2170: 
        !          2171: commit c68ba7d093e1fcf01fceb341438fc5dc95f93ac5
        !          2172: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2173: Date:   Tue Nov 13 18:13:11 2018 +0100
        !          2174: 
        !          2175:     Unix: Refactor tracked files
        !          2176:     
        !          2177:     We need access to resource in order to free it.
        !          2178: 
        !          2179: commit d0b4597842ba1f65e5280529fca243ce5b5043fa
        !          2180: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2181: Date:   Sun Nov 18 01:22:09 2018 +0100
        !          2182: 
        !          2183:     Configure: Use standard --runstatedir option
        !          2184:     
        !          2185:     Newer Autoconf defines --runstatedir option for setting directory for
        !          2186:     run-time variable data. Use it instead our old --with-runtimedir.
        !          2187: 
        !          2188: commit f2d8e6801e88a84b1e57da72d078d7569598a5f5
        !          2189: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2190: Date:   Mon Nov 5 22:03:21 2018 +0100
        !          2191: 
        !          2192:     Filter: Make ifname attribute modifiable
        !          2193:     
        !          2194:     Allow to change an interface associated with a route by setting
        !          2195:     ifname attribute. It will also change the route to a direct one.
        !          2196: 
        !          2197: commit 69b2f63d9a477ab5d083773e16ca15ed2e570144
        !          2198: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2199: Date:   Mon Nov 5 13:56:59 2018 +0100
        !          2200: 
        !          2201:     Nest: Fix crash in rta_show() for RPKI and Babel routes
        !          2202:     
        !          2203:     Some new route source values did not have associated string
        !          2204:     in rta_show(), which might caused crash in some cases.
        !          2205: 
        !          2206: commit e19d08055a4614f03e51ee72617be10946ce7919
        !          2207: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2208: Date:   Fri Oct 26 19:11:33 2018 +0200
        !          2209: 
        !          2210:     BGP: Fix VRF for listening socket
        !          2211:     
        !          2212:     Listening socket should be bound to specified interface and VRF.
        !          2213:     
        !          2214:     Thanks to Alexander Zubkov for the bugreport.
        !          2215: 
        !          2216: commit 0ac9cb2c1f6592290e025f61ccd0fef0dc09de46
        !          2217: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2218: Date:   Thu Oct 25 17:22:37 2018 +0200
        !          2219: 
        !          2220:     OSPF: Fix some trace messages
        !          2221:     
        !          2222:     Missing argument in MTU change trace message can crash bird when MTU
        !          2223:     change happens and trace messages are active.
        !          2224:     
        !          2225:     Thanks to Alexander Velkov for the bugreport.
        !          2226: 
        !          2227: commit df50598f1c285a5e2820b7427998c6ebf86bbbec
        !          2228: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2229: Date:   Thu Oct 25 12:39:13 2018 +0200
        !          2230: 
        !          2231:     Lib: Force output type in ip4_addr constructor
        !          2232:     
        !          2233:     Fixes type issue when u64 is pushed into it.
        !          2234: 
        !          2235: commit 83715aa82966020100afa35f15d1ca56cadf6d10
        !          2236: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2237: Date:   Thu Oct 25 11:26:58 2018 +0200
        !          2238: 
        !          2239:     Filter: Add support for VPN_RD sets
        !          2240: 
        !          2241: commit 41b83e52f7f0a0de88c220aab88a4dd31f05fce0
        !          2242: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2243: Date:   Thu Oct 25 11:23:15 2018 +0200
        !          2244: 
        !          2245:     Filter: Fix minor bug in accessing bgp_path
        !          2246:     
        !          2247:     Not relevant for regular BGP paths, just for BGP paths added by filters
        !          2248:     to e.g. static routes.
        !          2249: 
        !          2250: commit 01dd78f9e924cc6d7511da1ec32c8f36d357db7a
        !          2251: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2252: Date:   Thu Oct 11 15:03:09 2018 +0200
        !          2253: 
        !          2254:     Fix installation with --disable-client
        !          2255:     
        !          2256:     The old check assumed that @CLIENT@ does not contain
        !          2257:     birdc, which is not true in 2.0 branc.
        !          2258:     
        !          2259:     Thanks to Thomas Petazzoni for the bugreport and original patch.
        !          2260: 
        !          2261: commit addb1bcd86885dcee559a61eb18998ae6a38b2ab
        !          2262: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2263: Date:   Thu Oct 11 14:39:13 2018 +0200
        !          2264: 
        !          2265:     Nest: Fix 'show interfaces summary' command
        !          2266:     
        !          2267:     The command showed interfaces that were removed / in shutdown.
        !          2268: 
        !          2269: commit 961671c0f51693aff34bf3adf5319b35275a86d3
        !          2270: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2271: Date:   Mon Oct 1 15:55:23 2018 +0200
        !          2272: 
        !          2273:     Lib: Add and use ev_new_init()
        !          2274: 
        !          2275: commit 0db7a1d69c80b1089f10a268ceacb059db41ced8
        !          2276: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2277: Date:   Mon Oct 1 15:35:43 2018 +0200
        !          2278: 
        !          2279:     BGP: Fix bug in show protocol related to LLGR
        !          2280:     
        !          2281:     When channel is not active due to not be negotiated during sessino
        !          2282:     establishment, the LLGR timer is not allocated, so we should not show it.
        !          2283: 
        !          2284: commit d4cebc6bbe2a55bd344383fcc27255a12d686195
        !          2285: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2286: Date:   Tue Sep 18 14:21:11 2018 +0200
        !          2287: 
        !          2288:     No more warnings ...
        !          2289:     
        !          2290:     no more warnings
        !          2291:     No more warnings over me
        !          2292:     And while it is being compiled all the log is black and white
        !          2293:     Release BIRD now and then let it flee
        !          2294:     
        !          2295:     (use the melody of well-known Oh Freedom!)
        !          2296: 
        !          2297: commit d50b0bc437f5ffd0d2c9f843217f8ed098c8d675
        !          2298: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2299: Date:   Tue Sep 11 16:55:41 2018 +0200
        !          2300: 
        !          2301:     Conf: Show the line:char position where the syntax error happens
        !          2302: 
        !          2303: commit 89b0af3978caf15e1478922a8d9d4f7e38145a61
        !          2304: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2305: Date:   Tue Aug 28 16:45:50 2018 +0200
        !          2306: 
        !          2307:     Main: Add -b to force background even in debug mode
        !          2308: 
        !          2309: commit a043f2d79488cdfbc4d97ac0bad4926d29bf9a82
        !          2310: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2311: Date:   Fri Aug 24 18:54:27 2018 +0200
        !          2312: 
        !          2313:     Doc: Fix description of 'description'
        !          2314:     
        !          2315:     Thanks to Clemens Schrimpe for the bugreport.
        !          2316: 
        !          2317: commit 64c5ad58d276d8a0463aa9ad2b34f75b7d1f4108
        !          2318: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2319: Date:   Wed Aug 22 14:58:53 2018 +0200
        !          2320: 
        !          2321:     Lib: recursive printf
        !          2322:     
        !          2323:     Use like this:
        !          2324:     
        !          2325:     void func(const char *msg, va_list args) {
        !          2326:       ...
        !          2327:       bvsnprintf(buf, len, "file %s, line %d: %V (foo %d, bar %d)", file, line, msg, &args, foo, bar);
        !          2328:       ...
        !          2329:     }
        !          2330: 
        !          2331: commit 765f400f6b7ac054ddb4fcc4f5bec58f94d1bdd4
        !          2332: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2333: Date:   Tue Aug 21 15:24:55 2018 +0200
        !          2334: 
        !          2335:     DOC: Remove pipe mode reference
        !          2336:     
        !          2337:     Pipe mode was removed in 2.0, remove reference to it in the documentation.
        !          2338:     
        !          2339:     Thanks to Piotr Wydrych for the bugreport.
        !          2340: 
        !          2341: commit 7ffc0a6534fb66ad27d22984e25bd0789f4404b6
        !          2342: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2343: Date:   Tue Aug 14 14:36:44 2018 +0200
        !          2344: 
        !          2345:     Bison: A bit more verbose error messages in config.
        !          2346: 
        !          2347: commit 78ca6ea8f0b8ab312b1e0ef56629a18e3efbce42
        !          2348: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2349: Date:   Tue Jul 17 15:39:06 2018 +0200
        !          2350: 
        !          2351:     Make: Add option to force colors in compiler output
        !          2352: 
        !          2353: commit 86b9e8e39a0b42407c95921ca8262b0a75cad5f2
        !          2354: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2355: Date:   Tue Jul 17 15:30:59 2018 +0200
        !          2356: 
        !          2357:     M4: generate synchronization lines
        !          2358:     
        !          2359:     This also includes Bison version check. Versions before 3.0 don't
        !          2360:     support them in a reliable way and we don't promise to work with
        !          2361:     versions older than 2.4.
        !          2362: 
        !          2363: commit 1279a83103262950ab99e8a6fe3c6cc2da8d42a8
        !          2364: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          2365: Date:   Mon Nov 14 14:53:10 2016 +0100
        !          2366: 
        !          2367:     sysdep/unix/main.c: Remove trailing spaces
        !          2368: 
        !          2369: commit d33cf3f4c3a92f895e8b52fc19ed8a88f350a32b
        !          2370: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2371: Date:   Tue Aug 7 14:46:24 2018 +0200
        !          2372: 
        !          2373:     Doc: Fix notes related to obsolete option
        !          2374:     
        !          2375:     Thanks to Julien Dessaux for the report.
        !          2376: 
        !          2377: commit 5bd734317c05008a66eefaa14fc98a6d533cf9ef
        !          2378: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2379: Date:   Tue Jul 31 18:40:38 2018 +0200
        !          2380: 
        !          2381:     BGP: Long-lived graceful restart
        !          2382:     
        !          2383:     The patch implements long-lived graceful restart for BGP, namely
        !          2384:     draft-uttaro-idr-bgp-persistence-03.
        !          2385: 
        !          2386: commit 318acb0f6cb77a32aad5d7f79e06f3c5065ac702
        !          2387: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2388: Date:   Sat Jul 28 16:54:06 2018 +0200
        !          2389: 
        !          2390:     BSD: Use MSG_DONTROUTE for unicast packets on FreeBSD
        !          2391:     
        !          2392:     BSD systems cannot use SO_DONTROUTE, because it does not work properly
        !          2393:     with multicast packets (perhaps it tries to find iface based on multicast
        !          2394:     group address). But we can use MSG_DONTROUTE sendmsg() flag for unicast
        !          2395:     packets. Works on FreeBSD, is ignored on OpenBSD and is broken on NetBSD
        !          2396:     (i guess due to integrated routing table and ARP table).
        !          2397: 
        !          2398: commit 0ed3129f6b0a80afea877340d940e45f1a5d3000
        !          2399: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2400: Date:   Thu Jul 19 20:54:10 2018 +0200
        !          2401: 
        !          2402:     RAdv: Fix crash during prefix change
        !          2403:     
        !          2404:     Thanks to Julian Schuh for the bugreport.
        !          2405: 
        !          2406: commit 8bd718b3ba34cee95a5443f3d20d6f16c2d4c946
        !          2407: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2408: Date:   Thu Jul 19 20:48:13 2018 +0200
        !          2409: 
        !          2410:     OSPF: Fix crash during route removal
        !          2411:     
        !          2412:     The bug was introduced by an earler patch which removed additional eattr
        !          2413:     argument to rt_notify hook.
        !          2414: 
        !          2415: commit 092c4930277c0f0f0dcb0c4013ff642314f90842
        !          2416: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2417: Date:   Fri Jul 6 02:04:45 2018 +0200
        !          2418: 
        !          2419:     Nest: Fix race condition during reconfiguration, part 2
        !          2420:     
        !          2421:     If export filter is changed during reconfiguration and a route disappears
        !          2422:     between reconfiguration and refeed (e.g., if the route is a static route
        !          2423:     also removed during the reconfiguration), the route is not withdrawn.
        !          2424:     
        !          2425:     The issue was fixed for regular channels by an earlier patch. This patch
        !          2426:     fixes the issue for channels in RA_ACCEPTED mode (first-pass-the-filter),
        !          2427:     used by BGP with 'secondary' option.
        !          2428: 
        !          2429: commit 7b9b0c0a0087def6a3fc11824a891be5940a257b
        !          2430: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2431: Date:   Tue Jul 3 18:08:35 2018 +0200
        !          2432: 
        !          2433:     Cleanup some warnings
        !          2434: 
        !          2435: commit a81e18da254ddd7cccff82feab61aa943a277805
        !          2436: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2437: Date:   Tue Jul 3 17:52:51 2018 +0200
        !          2438: 
        !          2439:     Nest: Fix race condition during reconfiguration
        !          2440:     
        !          2441:     If export filter is changed during reconfiguration and a route disappears
        !          2442:     between reconfiguration and refeed (e.g., if the route is a static route
        !          2443:     also removed during the reconfiguration), the route is not withdrawn.
        !          2444:     The patch fixes that by adding tx reconfiguration timestamp.
        !          2445: 
        !          2446: commit 8e86ffce8251f4e48f61b6d8e89966d037ef8e59
        !          2447: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2448: Date:   Sun Jul 1 01:03:16 2018 +0200
        !          2449: 
        !          2450:     BGP: Use implicit-NULL label when announcing MPLS routes with local next-hop
        !          2451:     
        !          2452:     We currently cannot assing local labels, but we can still be LSP egress
        !          2453:     router. Therefore when we announce labeled route with local next-hop, we
        !          2454:     should announce implicit-NULL label instead of rejecting it completely.
        !          2455: 
        !          2456: commit 93c1defdb03729ae8b41752d2155dff65964df5b
        !          2457: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2458: Date:   Sun Jul 1 00:43:24 2018 +0200
        !          2459: 
        !          2460:     BGP: Fix parsing of MPLS withdrawals
        !          2461:     
        !          2462:     RFC 3107 was bit vague with regard to labeled withdrawals, RFC 8277
        !          2463:     clarified that. The old code was incompatible with some implementations,
        !          2464:     namely with Juniper.
        !          2465:     
        !          2466:     Thanks to Vadim Fedorenko for the original patch.
        !          2467: 
        !          2468: commit daf113ac66fb9dc83a904ce9bcc68e90830624d0
        !          2469: Author: Maria Jan Matejka <mq@jmq.cz>
        !          2470: Date:   Fri Jun 29 17:23:27 2018 +0200
        !          2471: 
        !          2472:     BGP: Attribute set function merged with its common counterpart
        !          2473: 
        !          2474: commit d8e816c150ebad08ff75ef34eb459a67a09a34d0
        !          2475: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2476: Date:   Wed Jun 27 17:08:59 2018 +0200
        !          2477: 
        !          2478:     BSD: Fix of the previous commit
        !          2479: 
        !          2480: commit 586c1800c447ff099d34889b23647c4733876d9b
        !          2481: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2482: Date:   Wed Jun 27 16:51:53 2018 +0200
        !          2483: 
        !          2484:     Nest: Neighbor cache cleanups
        !          2485:     
        !          2486:     Simplify neighbor cache code, fix several minor bugs, and improve
        !          2487:     handling of ONLINK flag.
        !          2488: 
        !          2489: commit 45f28d85818f79790968725a945063228989bae7
        !          2490: Author: Maria Matejka <mq@jmq.cz>
        !          2491: Date:   Mon Apr 23 15:59:02 2018 +0200
        !          2492: 
        !          2493:     Autotools: updated config.guess and config.sub
        !          2494:     
        !          2495:     Updated to version 63b4ce2e8c28aee6a32133e400436e4ca885215a
        !          2496:     from git://git.savannah.gnu.org/config.git
        !          2497:     
        !          2498:     Previous version was 93b5037172b15ad28952481933517f1ba93d125b
        !          2499: 
        !          2500: commit da16b33ab98602628d66ed4f434dc6fa76f338c6
        !          2501: Author: Maria Matejka <mq@jmq.cz>
        !          2502: Date:   Mon Apr 23 15:54:20 2018 +0200
        !          2503: 
        !          2504:     Android: check for extra libs needed for build
        !          2505: 
        !          2506: commit c2fc4c10ac81b8815c1434aa2b0945aa937df4fa
        !          2507: Author: Maria Matejka <mq@jmq.cz>
        !          2508: Date:   Mon Apr 23 11:29:13 2018 +0200
        !          2509: 
        !          2510:     Doc: renamed progdoc files Doc -> progdoc to fix collision with doc/ folder on case-insensitive filesystems
        !          2511: 
        !          2512: commit f851f0d7e30cbd1e2ba20a5bf06a584acc136828
        !          2513: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2514: Date:   Tue Jun 26 14:29:03 2018 +0200
        !          2515: 
        !          2516:     Config: Dropping CF_ADDTO.
        !          2517: 
        !          2518: commit 1771f70d7473b8c8e0c6bd47d5c35cc5fbe7eb19
        !          2519: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2520: Date:   Tue Jun 19 16:16:08 2018 +0200
        !          2521: 
        !          2522:     Filter: fixed eattr cached pointer
        !          2523:     
        !          2524:     Use ACCESS_RTE to guard **f_rte, use ACCESS_EATTRS to guard **f_eattrs.
        !          2525:     Use f_rta_cow() before writing to rta or eattrs, use f_rte_cow() before
        !          2526:     writing preference (stored in rte).
        !          2527:     
        !          2528:     Do not access eattrs indirectly through (*f_rte)->attrs->eattrs, it is
        !          2529:     way too slow. The cached pointer is faster.
        !          2530: 
        !          2531: commit 1ef23f05ee00394e6a2748f658b73c20d3ff7c45
        !          2532: Merge: 13c0be1 caa9d03
        !          2533: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2534: Date:   Tue Jun 19 14:32:16 2018 +0200
        !          2535: 
        !          2536:     Merge branch 'int-new' into HEAD
        !          2537: 
        !          2538: commit caa9d03d65ce827ce536d54b26988e70767e032f
        !          2539: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2540: Date:   Wed Jun 13 15:22:29 2018 +0200
        !          2541: 
        !          2542:     Babel: Fix handling of missing IPv4 next hops
        !          2543:     
        !          2544:     In case of missing IPv4 next hop, we should skip such routes
        !          2545:     on transmit and ignore such routes on receive.
        !          2546:     
        !          2547:     Thanks to Julian Schuh for the bugreport and Toke Hoiland-Jorgensen
        !          2548:     for the original patch.
        !          2549: 
        !          2550: commit 9c9050ff12c52762708dadda78a05108a5b533b2
        !          2551: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2552: Date:   Wed Jun 13 14:47:37 2018 +0200
        !          2553: 
        !          2554:     BGP: Handle missing NEXT_HOP attribute properly
        !          2555:     
        !          2556:     RFC 7606 specifies handle-as-withdraw instead of session reset.
        !          2557: 
        !          2558: commit 13c0be19d3d2acc9c1636bbab9222aabdf27d7ac
        !          2559: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2560: Date:   Tue May 29 12:08:12 2018 +0200
        !          2561: 
        !          2562:     Nest: Removing separate tmpa from route propagation
        !          2563:     
        !          2564:     This is a fundamental change of an original (1999) concept of route
        !          2565:     processing inside BIRD. During import/export, there was a temporary
        !          2566:     ea_list created which was to be used instead of the another one inside
        !          2567:     the route itself.
        !          2568:     
        !          2569:     This led to some confusion, quirks, and strange filter code that handled
        !          2570:     extended route attributes. Dropping it now.
        !          2571:     
        !          2572:     The protocol interface has changed in an uniform way -- the
        !          2573:     `struct ea_list *attrs` argument has been removed from store_tmp_attrs(),
        !          2574:     import_control(), rt_notify() and get_route_info().
        !          2575: 
        !          2576: commit 18b4f2082c30586890596988086fbc3e15336526
        !          2577: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2578: Date:   Tue May 29 14:23:14 2018 +0200
        !          2579: 
        !          2580:     OSPF: Fix invalid NSSA RFC references
        !          2581: 
        !          2582: commit ee7e2ffd265fd76dbc8c94d9c2d48da54c27ff76
        !          2583: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2584: Date:   Mon May 7 14:47:00 2018 +0200
        !          2585: 
        !          2586:     Protocol: Introducing an enum protocol_class
        !          2587:     
        !          2588:     This supersedes the EAP_* constants.
        !          2589: 
        !          2590: commit c3becfe1934da2dc2c0881a71eac8a26f810791f
        !          2591: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2592: Date:   Wed May 2 12:34:35 2018 +0200
        !          2593: 
        !          2594:     Filter: macro for recursive interpretation of instructions
        !          2595: 
        !          2596: commit 0ec6b5ecd37529d57079e13748c4ecbd336332c1
        !          2597: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2598: Date:   Mon Apr 30 16:06:53 2018 +0200
        !          2599: 
        !          2600:     Filter: Simple type checks converted to ARG() macro
        !          2601: 
        !          2602: commit 478f9babed361f8df8a9c944f20bcbe116dc30aa
        !          2603: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2604: Date:   Mon Apr 30 13:29:05 2018 +0200
        !          2605: 
        !          2606:     Filter: Removing the third argument hack
        !          2607:     
        !          2608:     Just to make the code a bit more clean and easier to maintain.
        !          2609: 
        !          2610: commit cff9e937fd0ed42b88be1deb5e1aa9fe301caabd
        !          2611: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2612: Date:   Mon Apr 30 12:49:22 2018 +0200
        !          2613: 
        !          2614:     Filter: instruction names
        !          2615: 
        !          2616: commit 31d6939cde071ab04d1da6b3ff6fb6cd579e164a
        !          2617: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2618: Date:   Mon Apr 30 12:39:32 2018 +0200
        !          2619: 
        !          2620:     Filter: Instruction codes linearized
        !          2621: 
        !          2622: commit 906092534ba8479ca76723b7dd7ee233f5a70d1e
        !          2623: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2624: Date:   Mon Apr 30 12:20:04 2018 +0200
        !          2625: 
        !          2626:     Macro: Added a bunch of dirty C preprocessor tricks
        !          2627:     
        !          2628:     Included are Makefile implicit rules to show the preprocessed source.
        !          2629:     When debugging something around this, it may be handy.
        !          2630: 
        !          2631: commit feae132e0f9bdc62d2b90bf676d12241af8e794c
        !          2632: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2633: Date:   Thu May 24 14:51:05 2018 +0200
        !          2634: 
        !          2635:     Do not initialize route metrics in import_control hook
        !          2636:     
        !          2637:     During route export, the receiving protocol often initialized route
        !          2638:     metrics to default value in its import_control hook before export filter
        !          2639:     was executed. This is inconsistent with the expectation that an export
        !          2640:     filter would process the same route as one in the routing table and it
        !          2641:     breaks setting these metrics before (e.g. for static routes directly in
        !          2642:     static protocol).
        !          2643:     
        !          2644:     The patch removes the initialization of route metrics in import_control
        !          2645:     hook, the default values are already handled in rt_notify hook called
        !          2646:     after export filters.
        !          2647:     
        !          2648:     The patch also changed the behavior of OSPF to keep metrics when a route
        !          2649:     is reannounced between OSPF instances (to be consistent with other
        !          2650:     protocols) and the behavior when both ospf_metric1 and ospf_metric2
        !          2651:     are specified (to have more expected behavior).
        !          2652: 
        !          2653: commit b24b781117179f301116837f0a39468343e4805b
        !          2654: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2655: Date:   Wed May 16 11:19:29 2018 +0200
        !          2656: 
        !          2657:     Filter: Add support for src filter op to access SADR source prefix
        !          2658:     
        !          2659:     The patch allows to use 'net.src' to access SADR source prefix
        !          2660:     from filters.
        !          2661:     
        !          2662:     Thanks to Toke Hoiland-Jorgensen for the original patch for srclen.
        !          2663: 
        !          2664: commit eaf63d314d50cba5b2cfa8f18de64a91d3131b94
        !          2665: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2666: Date:   Thu May 3 17:07:39 2018 +0200
        !          2667: 
        !          2668:     Better initialization of random generator
        !          2669:     
        !          2670:     Use full time precision to initialize random generator. The old
        !          2671:     code was prone to initialize it to the same values in specific
        !          2672:     circumstances (boot without RTC, multiple VMs starting at once).
        !          2673: 
        !          2674: commit 70fab17837dbb4c5848681e4c6b9b90891891130
        !          2675: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2676: Date:   Thu May 3 16:55:11 2018 +0200
        !          2677: 
        !          2678:     Babel: Add option to randomize router ID
        !          2679:     
        !          2680:     When a Babel node restarts, it loses its sequence number, which can cause
        !          2681:     its routes to be rejected by peers until the state is cleared out by other
        !          2682:     nodes in the network (which can take on the order of minutes).
        !          2683:     
        !          2684:     There are two ways to fix this: Having stable storage to keep the sequence
        !          2685:     number across restarts, or picking a different router ID each time.
        !          2686:     
        !          2687:     This implements the latter, by introducing a new option that will cause
        !          2688:     BIRD to randomize a high 32 bits of router ID every time it starts up.
        !          2689:     This avoids the problem at the cost of not having stable router IDs in
        !          2690:     the network.
        !          2691:     
        !          2692:     Thanks to Toke Hoiland-Jorgensen for the patch.
        !          2693: 
        !          2694: commit 23b079043bea5899b49a750c4616aff5b332c50d
        !          2695: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2696: Date:   Thu May 3 16:02:29 2018 +0200
        !          2697: 
        !          2698:     Babel: Fix type of route entry router ID
        !          2699:     
        !          2700:     The router ID being assigned to routes was a uint, which discards the
        !          2701:     upper 32 bits. This also has the nice side effect of echoing the wrong
        !          2702:     router ID back to other routers.
        !          2703:     
        !          2704:     Thanks to Toke Hoiland-Jorgensen for the patch.
        !          2705: 
        !          2706: commit 29958745c8f58cffd24e1793702524ce84545e5a
        !          2707: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2708: Date:   Thu May 3 11:14:49 2018 +0200
        !          2709: 
        !          2710:     Makefile: Only set git version if BIRD is build from its repository.
        !          2711:     
        !          2712:     Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for reporting this bug.
        !          2713: 
        !          2714: commit 823ad12191e66e243dd088a81c66e4a518563e40
        !          2715: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2716: Date:   Fri Apr 27 14:38:41 2018 +0200
        !          2717: 
        !          2718:     Filter: Added missing instruction comparators.
        !          2719:     
        !          2720:     These instructions caused SIGABORTs on reconfiguration.
        !          2721: 
        !          2722: commit 4727d1db9d83a8f1025481cbcc06a7e4c8ec9f33
        !          2723: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2724: Date:   Wed Apr 25 15:50:57 2018 +0200
        !          2725: 
        !          2726:     OSPF: Support of authentication trailer for OSPFv3
        !          2727:     
        !          2728:     Implement RFC 7166, crypthographic authentication for OSPFv3
        !          2729:     analogous to authentication used for OSPFv2.
        !          2730: 
        !          2731: commit f3a8cf050e6181e158dcde2fe885d7bf220eedc3
        !          2732: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2733: Date:   Thu Apr 12 16:55:56 2018 +0200
        !          2734: 
        !          2735:     BGP: Fix extended next hop handling
        !          2736:     
        !          2737:     For IPv4 with extended next hop, we use MP-BGP format and therefore no
        !          2738:     independent NEXT_HOP attribute.
        !          2739:     
        !          2740:     Thanks to Arvin Gan for the bugreport.
        !          2741: 
        !          2742: commit c408d807a374b521dc66c434ca0dc5987820646f
        !          2743: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2744: Date:   Tue Apr 3 17:31:45 2018 +0200
        !          2745: 
        !          2746:     Doc: Documentation for BGP disable after cease option
        !          2747: 
        !          2748: commit a63d20aa872364873d0fbfa03d1c3c6d9a1889eb
        !          2749: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2750: Date:   Tue Apr 3 16:53:58 2018 +0200
        !          2751: 
        !          2752:     Doc: Documentation for BGP extended next hop feature
        !          2753:     
        !          2754:     Thanks to Arvin Gan for the bugreport.
        !          2755: 
        !          2756: commit 157f6c2aaddbf8668e33ed6efcd874a6677fa005
        !          2757: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2758: Date:   Sat Mar 24 01:53:03 2018 +0100
        !          2759: 
        !          2760:     Doc: Remove some superfluous slashes
        !          2761: 
        !          2762: commit 6807320a0f732829c475ab230857147bf4f0cc7c
        !          2763: Author: Ondrej Filip <feela@network.cz>
        !          2764: Date:   Fri Mar 23 17:24:58 2018 +0100
        !          2765: 
        !          2766:     Autoconf replaced by autoreconf
        !          2767: 
        !          2768: commit 4d3d34f5997128824c376a097eee60954c3611cf
        !          2769: Author: Ondrej Filip <feela@network.cz>
        !          2770: Date:   Thu Mar 22 13:30:10 2018 +0100
        !          2771: 
        !          2772:     Date added.
        !          2773: 
        !          2774: commit 966602602a0f24942bee3ab0492bbb9197e71aa1
        !          2775: Merge: 4406281 4841804
        !          2776: Author: Ondrej Filip <feela@network.cz>
        !          2777: Date:   Thu Mar 22 13:25:58 2018 +0100
        !          2778: 
        !          2779:     Merge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new
        !          2780: 
        !          2781: commit 4841804fffd8bf669b2445ec3328b6a49eed31f9
        !          2782: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2783: Date:   Wed Mar 21 15:17:56 2018 +0100
        !          2784: 
        !          2785:     NEWS and version update
        !          2786: 
        !          2787: commit a177e4dd04b29dc364d2c5505fe2c483981c6498
        !          2788: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2789: Date:   Wed Mar 21 16:32:51 2018 +0100
        !          2790: 
        !          2791:     Doc: Minor update
        !          2792: 
        !          2793: commit 3b522a1e5cd034196cd0f5c0eab4d9e87f0f2a8a
        !          2794: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2795: Date:   Tue Mar 20 19:28:26 2018 +0100
        !          2796: 
        !          2797:     Doc: Redesign default config file
        !          2798:     
        !          2799:     The old one does not work with 2.0.x.
        !          2800: 
        !          2801: commit 89ac4dd3c433cae865d5339efe5e682d4506044d
        !          2802: Merge: bcb4af8 8a871e8
        !          2803: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2804: Date:   Mon Mar 19 13:29:39 2018 +0100
        !          2805: 
        !          2806:     Merge remote-tracking branch 'birdlab-tmp/int-new' into int-new
        !          2807: 
        !          2808: commit bcb4af81fc8ea0acf7c2fa5a6854cd3c23d92d9f
        !          2809: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2810: Date:   Sun Mar 18 13:48:47 2018 +0100
        !          2811: 
        !          2812:     Nest: Fix table reconfiguration when nettype changes
        !          2813:     
        !          2814:     Thanks to Toke Hoiland-Jorgensen for the bugreport.
        !          2815: 
        !          2816: commit 364d5823eac85178361bad188d89949b7e0d321c
        !          2817: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2818: Date:   Sun Mar 18 02:56:51 2018 +0100
        !          2819: 
        !          2820:     Nest: SADR support for Direct
        !          2821: 
        !          2822: commit 159d619caf2311b62dc0d876f22c42b5d23e86c0
        !          2823: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2824: Date:   Sat Mar 17 22:25:06 2018 +0100
        !          2825: 
        !          2826:     Doc: SADR documentation
        !          2827: 
        !          2828: commit 7a8ae228f907400a33375c07b31f3e42a89834e7
        !          2829: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2830: Date:   Sat Mar 17 17:14:02 2018 +0100
        !          2831: 
        !          2832:     Doc: Update BGP documentation
        !          2833:     
        !          2834:     Thanks to Joshua McQuistan for the bugreport.
        !          2835: 
        !          2836: commit 8a871e890a7198f7cbaff5c75033160ae3ad68f3
        !          2837: Merge: e95705f e8bc64e
        !          2838: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2839: Date:   Wed Mar 14 12:57:16 2018 +0100
        !          2840: 
        !          2841:     Merge branch 'master' into int-new
        !          2842: 
        !          2843: commit e8bc64e308586b6502090da2775af84cd760ed0d
        !          2844: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2845: Date:   Wed Feb 28 16:57:50 2018 +0100
        !          2846: 
        !          2847:     Filter: make bgpmask literals real constructors
        !          2848:     
        !          2849:     The bgpmask literals can include expressions. This is OK but they have
        !          2850:     to be interpreted as soon as the code is run, not in the time the code
        !          2851:     is used as value.
        !          2852:     
        !          2853:     This led to strange behavior like rewriting bgpmasks when they shan't
        !          2854:     be rewritten:
        !          2855:     
        !          2856:        function mask_generator(int as)
        !          2857:        {
        !          2858:                return [= * as * =];
        !          2859:        }
        !          2860:     
        !          2861:        function another()
        !          2862:        bgpmask m1;
        !          2863:        bgpmask m2;
        !          2864:        {
        !          2865:                m1 = mask_generator(10);
        !          2866:                m2 = mask_generator(20);
        !          2867:                if (m1 == m2) {
        !          2868:                        print("strange"); # this would happen
        !          2869:                }
        !          2870:        }
        !          2871:     
        !          2872:     Moreover, sending this to CLI would cause stack overflow and knock down the
        !          2873:     whole BIRD, as soon as there is at least one route to execute the given
        !          2874:     filter on.
        !          2875:     
        !          2876:        show route filter bgpmask mmm; bgppath ppp; { ppp = +empty+; mmm = [= (ppp ~ mmm) =]; print(mmm); accept; }
        !          2877:     
        !          2878:     The magic match operator (~) inside the bgpmask literal would try to
        !          2879:     resolve mmm, which points to the same bgpmask so it would resolve
        !          2880:     itself, call the magic match operator and vice versa.
        !          2881:     
        !          2882:     After this patch, the bgpmask literal will get resolved as soon as it's
        !          2883:     assigned to mmm and it also will return a type error as bool is not
        !          2884:     convertible to ASN in BIRD.
        !          2885: 
        !          2886: commit e95705f00c9e297cd6dde1e8fa60bee4a4d539f2
        !          2887: Merge: d1ba927 74bfd2f
        !          2888: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2889: Date:   Tue Mar 13 17:02:49 2018 +0100
        !          2890: 
        !          2891:     Merge branch 'master' into int-new
        !          2892: 
        !          2893: commit 74bfd2f97c0a95b6fb73a67d9334e54a90695c58
        !          2894: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2895: Date:   Tue Mar 13 12:08:37 2018 +0100
        !          2896: 
        !          2897:     Filters: Removed FI_COMMA, not used for 19 years.
        !          2898:     
        !          2899:     This instruction was removed in the commit linked below
        !          2900:     and never used ever again. Rest in peace.
        !          2901:     
        !          2902:     commit 84c7e1943f0dbf896b1dd8d02a21120aa00463f4
        !          2903:     Author: Pavel Machek <pavel@ucw.cz>
        !          2904:     Date:   Tue Mar 2 19:49:28 1999 +0000
        !          2905: 
        !          2906: commit d1ba927b369c91ddb2143b686ca4c1be53e46e64
        !          2907: Merge: f2f5a7d 7c601e6
        !          2908: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2909: Date:   Tue Mar 13 16:51:04 2018 +0100
        !          2910: 
        !          2911:     Merge branch 'master' into int-new
        !          2912: 
        !          2913: commit 7c601e6b7b7696b24ce5f5715fa14dbb91c71d6e
        !          2914: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2915: Date:   Wed Nov 29 11:38:01 2017 +0100
        !          2916: 
        !          2917:     Filter: recursion to loop
        !          2918:     
        !          2919:     It was supposed to do tail-recursion in interpret() but it didn't
        !          2920:     compile as such. Converting it to loop makes a significant filter
        !          2921:     performance improvement for flat filters.
        !          2922: 
        !          2923: commit 5a14df395053f4094a1e3ebea98e3487cbfc0e63
        !          2924: Author: Maria Jan Matejka <mq@jmq.cz>
        !          2925: Date:   Thu Oct 19 12:39:44 2017 +0200
        !          2926: 
        !          2927:     Filter: Instruction codes named as enum
        !          2928:     
        !          2929:     The two-letter instructions were quite messy but they could be easily
        !          2930:     read from memory dumps. Now GDB (since 2012) supports pretty printing
        !          2931:     enum values and GCC checks the switch construction for missing enum
        !          2932:     values so we are converting the nice two-byte values to enums.
        !          2933:     
        !          2934:     Anyway, the enum still keeps the old two-byte values to be able to read
        !          2935:     the instruction codes even without GDB from plain memory dump.
        !          2936: 
        !          2937: commit f2f5a7d9455f938fb14e31315a879c3be2c5d28a
        !          2938: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2939: Date:   Tue Mar 6 16:04:56 2018 +0100
        !          2940: 
        !          2941:     Filter: the test conf checks also a bit of BGP args
        !          2942:     
        !          2943:     Uncommented an old test.
        !          2944: 
        !          2945: commit 0575c7db723523701d5582e2a9058cb5c46951c9
        !          2946: Author: Jan Maria Matejka <mq@ucw.cz>
        !          2947: Date:   Tue Mar 6 16:03:35 2018 +0100
        !          2948: 
        !          2949:     Config: Dropped the ipv4:netmask4 syntax for IPv4 prefixes.
        !          2950: 
        !          2951: commit d0f47327f81a278d6adb3d0a6c235ea715798d01
        !          2952: Merge: 1561ee7 2d6d4b8
        !          2953: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2954: Date:   Wed Mar 7 17:41:49 2018 +0100
        !          2955: 
        !          2956:     Merge branch 'master' into int-new
        !          2957: 
        !          2958: commit 2d6d4b80539be13aa53c6751fb33689b263e4010
        !          2959: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2960: Date:   Wed Mar 7 17:35:24 2018 +0100
        !          2961: 
        !          2962:     Babel: Fix build with restricted protocol set
        !          2963:     
        !          2964:     All keywords used in Babel config have to be declared locally.
        !          2965:     
        !          2966:     Thanks to Leo Vandewoestijne for the bugreport.
        !          2967: 
        !          2968: commit 44062812600bd29f8edf30ebc871ff218069c5a2
        !          2969: Merge: 6f46465 1561ee7
        !          2970: Author: Ondrej Filip <feela@network.cz>
        !          2971: Date:   Tue Feb 27 06:08:03 2018 +0100
        !          2972: 
        !          2973:     Merge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new
        !          2974: 
        !          2975: commit 1561ee799cfe79d208ce9588e487da4b62a88dad
        !          2976: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2977: Date:   Tue Feb 13 19:52:22 2018 +0100
        !          2978: 
        !          2979:     Handle properly enums for extended attributes
        !          2980: 
        !          2981: commit d5144ea9bf01f0b19cba40ab06aa05a11d70aa3e
        !          2982: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2983: Date:   Tue Feb 13 17:00:24 2018 +0100
        !          2984: 
        !          2985:     Add cscope Makefile target
        !          2986:     
        !          2987:     For those who prefer cscope to etags
        !          2988:     
        !          2989:     Thanks to Toke Hoiland-Jorgensen for the patch.
        !          2990: 
        !          2991: commit 5ce7adfcf96787878d60668cf33acf7349a69c0b
        !          2992: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          2993: Date:   Tue Feb 13 16:42:03 2018 +0100
        !          2994: 
        !          2995:     Babel: Fix accidental bitwise or assignment
        !          2996:     
        !          2997:     Fix an accidental bitwise or assignment that was supposed to be a
        !          2998:     comparison.
        !          2999:     
        !          3000:     Thanks to Toke Hoiland-Jorgensen for the patch.
        !          3001: 
        !          3002: commit 185a0a51f8aed635eecac0cfbd837dd262a8add0
        !          3003: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3004: Date:   Tue Feb 13 16:39:36 2018 +0100
        !          3005: 
        !          3006:     Babel: Add source-specific routing support
        !          3007:     
        !          3008:     This patch adds support for source-specific routing to the Babel protocol.
        !          3009:     It changes the protocol to support both NET_IP6 and NET_IP6_SADR channels
        !          3010:     for IPv6 addresses. If only a NET_IP6 channel is configured,
        !          3011:     source-specific updates are ignored. Otherwise, non-source-specific
        !          3012:     routes are simply treated as source-specific routes with SADR prefix 0.
        !          3013:     
        !          3014:     Thanks to Toke Hoiland-Jorgensen for the original patch.
        !          3015:     Minor changes by Ondrej Santiago Zajicek.
        !          3016: 
        !          3017: commit be17805c0bbd37e865dc9b17b56e8e8d210c2c6c
        !          3018: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3019: Date:   Tue Feb 13 16:27:57 2018 +0100
        !          3020: 
        !          3021:     Add support for source-specific IPv6 routes to BIRD core
        !          3022:     
        !          3023:     This patch adds support for source-specific IPv6 routes to BIRD core.
        !          3024:     This is based on Dean Luga's original patch, with the review comments
        !          3025:     addressed. SADR support is added to network address parsing in confbase.Y
        !          3026:     and to the kernel protocol on Linux.
        !          3027:     
        !          3028:     Currently there is no way to mix source-specific and non-source-specific
        !          3029:     routes (i.e., SADR tables cannot be connected to non-SADR tables).
        !          3030:     
        !          3031:     Thanks to Toke Hoiland-Jorgensen for the original patch.
        !          3032:     Minor changes by Ondrej Santiago Zajicek.
        !          3033: 
        !          3034: commit a82f692e5844d5efdc091a796dc0e8ae8ab5a322
        !          3035: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3036: Date:   Tue Feb 6 17:43:55 2018 +0100
        !          3037: 
        !          3038:     Nest: Trivial whitespace cleanup
        !          3039: 
        !          3040: commit 28b3b551222ab58456a067a9be4790824cdbb60e
        !          3041: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3042: Date:   Tue Feb 6 16:08:45 2018 +0100
        !          3043: 
        !          3044:     KRT: Fix IPv6 route learn
        !          3045:     
        !          3046:     Internal table used for route learn was created with non-matching net
        !          3047:     type for IPv6 kernel proto.
        !          3048:     
        !          3049:     Thanks to Toke Hoiland-Jorgensen for the bugreport
        !          3050: 
        !          3051: commit 85ad5855a02e8b185a61bbcb601f005d2e6747db
        !          3052: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3053: Date:   Mon Jan 29 12:49:37 2018 +0100
        !          3054: 
        !          3055:     Nest: Fix corner case in recursive next hop lookup
        !          3056:     
        !          3057:     Thanks to Svenne Krap for the bugreport.
        !          3058: 
        !          3059: commit 345e50d59ff299e466fab6d0e0d37c210d624d96
        !          3060: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3061: Date:   Wed Jan 24 13:55:12 2018 +0100
        !          3062: 
        !          3063:     Nest: remove duplicate function
        !          3064: 
        !          3065: commit 75d98b6013c19598b1d3ba5e05e8f84525e8678a
        !          3066: Merge: ace3072 d6cf996
        !          3067: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3068: Date:   Tue Jan 23 18:29:32 2018 +0100
        !          3069: 
        !          3070:     Merge branch 'master' into int-new
        !          3071: 
        !          3072: commit d6cf996151307d083c30e4ecde0f1d7449b19253
        !          3073: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3074: Date:   Tue Jan 23 17:05:45 2018 +0100
        !          3075: 
        !          3076:     IO: Fix socket priority
        !          3077:     
        !          3078:     On Linux, setting the ToS will also set the priority and the range of
        !          3079:     accepted values is quite limited (masked by 0x1e). Therefore, 0xc0 is
        !          3080:     translated to a priority of 0, not something we want, overriding the
        !          3081:     "7" priority which was set previously explicitely. To avoid that, just
        !          3082:     move setting priority later in the code.
        !          3083:     
        !          3084:     Thanks to Vincent Bernat for the patch.
        !          3085: 
        !          3086: commit ace3072e09e445b2fd8554492b80bea5cc1f3411
        !          3087: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3088: Date:   Tue Jan 23 15:12:43 2018 +0100
        !          3089: 
        !          3090:     KRT: Fix option 'merge paths'
        !          3091: 
        !          3092: commit e5ff7929c4d85b84496cdfc46f006b8cd1b4c0e5
        !          3093: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3094: Date:   Tue Jan 23 14:48:07 2018 +0100
        !          3095: 
        !          3096:     KRT: Remove useless option
        !          3097: 
        !          3098: commit def6efa1ef98966424a73923832c6912acefc0ba
        !          3099: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3100: Date:   Tue Jan 23 14:26:18 2018 +0100
        !          3101: 
        !          3102:     Doc: Fix example
        !          3103: 
        !          3104: commit 8adaf730c0e2dae2debd7aa09633899e28428b11
        !          3105: Author: Jan Maria Matejka <mq@ucw.cz>
        !          3106: Date:   Tue Jan 16 16:10:13 2018 +0100
        !          3107: 
        !          3108:     Pipe: show export state
        !          3109: 
        !          3110: commit c591810d46ae31c9e46768388878321e78e4ef94
        !          3111: Author: Jan Maria Matejka <mq@ucw.cz>
        !          3112: Date:   Tue Jan 16 14:46:06 2018 +0100
        !          3113: 
        !          3114:     Pipe: fixed template bug
        !          3115:     
        !          3116:     When pipe inherited from template, every channel config was lost.
        !          3117: 
        !          3118: commit 63472779ad4ecdecbcfedf2d2bb40abc2f8c84b0
        !          3119: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3120: Date:   Tue Jan 16 19:17:04 2018 +0100
        !          3121: 
        !          3122:     BGP: Implement 'disable after cease' option
        !          3123:     
        !          3124:     The option allows to specify that some cease subcodes should
        !          3125:     disable the protocol when received.
        !          3126: 
        !          3127: commit b94057911554e04df9b709f8354e2e220131096a
        !          3128: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3129: Date:   Tue Jan 16 16:20:01 2018 +0100
        !          3130: 
        !          3131:     Filter: Allow silent filter execution
        !          3132:     
        !          3133:     A filter should log messages only if executed explicitly (e.g., during
        !          3134:     route export or route import). When a filter is executed for technical
        !          3135:     reasons (e.g., to establish whether a route was exported before), it
        !          3136:     should run silently.
        !          3137: 
        !          3138: commit 6f46465af1b3d21ca67e3b4379640c008fc9d1a1
        !          3139: Author: Ondrej Filip <feela@network.cz>
        !          3140: Date:   Tue Jan 16 14:36:46 2018 +0100
        !          3141: 
        !          3142:     Error in version guessing
        !          3143: 
        !          3144: commit c2febfa33294be0f457b49f5453d8066a7d88a5d
        !          3145: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3146: Date:   Tue Jan 16 14:18:57 2018 +0100
        !          3147: 
        !          3148:     Add note to NEWS
        !          3149: 
        !          3150: commit 68d0048b3d8d17cfa30846cfe06ea159c3c49a17
        !          3151: Author: Ondrej Filip <feela@network.cz>
        !          3152: Date:   Tue Jan 16 10:45:03 2018 +0100
        !          3153: 
        !          3154:     Notice about RFC 8212 added
        !          3155: 
        !          3156: commit 3831b619661d08d935fd78656732cd2f339ff811
        !          3157: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3158: Date:   Tue Jan 16 04:14:49 2018 +0100
        !          3159: 
        !          3160:     BGP: Require explicit import and export policies for EBGP channels
        !          3161:     
        !          3162:     To comply with RFC 8212 requirements.
        !          3163: 
        !          3164: commit 4db4ac7243bf54187029abda0b42cc9d29757d13
        !          3165: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3166: Date:   Sun Jan 14 21:52:58 2018 +0100
        !          3167: 
        !          3168:     NEWS and version update
        !          3169: 
        !          3170: commit 4d3679613179637df5ef999073aba2d187540a57
        !          3171: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3172: Date:   Sun Jan 14 14:30:38 2018 +0100
        !          3173: 
        !          3174:     KRT: Fix direct routes for BSD
        !          3175:     
        !          3176:     Old way to set direct routes is to use local IP as gateway, but that does
        !          3177:     not work properly on newer FreeBSDs. Now we use sockaddr_dl containing
        !          3178:     interface index as gateway.
        !          3179: 
        !          3180: commit 2e507a745733b0cee2ea7d302cc9d626cb2e0c80
        !          3181: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3182: Date:   Wed Jan 10 16:17:37 2018 +0100
        !          3183: 
        !          3184:     Use non-fatal asserts even for regular build
        !          3185: 
        !          3186: commit 72163bd5f3ccefc1edda585f6f605c37e774a0b8
        !          3187: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3188: Date:   Tue Jan 9 18:42:22 2018 +0100
        !          3189: 
        !          3190:     Nest: Allow modification of channels inherited from templates
        !          3191:     
        !          3192:     Multiple definitions of same channels are forbidden, but inherited
        !          3193:     channel can be redefined. In such case channel options are merged.
        !          3194: 
        !          3195: commit 09c1e370b3084f7acb7c3777427670a69945368a
        !          3196: Author: Jan Maria Matejka <mq@ucw.cz>
        !          3197: Date:   Tue Jan 9 16:46:00 2018 +0100
        !          3198: 
        !          3199:     Moved freebsd cflags and ldflags to configure
        !          3200: 
        !          3201: commit 94f9be80c3686284942ba73670780d27730da997
        !          3202: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3203: Date:   Tue Jan 9 14:36:11 2018 +0100
        !          3204: 
        !          3205:     Nest: Fix filter reconfiguration
        !          3206:     
        !          3207:     Function filter_same() must be called with arguments in proper order,
        !          3208:     otherwise it breaks the new filter, causing crash during route
        !          3209:     processing.
        !          3210: 
        !          3211: commit 8f8671bcde738890d312ab91336f101465b3eeac
        !          3212: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3213: Date:   Wed Jan 3 15:44:05 2018 +0100
        !          3214: 
        !          3215:     Filter: Handle undefined BGP paths as empty
        !          3216:     
        !          3217:     The same is already done for clists. Also fixes defined() to work
        !          3218:     properly for paths and clists.
        !          3219: 
        !          3220: commit 0ff86d054efa8005c5df943acf6d2122781d3175
        !          3221: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3222: Date:   Wed Jan 3 14:12:00 2018 +0100
        !          3223: 
        !          3224:     ROA: Fix reconfiguration
        !          3225: 
        !          3226: commit 9bd8cb7c3ca23524cb7d69ee503e24658ad2ee42
        !          3227: Merge: d493d0f cce6ba4
        !          3228: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3229: Date:   Tue Jan 2 16:59:59 2018 +0100
        !          3230: 
        !          3231:     Merge branch 'master' into int-new
        !          3232: 
        !          3233: commit d493d0f180e3df1f33d344d8b28cc1743201210b
        !          3234: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3235: Date:   Tue Jan 2 16:57:45 2018 +0100
        !          3236: 
        !          3237:     BGP: Fix unknown attribute handling
        !          3238: 
        !          3239: commit e62cd033079c4bc988a467f4122c7c276c77fdde
        !          3240: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3241: Date:   Tue Jan 2 14:30:08 2018 +0100
        !          3242: 
        !          3243:     BGP: Fix graceful restart timer
        !          3244:     
        !          3245:     Should use remote value, not local value.
        !          3246: 
        !          3247: commit cce6ba4daa2e00d6e1881a831d05cdc51249b4a7
        !          3248: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3249: Date:   Tue Jan 2 14:11:59 2018 +0100
        !          3250: 
        !          3251:     Remove libhistory check
        !          3252:     
        !          3253:     According to GNU Readline developers, if we link with libreadline then
        !          3254:     there is no need to link with libhistory at all.
        !          3255: 
        !          3256: commit 4842eeaad32aeeeb1774ec9840c6da03952425ff
        !          3257: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3258: Date:   Thu Dec 21 00:16:52 2017 +0100
        !          3259: 
        !          3260:     Minor fix in documentation
        !          3261: 
        !          3262: commit a63e78c31a518f4441b2f87e1947c12e1e49aba1
        !          3263: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3264: Date:   Mon Dec 18 23:15:07 2017 +0100
        !          3265: 
        !          3266:     Fix build without limited protocol set
        !          3267: 
        !          3268: commit e87a95d97d18eb12d005312f27b082f0821d3923
        !          3269: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3270: Date:   Sat Dec 16 16:31:43 2017 +0100
        !          3271: 
        !          3272:     Minor fixes for debug mode
        !          3273: 
        !          3274: commit 3013fc57bdc97b0031c4f4250b9bdd172f4c0f4e
        !          3275: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3276: Date:   Sat Dec 16 00:42:56 2017 +0100
        !          3277: 
        !          3278:     Netlink: Fix memory leak
        !          3279: 
        !          3280: commit 8396094156c2ddae279ec9c265100e28acb65a8d
        !          3281: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3282: Date:   Thu Dec 14 22:15:01 2017 +0100
        !          3283: 
        !          3284:     Minor cleanups
        !          3285: 
        !          3286: commit abd4367f483bc29a03cce8bcfc70a83ac5d13cdc
        !          3287: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3288: Date:   Thu Dec 14 21:52:07 2017 +0100
        !          3289: 
        !          3290:     Minor cleanup
        !          3291: 
        !          3292: commit c36a298c21f1aa5b4e61d2d4740811529175df09
        !          3293: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3294: Date:   Wed Dec 13 19:18:30 2017 +0100
        !          3295: 
        !          3296:     Use git describe for BIRD version
        !          3297:     
        !          3298:     Based on patch from Pavel Tvrdik
        !          3299: 
        !          3300: commit d807ea087f8d60e25eaef8c10168a40ca6545c57
        !          3301: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3302: Date:   Wed Dec 13 15:57:44 2017 +0100
        !          3303: 
        !          3304:     BGP: Fix non-transitive ext communities
        !          3305: 
        !          3306: commit 3e7923507b40b42c80dc621aff9d896106bae8c7
        !          3307: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3308: Date:   Wed Dec 13 15:26:29 2017 +0100
        !          3309: 
        !          3310:     Netlink: Use linpool instead of static buffer
        !          3311: 
        !          3312: commit 772beb7308a53558e153223bc42742f719ff4a40
        !          3313: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3314: Date:   Wed Dec 13 14:49:55 2017 +0100
        !          3315: 
        !          3316:     Lib: Minor fix
        !          3317: 
        !          3318: commit cb21c5ffa92494b1a4bf110605509de3326b6c3d
        !          3319: Merge: 71c51aa 1e11918
        !          3320: Author: Jan Maria Matejka <mq@ucw.cz>
        !          3321: Date:   Wed Dec 13 10:29:10 2017 +0100
        !          3322: 
        !          3323:     Merge branch 'int-new' of gitlab.labs.nic.cz:labs/bird into int-new
        !          3324: 
        !          3325: commit 71c51aa4ab0daa3490f9a488f505eb25102c4705
        !          3326: Author: Jan Maria Matejka <mq@ucw.cz>
        !          3327: Date:   Wed Dec 13 10:28:50 2017 +0100
        !          3328: 
        !          3329:     Doc: Fixed misc sgml bugs, no content change
        !          3330: 
        !          3331: commit 1e11918c8c56e3505193f4e6426c1a34aaae3941
        !          3332: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3333: Date:   Tue Dec 12 19:51:36 2017 +0100
        !          3334: 
        !          3335:     Lib: Save/restore state for linpools
        !          3336:     
        !          3337:     Also change linpool.current ptr to really point to thr current chunk.
        !          3338: 
        !          3339: commit ac48e72bf6f9f491824e2de59a035c93aab8f81b
        !          3340: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3341: Date:   Tue Dec 12 15:56:31 2017 +0100
        !          3342: 
        !          3343:     Fix some minor issues
        !          3344: 
        !          3345: commit cb5df823acdc54f94b0b85094cb59ac68c83c33a
        !          3346: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3347: Date:   Tue Dec 12 15:22:01 2017 +0100
        !          3348: 
        !          3349:     Minor CI tweak
        !          3350: 
        !          3351: commit b5257bea853850809be7f03eb0e1dbb398c56c34
        !          3352: Author: Ondrej Filip <feela@network.cz>
        !          3353: Date:   Tue Dec 12 10:43:56 2017 +0100
        !          3354: 
        !          3355:     Removed '--enable-ipv6' reference.
        !          3356: 
        !          3357: commit 66acbc8d7f80ce3c197549922b60fca093129047
        !          3358: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3359: Date:   Tue Dec 12 00:05:49 2017 +0100
        !          3360: 
        !          3361:     Revive FIB and kernel MPLS code
        !          3362: 
        !          3363: commit fa5c09a2e708ed505ca140531b98e695fdaf989c
        !          3364: Author: Ondrej Filip <feela@network.cz>
        !          3365: Date:   Mon Dec 11 09:36:21 2017 +0100
        !          3366: 
        !          3367:     Changes to be able to build 2.0.0
        !          3368: 
        !          3369: commit d4eada9e0f3dc1f1e22b83fc8a8361ae256592ff
        !          3370: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3371: Date:   Mon Dec 11 02:05:35 2017 +0100
        !          3372: 
        !          3373:     NEWS and version update
        !          3374: 
        !          3375: commit c99050cce228b214c2856c6eebefbefffccade7f
        !          3376: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3377: Date:   Mon Dec 11 01:04:15 2017 +0100
        !          3378: 
        !          3379:     KRT: Fix bug in multipath handling
        !          3380: 
        !          3381: commit cf3e3845c205dacf2720cdb76a9a004a816d2e6f
        !          3382: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3383: Date:   Sun Dec 10 22:47:38 2017 +0100
        !          3384: 
        !          3385:     Doc: Documentation update
        !          3386: 
        !          3387: commit 6b0f5f68a8ae35b05abb144cf998bf537dfa283b
        !          3388: Author: Maria Jan Matejka <mq@jmq.cz>
        !          3389: Date:   Mon Sep 25 13:00:05 2017 +0200
        !          3390: 
        !          3391:     Switchoff for MPLS in kernel.
        !          3392: 
        !          3393: commit 67a2eb9177fe0b8a6854775a4fad1f7768f6a94a
        !          3394: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3395: Date:   Sun Dec 10 13:18:36 2017 +0100
        !          3396: 
        !          3397:     Lib: Check size of nets
        !          3398: 
        !          3399: commit a32a7b58cebc2838de2ffd94e679d3e1ec9d493a
        !          3400: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3401: Date:   Sun Dec 10 13:16:31 2017 +0100
        !          3402: 
        !          3403:     Lib: Fix macro/keyword collisions
        !          3404:     
        !          3405:     Old code breaks with some versions of bison
        !          3406: 
        !          3407: commit 7fc55925beb06059759294e0e9b7bae45465395f
        !          3408: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3409: Date:   Sun Dec 10 00:55:34 2017 +0100
        !          3410: 
        !          3411:     Several minor fixes
        !          3412: 
        !          3413: commit ed1d853e5147376086e25f5edae9804cf242d6e0
        !          3414: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3415: Date:   Fri Dec 8 17:31:33 2017 +0100
        !          3416: 
        !          3417:     Filter: Remove old BGP path mask syntax from tests
        !          3418: 
        !          3419: commit dea9886454c1c0953b5977dd8a96718be465b962
        !          3420: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3421: Date:   Fri Dec 8 17:00:47 2017 +0100
        !          3422: 
        !          3423:     BGP: Link check just for single-hop
        !          3424: 
        !          3425: commit 3e52d112d714545df3cd97119824ee94c27a0606
        !          3426: Author: Jan Maria Matejka <mq@ucw.cz>
        !          3427: Date:   Wed Sep 27 16:55:09 2017 +0200
        !          3428: 
        !          3429:     Docs: Update to v2.0
        !          3430: 
        !          3431: commit 517d05dff17e881b880ee4fd28a72e827c10e8c3
        !          3432: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3433: Date:   Fri Dec 8 15:59:44 2017 +0100
        !          3434: 
        !          3435:     Enable ECMP and Link detection by default
        !          3436:     
        !          3437:     ECMP is not enabled on BSD, where it is not supported by BIRD.
        !          3438: 
        !          3439: commit eb95b5ec1a5c3bd4e57f3a134828f8de2875cb43
        !          3440: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3441: Date:   Fri Dec 8 15:16:47 2017 +0100
        !          3442: 
        !          3443:     Nest: Minor formatting changes
        !          3444: 
        !          3445: commit 49c7ef3b21e51ae7d1969baa52b4d8fd29b22eeb
        !          3446: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3447: Date:   Fri Dec 8 14:00:36 2017 +0100
        !          3448: 
        !          3449:     BGP: Fix IPv6 MPLS/VPN multicast SAFI
        !          3450: 
        !          3451: commit ccee67ca3b607130bf441b6060b88525b5e50ad9
        !          3452: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3453: Date:   Fri Dec 8 02:26:17 2017 +0100
        !          3454: 
        !          3455:     BGP: Autoconfigure BGP next hops from preferred addresses
        !          3456: 
        !          3457: commit 830ba75e6dd369c3e64d122f0537cc85211e56e6
        !          3458: Merge: 46434a3 1e8721e
        !          3459: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3460: Date:   Thu Dec 7 21:54:47 2017 +0100
        !          3461: 
        !          3462:     Merge commit '1e8721e2aeccfbc3f533e8b8abc07582cee77e9a' into int-new
        !          3463: 
        !          3464: commit 46434a3cad99260b5a659e5df874eab4615bcb36
        !          3465: Merge: 4ff15a7 7b2c5f3
        !          3466: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3467: Date:   Thu Dec 7 18:35:46 2017 +0100
        !          3468: 
        !          3469:     Merge commit '7b2c5f3d2826e3175bf31b1c36056c9efc587a2b' into int-new
        !          3470: 
        !          3471: commit 4ff15a75c56531fa2d3858d8250dcef1af4e75b6
        !          3472: Merge: cd80c9b 98bb80a
        !          3473: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3474: Date:   Thu Dec 7 17:41:09 2017 +0100
        !          3475: 
        !          3476:     Merge commit '98bb80a243b58c43453e9be69d19d0350286549c' into int-new
        !          3477: 
        !          3478: commit cd80c9b0700ef9533a19ab19d66c38a1722c4e08
        !          3479: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3480: Date:   Thu Dec 7 14:21:38 2017 +0100
        !          3481: 
        !          3482:     BSD: Fix in the last commit
        !          3483: 
        !          3484: commit a6f79ca57f0b4b296f67c2d063fd85a627b611b8
        !          3485: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3486: Date:   Tue Nov 28 17:43:20 2017 +0100
        !          3487: 
        !          3488:     Timers: Revert temporary names and remove old timer.h
        !          3489: 
        !          3490: commit 574b2324275d3292e98a8e329f791eb5c799f7f2
        !          3491: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3492: Date:   Tue Nov 28 17:06:10 2017 +0100
        !          3493: 
        !          3494:     Timers: Fix TBF and some last remains
        !          3495: 
        !          3496: commit 3b3b0910ffb1b212b1c9ea420db6c575a3ecb71a
        !          3497: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3498: Date:   Tue Nov 28 15:11:41 2017 +0100
        !          3499: 
        !          3500:     Babel: More changes and bugfixes
        !          3501:     
        !          3502:     Several changes and bugfixes in Babel, namely:
        !          3503:     
        !          3504:     - Exported route parameters stored directly in route table entry
        !          3505:     - Exported non-babel routes no longer stored in per-entry route list
        !          3506:     - Route update, selection and retraction simplified and fixed
        !          3507:     - Route feasibility is evalualated per update and stored with route
        !          3508:     - Unreachable route handling fixed, based on hold interval
        !          3509:     - Added 'show babel routes' command
        !          3510:     
        !          3511:     Overall, it fixes some issues with proper propagation of triggered
        !          3512:     updates, making Babel convergence after topology change almost
        !          3513:     instant.
        !          3514: 
        !          3515: commit dbf1ed263c1c15f79fb200b4dfe3bffea231f4e4
        !          3516: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3517: Date:   Wed Nov 8 14:35:52 2017 +0100
        !          3518: 
        !          3519:     Babel: Fix handling of seqno requests
        !          3520:     
        !          3521:     Old behavior has several deficiencies compared to standard behavior
        !          3522:     (no triggered updates for replies, no retransmissions, ...).
        !          3523: 
        !          3524: commit 672fb78e1272bb49cc2521176effe75e3cb22460
        !          3525: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3526: Date:   Wed Nov 8 14:15:11 2017 +0100
        !          3527: 
        !          3528:     Babel: Fix handling of IPv4 retractions
        !          3529:     
        !          3530:     Babel TLV parsing code rejected IPv4 retractions without next-hop,
        !          3531:     although next-hop is needed just for regular updates.
        !          3532: 
        !          3533: commit 268dc7c8b3c45412fc8f4b0bae451e51c4c48b31
        !          3534: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3535: Date:   Fri Oct 27 12:20:58 2017 +0200
        !          3536: 
        !          3537:     Babel: Remove babel_proto ptr from babel_entry
        !          3538: 
        !          3539: commit 738a57b69bdff6244cf5093ae3997290e6c11324
        !          3540: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3541: Date:   Wed Oct 25 17:59:57 2017 +0200
        !          3542: 
        !          3543:     Babel: Fix hello timeout for short hello intervals
        !          3544: 
        !          3545: commit b47eaefe12d0673af2c7c7ec1a8adff982a958ca
        !          3546: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3547: Date:   Wed Oct 25 17:14:08 2017 +0200
        !          3548: 
        !          3549:     Babel: Revamp cost computation and run route selection when cost change
        !          3550:     
        !          3551:     Also fix several minor bugs and add 'limit' option for k-out-of-j
        !          3552:     link sensing strategy. Change default from 8-of-16 to 12-of-16.
        !          3553:     Change IHU expiry factor from 1.5 to 3.5 (as in RFC 6126).
        !          3554: 
        !          3555: commit f00221fadbb2c85c835cc5e4e69a0d3ce13d31b3
        !          3556: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3557: Date:   Fri Oct 13 23:46:41 2017 +0200
        !          3558: 
        !          3559:     Babel: Fix unicast seqno requests
        !          3560: 
        !          3561: commit 38f4721092f5a835248f9f521d34990ec9883dbd
        !          3562: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3563: Date:   Fri Oct 13 19:34:34 2017 +0200
        !          3564: 
        !          3565:     Babel: Avoid batch seqno updates
        !          3566: 
        !          3567: commit 5ee69d11f2e859b77ff04bb4068f43082fd1794f
        !          3568: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3569: Date:   Fri Oct 13 19:33:42 2017 +0200
        !          3570: 
        !          3571:     Babel: Fix Hello and IHU expiration
        !          3572: 
        !          3573: commit 8b58f565e4fcd076e2d9fe008c7f2b19e264b319
        !          3574: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3575: Date:   Fri Oct 13 12:34:08 2017 +0200
        !          3576: 
        !          3577:     Babel: Update to new timers
        !          3578: 
        !          3579: commit 6b5cd7c05f82e87d67c1b41296021757a3d952a0
        !          3580: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3581: Date:   Wed Jun 21 15:38:11 2017 +0200
        !          3582: 
        !          3583:     Sysdep: Remove old timer code
        !          3584: 
        !          3585: commit 3e405fb188bee0bb8fcf91f574126771c8661afb
        !          3586: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3587: Date:   Wed Jun 21 14:43:49 2017 +0200
        !          3588: 
        !          3589:     Nest: Update to new timers
        !          3590: 
        !          3591: commit cc881bd15561224f507ed7162016114ed2b15a1e
        !          3592: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3593: Date:   Wed Jun 21 14:14:51 2017 +0200
        !          3594: 
        !          3595:     BGP: Update to new timers
        !          3596: 
        !          3597: commit b32d557a6eca10c1e1dc2f2ab83e201f53d134b4
        !          3598: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3599: Date:   Tue Jun 20 18:03:06 2017 +0200
        !          3600: 
        !          3601:     OSPF: Update to new timers
        !          3602:     
        !          3603:     Note that recurrent timers are currently limited to ~1 hour.
        !          3604: 
        !          3605: commit ee528fbd5dc482ceece52832d4a8ea5a08251bfa
        !          3606: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3607: Date:   Tue Jun 20 15:55:39 2017 +0200
        !          3608: 
        !          3609:     Timers: Add typecast to unit-converting macros
        !          3610: 
        !          3611: commit 92cc1e745758893a57a2432a0e11e4cd3ad289b7
        !          3612: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3613: Date:   Tue Jun 20 14:30:44 2017 +0200
        !          3614: 
        !          3615:     RIP: Update to new timers
        !          3616: 
        !          3617: commit c521b3ac324e1c97b22581a06172dcb08fd740f6
        !          3618: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3619: Date:   Wed Jun 14 17:02:11 2017 +0200
        !          3620: 
        !          3621:     RAdv: Update to new timers
        !          3622: 
        !          3623: commit d59c1a295834aa5cc63aceb6769c8413fa0639fe
        !          3624: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3625: Date:   Wed Jun 14 16:32:15 2017 +0200
        !          3626: 
        !          3627:     RPKI: Update to new timers
        !          3628: 
        !          3629: commit 21f4f0f4b0785e30ce2af4741ffa6f2ebdd7d714
        !          3630: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3631: Date:   Wed Jun 14 13:15:35 2017 +0200
        !          3632: 
        !          3633:     Kernel: Update to new timers
        !          3634: 
        !          3635: commit d3fa9e84e98d7b8c726f5e35d6a359971eb98f94
        !          3636: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3637: Date:   Tue Jun 13 16:52:21 2017 +0200
        !          3638: 
        !          3639:     Timers: Show sub-second times in some protocol outputs
        !          3640: 
        !          3641: commit 212eda07c4e481e3341ede37b0877fa22bc042a4
        !          3642: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3643: Date:   Tue Jun 13 15:55:13 2017 +0200
        !          3644: 
        !          3645:     Timers: Fix tests after timer change
        !          3646: 
        !          3647: commit 49fc021337eba2e9cea228e80e1f95ef21b30cd2
        !          3648: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3649: Date:   Tue Jun 13 15:41:49 2017 +0200
        !          3650: 
        !          3651:     Printf: Add support for microsecond times
        !          3652:     
        !          3653:     Use '%t' in bsnprintf() for microsecond times (in btime) with variable
        !          3654:     sub-second precision.
        !          3655: 
        !          3656: commit f047271cb963c62663687d63b2f7cf8dd5edfbb7
        !          3657: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3658: Date:   Tue Jun 6 16:47:30 2017 +0200
        !          3659: 
        !          3660:     Timers: Parse and format functions for microsecond times
        !          3661:     
        !          3662:     Date/time output (e.g. in logs, show commands) can use %f to specify
        !          3663:     subsecond time. By default, millisecond precision is used in output.
        !          3664: 
        !          3665: commit 025525266f6861437ca54aca2a86eb505a486baf
        !          3666: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3667: Date:   Thu Jun 1 12:33:20 2017 +0200
        !          3668: 
        !          3669:     Timers: Replace old timers with microsecond timers
        !          3670:     
        !          3671:     The old timer interface is still kept, but implemented by new timers. The
        !          3672:     plan is to switch from the old inteface to the new interface, then clean
        !          3673:     it up.
        !          3674: 
        !          3675: commit 28a7d3943ef915c405b3552ae06f639a86f4dc1e
        !          3676: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3677: Date:   Wed May 31 15:46:04 2017 +0200
        !          3678: 
        !          3679:     Timers: Integrate microsecond timers to the main loop
        !          3680: 
        !          3681: commit 534215a18fb3fb7ce5b26c9e6ec1fdb32bf22ae6
        !          3682: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3683: Date:   Tue May 30 19:12:35 2017 +0200
        !          3684: 
        !          3685:     Timers: Split microsecond timers from BFD code to lib
        !          3686: 
        !          3687: commit 7c454d918682c072a6ae6ad8e0cd8d35b9edd2aa
        !          3688: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3689: Date:   Thu Dec 7 13:44:00 2017 +0100
        !          3690: 
        !          3691:     BSD: Minor fix of penultimate commit
        !          3692: 
        !          3693: commit abae1cc58b7c4ccf683651a6fcd51cfaecd03566
        !          3694: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3695: Date:   Thu Dec 7 13:28:24 2017 +0100
        !          3696: 
        !          3697:     KRT: Minor fix of last commit
        !          3698: 
        !          3699: commit 153f02da3bce1f3f1a99295648679c71327e8319
        !          3700: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3701: Date:   Thu Dec 7 13:06:01 2017 +0100
        !          3702: 
        !          3703:     Nest: Maintain separate IPv4, IPv6 and LLv6 preferred addresses
        !          3704:     
        !          3705:     Also redesign preferred address selection and update protocols to use
        !          3706:     appropriate preferred address.
        !          3707:     
        !          3708:     Based on a previous work by Jan Maria Matejka.
        !          3709: 
        !          3710: commit 1e8721e2aeccfbc3f533e8b8abc07582cee77e9a
        !          3711: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3712: Date:   Tue Nov 28 19:33:33 2017 +0100
        !          3713: 
        !          3714:     Babel: Parse flags in Hello TLV
        !          3715:     
        !          3716:     RFC6126bis introduces a flags field for the Hello TLV, and adds a unicast flag
        !          3717:     that is used to signify that a hello was sent as unicast. This adds parsing of
        !          3718:     the flags field and ignores such unicast hellos, which preserves compatibility
        !          3719:     until we can add a proper implementation of the unicast hello mechanism.
        !          3720:     
        !          3721:     Thanks to Toke Hoiland-Jorgensen for the patch.
        !          3722: 
        !          3723: commit 9ba4b4a63d27943586b76574b7f310ee532509a3
        !          3724: Author: Jan Maria Matejka <mq@ucw.cz>
        !          3725: Date:   Thu Nov 9 15:04:05 2017 +0100
        !          3726: 
        !          3727:     Filter test: typo fix
        !          3728: 
        !          3729: commit 4ae3ee1200b386219673c2168eae996c6207b077
        !          3730: Author: Jan Maria Matejka <mq@ucw.cz>
        !          3731: Date:   Tue Aug 22 13:47:01 2017 +0200
        !          3732: 
        !          3733:     Babel: Interface address irrelevant for interface pattern matching.
        !          3734: 
        !          3735: commit 289c1a7968c5a3c0a76124a89eb45de010f1c640
        !          3736: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          3737: Date:   Mon Aug 21 14:14:07 2017 +0200
        !          3738: 
        !          3739:     Iface address debug dump fix
        !          3740: 
        !          3741: commit 2d7fb19c3c6eadfbd9b994f5c306e79b7c4ee994
        !          3742: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3743: Date:   Tue Oct 10 16:07:54 2017 +0200
        !          3744: 
        !          3745:     OSPF: Add option to disable OSPFv3-AF
        !          3746: 
        !          3747: commit 2549300b54f262932dd14e6d465926627e6dc8ef
        !          3748: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3749: Date:   Mon Oct 9 21:11:53 2017 +0200
        !          3750: 
        !          3751:     OSPF: Fix minor issue in TTL check
        !          3752:     
        !          3753:     The TTL check must be done after instance ID dispatch to avoid warnings
        !          3754:     when a physical iface is shared by multiple instances and some use TTL
        !          3755:     security and some not.
        !          3756: 
        !          3757: commit f097f7659c7ff226a53c51673158e32fb69a6d21
        !          3758: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3759: Date:   Mon Oct 9 20:36:14 2017 +0200
        !          3760: 
        !          3761:     OSPF: Fix next hop calculation for PtP links in IPv4 OSPFv3-AF
        !          3762:     
        !          3763:     In such case, next hop has to be taken from Link-LSA like in broadcast
        !          3764:     case, not from neighbor source address like in other PtP cases.
        !          3765:     
        !          3766:     Also add some checks, comments and code cleanup.
        !          3767: 
        !          3768: commit d3f4f92b0ece0ce4031087a25735e6cbf0d741e2
        !          3769: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3770: Date:   Mon Oct 9 01:16:29 2017 +0200
        !          3771: 
        !          3772:     OSPF: Support of address families in OSPFv3
        !          3773:     
        !          3774:     OSPFv3-AF can handle multiple topologies of diferent address families
        !          3775:     (IPv4, IPv6, both unicast and multicast) using separate instances
        !          3776:     distinguished by instance ID ranges.
        !          3777: 
        !          3778: commit d9573a40ecaf9758690e4482782bebaf7847ba9b
        !          3779: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3780: Date:   Tue Oct 10 15:06:39 2017 +0200
        !          3781: 
        !          3782:     Doc: Update sgml2* tools
        !          3783:     
        !          3784:     The old ones do not work on current Debian.
        !          3785: 
        !          3786: commit 7e8d6116df68e96ef4abd64f6b9cbe7406c5985d
        !          3787: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3788: Date:   Tue Oct 10 13:27:03 2017 +0200
        !          3789: 
        !          3790:     Doc: Fix reference
        !          3791: 
        !          3792: commit 18352188ed7415ddb3aa7b0d7a2fc16d57a2d5d2
        !          3793: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3794: Date:   Tue Sep 19 17:23:31 2017 +0200
        !          3795: 
        !          3796:     RAdv: Documentation for more specific routes
        !          3797: 
        !          3798: commit 7c0bab3a3987b42bc699c4417c7b2e838f189158
        !          3799: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3800: Date:   Fri Oct 6 12:22:18 2017 +0200
        !          3801: 
        !          3802:     RAdv: Change specific route options to be per-interface
        !          3803:     
        !          3804:     And change default values of specific route options to be consistent with
        !          3805:     values of default router options.
        !          3806: 
        !          3807: commit 2a95e63343a94243745e5d7000bb3e0cb61a4a0f
        !          3808: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3809: Date:   Thu Aug 31 15:40:23 2017 +0200
        !          3810: 
        !          3811:     RAdv: Support for more specific routes (RFC 4191)
        !          3812:     
        !          3813:     The patch implements Default Router Preferences and More-Specific Routes
        !          3814:     (RFC 4191) for RAdv protocol, allowing to announce router preference and
        !          3815:     more specific routes in router advertisements. Routes can be exported to
        !          3816:     RAdv like to regular routing protocols.
        !          3817:     
        !          3818:     Some cleanups, bugfixes and other changes done by Ondrej Zajicek.
        !          3819: 
        !          3820: commit 5a8b1fb047d675badc17ab24175d0db06d7cc00c
        !          3821: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3822: Date:   Tue Sep 5 15:50:00 2017 +0200
        !          3823: 
        !          3824:     filter: Allow assigning enums into extended attributes
        !          3825:     
        !          3826:     They are internally ints, but they got refused as a wrong type. This
        !          3827:     fixes setting of the BGP origin and is also needed for RA.
        !          3828: 
        !          3829: commit cd1d99611e445c9fe2452d05627ccfc624f35c39
        !          3830: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3831: Date:   Tue Sep 19 19:55:37 2017 +0200
        !          3832: 
        !          3833:     BGP: Shutdown communication (RFC 8203)
        !          3834:     
        !          3835:     The patch implements BGP Administrative Shutdown Communication (RFC 8203)
        !          3836:     allowing BGP operators to pass messages related to BGP session
        !          3837:     administrative shutdown/restart. It handles both transmit and receive of
        !          3838:     shutdown messages. Messages are logged and may be displayed by show
        !          3839:     protocol all command.
        !          3840:     
        !          3841:     Thanks to Job Snijders for the basic patch.
        !          3842: 
        !          3843: commit 7b2c5f3d2826e3175bf31b1c36056c9efc587a2b
        !          3844: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3845: Date:   Thu Sep 14 12:31:15 2017 +0200
        !          3846: 
        !          3847:     Docs: FIB iteration macros
        !          3848: 
        !          3849: commit 18ea2ea759963a68a1a9f82d50aa9ed90b128df9
        !          3850: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3851: Date:   Wed Sep 13 13:10:50 2017 +0200
        !          3852: 
        !          3853:     Doc: Document 'empty' operator
        !          3854:     
        !          3855:     Thanks to Alexander Zubkov for the notification.
        !          3856: 
        !          3857: commit f2dd602fef2ecf0a6598b817d71ce2ee8fadd5cc
        !          3858: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3859: Date:   Tue Sep 12 16:33:29 2017 +0200
        !          3860: 
        !          3861:     Backport some minor changes from int-new
        !          3862: 
        !          3863: commit 9f4908fe78cb3e5191bca721588ee1acb10876e3
        !          3864: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3865: Date:   Tue Sep 12 15:49:36 2017 +0200
        !          3866: 
        !          3867:     Nest: VRF support for neighbor cache and olock code
        !          3868:     
        !          3869:     Actually much simpler than expected.
        !          3870: 
        !          3871: commit 943478b00f585725c3e7406909ee867dcfac5f87
        !          3872: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3873: Date:   Wed Sep 6 17:38:48 2017 +0200
        !          3874: 
        !          3875:     Basic VRF support
        !          3876:     
        !          3877:     Add basic VRF (virtual routing and forwarding) support. Protocols can be
        !          3878:     associated with VRFs, such protocols will be restricted to interfaces
        !          3879:     assigned to the VRF (as reported by Linux kernel) and will use sockets
        !          3880:     bound to the VRF. E.g., different multihop BGP instances can use diffent
        !          3881:     kernel routing tables to handle BGP TCP connections.
        !          3882:     
        !          3883:     The VRF support is preliminary, currently there are several limitations:
        !          3884:     
        !          3885:     - Recent Linux kernels (4.11) do not handle correctly sockets bound
        !          3886:     to interaces that are part of VRF, so most protocols other than multihop
        !          3887:     BGP do not work. This will be fixed by future kernel versions.
        !          3888:     
        !          3889:     - Neighbor cache ignores VRFs. Breaks config with the same prefix on
        !          3890:     local interfaces in different VRFs. Not much problem as single hop
        !          3891:     protocols do not work anyways.
        !          3892:     
        !          3893:     - Olock code ignores VRFs. Breaks config with multiple BGP peers with the
        !          3894:     same IP address in different VRFs.
        !          3895:     
        !          3896:     - Incoming BGP connections are not dispatched according to VRFs.
        !          3897:     Breaks config with multiple BGP peers with the same IP address in
        !          3898:     different VRFs. Perhaps we would need some kernel API to read VRF of
        !          3899:     incoming connection? Or probably use multiple listening sockets in
        !          3900:     int-new branch.
        !          3901:     
        !          3902:     - We should handle master VRF interface up/down events and perhaps
        !          3903:     disable associated protocols when VRF goes down. Or at least disable
        !          3904:     associated interfaces.
        !          3905:     
        !          3906:     - Also we should check if the master iface is really VRF iface and
        !          3907:     not some other kind of master iface.
        !          3908:     
        !          3909:     - BFD session request dispatch should be aware of VRFs.
        !          3910:     
        !          3911:     - Perhaps kernel protocol should read default kernel table ID from VRF
        !          3912:     iface so it is not necessary to configure it.
        !          3913:     
        !          3914:     - Perhaps we should have per-VRF default table.
        !          3915: 
        !          3916: commit 98bb80a243b58c43453e9be69d19d0350286549c
        !          3917: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3918: Date:   Tue Sep 5 00:02:20 2017 +0200
        !          3919: 
        !          3920:     KRT: Fix IPv6 ECMP handling with Linux 4.11+
        !          3921:     
        !          3922:     Starting from Linux 4.11, IPv6 ECMP routes are now notified using
        !          3923:     RTA_MULTIPATH, like IPv4 ones. The patch adds support for RTA_MULTIPATH
        !          3924:     parsing for IPv6 routes. This also enables to parse ECMP alien routes
        !          3925:     correctly.
        !          3926:     
        !          3927:     Thanks to Vincent Bernat for the original patch.
        !          3928: 
        !          3929: commit 9befc7cc4f26889077ace537019de92903139133
        !          3930: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3931: Date:   Mon Sep 4 22:32:45 2017 +0200
        !          3932: 
        !          3933:     BSD: Fix alignment issue
        !          3934:     
        !          3935:     Incorrect structure alignment breaks kernel routing table updates on
        !          3936:     FreeBSD/ARM (and perhaps other platforms).
        !          3937:     
        !          3938:     Thanks to Eugene Sevastyanov for the original patch.
        !          3939: 
        !          3940: commit 96eace1ea70d7c2bc13672fbeba104d34d8ede4c
        !          3941: Merge: 08b6a61 5c4dfe0
        !          3942: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3943: Date:   Mon Sep 4 13:30:13 2017 +0200
        !          3944: 
        !          3945:     Merge branch 'gitlab-ci'
        !          3946: 
        !          3947: commit 5c4dfe0c30e5516fac73e6ed8455af2245ebc62a
        !          3948: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3949: Date:   Thu Aug 17 15:02:35 2017 +0200
        !          3950: 
        !          3951:     Gitlab CI support
        !          3952:     
        !          3953:     Add configuration and docker definitions for tests and builds in Gitlab
        !          3954:     CI platform.
        !          3955:     
        !          3956:     Some of them currently fail, which is a known problem.
        !          3957: 
        !          3958: commit 08b6a617e862ffc7b7460abb79fe4c198806517c
        !          3959: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3960: Date:   Tue Aug 29 19:17:35 2017 +0200
        !          3961: 
        !          3962:     RAdv: Some style nitpicks
        !          3963: 
        !          3964: commit ec7d6a506ecae89e5019ce7fcb380a713be28bce
        !          3965: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3966: Date:   Thu Aug 17 11:34:25 2017 +0200
        !          3967: 
        !          3968:     RAdv: Configure how long a dead prefix is advertised
        !          3969: 
        !          3970: commit e2d2b3ef21f082a034e79d0880d4b36428029a59
        !          3971: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3972: Date:   Fri Aug 11 12:25:36 2017 +0200
        !          3973: 
        !          3974:     RAdv: Buffer prefixes awhile after they disappear
        !          3975:     
        !          3976:     Keep a cache of all the relevant prefixes we send out. When a prefix
        !          3977:     appears, insert it into the cache. If it dies, keep it there for a
        !          3978:     while, marked as dead.
        !          3979:     
        !          3980:     Send out the dead prefixes with zero lifetime.
        !          3981: 
        !          3982: commit 3ac5d1ce4c10719dd48555521a50d4a9c5eadd15
        !          3983: Author: Michal 'vorner' Vaner <vorner@vorner.cz>
        !          3984: Date:   Wed Aug 9 16:00:16 2017 +0200
        !          3985: 
        !          3986:     RAdv: Extract prefix option preparation
        !          3987:     
        !          3988:     Put the prefix option preparation into a separate function. We're going
        !          3989:     to reuse that bit of code.
        !          3990: 
        !          3991: commit e7ed9ecba77162b4c09f34354378b0e752b9078e
        !          3992: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          3993: Date:   Tue Aug 22 14:03:38 2017 +0200
        !          3994: 
        !          3995:     Client: Fix include
        !          3996: 
        !          3997: commit 080d9e4ce25f8f14e61ba0a81d5385bf8de3e48f
        !          3998: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          3999: Date:   Thu Aug 10 14:35:14 2017 +0200
        !          4000: 
        !          4001:     Nicer log output
        !          4002:     
        !          4003:     non-primary is ugly, just omit it (and use primary in the other case).
        !          4004: 
        !          4005: commit 5699a2036cfb32cb3a683814f83242eb21e40d02
        !          4006: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          4007: Date:   Thu Aug 10 13:06:05 2017 +0200
        !          4008: 
        !          4009:     Less confusing log message
        !          4010:     
        !          4011:     A non-primary address isn't necessarily secondary, that's an independent
        !          4012:     flag.
        !          4013: 
        !          4014: commit 15a4421f9cb2c077cc484e3cda94e8710a1d68f5
        !          4015: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          4016: Date:   Thu Aug 10 12:32:30 2017 +0200
        !          4017: 
        !          4018:     Fix bird.conf example
        !          4019:     
        !          4020:     Make it syntactically correct, so it is accepted.
        !          4021: 
        !          4022: commit 9b776458efdfae0c30b97f3670a1f4646221f072
        !          4023: Author: Michal 'vorner' Vaner <vorner@vorner.cz>
        !          4024: Date:   Wed Aug 9 13:39:20 2017 +0200
        !          4025: 
        !          4026:     Gitignore: File created by autoreconf
        !          4027: 
        !          4028: commit da390bb11c8efc70767fc4b6d00bebf558d3b00f
        !          4029: Author: Michal 'vorner' Vaner <vorner@vorner.cz>
        !          4030: Date:   Wed Aug 9 13:35:55 2017 +0200
        !          4031: 
        !          4032:     Drop stale TODO
        !          4033:     
        !          4034:     A TODO file last updated 5 years ago is useless.
        !          4035: 
        !          4036: commit 69f73992477a0e29f939f9e2722f705c4ad72a38
        !          4037: Merge: 5a41eed b3fae3a
        !          4038: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4039: Date:   Wed Aug 9 12:46:27 2017 +0200
        !          4040: 
        !          4041:     Merge branch 'master' into int-new
        !          4042: 
        !          4043: commit b3fae3a81796b6deea48445402793660fade5eb6
        !          4044: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4045: Date:   Wed Aug 9 12:41:44 2017 +0200
        !          4046: 
        !          4047:     RAdv: Fix typo
        !          4048: 
        !          4049: commit 1f182675c816e4708312f99dd817fb894f3a90b3
        !          4050: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          4051: Date:   Tue Aug 8 14:40:51 2017 +0200
        !          4052: 
        !          4053:     RAdv: Style updates
        !          4054:     
        !          4055:     Adapt the naming conventions to be a bit closer to the other protocols.
        !          4056:     
        !          4057:     proto_radv -> radv_proto
        !          4058:     struct radv_proto *ra -> struct radv_proto *p
        !          4059:     struct proto *p -> struct proto *P
        !          4060: 
        !          4061: commit 5a41eed26d1b12861ba0ecddcd7cade335d2a192
        !          4062: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          4063: Date:   Tue Aug 8 14:40:51 2017 +0200
        !          4064: 
        !          4065:     RAdv: Style updates
        !          4066:     
        !          4067:     Adapt the naming conventions to be a bit closer to the other protocols.
        !          4068:     
        !          4069:     proto_radv -> radv_proto
        !          4070:     struct radv_proto *ra -> struct radv_proto *p
        !          4071:     struct proto *p -> struct proto *P
        !          4072: 
        !          4073: commit 637ed49868c56c0e05467f0e0ddb6aa1231deaa4
        !          4074: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          4075: Date:   Fri Aug 4 10:52:57 2017 +0200
        !          4076: 
        !          4077:     radv: Fix RFC reference in comments
        !          4078: 
        !          4079: commit afd9845e2636146a66508639614a93167d5d1728
        !          4080: Author: Michal 'vorner' Vaner <michal.vaner@nic.cz>
        !          4081: Date:   Fri Aug 4 10:52:57 2017 +0200
        !          4082: 
        !          4083:     radv: Fix RFC reference in comments
        !          4084: 
        !          4085: commit b4a33e21ea3a8d23dee3ed23a515cc7430a38643
        !          4086: Author: Martin Mares <mj@ucw.cz>
        !          4087: Date:   Tue Jul 18 23:48:25 2017 +0200
        !          4088: 
        !          4089:     Configure: Fix a typo in checking of backtrace()
        !          4090: 
        !          4091: commit a1f5e514ef091b82754f38f0e583af40778c7d97
        !          4092: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4093: Date:   Tue Jul 4 23:36:21 2017 +0200
        !          4094: 
        !          4095:     Implement onlink flag for nexthops
        !          4096:     
        !          4097:     Add proper support for per-nexthop onlink flag in routes to handle next
        !          4098:     hop addresses that are not covered by interface IP ranges. Supported by
        !          4099:     kernel and static protocols.
        !          4100:     
        !          4101:     Thanks to Vincent Bernat for the idea.
        !          4102: 
        !          4103: commit e46128fb50e108e8cfdf6bb6e9ab040e00f5dfdc
        !          4104: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4105: Date:   Mon Jun 19 12:46:40 2017 +0200
        !          4106: 
        !          4107:     Filters: Do not clamp EC set values to 16 bit for EC_GENERICs
        !          4108:     
        !          4109:     Thanks to Lennert Buytenhek <buytenh@wantstofly.org> for the patch.
        !          4110: 
        !          4111: commit 5220cb63e34961b097d3bc274e394c0fa946d7d3
        !          4112: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4113: Date:   Wed Jun 14 12:34:43 2017 +0200
        !          4114: 
        !          4115:     Babel: Fix pointer arithmetic in subtlv parsing
        !          4116:     
        !          4117:     The subtlv parsing code was doing byte-based arithmetic with non-void pointers,
        !          4118:     causing it to read beyond the end of the packet.
        !          4119:     
        !          4120:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !          4121: 
        !          4122: commit 145ebfa1df9ad252af61cce01cc0f09db45f7c9d
        !          4123: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4124: Date:   Fri Jun 9 14:33:06 2017 +0200
        !          4125: 
        !          4126:     Babel: Parse sub-TLVs and skip TLVs with mandatory sub-TLV
        !          4127:     
        !          4128:     RFC6126bis formally introduces sub-TLVs to the Babel protocol, including
        !          4129:     mandatory sub-TLVs. This adds support for parsing sub-TLVs to the Babel
        !          4130:     protocol and skips TLVs that contain mandatory sub-TLVs, as per the spec.
        !          4131:     
        !          4132:     For details, see section 4.4 of
        !          4133:     https://tools.ietf.org/html/draft-ietf-babel-rfc6126bis-02
        !          4134:     
        !          4135:     Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for the patch.
        !          4136: 
        !          4137: commit b3c6273efaa15976cc1290f00d5abde4991e184e
        !          4138: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4139: Date:   Fri Jun 9 13:00:20 2017 +0200
        !          4140: 
        !          4141:     Babel: Implement IPv6 prefix compression on outgoing updates
        !          4142:     
        !          4143:     Previously, the Babel protocol would never use prefix compression on outgoing
        !          4144:     updates (but would parse it on incoming ones). This adds compression of IPv6
        !          4145:     addresses of outgoing updates.
        !          4146:     
        !          4147:     The compression only works to the extent that the FIB is walked in lexicographic
        !          4148:     order; i.e. a prefix is only compressed if it shares bytes with the previous
        !          4149:     prefix in the same packet.
        !          4150:     
        !          4151:     Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for the patch.
        !          4152: 
        !          4153: commit 300bd0eb85d14523ea7f0a7a3a4d92184f3c4fb3
        !          4154: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4155: Date:   Fri Jun 9 11:56:20 2017 +0200
        !          4156: 
        !          4157:     Babel: Add documentation for dual-stack operation and options
        !          4158:     
        !          4159:     This updates the documentation for the Babel protocol to mention the fact
        !          4160:     that it now supports dual-stack operation, and adds documentation for the
        !          4161:     new next hop options.
        !          4162:     
        !          4163:     Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for the patch.
        !          4164: 
        !          4165: commit 4324025f981a8f545cc28ab16426ab7c2d1843cd
        !          4166: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4167: Date:   Thu Jun 8 12:18:16 2017 +0200
        !          4168: 
        !          4169:     Babel: Add support for dual-stack IPv4/IPv6 operation
        !          4170:     
        !          4171:     This adds support for dual-stack v4/v6 operation to the Babel protocol.
        !          4172:     Routing messages will be exchanged over IPv6, but IPv4 routes can be
        !          4173:     carried in the messages being exchanged. This matches how the reference
        !          4174:     Babel implementation (babeld) works.
        !          4175:     
        !          4176:     The nexthop address for v4 can be configured per interface, and will
        !          4177:     default to the first available IPv4 address on the given interface. For
        !          4178:     symmetry, a configuration option to configure the IPv6 nexthop address
        !          4179:     is also added.
        !          4180:     
        !          4181:     Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for the patch.
        !          4182: 
        !          4183: commit 801fd81efea5bf51fe459d951e4be95119798b2b
        !          4184: Merge: 7781003 33f7fbc
        !          4185: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4186: Date:   Wed May 31 14:12:03 2017 +0200
        !          4187: 
        !          4188:     Merge branch 'master' into int-new
        !          4189: 
        !          4190: commit 33f7fbc42d0490b27e33275d0fc74d3ef55683e4
        !          4191: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4192: Date:   Wed May 31 13:31:03 2017 +0200
        !          4193: 
        !          4194:     CLI: Fix bug in symbol handling introduced in previous patches
        !          4195: 
        !          4196: commit 77810030d2556e3af659d354a2b3d661f58dd735
        !          4197: Merge: a1dc526 4fec430
        !          4198: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4199: Date:   Tue May 30 14:44:37 2017 +0200
        !          4200: 
        !          4201:     Merge branch 'master' into int-new
        !          4202: 
        !          4203: commit 4fec43067e27c7a6c20a6ef9909bef0238984a64
        !          4204: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4205: Date:   Tue May 30 14:43:49 2017 +0200
        !          4206: 
        !          4207:     Workaround for older bisons
        !          4208: 
        !          4209: commit a1dc5267602062562f9adca7acfbbc2fee3b315e
        !          4210: Merge: 4b2aef8 b7761af
        !          4211: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4212: Date:   Thu May 25 23:37:50 2017 +0200
        !          4213: 
        !          4214:     Merge branch 'master' into int-new
        !          4215: 
        !          4216: commit b7761af34dc4ed3f1bdf874eb85d743b931b0af6
        !          4217: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4218: Date:   Thu May 25 23:30:39 2017 +0200
        !          4219: 
        !          4220:     Conf: Replace keyword and symbol hash table with generic hash table.
        !          4221:     
        !          4222:     The old hash table had fixed size, which makes it slow for config files
        !          4223:     with large number of symbols and symbol lookups. The new one is growing
        !          4224:     according to needs.
        !          4225: 
        !          4226: commit 4b2aef8857a9ac23015e410930d2162d945892f0
        !          4227: Merge: 6aaaa63 c72b660
        !          4228: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4229: Date:   Tue May 23 18:45:33 2017 +0200
        !          4230: 
        !          4231:     Merge branch 'master' into int-new
        !          4232: 
        !          4233: commit c72b660b7423b0fb687794b722884cd6e5e6c562
        !          4234: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4235: Date:   Tue May 23 18:39:20 2017 +0200
        !          4236: 
        !          4237:     Client: Fix isspace() calls
        !          4238:     
        !          4239:     Function isspace() expects to get *unsigned* chars (encoded as ints),
        !          4240:     not that it matters for plain ASCII.
        !          4241: 
        !          4242: commit 6aaaa63519c88c872f15dcc639643103b563b1c6
        !          4243: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4244: Date:   Tue May 23 17:22:53 2017 +0200
        !          4245: 
        !          4246:     Change parser to handle numbers as unsigned
        !          4247:     
        !          4248:     Lexer always parsed numbers as unsigned, but parser handled them as
        !          4249:     signed and grammar contained many unnecessary checks for negativity.
        !          4250: 
        !          4251: commit 0705a1c5658c2682c915007f466f55d2a8f7ec14
        !          4252: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          4253: Date:   Thu Jun 30 15:04:49 2016 +0200
        !          4254: 
        !          4255:     Add a hint for an invalid IP prefix
        !          4256:     
        !          4257:     bird> eval 200.210.220.0/16
        !          4258:     Invalid IPv4 prefix 200.210.220.0/16, maybe you wanted 200.210.0.0/16
        !          4259:     
        !          4260:     bird> eval 1000:2000::/8
        !          4261:     Invalid IPv6 prefix 1000:2000::/8, maybe you wanted 1000::/8
        !          4262: 
        !          4263: commit 734e9fb8a933898cd3396786c06728bce6a754e5
        !          4264: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4265: Date:   Tue May 23 13:12:25 2017 +0200
        !          4266: 
        !          4267:     Minor cleanups and fixes
        !          4268: 
        !          4269: commit bb7aa06a48f52813a019861a0e06ce9fe4d20c4b
        !          4270: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4271: Date:   Fri May 19 00:33:52 2017 +0200
        !          4272: 
        !          4273:     Fix type mixing in flowspec formatting
        !          4274:     
        !          4275:     Variable of u64 type was passed to vararg function as uint.
        !          4276: 
        !          4277: commit e521150b8f6bed678527da1cf96e75026b86fe4f
        !          4278: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4279: Date:   Thu May 18 14:51:36 2017 +0200
        !          4280: 
        !          4281:     Fix VPN-RD parsing on 32-bit systems
        !          4282:     
        !          4283:     When shift count >= width of type the behavior is undefined.
        !          4284: 
        !          4285: commit 5a9169e152779ac6f99e2eccb79a2a2f6e2c76b2
        !          4286: Merge: 7d5e61a 78e4dac
        !          4287: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4288: Date:   Thu May 18 14:28:03 2017 +0200
        !          4289: 
        !          4290:     Merge branch 'master' into int-new
        !          4291: 
        !          4292: commit 78e4dac993ad018bee98e245f6e858e18cc5db8a
        !          4293: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4294: Date:   Thu May 18 14:26:57 2017 +0200
        !          4295: 
        !          4296:     Fix some forgotten warnings
        !          4297: 
        !          4298: commit 7d5e61a66a3d4ecd004f3aa44a3d1bd3682ccf07
        !          4299: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4300: Date:   Thu May 18 13:29:38 2017 +0200
        !          4301: 
        !          4302:     Fix of the previous fix
        !          4303:     
        !          4304:     Avoid empty macro argument to avoid default behavior.
        !          4305: 
        !          4306: commit 271fa063a3e2078d7a046146ac2da3718b080cfa
        !          4307: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4308: Date:   Thu May 18 12:05:09 2017 +0200
        !          4309: 
        !          4310:     Fix minor bug in configure script
        !          4311:     
        !          4312:     Space in action branch breaks build on some platforms.
        !          4313: 
        !          4314: commit 9b701e69cc812260788eced3370c7e65cd0e25fe
        !          4315: Merge: d19617f d6e01ff
        !          4316: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4317: Date:   Wed May 17 17:37:27 2017 +0200
        !          4318: 
        !          4319:     Merge branch 'master' into int-new
        !          4320: 
        !          4321: commit d6e01ff90024fcee259eb145f38a0f5b000e4798
        !          4322: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4323: Date:   Wed May 17 17:30:23 2017 +0200
        !          4324: 
        !          4325:     Fix of the previous commit
        !          4326: 
        !          4327: commit dab6706abad3be5b8efd44fe860689df44d20e83
        !          4328: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4329: Date:   Wed May 17 17:03:36 2017 +0200
        !          4330: 
        !          4331:     History lib may be integrated to Readline lib
        !          4332: 
        !          4333: commit 81edd3b3a78265b87c2ec6100dce852db5f40d2b
        !          4334: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4335: Date:   Wed May 17 16:05:07 2017 +0200
        !          4336: 
        !          4337:     Fix build on systems with dirty headers
        !          4338: 
        !          4339: commit d19617f06b4526bccc2fc5e5e15c43c754b99a4d
        !          4340: Merge: 144c10f 3187478
        !          4341: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4342: Date:   Wed May 17 14:50:00 2017 +0200
        !          4343: 
        !          4344:     Merge remote-tracking branch 'origin/int-new' into int-new
        !          4345: 
        !          4346: commit 144c10fad1ed6a2520abd1c43501ce00ea2699db
        !          4347: Merge: 1c5b4c5 a01e951
        !          4348: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4349: Date:   Wed May 17 14:38:04 2017 +0200
        !          4350: 
        !          4351:     Merge branch 'master' into int-new
        !          4352: 
        !          4353: commit a01e951d0fa452fea10a9faca0fbdc9c7cacff23
        !          4354: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4355: Date:   Wed May 17 13:17:40 2017 +0200
        !          4356: 
        !          4357:     One more configure cleanup
        !          4358:     
        !          4359:     Simplify BIRD client library checks, add proper devel header checks and
        !          4360:     prefer dependency on just tinfo than full ncurses.
        !          4361: 
        !          4362: commit 31874783c44dd59c355921908016f9b42d22ef02
        !          4363: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4364: Date:   Tue May 16 15:47:41 2017 +0200
        !          4365: 
        !          4366:     Client: manipulate history only if interactive
        !          4367: 
        !          4368: commit 05d47bd53e71480f1b276bd895f1c25088201e48
        !          4369: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4370: Date:   Tue May 16 14:31:16 2017 +0200
        !          4371: 
        !          4372:     Linpool: default allocation size
        !          4373: 
        !          4374: commit b880e3ffaea12c3231975157bc51b5f90a2f2433
        !          4375: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4376: Date:   Tue May 16 10:35:10 2017 +0200
        !          4377: 
        !          4378:     Bird readline client saves its history.
        !          4379: 
        !          4380: commit 1c5b4c5d5b937fe6bbc3a599296e40a05f022b33
        !          4381: Merge: fd1f355 b845ea0
        !          4382: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4383: Date:   Tue May 16 14:18:25 2017 +0200
        !          4384: 
        !          4385:     Merge branch 'master' into int-new
        !          4386: 
        !          4387: commit b845ea097c285f17641d60df3dea4d3e820a1475
        !          4388: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4389: Date:   Thu May 11 01:29:39 2017 +0200
        !          4390: 
        !          4391:     Remove autoconf macros for time_t and alignment
        !          4392:     
        !          4393:     Replaced by constant compile-time expressions. CPU_STRUCT_ALIGN is not
        !          4394:     really correct, but is consistent with the old behavior.
        !          4395: 
        !          4396: commit b81a73d1fbddda4c319899910d751215ff3d29ca
        !          4397: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4398: Date:   Tue May 9 18:58:22 2017 +0200
        !          4399: 
        !          4400:     Minor autoconf cleanups
        !          4401:     
        !          4402:     Make indentation and quotation consistent in configure macros.
        !          4403:     Also remove --with-sysinclude option, which was broken for 7 years
        !          4404:     and nobody complained.
        !          4405:     
        !          4406:     Thanks to Ruben Kerkhof for source patches.
        !          4407: 
        !          4408: commit e40542ef3a415d163a5ff5fee26c888fead79fa6
        !          4409: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4410: Date:   Tue May 9 16:46:41 2017 +0200
        !          4411: 
        !          4412:     Minor autoconf cleanup and documentation update
        !          4413: 
        !          4414: commit c253ec3a9c45cfce3661f38bc2f5156d4bdd7969
        !          4415: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4416: Date:   Tue May 9 13:44:02 2017 +0200
        !          4417: 
        !          4418:     Some more autoconf cleanups
        !          4419:     
        !          4420:     Replace integer type width detection with C99 fixed-width types.
        !          4421:     Also remove some unused or obsolete code.
        !          4422:     
        !          4423:     Thanks to Ruben Kerkhof for the patchset.
        !          4424: 
        !          4425: commit f8d44b01df5d93681e116ccbff39cc4618632825
        !          4426: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4427: Date:   Mon May 15 12:10:51 2017 +0200
        !          4428: 
        !          4429:     Nest: split route show into separate file
        !          4430: 
        !          4431: commit fd1f355b7b24f354f7d57f127911b4fd98354b34
        !          4432: Merge: 525a88d 7165257
        !          4433: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4434: Date:   Tue May 9 17:37:38 2017 +0200
        !          4435: 
        !          4436:     Merge branch 'master' into int-new
        !          4437: 
        !          4438: commit 71652572e35bfeea2f346b7c700a3050bf27e466
        !          4439: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4440: Date:   Tue May 9 16:46:41 2017 +0200
        !          4441: 
        !          4442:     Minor autoconf cleanup and documentation update
        !          4443: 
        !          4444: commit 525a88d87930d01d4301e2723dda3dca208cd3d4
        !          4445: Merge: 95639d9 5d6dc93
        !          4446: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4447: Date:   Tue May 9 14:07:14 2017 +0200
        !          4448: 
        !          4449:     Merge branch 'master' into int-new
        !          4450: 
        !          4451: commit 5d6dc93043a0bc77b1e0a71ea8dfe15325024b45
        !          4452: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4453: Date:   Tue May 9 13:44:02 2017 +0200
        !          4454: 
        !          4455:     Some more autoconf cleanups
        !          4456:     
        !          4457:     Replace integer type width detection with C99 fixed-width types.
        !          4458:     Also remove some unused or obsolete code.
        !          4459:     
        !          4460:     Thanks to Ruben Kerkhof for the patchset.
        !          4461: 
        !          4462: commit 95639d957758cba04aeec7ef319c2de2a5ff52da
        !          4463: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4464: Date:   Wed May 3 12:56:17 2017 +0200
        !          4465: 
        !          4466:     Device: Fix option 'primary'
        !          4467: 
        !          4468: commit 8e25f7d229fcb6591e9cd96d3cc61767b3c8dea7
        !          4469: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4470: Date:   Sat Apr 29 22:14:36 2017 +0200
        !          4471: 
        !          4472:     One last update to NEWS and example
        !          4473: 
        !          4474: commit 92a85089b887a91d0b686cd050ac59bb465c602f
        !          4475: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4476: Date:   Sat Apr 29 21:49:13 2017 +0200
        !          4477: 
        !          4478:     NEWS and version update
        !          4479: 
        !          4480: commit b644a490f03d27e0bd8ce5106f6205d122b16191
        !          4481: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4482: Date:   Sat Apr 29 18:37:51 2017 +0200
        !          4483: 
        !          4484:     BSD: Fix address scan on OpenBSD
        !          4485: 
        !          4486: commit 1d21306785392e997099362fbc863b050fe359da
        !          4487: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4488: Date:   Sat Apr 29 00:36:35 2017 +0200
        !          4489: 
        !          4490:     Minor fixes
        !          4491: 
        !          4492: commit e919601aaf29615edb2a231e58a358c2c5c9d286
        !          4493: Merge: 5ca4bd5 33b6c29
        !          4494: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4495: Date:   Fri Apr 28 11:19:12 2017 +0200
        !          4496: 
        !          4497:     Merge master into int-new
        !          4498: 
        !          4499: commit 5ca4bd5d9018bb7572f10825e1ca431444601be7
        !          4500: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4501: Date:   Wed Apr 26 17:13:45 2017 +0200
        !          4502: 
        !          4503:     Flowspec: Max tcp mask length is 12 bits
        !          4504: 
        !          4505: commit a1de692a6999106c645a7b28d4124b68f63bd6f5
        !          4506: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4507: Date:   Wed Apr 26 14:38:19 2017 +0200
        !          4508: 
        !          4509:     Doc: BIRD example update
        !          4510: 
        !          4511: commit 751fb2366ce6c9ebe70fb6ef769608dd34e736e7
        !          4512: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4513: Date:   Wed Apr 26 14:11:28 2017 +0200
        !          4514: 
        !          4515:     Test: Fix broken test for filters
        !          4516: 
        !          4517: commit 69fddac0525b1b0c940d778a161ed3a0a742ed6f
        !          4518: Merge: 93a3661 b294999
        !          4519: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4520: Date:   Wed Apr 26 12:30:22 2017 +0200
        !          4521: 
        !          4522:     Merge branch 'int-new' of gitlab.labs.nic.cz:labs/bird into int-new
        !          4523: 
        !          4524: commit 93a3661c15c612e1de807524649482765b2c2702
        !          4525: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4526: Date:   Wed Apr 26 12:26:14 2017 +0200
        !          4527: 
        !          4528:     Flowspec: split net_format_flowspec into several functions
        !          4529: 
        !          4530: commit 2af807a83f6aa120b9d0b7b68dc04e543840e2e6
        !          4531: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4532: Date:   Wed Apr 26 12:19:39 2017 +0200
        !          4533: 
        !          4534:     Test: fixed broken test for VPN RD output
        !          4535: 
        !          4536: commit a2fd34f81fe4259d5ef27f1684177753a03f0f90
        !          4537: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4538: Date:   Wed Apr 26 10:53:48 2017 +0200
        !          4539: 
        !          4540:     Debug: Add a Makefile rule for assembler intermediates.
        !          4541:     
        !          4542:     The main Makefile rules directly compile to object files;
        !          4543:     this target is only for debug purposes.
        !          4544: 
        !          4545: commit b29499996bbc1612a63a7e715bb53a8abf0940e3
        !          4546: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4547: Date:   Tue Apr 25 19:02:31 2017 +0200
        !          4548: 
        !          4549:     Nest: Update of show route cmd
        !          4550:     
        !          4551:     Some code cleanup, multiple bugfixes, allows to specify also channel
        !          4552:     for 'show route export'. Interesting how such apparenty simple thing
        !          4553:     like show route cmd has plenty of ugly corner cases.
        !          4554: 
        !          4555: commit 6f535924ebbb5a08d96c4a8d0cf0984b130a0995
        !          4556: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4557: Date:   Thu Apr 6 17:16:49 2017 +0200
        !          4558: 
        !          4559:     Filter: Fix reconfiguration of roa_check()
        !          4560: 
        !          4561: commit 4278abfe272de64556c4d6df19efc0c853527851
        !          4562: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4563: Date:   Wed Apr 5 16:16:04 2017 +0200
        !          4564: 
        !          4565:     Check validity of dest w.r.t. net_type
        !          4566:     
        !          4567:     Allow to define static roa/flow routes without dest.
        !          4568: 
        !          4569: commit 3484cb9a654cab9bd2c2b1164528d3000a22a79e
        !          4570: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4571: Date:   Tue Apr 18 13:45:50 2017 +0200
        !          4572: 
        !          4573:     Client: separate config syntax structure for "show route for"
        !          4574: 
        !          4575: commit 7ee07a3c3966ec787bcb7e5100c1add4abef9213
        !          4576: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4577: Date:   Wed Apr 5 15:11:10 2017 +0200
        !          4578: 
        !          4579:     Nest: Fix route lookup
        !          4580: 
        !          4581: commit 97e48b6a18142d1aa11e909d094812f3fff4ea61
        !          4582: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4583: Date:   Wed Apr 5 14:26:37 2017 +0200
        !          4584: 
        !          4585:     Adding also our copy of struct rtvia.
        !          4586: 
        !          4587: commit 54635f435a76ad0f3141b09a9c5072f6e2e8c319
        !          4588: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4589: Date:   Wed Apr 5 14:15:43 2017 +0200
        !          4590: 
        !          4591:     Include local lwtunnel.h unless found in system
        !          4592: 
        !          4593: commit 711d617dc106a8af34c6c8f3500f337a792f1f3d
        !          4594: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4595: Date:   Thu Mar 30 14:00:08 2017 +0200
        !          4596: 
        !          4597:     BGP: Add support for SAFI 129 (VPN multicast)
        !          4598:     
        !          4599:     Which, in contrast to SAFI 128, does not use MPLS labels.
        !          4600: 
        !          4601: commit ffb38dfb8b454dc23cd08836d7236a5a9c9f80c1
        !          4602: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4603: Date:   Thu Mar 30 13:29:34 2017 +0200
        !          4604: 
        !          4605:     Static: Support for dual-AF IGP tables
        !          4606:     
        !          4607:     When recursive routes with hybrid next hops (e.g. IPv6 route with IPv4 next
        !          4608:     hop) are allowed, we need both IPv4 and IPv6 IGP tables.
        !          4609: 
        !          4610: commit 2faf519cf9d34f90d59081ee5f8d6976c62f4f6e
        !          4611: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4612: Date:   Thu Mar 30 13:52:01 2017 +0200
        !          4613: 
        !          4614:     Client: multitable version of show route
        !          4615: 
        !          4616: commit bff21441dd9b8cd526680e9977f8eceb9912ca6f
        !          4617: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4618: Date:   Wed Mar 29 16:10:00 2017 +0200
        !          4619: 
        !          4620:     Netlink: Change default kernel metric to 32
        !          4621:     
        !          4622:     This avoids collisions with non-BIRD routes in kernel tables.
        !          4623: 
        !          4624: commit ed6100441ec6e95797d3692925b85c627a4e8df1
        !          4625: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4626: Date:   Wed Mar 29 15:55:39 2017 +0200
        !          4627: 
        !          4628:     Netlink: Better handling of an error case
        !          4629: 
        !          4630: commit 6fe11c994151344c38d1b080c3f2e1280b4b2448
        !          4631: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4632: Date:   Wed Mar 29 15:31:04 2017 +0200
        !          4633: 
        !          4634:     BGP: Simplify igp table options
        !          4635: 
        !          4636: commit c49e4a65657e9abff1b94cbfdc7686efe7376a7a
        !          4637: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4638: Date:   Wed Mar 29 13:48:23 2017 +0200
        !          4639: 
        !          4640:     BGP: Update list of supported standards
        !          4641: 
        !          4642: commit 7074be22f1a8a42ec738fd34125e36a732f311a5
        !          4643: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4644: Date:   Tue Mar 28 18:14:32 2017 +0200
        !          4645: 
        !          4646:     Netlink: Fix device route delete
        !          4647: 
        !          4648: commit 5dbeb87ec96157ca95c84d881e014614dd3164a3
        !          4649: Merge: 2282030 d1b8fe9
        !          4650: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4651: Date:   Tue Mar 28 17:35:57 2017 +0200
        !          4652: 
        !          4653:     Merge branch 'int-new' of gitlab.labs.nic.cz:labs/bird into int-new
        !          4654: 
        !          4655: commit 2282030b2a4fb07805a0cd8b82a9aab73b7586d8
        !          4656: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4657: Date:   Tue Mar 28 17:35:32 2017 +0200
        !          4658: 
        !          4659:     Simpler format of VPN RD
        !          4660: 
        !          4661: commit d1b8fe93f018fb272c3a423df1ab13d86c159f00
        !          4662: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4663: Date:   Tue Mar 28 16:05:40 2017 +0200
        !          4664: 
        !          4665:     Netlink: Fix bug in RTA_PRIORITY handling
        !          4666: 
        !          4667: commit ef57b70fa51687865e5823c0af2df2c6de338215
        !          4668: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4669: Date:   Sun Mar 26 19:20:15 2017 +0200
        !          4670: 
        !          4671:     BGP: Support for routes with mixed-AF next hops
        !          4672:     
        !          4673:     Covers IPv4/VPNv4 routes with IPv6 next hop (RFC 5549), IPv6 routes with
        !          4674:     IPv4 next hop (RFC 4798) and VPNv6 routes with IPv4 next hop (RFC 4659).
        !          4675:     Unfortunately it also makes next hop hooks more messy.
        !          4676:     
        !          4677:     Each BGP channel now could have two IGP tables, one for IPv4 next hops,
        !          4678:     the other for IPv6 next hops.
        !          4679: 
        !          4680: commit 01111fc42c461202d427260fb56807eac256e8d5
        !          4681: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4682: Date:   Thu Mar 23 14:10:42 2017 +0100
        !          4683: 
        !          4684:     BGP: Bugfix in VPN NLRI encoding
        !          4685: 
        !          4686: commit 1e37e35c3ea88672c677ea7ac63fe0b9df609b0c
        !          4687: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4688: Date:   Wed Mar 22 15:00:07 2017 +0100
        !          4689: 
        !          4690:     BGP: Support for MPLS labels and VPN SAFI
        !          4691:     
        !          4692:     Basic support for SAFI 4 and 128 (MPLS labeled IP and VPN) for IPv4 and
        !          4693:     IPv6. Should work for route reflector, but does not properly handle
        !          4694:     originating routes with next hop self.
        !          4695:     
        !          4696:     Based on patches from Jan Matejka.
        !          4697: 
        !          4698: commit ead7b8f498ddefc0b7373cbba78f9a7ba1dddaa9
        !          4699: Merge: da3cf9e 61e501d
        !          4700: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4701: Date:   Wed Mar 22 14:54:00 2017 +0100
        !          4702: 
        !          4703:     Merge branch 'nexthop-merged' into int-new
        !          4704: 
        !          4705: commit 61e501da895553abfd2424e56470ab2b457beac4
        !          4706: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4707: Date:   Wed Mar 22 14:53:37 2017 +0100
        !          4708: 
        !          4709:     Filter: Check whether IP is 4 or 6
        !          4710: 
        !          4711: commit 3c74416465d77c0e79eeaaeb988e471663484b5d
        !          4712: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4713: Date:   Fri Mar 17 15:48:09 2017 +0100
        !          4714: 
        !          4715:     Nexthop: Fixed recursive route mpls label merging
        !          4716: 
        !          4717: commit a5d2a34497853a02692a0b8ea812f44d6820a399
        !          4718: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4719: Date:   Tue Mar 14 17:18:50 2017 +0100
        !          4720: 
        !          4721:     Minor cleanups
        !          4722:     
        !          4723:     BTW, 'prefices' is hypercorrection, as 'prefix' is from 'praefixum' with
        !          4724:     plural 'praefixa'.
        !          4725: 
        !          4726: commit 7a855725f2ffde508da0c7ee01dc1bcd6e0a5d93
        !          4727: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4728: Date:   Tue Mar 14 13:46:51 2017 +0100
        !          4729: 
        !          4730:     Some autoconf cleanups
        !          4731:     
        !          4732:     The patch allows to use autoreconf, replaces some long obsolete
        !          4733:     constructs and does some other minor cleanups. Also, the file
        !          4734:     configure.in is renamed to configure.ac, as the old name has been
        !          4735:     deprecated for a long time.
        !          4736:     
        !          4737:     Thanks to Ruben Kerkhof for the patchset.
        !          4738: 
        !          4739: commit 33b6c292c3e3a8972d0b9f43d156aae50db65720
        !          4740: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4741: Date:   Tue Mar 14 12:56:47 2017 +0100
        !          4742: 
        !          4743:     BGP: Allow to specify interface for regular sessions
        !          4744:     
        !          4745:     This may be useful if multple interfaces share the same network range.
        !          4746:     
        !          4747:     Thanks to Fritz Grimpen for the original patch.
        !          4748: 
        !          4749: commit 27f6ba651ebb07201f7964c8f14a254267f0f26a
        !          4750: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4751: Date:   Sat Mar 11 16:21:28 2017 +0100
        !          4752: 
        !          4753:     BGP: Fix bug in ADD_PATH
        !          4754:     
        !          4755:     When a BGP session with ADD_PATH is restarted and the neighbor do not
        !          4756:     announce ADD_PATH capability during reconnect, the accept_ra_types is
        !          4757:     still set to RA_ANY.
        !          4758:     
        !          4759:     Thanks to Lennert Buytenhek for the bugreport
        !          4760: 
        !          4761: commit 8c9986d310c58b26c000375be00be0deb9c2e360
        !          4762: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4763: Date:   Mon Mar 13 13:50:32 2017 +0100
        !          4764: 
        !          4765:     Filters: VPN Route Distinguishers, Prefix Type, Docs Update
        !          4766: 
        !          4767: commit 54334b5667158d4b0af55201f327faeb80c05e0e
        !          4768: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4769: Date:   Thu Mar 9 15:57:54 2017 +0100
        !          4770: 
        !          4771:     Filter: ROA check test and mixed prefix test
        !          4772: 
        !          4773: commit 665be7f6bdbf1fd8dbac45cef533bd4b1df35d4d
        !          4774: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4775: Date:   Wed Mar 8 16:27:18 2017 +0100
        !          4776: 
        !          4777:     Nest: Minor fixes in show route
        !          4778: 
        !          4779: commit 7126cadf80fce1af2bb4aa33f8bcb7c6b5ff1a47
        !          4780: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4781: Date:   Tue Mar 7 18:42:41 2017 +0100
        !          4782: 
        !          4783:     Static: Minor overhaul
        !          4784:     
        !          4785:     The patch fixes several bugs introduced in previous changes, simplifies
        !          4786:     the protocol by handing routes uniformly, introduces asynchronous route
        !          4787:     processing to avoid issues with separate notifications for each next-hop
        !          4788:     in ECMP routes, and makes reconfiguration faster by avoiding quadratic
        !          4789:     complexity.
        !          4790: 
        !          4791: commit 5ffb62dd034db0beab5ef245ad7dd31aadefb2d8
        !          4792: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4793: Date:   Tue Feb 21 14:56:14 2017 +0100
        !          4794: 
        !          4795:     Nest: Allow iface-only neighbors
        !          4796: 
        !          4797: commit da3cf9eae3085d43a2299bae63e6ceb3828856a5
        !          4798: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4799: Date:   Wed Mar 8 17:37:11 2017 +0100
        !          4800: 
        !          4801:     Update OSPF and RIP protocol names and related documentation
        !          4802: 
        !          4803: commit 039a65d0e4f33f8432caae78cd919d2fd2052eea
        !          4804: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4805: Date:   Fri Feb 24 14:05:11 2017 +0100
        !          4806: 
        !          4807:     Nexthop: Fixed hostentry
        !          4808: 
        !          4809: commit 1950a479c020d1972b6007d8ea0f66e3d4f8564a
        !          4810: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4811: Date:   Thu Feb 23 16:32:07 2017 +0100
        !          4812: 
        !          4813:     BGP: Allow exchanging LOCAL_PREF with eBGP peers
        !          4814:     
        !          4815:     Adds option 'allow bgp_local_pref' to override the usual restriction of
        !          4816:     LOCAL_PREF on eBGP sessions.
        !          4817:     
        !          4818:     Thanks to Lennert Buytenhek for the patch.
        !          4819: 
        !          4820: commit 93f50ca31757fc8e416093e0c73681e070294a3d
        !          4821: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4822: Date:   Wed Feb 22 14:02:03 2017 +0100
        !          4823: 
        !          4824:     Nest: names for nhu_state values
        !          4825:     
        !          4826:     It took too much time to analyze what's the meaning of nhu_state values
        !          4827:     so I spent less than the same amount of time documenting it.
        !          4828: 
        !          4829: commit b2b84359abd382c1ec5a266b211276fbae7da0fc
        !          4830: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4831: Date:   Wed Feb 22 12:02:28 2017 +0100
        !          4832: 
        !          4833:     Babel post-merge fixes
        !          4834: 
        !          4835: commit c609d039860f97f400d2cf0e9ca2b4e87b3fd1cc
        !          4836: Merge: 62e6490 2be9218
        !          4837: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4838: Date:   Wed Feb 22 11:58:04 2017 +0100
        !          4839: 
        !          4840:     Merge branch 'int-new' into nexthop-merged
        !          4841: 
        !          4842: commit 2be9218a3b1dfcc8e42c8d118e95f2074d9f7a7c
        !          4843: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4844: Date:   Mon Feb 20 02:28:04 2017 +0100
        !          4845: 
        !          4846:     BGP: Update RFC references
        !          4847: 
        !          4848: commit 62e64905b76b88da72c522eac9276a74f60c9592
        !          4849: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4850: Date:   Mon Feb 20 02:26:45 2017 +0100
        !          4851: 
        !          4852:     Several minor fixes
        !          4853: 
        !          4854: commit 4e379bde60172823452cf96e9c0b6b1737c490f0
        !          4855: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4856: Date:   Sun Feb 19 12:02:39 2017 +0100
        !          4857: 
        !          4858:     BGP: Update RFC references
        !          4859: 
        !          4860: commit 9be12a7d95d668a64922f935057c0b401b58ab75
        !          4861: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4862: Date:   Sun Feb 19 11:25:16 2017 +0100
        !          4863: 
        !          4864:     Doc: Fix RIP example
        !          4865:     
        !          4866:     Thanks to Steve Leung for the bugreport.
        !          4867: 
        !          4868: commit 30c734fc73648e4c43af4f45e68ac2de3d7ddea1
        !          4869: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4870: Date:   Fri Feb 17 22:54:06 2017 +0100
        !          4871: 
        !          4872:     Static: Fix bug in static route filter expressions
        !          4873:     
        !          4874:     During reconfiguration, old and new filter expressions in static routes
        !          4875:     are compared using i_same() function. When filter expressions contain
        !          4876:     function calls, it is necessary that old filter expressions are the
        !          4877:     second argument in i_same(), as it is internally modified by i_same().
        !          4878:     Otherwise pointers to old (and freed) data appear in the config
        !          4879:     structure.
        !          4880:     
        !          4881:     Thanks to Lennert Buytenhek for tracking and reporting the bug.
        !          4882: 
        !          4883: commit c259669fa33ca13b5c6ae60eb8ffa0874ddc01b2
        !          4884: Merge: 82f42ea da65a3d
        !          4885: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4886: Date:   Wed Feb 8 14:34:48 2017 +0100
        !          4887: 
        !          4888:     Merge branch 'master' into int-new
        !          4889: 
        !          4890: commit 82f42ea09176afdb67ab119258d714e8c8e54d12
        !          4891: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4892: Date:   Tue Feb 7 15:55:51 2017 +0100
        !          4893: 
        !          4894:     BGP: Minor cleanups
        !          4895: 
        !          4896: commit da65a3d898fde0ce567782d86919a66e29916ed7
        !          4897: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4898: Date:   Tue Jan 24 15:35:38 2017 +0100
        !          4899: 
        !          4900:     Filter: Fix missing case for !~ operator
        !          4901:     
        !          4902:     Thanks to Vincent Bernat for the patch.
        !          4903: 
        !          4904: commit d8022d26fc64121c3416abfdb4c38fcbaf81c12e
        !          4905: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4906: Date:   Tue Jan 24 02:00:35 2017 +0100
        !          4907: 
        !          4908:     BGP: Partial support for IPv4 routes with IPv6 next hop (RFC 5549)
        !          4909:     
        !          4910:     Mostly capability signalling
        !          4911: 
        !          4912: commit 5509e17d0c1b4e75d5911864f75ba119769e5725
        !          4913: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4914: Date:   Sun Jan 22 16:32:42 2017 +0100
        !          4915: 
        !          4916:     BGP: Support for AS confederations (RFC 5065)
        !          4917: 
        !          4918: commit f6e6c3b5a5997ffc67d96785bbde76bcec072890
        !          4919: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4920: Date:   Tue Jan 17 13:21:25 2017 +0100
        !          4921: 
        !          4922:     Fix IP_HDRINCL usage on FreeBSD 11
        !          4923:     
        !          4924:     FreeBSD 11 changed endianity of ip_len field from host order to network
        !          4925:     order. Also DragonFly BSD allegedly expects network order here.
        !          4926:     
        !          4927:     Thanks to Olivier Cochard-Labbé for the patch.
        !          4928: 
        !          4929: commit f8aad5d5b7601d0500841e57bafa5796cc3156ab
        !          4930: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          4931: Date:   Fri Dec 23 23:03:26 2016 +0100
        !          4932: 
        !          4933:     Minor cleanups
        !          4934: 
        !          4935: commit d311368bc58842552e25744a0aae9a09c42cda9f
        !          4936: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4937: Date:   Tue Feb 9 14:53:29 2016 +0100
        !          4938: 
        !          4939:     VPN4 and VPN6 literals
        !          4940:     
        !          4941:     From now on, protocol static accepts VPN4 and VPN6 addressess.
        !          4942:     With some concerns about VPN6 Route Distinguishers, I finally chose
        !          4943:     to have the same format as for VPN4 (where it is defined by RFC 4364).
        !          4944: 
        !          4945: commit d47c3d64b2733baea756f1bb37ef09f10d7f9644
        !          4946: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4947: Date:   Tue Aug 9 14:47:51 2016 +0200
        !          4948: 
        !          4949:     MPLS: Label stack concatenation for recursive routes
        !          4950: 
        !          4951: commit d14f8c3c45f7e33a7e54ebc0d45bdb0295d70301
        !          4952: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4953: Date:   Fri Mar 4 12:55:50 2016 +0100
        !          4954: 
        !          4955:     Netlink: MPLS routes in kernel
        !          4956:     
        !          4957:     Anyway, Bird is now capable to insert both MPLS routes and MPLS encap
        !          4958:     routes into kernel.
        !          4959:     
        !          4960:     It was (among others) needed to define platform-specific AF_MPLS to 28
        !          4961:     as this constant has been assigned in the linux kernel.
        !          4962:     
        !          4963:     No support for BSD now, it may be added in the future.
        !          4964: 
        !          4965: commit f2010f9c65ca69584c34c762fb3e5e957958478e
        !          4966: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4967: Date:   Mon Jun 13 15:49:53 2016 +0200
        !          4968: 
        !          4969:     Static: Protocol rework wrt. struct nexthop changes; MPLS label support
        !          4970: 
        !          4971: commit 33ad6e0188b56f682a012ca1b782812c96285d51
        !          4972: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4973: Date:   Wed Mar 2 14:37:18 2016 +0100
        !          4974: 
        !          4975:     MPLS: added net_addr_mpls variant of net_addr
        !          4976: 
        !          4977: commit ec5e5d23faa482495c84163c4ae38d9a31bdc00f
        !          4978: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4979: Date:   Fri Jun 10 14:34:41 2016 +0200
        !          4980: 
        !          4981:     Nexthop: Support for label stack in nest
        !          4982: 
        !          4983: commit 5b208e296fed0beddce16188478c5119df610d89
        !          4984: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4985: Date:   Tue Jun 7 11:46:07 2016 +0200
        !          4986: 
        !          4987:     Removing (struct rta)->cast. Never used.
        !          4988: 
        !          4989: commit 4e276a8920ed0496836f002f144943ab42f120f6
        !          4990: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          4991: Date:   Fri May 6 15:48:35 2016 +0200
        !          4992: 
        !          4993:     Merged multipath and single-path data structures.
        !          4994:     
        !          4995:     Dropped struct mpnh and mpnh_*()
        !          4996:     Now struct nexthop exists, nexthop_*(), and also included struct nexthop
        !          4997:     into struct rta.
        !          4998:     
        !          4999:     Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is needed
        !          5000:     to distinguish between these two cases, RTD_DEVICE is equivalent to
        !          5001:     IPA_ZERO(a->nh.gw), RTD_ROUTER is then IPA_NONZERO(a->nh.gw).
        !          5002:     
        !          5003:     From now on, we also explicitely want C99 compatible compiler. We assume
        !          5004:     that this 20-year norm should be known almost everywhere.
        !          5005: 
        !          5006: commit 017da76b729cc36c4a3416995b06386235660f42
        !          5007: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5008: Date:   Wed Dec 21 16:46:47 2016 +0100
        !          5009: 
        !          5010:     NEWS and version update
        !          5011: 
        !          5012: commit 2c33da507046c25d87741fe0ce7947985c8c7a10
        !          5013: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5014: Date:   Tue Dec 20 20:13:08 2016 +0100
        !          5015: 
        !          5016:     Netlink: fix occasional netlink hangs on busy machines
        !          5017: 
        !          5018: commit 256cc8ee0867d7f5314d3a3d7db5429d2bf16b4e
        !          5019: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5020: Date:   Tue Dec 20 17:39:59 2016 +0100
        !          5021: 
        !          5022:     BGP: Report capabilities in show protocols all
        !          5023: 
        !          5024: commit 7d95c44572d79ef15ec8b0220950b4e4374c6bc6
        !          5025: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5026: Date:   Thu Dec 15 15:31:25 2016 +0100
        !          5027: 
        !          5028:     OSPF: Fix ECMP external merging
        !          5029:     
        !          5030:     The variable nfa is not cleaned before each loop iteration and can have
        !          5031:     a wrong value of nfa.nhs_reuse from the previous step.
        !          5032:     
        !          5033:     Thanks to Bernardo Figueiredo for the bugreport and analysis.
        !          5034: 
        !          5035: commit eeba61ccd5d1757fd79fcb0cd42b8dee9f941d7e
        !          5036: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5037: Date:   Tue Dec 13 20:18:11 2016 +0100
        !          5038: 
        !          5039:     Minor cleanups
        !          5040: 
        !          5041: commit 9e7d3a781075b39a7e0f97e63b6f313955daa661
        !          5042: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5043: Date:   Tue Dec 13 17:34:42 2016 +0100
        !          5044: 
        !          5045:     OSPF: Fix net-summary origination combined with stubnet option
        !          5046:     
        !          5047:     Stubnet nodes in OSPF FIB were removed during rt_sync(), but the pointer
        !          5048:     remained in top_hash_entry.nf, so net-summary LSA origination was
        !          5049:     confused, reported 'LSA ID collision' and net-summary LSAs were not
        !          5050:     originated properly.
        !          5051:     
        !          5052:     Thanks to Naveen Chowdary Yerramneni for bugreport and analysis.
        !          5053: 
        !          5054: commit 5e8df049fbf53220735a2eeb6c751e1758869a18
        !          5055: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5056: Date:   Sat Dec 10 00:11:26 2016 +0100
        !          5057: 
        !          5058:     Babel: Update to integrated branch
        !          5059: 
        !          5060: commit 2119ae74c2e3b101bb8c6f5f0413b143d9978c9c
        !          5061: Author: Ondrej Filip <feela@network.cz>
        !          5062: Date:   Wed Dec 7 20:31:12 2016 +0100
        !          5063: 
        !          5064:     Documentation build system fix
        !          5065: 
        !          5066: commit 5546aad260a3e569e86e2fd2b5f613202ac70be3
        !          5067: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5068: Date:   Wed Dec 7 19:56:42 2016 +0100
        !          5069: 
        !          5070:     NEWS and version update
        !          5071: 
        !          5072: commit 66e5dc157af41547f3806a5980183d95ac9bfcd1
        !          5073: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5074: Date:   Wed Dec 7 19:16:02 2016 +0100
        !          5075: 
        !          5076:     Doc: Add MP-BGP example config file
        !          5077: 
        !          5078: commit ac3ad139f648184d44707ab145fde3a03ef5cb6e
        !          5079: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5080: Date:   Wed Dec 7 18:28:07 2016 +0100
        !          5081: 
        !          5082:     BGP: Add support for flowspec (RFC 5575)
        !          5083: 
        !          5084: commit b7605d5c953902b461e5c9e87aa3dfa60ddce5bc
        !          5085: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5086: Date:   Wed Dec 7 17:17:04 2016 +0100
        !          5087: 
        !          5088:     Doc: Example simple config
        !          5089: 
        !          5090: commit c42ecaab8d606ae1362a46210e2bc02dbf6f1476
        !          5091: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5092: Date:   Wed Dec 7 16:27:12 2016 +0100
        !          5093: 
        !          5094:     Tests: Fix build
        !          5095: 
        !          5096: commit a7848dd880a902f465eecd9ed9ea64673548874a
        !          5097: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5098: Date:   Wed Dec 7 16:20:38 2016 +0100
        !          5099: 
        !          5100:     Client: No need for birdlib functions
        !          5101: 
        !          5102: commit 77234bbbde6bc328871af695e4450e6773adbafa
        !          5103: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5104: Date:   Wed Dec 7 15:36:15 2016 +0100
        !          5105: 
        !          5106:     Basic flow specification support (RFC 5575)
        !          5107:     
        !          5108:     Add flow4/flow6 network and rt-table type and operations, config grammar
        !          5109:     and static protocol support.
        !          5110:     
        !          5111:     Squashed flowspec branch from Pavel Tvrdik.
        !          5112: 
        !          5113: commit b94e5e58dbd33f4d2b9d721c51a9c8c4d8f77bea
        !          5114: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5115: Date:   Wed Dec 7 15:35:35 2016 +0100
        !          5116: 
        !          5117:     RPKI: fixed some of the extended warnings
        !          5118: 
        !          5119: commit ad88b94bca78e010357a6c7806e1d5e01701d4a7
        !          5120: Merge: d15b0b0 af62c0f
        !          5121: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5122: Date:   Wed Dec 7 15:30:46 2016 +0100
        !          5123: 
        !          5124:     Merge branch 'int-new-rpki-squashed' (early part) into int-new
        !          5125: 
        !          5126: commit d15b0b0a1b494c14b139d2d28706d82cd6e2f139
        !          5127: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5128: Date:   Wed Dec 7 14:11:28 2016 +0100
        !          5129: 
        !          5130:     BGP redesign
        !          5131:     
        !          5132:     Integrated and extensible BGP with generalized AFI handling,
        !          5133:     support for IPv4+IPv6 AFI and unicast+multicast SAFI.
        !          5134: 
        !          5135: commit af62c0f9f1f6382fe88c8ae5e514f70c0b5b6d05
        !          5136: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5137: Date:   Wed Dec 7 14:15:35 2016 +0100
        !          5138: 
        !          5139:     LibSSH may be switched off together with RPKI
        !          5140: 
        !          5141: commit cdbe1defa4b783715ed29d8d253a55d3efe0b9ed
        !          5142: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5143: Date:   Wed Dec 7 09:13:29 2016 +0100
        !          5144: 
        !          5145:     SSH: Commented quirk based on undocumented behavior of LibSSH
        !          5146: 
        !          5147: commit f7f70bed8f5fd50873f92b6e119de8864c2631a8
        !          5148: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5149: Date:   Wed Dec 7 09:12:06 2016 +0100
        !          5150: 
        !          5151:     Make: upgrade Babel makefiles
        !          5152: 
        !          5153: commit cd6ca9b1f6e5f71667c1fe6027cfb865f1dcebc1
        !          5154: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5155: Date:   Thu Jun 30 14:56:09 2016 +0200
        !          5156: 
        !          5157:     filter/test.conf: add ROA check and operator tests
        !          5158: 
        !          5159: commit e58f8c28d252a9979c07b478091b8d0ef40a9f22
        !          5160: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5161: Date:   Wed Jun 29 12:21:43 2016 +0200
        !          5162: 
        !          5163:     Add `.maxlen' operator to all ROA prefixes in filters
        !          5164:     
        !          5165:     Example:
        !          5166:       bird> eval (1.2.0.0/16 max 20 as 1234).maxlen
        !          5167:       20
        !          5168:     
        !          5169:     Todo: Should be described in user docs
        !          5170: 
        !          5171: commit 69ae5784509d51ee928c99b8b066f68a166bfe18
        !          5172: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5173: Date:   Wed Jun 29 12:08:28 2016 +0200
        !          5174: 
        !          5175:     Add `.asn' operator to all ROA prefixes in filters
        !          5176:     
        !          5177:     Example:
        !          5178:       bird> eval (1.2.0.0/16 max 20 as 1234).asn
        !          5179:       1234
        !          5180:     
        !          5181:     Todo: Should be described in user docs
        !          5182: 
        !          5183: commit f6e8e141df63cd86e344ca659637f23d638d47a2
        !          5184: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5185: Date:   Wed Jun 29 09:56:33 2016 +0200
        !          5186: 
        !          5187:     Check table type at `show route for ...'
        !          5188: 
        !          5189: commit 65d2a88dd2aaef7344cfa62918e3ddf4c72ca50a
        !          5190: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          5191: Date:   Thu Sep 17 17:15:30 2015 +0200
        !          5192: 
        !          5193:     RPKI protocol with one cache server per protocol
        !          5194:     
        !          5195:     The RPKI protocol (RFC 6810) using the RTRLib
        !          5196:     (http://rpki.realmv6.org/) that is integrated inside
        !          5197:     the BIRD's code.
        !          5198:     
        !          5199:     Implemeted transports are:
        !          5200:      - unprotected transport over TCP
        !          5201:      - secure transport over SSHv2
        !          5202:     
        !          5203:     Example configuration of bird.conf:
        !          5204:       ...
        !          5205:       roa4 table r4;
        !          5206:       roa6 table r6;
        !          5207:     
        !          5208:       protocol rpki {
        !          5209:         debug all;
        !          5210:     
        !          5211:         # Import both IPv4 and IPv6 ROAs
        !          5212:         roa4 { table r4; };
        !          5213:         roa6 { table r6; };
        !          5214:     
        !          5215:         # Set cache server (validator) address,
        !          5216:         # overwrite default port 323
        !          5217:         remote "rpki-validator.realmv6.org" port 8282;
        !          5218:     
        !          5219:         # Overwrite default time intervals
        !          5220:         retry   10;         # Default 600 seconds
        !          5221:         refresh 60;         # Default 3600 seconds
        !          5222:         expire 600;         # Default 7200 seconds
        !          5223:       }
        !          5224:     
        !          5225:       protocol rpki {
        !          5226:         debug all;
        !          5227:     
        !          5228:         # Import only IPv4 routes
        !          5229:         roa4 { table r4; };
        !          5230:     
        !          5231:         # Set cache server address to localhost,
        !          5232:         # use default ports tcp => 323 or ssh => 22
        !          5233:         remote 127.0.0.1;
        !          5234:     
        !          5235:         # Use SSH transport instead of unprotected transport over TCP
        !          5236:         ssh encryption {
        !          5237:           bird private key "/home/birdgeek/.ssh/id_rsa";
        !          5238:           remote public key "/home/birdgeek/.ssh/known_hosts";
        !          5239:           user "birdgeek";
        !          5240:         };
        !          5241:       }
        !          5242:       ...
        !          5243: 
        !          5244: commit 2706747f66ab0e7a7f2b8acc6bd7fbd376647258
        !          5245: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5246: Date:   Thu Jun 9 10:11:39 2016 +0200
        !          5247: 
        !          5248:     Client: Includes stdlib.h for malloc()
        !          5249: 
        !          5250: commit 5df4073c81942ea119de90a81431bae71c87157b
        !          5251: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5252: Date:   Wed Nov 30 10:40:57 2016 +0100
        !          5253: 
        !          5254:     filter/test.conf: Minor changes in order of calls
        !          5255: 
        !          5256: commit 0eb7f17d9a5f29ffa8edccf9e2698f3fd70b2f22
        !          5257: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5258: Date:   Wed Nov 30 11:55:33 2016 +0100
        !          5259: 
        !          5260:     nest/a-path.c: Fix description of BS constant (block size)
        !          5261: 
        !          5262: commit bd7958776baede8175505aa6813ffa96f3ec43fa
        !          5263: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5264: Date:   Wed Nov 30 10:21:43 2016 +0100
        !          5265: 
        !          5266:     conf/conf.h: Fix a description of a variable in a structure
        !          5267: 
        !          5268: commit 1b7ddb0ea01aae0be6cb5f89259bad88b5066b1a
        !          5269: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5270: Date:   Wed Nov 30 10:17:23 2016 +0100
        !          5271: 
        !          5272:     conf/conf.c: Revert some includes removing
        !          5273: 
        !          5274: commit 4abe781c27abea5f8dd0e041106ea6511c210cb7
        !          5275: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5276: Date:   Wed Nov 30 10:11:12 2016 +0100
        !          5277: 
        !          5278:     Remove filter/test_bgp_filtering.conf file
        !          5279:     
        !          5280:     It was an example filtering configuration from BIRD's wiki.
        !          5281: 
        !          5282: commit 012a0d6bf8761253c67c40ac236e27b2f6b6ce43
        !          5283: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5284: Date:   Wed Nov 30 10:06:37 2016 +0100
        !          5285: 
        !          5286:     Merge test6.conf IPv6 tests into test.conf
        !          5287: 
        !          5288: commit ed1a908e535e4333b358d83b472453a2ad6d3f51
        !          5289: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5290: Date:   Fri Nov 25 11:51:38 2016 +0100
        !          5291: 
        !          5292:     BGP: Fix memory leak in graceful restart code
        !          5293:     
        !          5294:     Prefix and bucket tables are initialized when entering established state
        !          5295:     but not explicitly freed when leaving it (that is handled by protocol
        !          5296:     restart). With graceful restart, BGP may enter and leave established
        !          5297:     state multiple times without hard protocol restart causing memory leak.
        !          5298: 
        !          5299: commit c39a1cb17e396b9c94eec6af3ac26fd333adc3c6
        !          5300: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5301: Date:   Wed Nov 16 14:05:59 2016 +0100
        !          5302: 
        !          5303:     filter/test.conf: Extend tests
        !          5304: 
        !          5305: commit 0ed1e850913cb9a9b939c616b90312070c65797e
        !          5306: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5307: Date:   Wed Nov 16 13:46:08 2016 +0100
        !          5308: 
        !          5309:     filter/test.conf: Reorder tests
        !          5310:     
        !          5311:     Tests are sorted from trivial tests to more complex tests
        !          5312: 
        !          5313: commit 7dea7ccb1074e83d0c5ea2f667deca1f0c938e72
        !          5314: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5315: Date:   Wed Nov 16 12:18:06 2016 +0100
        !          5316: 
        !          5317:     filter/test.conf: Replace print func with assert and format
        !          5318: 
        !          5319: commit 4b135d095860cf861ff47c24a10169faa41fe35a
        !          5320: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5321: Date:   Wed Nov 16 12:15:43 2016 +0100
        !          5322: 
        !          5323:     Birdtest: Add function format in grammar for stringify expression
        !          5324: 
        !          5325: commit bb721f0d6d00bc2d7944640bfaf1cb266060d972
        !          5326: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5327: Date:   Wed Nov 16 12:10:34 2016 +0100
        !          5328: 
        !          5329:     Add lp_strdup function for string duplication on linpool
        !          5330: 
        !          5331: commit 3ec0bedc6077ebd2716f29c68155bab806aaa8d6
        !          5332: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5333: Date:   Wed Nov 16 11:09:55 2016 +0100
        !          5334: 
        !          5335:     Birdtest: Remove bt_assert command from term
        !          5336:     
        !          5337:     The bt_assert function does not return any value, so it was useless to
        !          5338:     have a option in term definition.
        !          5339: 
        !          5340: commit 45ec4ce82a3b82f27ff6c44ad11570606733775e
        !          5341: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5342: Date:   Wed Nov 16 11:03:39 2016 +0100
        !          5343: 
        !          5344:     Lexer: Add a quotation mark back while parsing quotes
        !          5345:     
        !          5346:     Thanks to Ondrej Zajicek for code.
        !          5347: 
        !          5348: commit 261816b0d4f3d4549a4402b95541b82fc7f10a4b
        !          5349: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5350: Date:   Tue Nov 15 16:24:39 2016 +0100
        !          5351: 
        !          5352:     BGP: Cluster list item should be prepended
        !          5353:     
        !          5354:     Commit 3c09af41... changed behavior of int_set_add() from prepend to
        !          5355:     append, which makes more sense for community list, but prepend must be
        !          5356:     used for cluster list. Add int_set_prepend() and use it in cluster list
        !          5357:     handling code.
        !          5358: 
        !          5359: commit 5e3cd0e5b56e6c58cfba4d0d38fbbbed3657889d
        !          5360: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5361: Date:   Fri Nov 11 17:43:09 2016 +0100
        !          5362: 
        !          5363:     Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0
        !          5364: 
        !          5365: commit fa71b268a8d15d579f50d7f4f92e2edb3b431e05
        !          5366: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5367: Date:   Fri Nov 11 17:03:43 2016 +0100
        !          5368: 
        !          5369:     Birdtest: Put hard new lines for strict line width
        !          5370:     
        !          5371:     This patch ensures width of output lines from testing framework (not
        !          5372:     debug output). So output piped lined into file that has default width 80
        !          5373:     cols is now correctly wrapped.
        !          5374: 
        !          5375: commit fd328869cc2510808074591f7b9f1b71c6439ec3
        !          5376: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5377: Date:   Fri Nov 11 17:02:16 2016 +0100
        !          5378: 
        !          5379:     birdtest: Fix no-forked mode in trie_test
        !          5380: 
        !          5381: commit 101c5a50aa9cd46bf4b971586d78d7f9041fb656
        !          5382: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5383: Date:   Wed Nov 9 19:08:25 2016 +0100
        !          5384: 
        !          5385:     Filter: Add long community tests
        !          5386:     
        !          5387:     Based on Pavel Tvrdik's int-test-lc branch.
        !          5388: 
        !          5389: commit 9b0a0ba9e671d9134b93c33ab73ccccb352acafa
        !          5390: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5391: Date:   Wed Nov 9 16:36:34 2016 +0100
        !          5392: 
        !          5393:       Unit Testing for BIRD
        !          5394:     
        !          5395:      - Unit Testing Framework (BirdTest)
        !          5396:      - Integration of BirdTest into the BIRD build system
        !          5397:      - Tests for several BIRD modules
        !          5398:     
        !          5399:      Based on squashed Pavel Tvrdik's int-test branch, updated for
        !          5400:      current int-new branch.
        !          5401: 
        !          5402: commit 8860e991f6650e47cfe6c1af595fe4fe92a4edfd
        !          5403: Merge: cc5b93f c8cafc8
        !          5404: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5405: Date:   Tue Nov 8 19:27:58 2016 +0100
        !          5406: 
        !          5407:     Merge branch 'master' into int-new
        !          5408: 
        !          5409: commit c8cafc8ebb5320ac7c6117c17e6460036f0fdf62
        !          5410: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5411: Date:   Tue Nov 8 17:46:29 2016 +0100
        !          5412: 
        !          5413:     Minor code cleanups
        !          5414: 
        !          5415: commit cc5b93f72db80abd1262a0a5e1d8400ceef54385
        !          5416: Merge: 5de0e84 f51b1f5
        !          5417: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5418: Date:   Tue Nov 8 17:03:31 2016 +0100
        !          5419: 
        !          5420:     Merge tag 'v1.6.2' into int-new
        !          5421: 
        !          5422: commit 920a86e8493fe25008f084f67f368aea9b197efd
        !          5423: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5424: Date:   Thu Nov 3 09:53:53 2016 +0100
        !          5425: 
        !          5426:     Add missing extern
        !          5427: 
        !          5428: commit e03dc6a984555e3c943735d50376cada2220bac8
        !          5429: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5430: Date:   Sun Oct 30 23:51:23 2016 +0100
        !          5431: 
        !          5432:     BFD: Authentication
        !          5433:     
        !          5434:     Implement BFD authentication (part of RFC 5880). Supports plaintext
        !          5435:     passwords and cryptographic MD5 / SHA-1 authentication.
        !          5436:     
        !          5437:     Based on former commit from Pavel Tvrdik
        !          5438: 
        !          5439: commit 29239ba2bbee3e9ec7d17793b25936a1bfc795ca
        !          5440: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5441: Date:   Thu Oct 27 20:58:21 2016 +0200
        !          5442: 
        !          5443:     OSPF: Use message authentication interface
        !          5444:     
        !          5445:     Based on former commit from Pavel Tvrdik
        !          5446: 
        !          5447: commit 390601f038b69d5de3841c691f92af0fcd088454
        !          5448: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5449: Date:   Wed Oct 26 16:07:45 2016 +0200
        !          5450: 
        !          5451:     RIP: Use message authentication interface
        !          5452:     
        !          5453:     Based on former commit from Pavel Tvrdik
        !          5454: 
        !          5455: commit 64385aee0cc2dfae8297f29ce6724cedf7cc4736
        !          5456: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          5457: Date:   Thu Jan 28 17:05:15 2016 +0100
        !          5458: 
        !          5459:     DOC: Password algorithm option
        !          5460: 
        !          5461: commit 56cb3bedc2634a44ea41587566c2889f5b5f5b5b
        !          5462: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          5463: Date:   Tue Jan 26 16:45:13 2016 +0100
        !          5464: 
        !          5465:     Nest: Add support for MAC algorithms in grammar
        !          5466: 
        !          5467: commit de2a27e255b6ec834d11c005909b28a150c7c0db
        !          5468: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5469: Date:   Tue Oct 25 17:04:17 2016 +0200
        !          5470: 
        !          5471:     Add generic message authentication interface
        !          5472:     
        !          5473:     Add generic interface for generating and verifying MACs (message
        !          5474:     authentication codes). Replace multiple HMAC implementation with
        !          5475:     a generic one.
        !          5476: 
        !          5477: commit 7eec3988758cb4c19a0ab3bf90cab2a4914165be
        !          5478: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5479: Date:   Tue Nov 1 16:18:27 2016 +0100
        !          5480: 
        !          5481:     BSD: Fix build on OpenBSD broken by previous commit
        !          5482: 
        !          5483: commit 3e236955c9369475872b9b86a58502fa777b50b9
        !          5484: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5485: Date:   Fri Oct 14 15:37:04 2016 +0200
        !          5486: 
        !          5487:     Build: switch on -Wextra, get rid of most of the warnings
        !          5488:     
        !          5489:     There are several unresolved -Wmissing-field-initializers on older
        !          5490:     versions of GCC than 5.1, all of them false positive.
        !          5491: 
        !          5492: commit 17fe57d8dcc89aea520788914b252cf49cf060ff
        !          5493: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5494: Date:   Tue Nov 1 11:37:49 2016 +0100
        !          5495: 
        !          5496:     Log: Fix broken syslog name
        !          5497:     
        !          5498:     BIRD passed string from configuration to openlog(), which kept it
        !          5499:     internally. After reconfiguration the old string was freed, therefore
        !          5500:     openlog had invalid copy.
        !          5501:     
        !          5502:     Thanks to Chris Caputo for the original patch.
        !          5503: 
        !          5504: commit 3213273d8261c69a343fcd7d4c9607385dfdbb65
        !          5505: Author: Ondrej Filip <feela@network.cz>
        !          5506: Date:   Thu Oct 27 11:08:28 2016 +0200
        !          5507: 
        !          5508:     IANA assigned a different number to large BGP communities - changed.
        !          5509: 
        !          5510: commit c68e8cd374f16a1d659c80f9ebe503f2dd0d4acb
        !          5511: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5512: Date:   Tue Oct 18 13:06:05 2016 +0200
        !          5513: 
        !          5514:     Filter: Minor formatting changes in test.conf
        !          5515: 
        !          5516: commit 3c09af416939d26c252aa1b339b52fd8f9f8e774
        !          5517: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5518: Date:   Thu Oct 13 16:57:21 2016 +0200
        !          5519: 
        !          5520:     Clist: The add() function will append a new value
        !          5521:     
        !          5522:     The add() function used to prepend a new community to clist, but after
        !          5523:     this fix the add() function appends new community.
        !          5524: 
        !          5525: commit 5fd7dacadc3cd8f91f66cb56e3a9ef81028aa102
        !          5526: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5527: Date:   Thu Oct 13 15:17:41 2016 +0200
        !          5528: 
        !          5529:     Filter: Expand testing of large community sets
        !          5530: 
        !          5531: commit 2e7fb11a6e31324151c6db98df2fe26d2d6cffab
        !          5532: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5533: Date:   Wed Oct 12 14:16:34 2016 +0200
        !          5534: 
        !          5535:     Fixed memory bloating on kernel merge paths together with export filter.
        !          5536:     
        !          5537:     Some memory was being allocated from bad linpool, not from the given one
        !          5538:     as they should.
        !          5539:     
        !          5540:     Thanks to Madhu and Justin Cattle for reporting this.
        !          5541: 
        !          5542: commit 9df52a98e2eae28f219510d4c3d65ec43a50c394
        !          5543: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5544: Date:   Mon Sep 5 11:20:28 2016 +0200
        !          5545: 
        !          5546:     Doc: Change debug to { flag1|flag2|flag3  [, ...] } style
        !          5547:     
        !          5548:     Thanks to Micah Anderson for bug report and Ondrej Zajicek for the idea!
        !          5549: 
        !          5550: commit 9fcb9637b55d234dfedfcb54bd76ed5a9570b7a1
        !          5551: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5552: Date:   Mon Sep 19 16:01:29 2016 +0200
        !          5553: 
        !          5554:     Nest: Remove trailing whitespaces
        !          5555: 
        !          5556: commit 3d28f0145382feddcf7f66c0a20b6c5b3e0edbc9
        !          5557: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5558: Date:   Mon Sep 26 18:05:51 2016 +0200
        !          5559: 
        !          5560:     Doc: Fix deprecated unescaped braces in perl script
        !          5561:     
        !          5562:     This commit should fix warning `make docs'
        !          5563:     
        !          5564:     ./sgml2html bird.sgml Unescaped left brace in regex is deprecated,
        !          5565:       passed through in regex; marked by <-- HERE in m/\\nameurl{ <-- HERE
        !          5566:         (.*)}{(.*)}/ at fmt_latex2e.pl line 287.
        !          5567: 
        !          5568: commit c2564d34af9e01a828c24b0be7f269e5b036b5da
        !          5569: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5570: Date:   Sat Oct 1 12:50:29 2016 +0200
        !          5571: 
        !          5572:     Tree/Trie: Check the end of buffer
        !          5573:     
        !          5574:     We set buffer->pos to buffer->end in function buffer_print() when
        !          5575:     bvsnprintf() failed, so there would be uninitialized memory between
        !          5576:     the old buffer->pos and the current buffer->pos.
        !          5577: 
        !          5578: commit 7935b9d21228dcd1eb95ebcb056b2a815e3e854b
        !          5579: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5580: Date:   Thu Sep 29 18:08:40 2016 +0200
        !          5581: 
        !          5582:     Doc: Add tag for links to RFCs
        !          5583: 
        !          5584: commit 9c20a8b7ae69487397392c720a5e75087c343df1
        !          5585: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5586: Date:   Mon Oct 3 12:35:36 2016 +0200
        !          5587: 
        !          5588:     Doc: Fix inline <htmlurl></htmlurl>
        !          5589:     
        !          5590:     Don't make space before or after link name.
        !          5591: 
        !          5592: commit 963929df021ae54d8ff4cd18ca228932fc89dc13
        !          5593: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5594: Date:   Mon Oct 3 12:04:44 2016 +0200
        !          5595: 
        !          5596:     Doc: Do not use symlinks for files
        !          5597: 
        !          5598: commit 70104ef4fb5f8105422d6eb811a93b68aeae709d
        !          5599: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5600: Date:   Mon Oct 3 11:46:40 2016 +0200
        !          5601: 
        !          5602:     Doc: Generate one-sided version
        !          5603:     
        !          5604:     This removes jumping offset for odd and even pages for binding book.
        !          5605: 
        !          5606: commit f9bd11c337afcc3e95b459e3901a4ca28cb14b85
        !          5607: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5608: Date:   Mon Oct 3 11:39:56 2016 +0200
        !          5609: 
        !          5610:     Doc: Use [table t] or [table name]
        !          5611: 
        !          5612: commit 74d76f6c3877e4a745fb63b55486810322076153
        !          5613: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5614: Date:   Mon Oct 3 11:36:44 2016 +0200
        !          5615: 
        !          5616:     Doc: Fix unnecessary special chars
        !          5617: 
        !          5618: commit f15dc6813870565d01378265ab20e017757af220
        !          5619: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5620: Date:   Mon Oct 3 10:59:43 2016 +0200
        !          5621: 
        !          5622:     Doc: Enable break lines in <tag></tag>
        !          5623: 
        !          5624: commit f5952c7343841fe4b7b63b7a56e95aba104f2e82
        !          5625: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5626: Date:   Mon Oct 3 10:32:28 2016 +0200
        !          5627: 
        !          5628:     Doc: Daemon command-line options alphabet order
        !          5629: 
        !          5630: commit 22558357d45c27583156f8c11412e37ce48a42e0
        !          5631: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5632: Date:   Mon Oct 3 10:22:24 2016 +0200
        !          5633: 
        !          5634:     Doc: Add command-line options --version, --help
        !          5635: 
        !          5636: commit b9864aa87193ac1a5ebbc04d24ec782a1fe9637a
        !          5637: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5638: Date:   Mon Sep 26 18:00:59 2016 +0200
        !          5639: 
        !          5640:     Doc: Add labels to all chapters and options
        !          5641: 
        !          5642: commit a2df7c0303d235f4122969243e9df152a8a16dcb
        !          5643: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5644: Date:   Thu Sep 29 14:05:25 2016 +0200
        !          5645: 
        !          5646:     Doc: Generate clickable PDF
        !          5647: 
        !          5648: commit 9faf72c8cc9a099b41c90ee1822e8bca22fd0596
        !          5649: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5650: Date:   Thu Sep 29 11:20:04 2016 +0200
        !          5651: 
        !          5652:     Doc: Fix whitespaces
        !          5653: 
        !          5654: commit a998836d4bd4df8820e67f51e16d81a5a8dc9e9b
        !          5655: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5656: Date:   Tue Oct 4 23:19:35 2016 +0200
        !          5657: 
        !          5658:     Filter: fix missing separator
        !          5659: 
        !          5660: commit a46e01eeef17a7efe876618623397f60e62afe37
        !          5661: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5662: Date:   Tue Oct 4 12:45:39 2016 +0200
        !          5663: 
        !          5664:     Nest: Fix signedness of large communities
        !          5665: 
        !          5666: commit cec4a73ccb22ed412e87560e4210b6df40832aad
        !          5667: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5668: Date:   Tue Oct 4 00:31:43 2016 +0200
        !          5669: 
        !          5670:     Doc: Documentation for large communities
        !          5671: 
        !          5672: commit 60566c5c804070c145fafd75ef2c17efb489a1eb
        !          5673: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5674: Date:   Sat Oct 1 22:31:01 2016 +0200
        !          5675: 
        !          5676:     Filter: large community sets
        !          5677:     
        !          5678:     Add support for lc sets to filter code. Grammar of (small) community sets
        !          5679:     has to be updated to avoid parser collisions.
        !          5680: 
        !          5681: commit 66dbdbd993115c57acafdb776d2165d0b4a90a45
        !          5682: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5683: Date:   Sat Oct 1 12:50:29 2016 +0200
        !          5684: 
        !          5685:     BGP: Support for large communities
        !          5686:     
        !          5687:     Add support for large communities (draft-ietf-idr-large-community),
        !          5688:     96bit alternative to RFC 1997 communities.
        !          5689:     
        !          5690:     Thanks to Matt Griswold for the original patch.
        !          5691: 
        !          5692: commit f51b1f556595108d53b9f4580bfcb96bfbc85442
        !          5693: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5694: Date:   Thu Sep 29 15:06:19 2016 +0200
        !          5695: 
        !          5696:     NEWS and version update
        !          5697: 
        !          5698: commit 5bf35a9aee448ce7e3493ec7b80c84c8f5f39242
        !          5699: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5700: Date:   Thu Sep 29 13:28:18 2016 +0200
        !          5701: 
        !          5702:     Docs: fix BFD label
        !          5703:     
        !          5704:     BFD headline will appear in Table of Contents again.
        !          5705: 
        !          5706: commit ccd2a3eda24230df550e9880f4340fc6341c8f52
        !          5707: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          5708: Date:   Thu Sep 29 12:00:53 2016 +0200
        !          5709: 
        !          5710:     Kernel socket missing err_hook fix
        !          5711:     
        !          5712:     Thanks to Tim Weippert for bugreport.
        !          5713: 
        !          5714: commit 79e2293ab2abbd92bb3326a95759a4ca32d9af81
        !          5715: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5716: Date:   Thu Sep 22 13:34:56 2016 +0200
        !          5717: 
        !          5718:     NEWS and version update
        !          5719: 
        !          5720: commit 768d5e1058693d2bfb7c3bcbe04306097c3246a0
        !          5721: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5722: Date:   Tue Sep 20 15:13:01 2016 +0200
        !          5723: 
        !          5724:     Add !~ operator to filter grammar
        !          5725: 
        !          5726: commit 75ac3d199d1fd5b199dd753915234b8634c272e5
        !          5727: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          5728: Date:   Wed Sep 21 12:07:59 2016 +0200
        !          5729: 
        !          5730:     Remove cvsignore
        !          5731:     
        !          5732:     We have gitignore
        !          5733: 
        !          5734: commit 6e75d0d27fe85f12a22928e5729465823704281e
        !          5735: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5736: Date:   Mon Sep 19 12:29:56 2016 +0200
        !          5737: 
        !          5738:     KRT: Add krt_scope attribute
        !          5739:     
        !          5740:     Add a new route attribute, krt_scope, to expose the Linux kernel route
        !          5741:     scope. Constants from /etc/iproute2/rt_scopes (prefixed by "ips_") are
        !          5742:     expected to be used with the attribute. Both import and export are
        !          5743:     supported.
        !          5744:     
        !          5745:     Also, the patch fixes device route export to the kernel, by setting link
        !          5746:     scope automatically.
        !          5747: 
        !          5748: commit 292f7858e60b0dffd8c06f6818d90ccf3b34e0b2
        !          5749: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5750: Date:   Thu Sep 8 16:27:40 2016 +0200
        !          5751: 
        !          5752:     Main: Improve BIRD help messages
        !          5753: 
        !          5754: commit 6273fcf072fc5789ebabf4f1acd6fc6c9fa143ee
        !          5755: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5756: Date:   Wed Sep 7 14:58:51 2016 +0200
        !          5757: 
        !          5758:     Add stdlib.h to client/commands.c
        !          5759: 
        !          5760: commit 0f5054f6850c7419933a6337a34263f565663ee3
        !          5761: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5762: Date:   Thu Sep 8 13:45:36 2016 +0200
        !          5763: 
        !          5764:     BFD: Fix invalid read from pollfd array
        !          5765:     
        !          5766:     It is possible that sockets_add() are called between sockets_prepare()
        !          5767:     and sockets_fire() during poll loop in birdloop_main(), so we need to
        !          5768:     use loop->poll_fd.used instead of loop->sock_num to find the last field.
        !          5769: 
        !          5770: commit a290da25a16b7c79d4a7a87f522b4068bca04979
        !          5771: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5772: Date:   Tue Sep 6 17:08:45 2016 +0200
        !          5773: 
        !          5774:     rt-table: Fix kernel protocol export filter memory bug
        !          5775:     
        !          5776:     Kernel protocol calls rt_export_merged(), which used @rte_update_pool for
        !          5777:     temporary allocations, supposing it is called from other functions from
        !          5778:     rt-table.c that handles locking and flushing of the linpool. Therefore,
        !          5779:     linpool was not flushed properly and memory leaked.
        !          5780:     
        !          5781:     Add linpool argument to rt_export_merged() and use @krt_filter_lp when
        !          5782:     called from kernel protocol.
        !          5783:     
        !          5784:     Thanks to Justin Cattle and Alexander Frolkin for the bugreport.
        !          5785:     
        !          5786:     (Commit squashed and updated by Ondrej Zajicek)
        !          5787: 
        !          5788: commit bc00f058154bb4a630d24d64a55b5f181d235c63
        !          5789: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5790: Date:   Tue Sep 6 17:18:15 2016 +0200
        !          5791: 
        !          5792:     Filter: Prefer xmalloc/xfree to malloc/free
        !          5793: 
        !          5794: commit 4adcb9df1bf551cc5fd1145c09af1843fdc4fe85
        !          5795: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5796: Date:   Thu Sep 15 14:59:06 2016 +0200
        !          5797: 
        !          5798:     KRT: Add kernel metric protocol option
        !          5799:     
        !          5800:     Kernel routes with different metrics do not clash with each other,
        !          5801:     therefore using dedicated metric value is a reliable way to avoid
        !          5802:     overwriting routes from other sources (e.g. kernel device routes).
        !          5803:     
        !          5804:     Although kernel route metric could already be set as a route attribute by
        !          5805:     filters, that is not consistent with the way how Linux kernel handles
        !          5806:     route metric - not just a route attribute, but a part of a route key.
        !          5807: 
        !          5808: commit 2feaa6931bfe39eba696b33b0c8aac13d313b223
        !          5809: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5810: Date:   Wed Sep 14 11:40:15 2016 +0200
        !          5811: 
        !          5812:     KRT: Support for IPv6 ECMP
        !          5813:     
        !          5814:     Linux represents IPv6 ECMP routes as a sequence of unipath routes with
        !          5815:     the same prefix. We have to translate between our representation (one
        !          5816:     route with multipath next hop) and the Linux representation in both
        !          5817:     directions.
        !          5818:     
        !          5819:     Proper learning of alien IPv6 ECMP routes still not supported.
        !          5820:     
        !          5821:     Thanks to Mikhail Sennikovskii for the original patch.
        !          5822: 
        !          5823: commit 84cac51a51fc29349077e8cecadf1aed11f9b824
        !          5824: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5825: Date:   Tue Aug 30 17:17:27 2016 +0200
        !          5826: 
        !          5827:     Nest: Keep multipath next hops sorted
        !          5828: 
        !          5829: commit a1839f3c61af66814a8c52b9ad28e59aab4ede0e
        !          5830: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5831: Date:   Wed Aug 31 14:02:41 2016 +0200
        !          5832: 
        !          5833:     KRT: Fix trivial error
        !          5834: 
        !          5835: commit f9f2e280ea4fa1af19d8ce9e54abeb495694c0d5
        !          5836: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5837: Date:   Tue Aug 30 12:43:46 2016 +0200
        !          5838: 
        !          5839:     KRT: Forbid path merging on BSD
        !          5840:     
        !          5841:     We support ECMP routes only on Linux. Exported routes are checked in
        !          5842:     krt_capable(), but a route generated during path merging avoids this
        !          5843:     check.
        !          5844: 
        !          5845: commit 768d013267bd2a52bab70ba6d413f49365fb31e3
        !          5846: Merge: 678c97f d107ef7
        !          5847: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5848: Date:   Tue Aug 23 17:35:26 2016 +0200
        !          5849: 
        !          5850:     Merge remote-tracking branch 'origin/misc-fixes'
        !          5851: 
        !          5852: commit 678c97f21ef15c98546f41647f3244799a37db1f
        !          5853: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5854: Date:   Tue Aug 23 17:33:00 2016 +0200
        !          5855: 
        !          5856:     Minor README update
        !          5857: 
        !          5858: commit d107ef78df2564cba75af1a6dcc9894c4468b207
        !          5859: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5860: Date:   Tue Aug 16 13:02:32 2016 +0200
        !          5861: 
        !          5862:     Whitespace fixes
        !          5863: 
        !          5864: commit dbac8793bd88279fd8956ce42db7bd2230965948
        !          5865: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5866: Date:   Tue Aug 16 10:42:12 2016 +0200
        !          5867: 
        !          5868:     Add link to INSTALL in README file
        !          5869: 
        !          5870: commit 9b3d2464cd6dafdd3021f4513f24d19d56d42d3d
        !          5871: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5872: Date:   Tue Aug 16 10:15:58 2016 +0200
        !          5873: 
        !          5874:     Rewrote README file
        !          5875:     
        !          5876:     * Made structure with headlines,
        !          5877:     * reordered,
        !          5878:     * kicked out 'What is missing' part,
        !          5879:     * Updated content by home page site and user docs
        !          5880: 
        !          5881: commit 671ddd5b05cf35b2ab7b80f1d13641c875f22e77
        !          5882: Author: OndÅ™ej Surý <ondrej@sury.org>
        !          5883: Date:   Tue Aug 16 09:25:50 2016 +0200
        !          5884: 
        !          5885:     Add .gitignore to ignore generated files
        !          5886: 
        !          5887: commit 33d22f0e9e79c387c492d1cf16bdb723ca1d588a
        !          5888: Author: OndÅ™ej Surý <ondrej@sury.org>
        !          5889: Date:   Tue Aug 16 09:24:12 2016 +0200
        !          5890: 
        !          5891:     whitespace fixes
        !          5892: 
        !          5893: commit 61e6725335fbba86175ec770c1e94c5f60e76d5c
        !          5894: Author: OndÅ™ej Surý <ondrej@sury.org>
        !          5895: Date:   Tue Aug 16 09:23:55 2016 +0200
        !          5896: 
        !          5897:     Include <stdint.h> in cf-lex.l to avoid UINTx_MAX redefinition
        !          5898: 
        !          5899: commit 0ea2afe67150661328c93679587740fbd8928b2a
        !          5900: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          5901: Date:   Mon Aug 15 16:16:36 2016 +0200
        !          5902: 
        !          5903:     Adds mailing list address at the top of README file
        !          5904: 
        !          5905: commit 13a31a4001e02ea7c84d26cbeaaa9fea816736f7
        !          5906: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5907: Date:   Wed Jul 20 15:55:45 2016 +0200
        !          5908: 
        !          5909:     Babel: Immediately update hello interval on interface reconfigure
        !          5910:     
        !          5911:     An interface reconfiguration may change both the hello and update
        !          5912:     intervals. An update interval change is immediately put into effect,
        !          5913:     while a hello interval change is not. This also updates the hello
        !          5914:     interval immediately (if the new interval is shorter than the old one),
        !          5915:     and sends a hello to notify peers of the change.
        !          5916:     
        !          5917:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !          5918: 
        !          5919: commit a08a81c6b40dcf07e786b67e5015fc91a44333ca
        !          5920: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5921: Date:   Wed Jul 20 15:31:25 2016 +0200
        !          5922: 
        !          5923:     Netlink: Fix build with older headers missing IFA_FLAGS
        !          5924: 
        !          5925: commit e37d2e3e708db78f9b8f15eb34bb266cfae7bb42
        !          5926: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5927: Date:   Wed Jul 20 15:06:57 2016 +0200
        !          5928: 
        !          5929:     Netlink: Ignore tentative addresses
        !          5930:     
        !          5931:     Ignore tentative IPv6 addresses and wait until finish of Duplicate
        !          5932:     Address Detection (We got notification when an address is no longer
        !          5933:     tentative) to avoid problems when protocols try to use interfaces
        !          5934:     with tentative link-local addresses.
        !          5935:     
        !          5936:     Based on patch from Jan Moskyto Matejka
        !          5937: 
        !          5938: commit 0a21c21112eff1286a0a2a7f7afc812f8d16cfa2
        !          5939: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5940: Date:   Tue Jul 19 15:40:57 2016 +0200
        !          5941: 
        !          5942:     Doc: Fix password ID option description
        !          5943:     
        !          5944:     Thanks to Alexander Velkov for noticing it
        !          5945: 
        !          5946: commit c6ed5a0f9925476714d6b351c61dbce704a4f09d
        !          5947: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5948: Date:   Tue Jul 19 14:38:36 2016 +0200
        !          5949: 
        !          5950:     Babel: Do not maintain feasibility distance for our own routes
        !          5951:     
        !          5952:     We do not need to maintain feasibility distances for our own router
        !          5953:     ID (we ignore the updates anyway). Not doing so makes the routes be
        !          5954:     garbage collected sooner when export filters change.
        !          5955:     
        !          5956:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !          5957: 
        !          5958: commit 0f673666017bfc9c05c9495ae53bc323b9dc6660
        !          5959: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5960: Date:   Tue Jul 19 14:28:53 2016 +0200
        !          5961: 
        !          5962:     Babel: Do not keep an infeasible route as selected
        !          5963:     
        !          5964:     When a route becomes infeasible it should not be kept as selected; this
        !          5965:     is forbidden by section 3.6 of the RFC and prevents subsequent updates
        !          5966:     from the same router ID from replacing it.
        !          5967:     
        !          5968:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !          5969: 
        !          5970: commit 5d6ca220850c615126ea6820f8c05528269feec6
        !          5971: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5972: Date:   Tue Jul 19 14:23:41 2016 +0200
        !          5973: 
        !          5974:     Babel: Send wildcard retractions on shutdown and startup
        !          5975:     
        !          5976:     This makes BIRD send a wildcard retraction on all interfaces before
        !          5977:     shutting down and right after starting up. This helps ensure that
        !          5978:     neighbours will discard the announced routes as soon as possible,
        !          5979:     rather than only after the normal timeout procedures.
        !          5980:     
        !          5981:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !          5982: 
        !          5983: commit ecae2f43f37df642e5098201a0472802e6a70e78
        !          5984: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5985: Date:   Tue Jul 19 13:33:02 2016 +0200
        !          5986: 
        !          5987:     Babel: Rework handling of retractions
        !          5988:     
        !          5989:     An update with wildcard AE and infinite metric should be treated as a
        !          5990:     global retraction of all prefixes announced by that neighbour, per
        !          5991:     section 4.4.9 of the RFC. In addition, router ID and seqno in retraction
        !          5992:     updates should be ignored. This reworks the handling of retractions and
        !          5993:     adjusts the parser to handle all this correctly.
        !          5994:     
        !          5995:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !          5996: 
        !          5997: commit 12640c149976e1eca54d9c22c593d07a27c49d42
        !          5998: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          5999: Date:   Tue Jul 19 12:16:51 2016 +0200
        !          6000: 
        !          6001:     Babel: Documentation updates
        !          6002:     
        !          6003:     This updates the documentation to correctly mention Babel when protocols
        !          6004:     are listed, and adds examples and route attribute documentation to the
        !          6005:     Babel section of the docs.
        !          6006:     
        !          6007:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !          6008: 
        !          6009: commit 321ff8c4049ec6c2fa198858b4a7f1814ce05e39
        !          6010: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6011: Date:   Tue Jul 19 11:57:20 2016 +0200
        !          6012: 
        !          6013:     Babel: Make sure intervals do not overflow
        !          6014:     
        !          6015:     Intervals are carried as 16-bit centisecond values, but kept internally
        !          6016:     in 16-bit second values, which causes a potential for overflow. This adds
        !          6017:     some checks to make sure this does not happen.
        !          6018:     
        !          6019:     Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
        !          6020: 
        !          6021: commit 6887f409f0766c60dd8c3d3fdf01a1d989c090a5
        !          6022: Author: Ondrej Filip <feela@network.cz>
        !          6023: Date:   Sun Jul 17 14:54:52 2016 +0200
        !          6024: 
        !          6025:     Prepare for longer interface names - clean up of the code.
        !          6026: 
        !          6027: commit ea0cb652e91d871e7808e93aa15ef34fc453c4fc
        !          6028: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6029: Date:   Mon Jul 11 20:41:32 2016 +0200
        !          6030: 
        !          6031:     BGP: Fix extended messages
        !          6032:     
        !          6033:     Change attribute length limit to handle extended (64 kB) messages.
        !          6034:     
        !          6035:     Do not mix updates and withdraws (RFC 7606).
        !          6036: 
        !          6037: commit f0b822a831d0f0f593bbedf0a7f15b94c3ca1d43
        !          6038: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6039: Date:   Mon Jul 11 20:22:55 2016 +0200
        !          6040: 
        !          6041:     Log: Fix error handling of debug file open
        !          6042:     
        !          6043:     Logging is not yet initialized, we have to use fprintf() here.
        !          6044:     
        !          6045:     Thanks to Pavel Tvrdik for noticing and debugging it.
        !          6046: 
        !          6047: commit f1f39bb9d8e2260fe181240dd8194b06bdcfb54f
        !          6048: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6049: Date:   Fri Jul 1 11:03:13 2016 +0200
        !          6050: 
        !          6051:     Filter: Fixes reconfiguration with last_nonaggregated operator
        !          6052: 
        !          6053: commit 5de0e848de06a9187046dbc380d9ce6a6f8b21a2
        !          6054: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          6055: Date:   Thu Jun 30 15:00:47 2016 +0200
        !          6056: 
        !          6057:     filter/test.conf: fixes formating
        !          6058: 
        !          6059: commit 775a5a81958e66a69663803dd2e731e3800da9e7
        !          6060: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6061: Date:   Wed Jun 29 14:11:03 2016 +0200
        !          6062: 
        !          6063:     BGP: Skip empty path segments in received AS_PATH
        !          6064:     
        !          6065:     Although RFC 4271 does not forbid empty path segments, they are useless
        !          6066:     and some implementations consider them invalid. It is clarified in RFC 7606,
        !          6067:     specifying that AS_PATH with empty segment is considered malformed.
        !          6068: 
        !          6069: commit 8f01879c5629bd714dfeec968337cfcd4dbe6a87
        !          6070: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6071: Date:   Tue Mar 29 10:37:31 2016 +0200
        !          6072: 
        !          6073:     cppcheck: fix va_end() functions
        !          6074: 
        !          6075: commit 044e123fd34a17b13d7636def38542511f9c6baf
        !          6076: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          6077: Date:   Thu Jun 9 10:11:39 2016 +0200
        !          6078: 
        !          6079:     Client: Includes stdlib.h for malloc()
        !          6080: 
        !          6081: commit 122deb6d5b14f46f3cfb25bf3f5726005d6a3b3e
        !          6082: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6083: Date:   Thu Jun 9 00:30:41 2016 +0200
        !          6084: 
        !          6085:     Filters: Fixes pm_same() w.r.t. ASN ranges and ASN expressions
        !          6086:     
        !          6087:     This is necessary for proper detection of filter changes during
        !          6088:     reconfigurations.
        !          6089: 
        !          6090: commit 18c53c456704f8f0ccbdf6eb8ba5f82cb43aeba7
        !          6091: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          6092: Date:   Thu Apr 7 12:18:57 2016 +0200
        !          6093: 
        !          6094:     Fix declaration of shared global variables async_*
        !          6095:     
        !          6096:     In a header file write it with extern keyword. And in one of the *.c
        !          6097:     file declare it without extern keyword.
        !          6098: 
        !          6099: commit a0fe1944d12771d60986a352552e5f4b306e5f7f
        !          6100: Author: Ondrej Filip <feela@network.cz>
        !          6101: Date:   Wed Jun 8 16:22:44 2016 +0200
        !          6102: 
        !          6103:     Add AS# ranges to bgpmask.
        !          6104: 
        !          6105: commit 90dc0f08434323535f84d64e113dae84675c46b2
        !          6106: Author: Ondrej Filip <feela@network.cz>
        !          6107: Date:   Sat Jun 4 12:38:06 2016 +0200
        !          6108: 
        !          6109:     Small typo in documentation example, submitted by Felix Eckhofer.
        !          6110: 
        !          6111: commit 9dbcb11cb50167e959536e5a564ee9aafae509c6
        !          6112: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6113: Date:   Mon May 30 14:28:22 2016 +0200
        !          6114: 
        !          6115:     Unix IO: Tried to fix strange behavior after POLLHUP or POLLERR.
        !          6116: 
        !          6117: commit 925aa14912329bafff38a9e5a3f675809ff97785
        !          6118: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6119: Date:   Tue May 17 13:19:18 2016 +0200
        !          6120: 
        !          6121:     After-master-merge simple fixes.
        !          6122:     
        !          6123:     BSD lib/setkey.h and lib/sysio.h #include fixes.
        !          6124:     OpenBSD's flex needs -o param without space.
        !          6125:     V6ONLY for SK_IP fix.
        !          6126: 
        !          6127: commit d6f027ef3474bbc93d06865b0031bb6aae4fc031
        !          6128: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6129: Date:   Tue May 17 17:59:38 2016 +0200
        !          6130: 
        !          6131:     Make: Silence echo in verbose mode
        !          6132: 
        !          6133: commit 379f99594086a0934155bd09696938dc39d1802d
        !          6134: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6135: Date:   Tue May 17 16:19:50 2016 +0200
        !          6136: 
        !          6137:     BSD: Fix setkey in int-new branch
        !          6138: 
        !          6139: commit 08b3a24da5bbd1bab09d6a2400cdf7705d5e18a7
        !          6140: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6141: Date:   Tue May 17 15:21:49 2016 +0200
        !          6142: 
        !          6143:     IO: Minor changes in socket AF handing
        !          6144:     
        !          6145:     AF can be specified implicitly by saddr or daddr, flags SKF_V4ONLY and
        !          6146:     SKF_V6ONLY are to be removed.
        !          6147: 
        !          6148: commit 5af7b59660be615fbbd7c20b92b71321c003c43a
        !          6149: Merge: d39d41f b66a9e2
        !          6150: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6151: Date:   Fri May 13 13:48:04 2016 +0200
        !          6152: 
        !          6153:     Merge branch 'int-new' of gitlab.labs.nic.cz:labs/bird into int-new
        !          6154: 
        !          6155: commit d39d41fbda2ec86ea2bac27308eb4fb16ecc4702
        !          6156: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6157: Date:   Fri May 13 13:46:46 2016 +0200
        !          6158: 
        !          6159:     Hash: Fix of previous commit
        !          6160: 
        !          6161: commit b66a9e2f3376b4cb07ef4cc318f70a9c794f407a
        !          6162: Merge: 659f80f 3f2c760
        !          6163: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6164: Date:   Thu May 12 21:47:50 2016 +0200
        !          6165: 
        !          6166:     Merge branch 'master' into int-new
        !          6167: 
        !          6168: commit 659f80f262a83d600d5f095fb8a03e912d3fbe64
        !          6169: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6170: Date:   Thu May 12 21:47:29 2016 +0200
        !          6171: 
        !          6172:     Make int-new compilable again
        !          6173: 
        !          6174: commit 3f2c7600fa2e35b1028c755aa06092b5991e1a8e
        !          6175: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6176: Date:   Thu May 12 21:29:04 2016 +0200
        !          6177: 
        !          6178:     We don't need bvsnprintf() in BIRD client
        !          6179: 
        !          6180: commit 776d6b2c05fe8b14e5ec357eca24fe59c549bfa4
        !          6181: Merge: af678af 54ac0be
        !          6182: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6183: Date:   Thu May 12 18:11:12 2016 +0200
        !          6184: 
        !          6185:     Merge remote-tracking branch 'origin/int-new' into int-new
        !          6186: 
        !          6187: commit af678af0d5c9ef3d8afdc0789b33dd0c40b6d6e5
        !          6188: Merge: 286e201 8e433d6
        !          6189: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6190: Date:   Thu May 12 17:49:12 2016 +0200
        !          6191: 
        !          6192:     Merge remote-tracking branch 'origin/master' into int-new
        !          6193: 
        !          6194: commit 54ac0beceedb9b36eb58dd8599ba903c668382f6
        !          6195: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6196: Date:   Thu May 12 16:16:25 2016 +0200
        !          6197: 
        !          6198:     Hash: fixed rta hashing wrt. structure padding
        !          6199: 
        !          6200: commit 286e2011d22ea6914d5f2db5de3f11911a1fb663
        !          6201: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6202: Date:   Thu May 12 16:04:47 2016 +0200
        !          6203: 
        !          6204:     Miscellaneous minor fixes
        !          6205: 
        !          6206: commit 8e433d6a529a883d566dc1d5a4afe0f1e2750baf
        !          6207: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          6208: Date:   Thu May 12 15:49:44 2016 +0200
        !          6209: 
        !          6210:     Prog Doc: Complete several missing parameters
        !          6211: 
        !          6212: commit fff7498d6a54d4bcce4bd56db7ef3fb28be35578
        !          6213: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          6214: Date:   Thu May 12 13:37:23 2016 +0200
        !          6215: 
        !          6216:     User Doc: Fix several typing error
        !          6217: 
        !          6218: commit 31e9e10144a6994773a04d94903fa3bdde6de91e
        !          6219: Author: Stijn Tintel <stijn@linux-ipv6.be>
        !          6220: Date:   Tue May 10 16:45:35 2016 +0300
        !          6221: 
        !          6222:     netlink: update struct msghdr
        !          6223:     
        !          6224:     The netlink code assumes an order for the members of struct msghdr.
        !          6225:     This breaks recvmsg and sendmsg with musl libc on mips64. Fix this by
        !          6226:     using designated initializers instead.
        !          6227:     
        !          6228:     Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
        !          6229: 
        !          6230: commit 0c6dfe52369a59d7f3da8ee6bc7c505e3da5c064
        !          6231: Merge: 7a7ac65 92912f0
        !          6232: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6233: Date:   Tue May 10 14:30:49 2016 +0200
        !          6234: 
        !          6235:     Merge branch 'int-new' into int-new-merged
        !          6236: 
        !          6237: commit 92912f063a94bd7c743a25628ca2073380e09ef4
        !          6238: Merge: a8caff3 2003a18
        !          6239: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6240: Date:   Tue May 10 14:21:15 2016 +0200
        !          6241: 
        !          6242:     Merge remote-tracking branch 'origin/rte-update' into int-new
        !          6243: 
        !          6244: commit a8caff322f83f1303c408bbefc440aeea9e619a3
        !          6245: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6246: Date:   Wed Apr 27 14:45:14 2016 +0200
        !          6247: 
        !          6248:     Portability: Fixed C extension error generated by CLang.
        !          6249:     
        !          6250:     sysdep/linux/netlink.c:921:10: error: fields must have a constant size:
        !          6251:     'variable length array in structure' extension will never be supported
        !          6252:         char buf[128 + KRT_METRICS_MAX*8 + nh_bufsize(a->nexthops)];
        !          6253:              ^
        !          6254:     1 error generated.
        !          6255: 
        !          6256: commit 7152e5efbb0fade868d5f2d2c7bc10ed52b3d19d
        !          6257: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6258: Date:   Tue Apr 12 11:14:54 2016 +0200
        !          6259: 
        !          6260:     Build system reworked to one global Makefile with includes and no nesting
        !          6261:     
        !          6262:     Also removed the lib-dir merging with sysdep. Updated #include's
        !          6263:     accordingly.
        !          6264:     
        !          6265:     Fixed make doc on recent Debian together with moving generated doc into
        !          6266:     objdir.
        !          6267:     
        !          6268:     Moved Makefile.in into root dir
        !          6269:     
        !          6270:     Retired all.o and birdlib.a
        !          6271:     Linking the final binaries directly from all the .o files.
        !          6272: 
        !          6273: commit f7a99acb4eac23223f51ce83b8081cc9695fef1e
        !          6274: Author: Pavel Tvrdik <pawel.tvrdik@gmail.com>
        !          6275: Date:   Tue May 3 09:32:49 2016 +0200
        !          6276: 
        !          6277:     Initialize variable ifr in sk_setup()
        !          6278:     
        !          6279:     ==00:00:00:02.831 2468== Syscall param socketcall.setsockopt(optval) points to uninitialised byte(s)
        !          6280:     ==00:00:00:02.831 2468==    at 0x513BDEA: setsockopt (in /usr/lib/libc-2.23.so)
        !          6281:     ==00:00:00:02.831 2468==    by 0x45C7AF: sk_setup (io.c:1216)
        !          6282:     ==00:00:00:02.831 2468==    by 0x45CDFF: sk_open (io.c:1417)
        !          6283:     ==00:00:00:02.831 2468==    by 0x44B562: rip_open_socket (packets.c:740)
        !          6284:     ==00:00:00:02.831 2468==    by 0x4481A7: rip_iface_locked (rip.c:616)
        !          6285:     ==00:00:00:02.831 2468==    by 0x4133E4: olock_run_event (locks.c:177)
        !          6286:     ==00:00:00:02.831 2468==    by 0x45A6DE: ev_run (event.c:85)
        !          6287:     ==00:00:00:02.831 2468==    by 0x45A7AD: ev_run_list (event.c:142)
        !          6288:     ==00:00:00:02.831 2468==    by 0x45E0FC: io_loop (io.c:2066)
        !          6289:     ==00:00:00:02.831 2468==    by 0x463B56: main (main.c:845)
        !          6290:     ==00:00:00:02.831 2468==  Address 0xffefffd24 is on thread 1's stack
        !          6291:     ==00:00:00:02.831 2468==  in frame #1, created by sk_setup (io.c:1188)
        !          6292:     ==00:00:00:02.831 2468==  Uninitialised value was created by a stack allocation
        !          6293:     ==00:00:00:02.831 2468==    at 0x45C6BB: sk_setup (io.c:1188)
        !          6294: 
        !          6295: commit 1e3810f9f8e251d82a8157b39df9be196315c43e
        !          6296: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6297: Date:   Fri Apr 29 13:25:46 2016 +0200
        !          6298: 
        !          6299:     Doc: Minor fix
        !          6300: 
        !          6301: commit 52bae25580e6e0edae8384885818044ef89103e3
        !          6302: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6303: Date:   Fri Apr 29 13:07:21 2016 +0200
        !          6304: 
        !          6305:     NEWS and version update
        !          6306: 
        !          6307: commit 937e75d8f1d203b637ba0ea050026f9af92485f3
        !          6308: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6309: Date:   Thu Apr 28 18:01:40 2016 +0200
        !          6310: 
        !          6311:     Add the Babel routing protocol (RFC 6126)
        !          6312:     
        !          6313:     This patch implements the IPv6 subset of the Babel routing protocol.
        !          6314:     Based on the patch from Toke Hoiland-Jorgensen, with some heavy
        !          6315:     modifications and bugfixes.
        !          6316:     
        !          6317:     Thanks to Toke Hoiland-Jorgensen for the original patch.
        !          6318: 
        !          6319: commit a7baa09862e6b4856cd66197c6bd74c7df336b8f
        !          6320: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6321: Date:   Wed Apr 13 14:30:28 2016 +0200
        !          6322: 
        !          6323:     BSD: Add the IPsec SA/SP database entries control
        !          6324:     
        !          6325:     Add code for manipulation with TCP-MD5 keys in the IPsec SA/SP database
        !          6326:     at FreeBSD systems. Now, BGP MD5 authentication (RFC 2385) keys are
        !          6327:     handled automatically on both Linux and FreeBSD.
        !          6328:     
        !          6329:     Based on patches from Pavel Tvrdik.
        !          6330: 
        !          6331: commit 43fc6bb0fb720762f12124076e2241855741ceb5
        !          6332: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6333: Date:   Mon Apr 11 00:41:10 2016 +0200
        !          6334: 
        !          6335:     Documentation update
        !          6336: 
        !          6337: commit e90dd656cc9126e1fbcc45fb77a10bf1baa2a1b5
        !          6338: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6339: Date:   Fri Apr 8 15:10:57 2016 +0200
        !          6340: 
        !          6341:     Direct: Implement check link for direct protocol
        !          6342:     
        !          6343:     When enabled, direct protocol generates routes only if the underlying
        !          6344:     link state is up.
        !          6345: 
        !          6346: commit 2003a1840731bd57365876e48c96c5a1ea0348cb
        !          6347: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6348: Date:   Fri Apr 8 13:08:03 2016 +0200
        !          6349: 
        !          6350:     Route update: move table lookup from protocols into rte_update2().
        !          6351:     
        !          6352:     Many protocols do almost the same when creating a rte_update request
        !          6353:     before calling rte_update2(). This commit should simplify the protocol
        !          6354:     side of the route-creation routine.
        !          6355: 
        !          6356: commit 7a7ac656829223713f9e6bcef63d2b5a5efce7d2
        !          6357: Merge: 4bdf188 06edbb6
        !          6358: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6359: Date:   Fri Apr 8 12:09:31 2016 +0200
        !          6360: 
        !          6361:     Merge branch 'master' into int-new-channels
        !          6362: 
        !          6363: commit f2ae2badff37c008ba8217a12f8ee6dc6a3c5a39
        !          6364: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6365: Date:   Thu Apr 7 12:20:45 2016 +0200
        !          6366: 
        !          6367:     Main: Add local option
        !          6368:     
        !          6369:     Add option that changes default paths for config file and control socket
        !          6370:     to the current working directory.
        !          6371: 
        !          6372: commit 4bdf1881dc6230b742d7efcaad8eeac4ed25f445
        !          6373: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6374: Date:   Mon Apr 4 16:17:11 2016 +0200
        !          6375: 
        !          6376:     Channelize: rt_notify arg conversion table -> channel
        !          6377: 
        !          6378: commit 0c8c8151fc1fb0dbfcd682153f50192ea1369884
        !          6379: Merge: a815d62 1a7daab
        !          6380: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6381: Date:   Thu Apr 7 09:58:31 2016 +0200
        !          6382: 
        !          6383:     Merge branch 'int-new-channels' of gitlab.labs.nic.cz:labs/bird into int-new-channels
        !          6384: 
        !          6385: commit 06edbb67ed807811654e7fd8f0f9b83766430216
        !          6386: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6387: Date:   Thu Apr 7 01:10:24 2016 +0200
        !          6388: 
        !          6389:     Nest: Reset export route counter during graceful restart
        !          6390:     
        !          6391:     Counter exp_routes is increased during initial route feed after GR
        !          6392:     recovery, so it has to start with zero, otherwise BIRD will end with
        !          6393:     double value in exp_routes.
        !          6394: 
        !          6395: commit bd22d7f41d37dec8f7b8b845f6a18c775e66ddfc
        !          6396: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6397: Date:   Wed Apr 6 11:57:28 2016 +0200
        !          6398: 
        !          6399:     IO: Avoid multiple event cycles in one loop cycle.
        !          6400:     
        !          6401:     Event cycle may took too much time and trigger next timer events, so
        !          6402:     avoid cycling between timer and event cycles inside the loop cycle.
        !          6403: 
        !          6404: commit 9e7b3ebdf9556d7464911dd39e862b1c003319b3
        !          6405: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6406: Date:   Wed Apr 6 11:49:34 2016 +0200
        !          6407: 
        !          6408:     IO: Replace RX priority heuristic with explicit mark
        !          6409:     
        !          6410:     In BIRD, RX has lower priority than TX with the exception of RX from
        !          6411:     control socket. The patch replaces heuristic based on socket type with
        !          6412:     explicit mark and uses it for both control socket and BGP session waiting
        !          6413:     to be established.
        !          6414:     
        !          6415:     This should avoid an issue when during heavy load, outgoing connection
        !          6416:     could connect (TX event), send open, but then failed to receive OPEN /
        !          6417:     establish in time, not sending notifications between and therefore
        !          6418:     got hold timer expired error from the neighbor immediately after it
        !          6419:     finally established the connection.
        !          6420: 
        !          6421: commit e86cfd41d975122cc944db68383aef4028da9575
        !          6422: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6423: Date:   Wed Mar 23 18:25:15 2016 +0100
        !          6424: 
        !          6425:     KRT: Fix route learn scan when route changed
        !          6426:     
        !          6427:     When a kernel route changed, function krt_learn_scan() noticed that and
        !          6428:     replaced the route in internal kernel FIB, but after that, function
        !          6429:     krt_learn_prune() failed to propagate the new route to the nest, because
        !          6430:     it confused the new route with the (removed) old best route and decided
        !          6431:     that the best route did not changed.
        !          6432:     
        !          6433:     Wow, the original code (and the bug) is almost 17 years old.
        !          6434: 
        !          6435: commit ea0a8be2ff5afb8385a69cc0df70984e0fd3a570
        !          6436: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6437: Date:   Wed Mar 30 16:21:32 2016 +0200
        !          6438: 
        !          6439:     IO/Poll: fix mistaken variable merge
        !          6440:     
        !          6441:     The events variable is used in the short loop decision. The reasons are
        !          6442:     not much clear, keeping this to keep the former behaviour.
        !          6443: 
        !          6444: commit 54bb032d21d25a2221877e15325e79add10278ec
        !          6445: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6446: Date:   Wed Mar 23 01:45:37 2016 +0100
        !          6447: 
        !          6448:     Birdlib: Modify lists to avoid problems with pointer aliasing rules
        !          6449:     
        !          6450:     The old linked list implementation used some wild typecasts and required
        !          6451:     GCC option -fno-strict-aliasing to work properly. This patch fixes that.
        !          6452:     However, we still keep the option due to other potential problems.
        !          6453:     
        !          6454:     (Commited by Ondrej Santiago Zajicek)
        !          6455: 
        !          6456: commit 665b8e5283df4f64eb44d8fb434489be1474b5d4
        !          6457: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6458: Date:   Tue Mar 22 13:35:40 2016 +0100
        !          6459: 
        !          6460:     Birdlib: Do cleanups after remove/free
        !          6461:     
        !          6462:     To avoid byzantine behavior in case of some errors, linked lists are
        !          6463:     cleared after rem_node() and resource headers are cleared after rfree().
        !          6464: 
        !          6465: commit 39a6b19d6d7e420805bd75783b77bf442745bccb
        !          6466: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6467: Date:   Tue Mar 22 12:51:31 2016 +0100
        !          6468: 
        !          6469:     OSPF: Fix bogus LSA ID collisions between received and originated LSAs
        !          6470:     
        !          6471:     After restart, LSAs locally originated by the previous instance are
        !          6472:     received from neighbors. They are installed to LSA db and flushed. If
        !          6473:     export of a route triggers origination of a new external LSA before flush
        !          6474:     of the received one is complete, the check in ospf_originate_lsa() causes
        !          6475:     origination to fail (because en->nf is NULL for the old LSA and non-NULL
        !          6476:     for the new LSA). The patch fixes this by updating the en->nf for LSAs
        !          6477:     being flushed (as is already done for empty ones). Generally, en->nf
        !          6478:     field deserves some better description in the code.
        !          6479:     
        !          6480:     Thanks to Jigar Mehta for analyzing the problem.
        !          6481: 
        !          6482: commit 0a505706bc909b2625d308ffb2eaed3dc8398538
        !          6483: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6484: Date:   Wed Mar 9 17:51:50 2016 +0100
        !          6485: 
        !          6486:     Minor changes in documentation
        !          6487: 
        !          6488: commit a459f4df16eca156cb7c6def4a758fd89c9fa504
        !          6489: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6490: Date:   Wed Mar 9 17:37:44 2016 +0100
        !          6491: 
        !          6492:     OSPF: Fix reading from freed memory
        !          6493:     
        !          6494:     Thanks to Pavel Tvrdik for noticing it.
        !          6495: 
        !          6496: commit 62a4ad365760afae485ae61c5aab734012545be4
        !          6497: Merge: 9036bbf 9c92f69
        !          6498: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6499: Date:   Tue Mar 22 13:23:55 2016 +0100
        !          6500: 
        !          6501:     Merge remote-tracking branch 'origin/poll'
        !          6502: 
        !          6503: commit 9c92f69272de3795f7289969e815d99a93d0d9b3
        !          6504: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6505: Date:   Fri Mar 18 11:44:28 2016 +0100
        !          6506: 
        !          6507:     Unix: Substituted select -> poll also in congestion checker
        !          6508:     
        !          6509:     It does strange things when even one fd larger than FD_SETSIZE is
        !          6510:     passed to select().
        !          6511: 
        !          6512: commit 9036bbf2b7cc781c87f2a6b3979198f77ec6ada1
        !          6513: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6514: Date:   Tue Mar 15 14:55:40 2016 +0100
        !          6515: 
        !          6516:     RIP: fix typo in configuration at rx length opt
        !          6517: 
        !          6518: commit 79a4f74a65941603cc42680d2e61b00ec88abe97
        !          6519: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6520: Date:   Tue Mar 15 10:29:32 2016 +0100
        !          6521: 
        !          6522:     BGP: Add documentaion for extended messages
        !          6523: 
        !          6524: commit fd926ed4eea319b94bd0e09e093b90846bcb169b
        !          6525: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6526: Date:   Tue Mar 15 14:57:49 2016 +0100
        !          6527: 
        !          6528:     Poll: Prevent the improbable case of EAGAIN after POLLIN
        !          6529: 
        !          6530: commit e1c13a5a7b86f2ba09178300bad960224658c833
        !          6531: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6532: Date:   Wed Mar 9 12:12:02 2016 +0100
        !          6533: 
        !          6534:     Unix: Rework of select-loop to poll-loop
        !          6535:     
        !          6536:     This should lift the limit of FD_SETSIZE and allow more than 1024 fd's.
        !          6537:     FD_SETSIZE limit doesn't matter now when creating new sockets.
        !          6538: 
        !          6539: commit 1a7daab126471374841e41de7f7e590ab22f35c8
        !          6540: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6541: Date:   Wed Mar 9 16:48:28 2016 +0100
        !          6542: 
        !          6543:     cf_error(char *msg, ...) -> cf_error(const char *msg, ...)
        !          6544: 
        !          6545: commit 43fd8fae526cbc62093a32bda572c93fa4055e98
        !          6546: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6547: Date:   Wed Mar 9 11:03:49 2016 +0100
        !          6548: 
        !          6549:     nest/proto fix local_debug mode
        !          6550: 
        !          6551: commit 062d18fdb1f48bf7e3b10907b417d4568ba8cf3f
        !          6552: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6553: Date:   Tue Feb 2 18:14:53 2016 +0100
        !          6554: 
        !          6555:     Fix typo
        !          6556: 
        !          6557: commit ce95af7a5f5159033e569a7ccedce0e20bb5d913
        !          6558: Merge: b25509e e3f506f
        !          6559: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6560: Date:   Thu Feb 25 18:25:53 2016 +0100
        !          6561: 
        !          6562:     Merge branch 'master' of gitlab.labs.nic.cz:labs/bird
        !          6563: 
        !          6564: commit e3f506f9b53bd8e44976df1c935c7ec417793ace
        !          6565: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6566: Date:   Thu Feb 25 18:16:59 2016 +0100
        !          6567: 
        !          6568:     OSPF: Multicast ability is irrelevant for stub interfaces
        !          6569: 
        !          6570: commit b25509e5128e6f2a856cd4a07bb78f3d6b7fc789
        !          6571: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6572: Date:   Wed Jan 20 15:23:17 2016 +0100
        !          6573: 
        !          6574:     All the current pthread implementations are OK and working with us.
        !          6575:     
        !          6576:     No more need to disable pthread for specific BSD's.
        !          6577: 
        !          6578: commit a815d62d5902fb84c28c77726dbe94fc7528bf36
        !          6579: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6580: Date:   Fri Feb 19 15:51:16 2016 +0100
        !          6581: 
        !          6582:     Hash: typecast error fix
        !          6583: 
        !          6584: commit 9c9cc35c0273f8bcae10fb8b546d199514b2bbc5
        !          6585: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6586: Date:   Tue Feb 16 17:33:58 2016 +0100
        !          6587: 
        !          6588:     Filter: Implement last_nonaggregated operator on bgp_path
        !          6589: 
        !          6590: commit c2106b674ca632f7c0bffd7cab4b1940f74d353c
        !          6591: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6592: Date:   Thu Feb 11 21:53:55 2016 +0100
        !          6593: 
        !          6594:     Unix: Fix bug in syslog name handling
        !          6595:     
        !          6596:     Pointer to current_log_name has to be changed even if the name is the
        !          6597:     same, because the old one will be invalid/freed after reconfiguration.
        !          6598: 
        !          6599: commit 487c6961cb29046dbe9560262e3e742e38691b83
        !          6600: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6601: Date:   Thu Feb 11 16:38:28 2016 +0100
        !          6602: 
        !          6603:     BGP: Fix bug in incoming connection handling
        !          6604:     
        !          6605:     When a BGP session was established by an outgoing connection with
        !          6606:     Graceful Restart behavior negotiated, a pending incoming connection in
        !          6607:     OpenSent state, and another incoming connection was received, then the
        !          6608:     outgoing connection (and whole BGP session) was closed, but the old
        !          6609:     incoming connection was just overwritten by the new one. That later
        !          6610:     caused a crash when the hold timer from the old connection fired.
        !          6611: 
        !          6612: commit 9a74622ca1994669cdb3bac0bb2f6df2febd2744
        !          6613: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6614: Date:   Wed Feb 10 13:26:07 2016 +0100
        !          6615: 
        !          6616:     Updated RTA hashes to 32-bit values.
        !          6617:     
        !          6618:     ... and reworked the hashes a bit. Also added mem_hash function
        !          6619:     which just computes a hash of given memory block.
        !          6620: 
        !          6621: commit 1bb3ecb2a5369bc1992514da3cf5ef59dca46416
        !          6622: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6623: Date:   Mon Feb 8 16:08:50 2016 +0100
        !          6624: 
        !          6625:     Fix closing flushed channel
        !          6626:     
        !          6627:     Fix reading from freed memory.
        !          6628:       Free at: channel_set_state(c, CS_DOWN)
        !          6629:       Read at: WALK_LIST2_DELSAFE(c, n, x, tab->channels, table_node)
        !          6630:     
        !          6631:     ==00:00:00:00.261 24718==
        !          6632:     ==00:00:09:31.755 24718== Invalid read of size 8
        !          6633:     ==00:00:09:31.755 24718==    at 0x4061BA: rt_prune_table (rt-table.c:1688)
        !          6634:     ==00:00:09:31.755 24718==    by 0x405D5E: rt_event (rt-table.c:1559)
        !          6635:     ==00:00:09:31.755 24718==    by 0x45D089: ev_run (event.c:85)
        !          6636:     ==00:00:09:31.755 24718==    by 0x45D158: ev_run_list (event.c:142)
        !          6637:     ==00:00:09:31.755 24718==    by 0x462814: io_loop (io.c:2412)
        !          6638:     ==00:00:09:31.755 24718==    by 0x468712: main (main.c:833)
        !          6639:     ==00:00:09:31.755 24718==  Address 0x5601538 is 136 bytes inside a block of size 304 free'd
        !          6640:     ==00:00:09:31.755 24718==    at 0x4C29D2A: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        !          6641:     ==00:00:09:31.755 24718==    by 0x46FF3E: rfree (resource.c:166)
        !          6642:     ==00:00:09:31.755 24718==    by 0x470309: mb_free (resource.c:415)
        !          6643:     ==00:00:09:31.755 24718==    by 0x406A6B: rt_unlock_table (rt-table.c:1921)
        !          6644:     ==00:00:09:31.755 24718==    by 0x40DAE3: channel_do_down (proto.c:297)
        !          6645:     ==00:00:09:31.755 24718==    by 0x40DD46: channel_set_state (proto.c:359)
        !          6646:     ==00:00:09:31.755 24718==    by 0x4061AD: rt_prune_table (rt-table.c:1692)
        !          6647:     ==00:00:09:31.755 24718==    by 0x405D5E: rt_event (rt-table.c:1559)
        !          6648:     ==00:00:09:31.755 24718==    by 0x45D089: ev_run (event.c:85)
        !          6649:     ==00:00:09:31.755 24718==    by 0x45D158: ev_run_list (event.c:142)
        !          6650:     ==00:00:09:31.755 24718==    by 0x462814: io_loop (io.c:2412)
        !          6651:     ==00:00:09:31.755 24718==    by 0x468712: main (main.c:833)
        !          6652:     ==00:00:09:31.755 24718==  Block was alloc'd at
        !          6653:     ==00:00:09:31.755 24718==    at 0x4C28C10: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        !          6654:     ==00:00:09:31.755 24718==    by 0x470FBC: bird_xmalloc (xmalloc.c:29)
        !          6655:     ==00:00:09:31.755 24718==    by 0x4701E6: mb_alloc (resource.c:339)
        !          6656:     ==00:00:09:31.755 24718==    by 0x406C29: rt_commit (rt-table.c:1977)
        !          6657:     ==00:00:09:31.755 24718==    by 0x45C36D: config_do_commit (conf.c:269)
        !          6658:     ==00:00:09:31.755 24718==    by 0x45C545: config_commit (conf.c:361)
        !          6659:     ==00:00:09:31.755 24718==    by 0x4686F9: main (main.c:822)
        !          6660:     ==00:00:09:31.755 24718==
        !          6661: 
        !          6662: commit 2a013bb3a01174fac3a841fd825ac4f13f3ea84d
        !          6663: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6664: Date:   Mon Feb 1 10:25:31 2016 +0100
        !          6665: 
        !          6666:     Fixed sigsegv for missing proto->rt_notify hook
        !          6667:     
        !          6668:     If rt_notify is NULL, the export must always stay DOWN.
        !          6669: 
        !          6670: commit ade389b326ddf2caaf08d7d3be8b3a1066ea7c97
        !          6671: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6672: Date:   Mon Feb 1 09:22:18 2016 +0100
        !          6673: 
        !          6674:     BSD: compilation error fix
        !          6675: 
        !          6676: commit f4a60a9bc429c28cb397402331dc01a789197450
        !          6677: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6678: Date:   Tue Jan 26 11:48:58 2016 +0100
        !          6679: 
        !          6680:     Channels - explicit links between protocols and tables
        !          6681:     
        !          6682:     The patch adds support for channels, structures connecting protocols and
        !          6683:     tables and handling most interactions between them. The documentation is
        !          6684:     missing yet.
        !          6685: 
        !          6686: commit 9f5782d9691f23296c4b1a68ef66630d9cc3a6cd
        !          6687: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6688: Date:   Thu Jan 28 16:55:27 2016 +0100
        !          6689: 
        !          6690:     Add 'GENERATE/ACCEPT FROM datetime TO datetime' to password options
        !          6691: 
        !          6692: commit 966ca6143b8648a29e77b6328133bc3f245d50ee
        !          6693: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6694: Date:   Wed Jan 27 12:14:46 2016 +0100
        !          6695: 
        !          6696:     io.c: fix reads from uninitialized memory
        !          6697: 
        !          6698: commit d82987d12e96db887033deabb6c46f07db64e1b8
        !          6699: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6700: Date:   Wed Jan 27 12:25:30 2016 +0100
        !          6701: 
        !          6702:     RIP: Fix DBG output
        !          6703: 
        !          6704: commit 74d94167631ffd1b10709460510a1e3c8fc0e904
        !          6705: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6706: Date:   Mon Jan 25 10:29:06 2016 +0100
        !          6707: 
        !          6708:     RIPng: fixed misrejection of host routes
        !          6709: 
        !          6710: commit 2fad92144ee2e3a818a7510554d2144e46c3a4c8
        !          6711: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6712: Date:   Thu Jan 21 15:46:33 2016 +0100
        !          6713: 
        !          6714:     BSD: fix no-return warning
        !          6715: 
        !          6716: commit 3f35816136f1b57067d5ce426b031e4e3583085c
        !          6717: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6718: Date:   Thu Jan 21 10:59:52 2016 +0100
        !          6719: 
        !          6720:     BSD: Explicitly dropping routes with mismatched AF's.
        !          6721: 
        !          6722: commit 0e965f69914313857a95d03b2e6136d3e84019dd
        !          6723: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6724: Date:   Wed Jan 20 15:23:17 2016 +0100
        !          6725: 
        !          6726:     All the current pthread implementations are OK and working with us.
        !          6727:     
        !          6728:     No more need to disable pthread for specific BSD's.
        !          6729: 
        !          6730: commit 7eb9e79648e17037f3691aafa829970efacbbbc9
        !          6731: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6732: Date:   Thu Jan 21 10:30:08 2016 +0100
        !          6733: 
        !          6734:     Add condition for max_pxlen by ROA grammar
        !          6735: 
        !          6736: commit a4caa1c0a3b6bfb9918f08dbbf856e4d3c78080a
        !          6737: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6738: Date:   Thu Jan 21 10:24:50 2016 +0100
        !          6739: 
        !          6740:     Use net_addr pointer for net_addr_roaX
        !          6741:     
        !          6742:     net_addr_roa6 is bigger than net_addr
        !          6743:     
        !          6744:     Thanks to Ondrej Zajicek for notice
        !          6745: 
        !          6746: commit 259052199ba82f0f37b87416592e2e2ddbdaee5f
        !          6747: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6748: Date:   Wed Jan 20 15:41:15 2016 +0100
        !          6749: 
        !          6750:     Add forgotten semicolon
        !          6751: 
        !          6752: commit 650b4189427eb5a5f96753e39c0d67f09e0ef445
        !          6753: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6754: Date:   Wed Jan 20 16:29:17 2016 +0100
        !          6755: 
        !          6756:     Delete old ROA code
        !          6757: 
        !          6758: commit 0264ccf6f4acaea5313dee2cd3bc3bdb28c74f60
        !          6759: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6760: Date:   Wed Jan 20 15:38:37 2016 +0100
        !          6761: 
        !          6762:     Rewrite roa_check() for integrated BIRD
        !          6763:     
        !          6764:     Thanks to Ondrej Zajicek for his support with writing this code.
        !          6765: 
        !          6766: commit cb1bd816db5b69acb8c6f72211d13f987a494304
        !          6767: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6768: Date:   Wed Jan 20 15:06:19 2016 +0100
        !          6769: 
        !          6770:     Add ROA_* constants values to grammar of configuration
        !          6771:     
        !          6772:     Add ROA_UNKNOWN, ROA_VALID and ROA_INVALID
        !          6773: 
        !          6774: commit 513ad0a85e57e4e0f7928fde7332778ca1c2148f
        !          6775: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6776: Date:   Wed Jan 20 14:55:37 2016 +0100
        !          6777: 
        !          6778:     Add ROA net_addr to grammar
        !          6779:     
        !          6780:     Example:
        !          6781:       protocol static
        !          6782:       {
        !          6783:         route 10.110.0.0/16 max 16 as 1000 blackhole;
        !          6784:         route 10.120.0.0/16 max 24 as 1000 blackhole;
        !          6785:         route 10.130.0.0/16 max 24 as 2000 blackhole;
        !          6786:         route 10.130.128.0/18 max 24 as 3000 blackhole;
        !          6787:         ...
        !          6788:       }
        !          6789: 
        !          6790: commit 8109eb765fe92f4d47b497b3e2b24b59841c3487
        !          6791: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6792: Date:   Thu Jan 7 14:45:01 2016 +0100
        !          6793: 
        !          6794:     BSD integration fixes
        !          6795: 
        !          6796: commit f9d729ab682156cc658eb451b95d7cbd37dfa139
        !          6797: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6798: Date:   Thu Jan 14 10:03:50 2016 +0100
        !          6799: 
        !          6800:     NET ROAx: add max_pxlen, fix format
        !          6801: 
        !          6802: commit 9a883adf954c2f68085a398e8ab38bd54831cf52
        !          6803: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6804: Date:   Mon Jan 11 11:03:11 2016 +0100
        !          6805: 
        !          6806:     Net address format: Do not print the -4 or -6 suffix in %I4 and %I6
        !          6807: 
        !          6808: commit a820ae107456a26656f29a3ed14010cf0cd87842
        !          6809: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6810: Date:   Tue Jan 12 11:36:28 2016 +0100
        !          6811: 
        !          6812:     NET ROAx more small changes
        !          6813:     
        !          6814:     - Remove `u8 src` from net_add_roaX
        !          6815:     - Add `u8 max_pxlen` to net_add_roaX
        !          6816:     - Add some missing macro and functions for ROA
        !          6817:     - Remove ASN from hash function for ROA
        !          6818:     
        !          6819:     Thanks to Ondrej Santiago Zajicek
        !          6820: 
        !          6821: commit 93e807292cff6eb3dfcd8d590dded04b965ac1a5
        !          6822: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6823: Date:   Tue Jan 12 11:27:38 2016 +0100
        !          6824: 
        !          6825:     ROA change printf 'ASN: xxx' to 'ASxxx'
        !          6826: 
        !          6827: commit 6ffa8f53931e2ae8becf8ec6ef09db88737a6a06
        !          6828: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6829: Date:   Thu Jan 7 12:02:54 2016 +0100
        !          6830: 
        !          6831:     Hidden AF_INET* inside sysdep/
        !          6832: 
        !          6833: commit 5b218c3d9bf9357aed0acf535bdfc6684cc5cda4
        !          6834: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6835: Date:   Thu Jan 7 11:29:05 2016 +0100
        !          6836: 
        !          6837:     BFD: split of v4/v6 sockets
        !          6838: 
        !          6839: commit b9f56921865dfe816091266e990e94db3e2fdbdf
        !          6840: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6841: Date:   Thu Jan 7 18:24:14 2016 +0100
        !          6842: 
        !          6843:     Fix check in net_route() in debug mode
        !          6844: 
        !          6845: commit de9b87f55863f29eb7965d8a772f8a34f195f4ac
        !          6846: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6847: Date:   Thu Jan 7 18:17:16 2016 +0100
        !          6848: 
        !          6849:     Add NET ROA4/6 structures
        !          6850: 
        !          6851: commit e691d16a63ce40bc56ecbc970e8118686d4b0148
        !          6852: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6853: Date:   Tue Dec 29 17:12:47 2015 +0100
        !          6854: 
        !          6855:     Explicit ip4_addr / ip6_addr printf support
        !          6856: 
        !          6857: commit 74c838a87000ca800e8b3f265340c1317989a04a
        !          6858: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6859: Date:   Tue Dec 29 15:34:48 2015 +0100
        !          6860: 
        !          6861:     Move ID allocator to a separate file and use it also in OSPF
        !          6862: 
        !          6863: commit 9a70c8d6c38155d8abb6d814563b9eefc134e901
        !          6864: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6865: Date:   Tue Dec 29 13:01:00 2015 +0100
        !          6866: 
        !          6867:     Netlink: Removed forgotten if-stub (caused strange errors)
        !          6868: 
        !          6869: commit 04632fd77f291f67753341d12d540f7dac341bd3
        !          6870: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6871: Date:   Thu Dec 24 15:52:03 2015 +0100
        !          6872: 
        !          6873:     Follow-up work on integration
        !          6874: 
        !          6875: commit 70b90dde23a684c4d32aa53685f76a73ecba941d
        !          6876: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6877: Date:   Tue Dec 22 09:45:09 2015 +0100
        !          6878: 
        !          6879:     Better fix of missing AF_INET6? definition in lib/socket.h
        !          6880:     
        !          6881:     Moved the code to sysdep.
        !          6882: 
        !          6883: commit 600998fcb1a1d155215ab32644982e9b78767e3e
        !          6884: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6885: Date:   Mon Dec 21 20:16:05 2015 +0100
        !          6886: 
        !          6887:     Modify FIB_WALK() and FIB_ITERATE() to work with new FIB code
        !          6888:     
        !          6889:     Returned user data pointers have offset relative to fib_node.
        !          6890: 
        !          6891: commit 67aa88336a91e635753ba42df45d7de5e191ed35
        !          6892: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6893: Date:   Mon Dec 21 18:23:08 2015 +0100
        !          6894: 
        !          6895:     BSD wants to include sys/socket.h in lib/socket.h (AF_INET6? definitions)
        !          6896: 
        !          6897: commit 0bf95f99e6126b481a4dcac574ada59f9ad3662b
        !          6898: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6899: Date:   Mon Dec 21 17:17:21 2015 +0100
        !          6900: 
        !          6901:     Follow-up work on integration
        !          6902:     
        !          6903:     Contains some patches from Jan Moskyto Matejka
        !          6904: 
        !          6905: commit 23c212e7f1e80a3c6b88b49918972bc28375bd51
        !          6906: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6907: Date:   Mon Dec 21 03:27:41 2015 +0100
        !          6908: 
        !          6909:     Follow-up work on integration
        !          6910: 
        !          6911: commit e92a4b855f668e8ac685ad79c288ff182ebd110b
        !          6912: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6913: Date:   Sun Dec 20 21:43:00 2015 +0100
        !          6914: 
        !          6915:     Filter: Fix some changes in IP<->Quad implicit conversion
        !          6916: 
        !          6917: commit d549b83fc2f66b4c5e15e158409442993a2d62c4
        !          6918: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6919: Date:   Sun Dec 20 19:47:36 2015 +0100
        !          6920: 
        !          6921:     Delete ipv6 option from configure
        !          6922: 
        !          6923: commit 0f7d5b1a889142cdcda0546d8adcc76de465ffb8
        !          6924: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6925: Date:   Sun Dec 20 18:16:48 2015 +0100
        !          6926: 
        !          6927:     Nest: Reimplement fib_route() and add some consts
        !          6928: 
        !          6929: commit 29a6416276a04ca1fc2bc64ebc7ef559918d78d8
        !          6930: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6931: Date:   Sun Dec 20 16:58:37 2015 +0100
        !          6932: 
        !          6933:     KRT: Integration of IPv4/IPv6 in sysdep/linux
        !          6934: 
        !          6935: commit 7fd4143eadd5af6e1ad7825d7d7506ad021bf1ad
        !          6936: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6937: Date:   Fri Dec 18 11:57:38 2015 +0100
        !          6938: 
        !          6939:     Integrated address print lengths
        !          6940:     
        !          6941:     Minor changes by Ondrej Santiago Zajicek
        !          6942: 
        !          6943: commit 9656dce72eead158e6da3ad560720bb0addfe7e2
        !          6944: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6945: Date:   Wed Dec 16 15:30:44 2015 +0100
        !          6946: 
        !          6947:     ROA code switchoff
        !          6948: 
        !          6949: commit aedd3a6babbaf35becb7770f73f30b20b464393f
        !          6950: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6951: Date:   Wed Dec 16 10:43:58 2015 +0100
        !          6952: 
        !          6953:     Implemented missing prefix manipulation functions
        !          6954: 
        !          6955: commit 5e173e9f631913f68cf38d57a69c3ce6faf60d1e
        !          6956: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6957: Date:   Wed Dec 16 10:25:12 2015 +0100
        !          6958: 
        !          6959:     Stop perusing f_prefix for non-prefix-set uses
        !          6960:     
        !          6961:     Multiple changes by Ondrej Santiago Zajicek
        !          6962: 
        !          6963: commit d7661fbe9dea980c61daa01a11a9aa59fa7be426
        !          6964: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6965: Date:   Fri Dec 11 15:35:37 2015 +0100
        !          6966: 
        !          6967:     Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AF
        !          6968:     
        !          6969:     Explicit setting of AF_INET(6|) in IP socket creation. BFD set to listen
        !          6970:     on v6, without setting the V6ONLY flag to catch both v4 and v6 traffic.
        !          6971:     
        !          6972:     Squashing and minor changes by Ondrej Santiago Zajicek
        !          6973: 
        !          6974: commit 9b136840d90cce887cd139054c3f0a7d8b9f57d2
        !          6975: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          6976: Date:   Mon Dec 7 16:24:18 2015 +0100
        !          6977: 
        !          6978:     Netlink and BSD: Integrating IPv4 and IPv6
        !          6979:     
        !          6980:     Squashing and minor changes by Ondrej Santiago Zajicek
        !          6981: 
        !          6982: commit 52e21323b6c49af9d076586241451973a7d1e7c6
        !          6983: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6984: Date:   Wed Nov 25 15:52:58 2015 +0100
        !          6985: 
        !          6986:     BGP: Update capability number from IANA for extended messages
        !          6987: 
        !          6988: commit 04ae8ddaa15b72c265dc7cf038b733d235198754
        !          6989: Merge: d44e686 33b4f40
        !          6990: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          6991: Date:   Wed Nov 25 14:24:35 2015 +0100
        !          6992: 
        !          6993:     Merge branch 'master' into int-new
        !          6994: 
        !          6995: commit 33b4f40acce02c90b4b7766c5c94ebf2d22765c6
        !          6996: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          6997: Date:   Fri Nov 13 16:08:28 2015 +0100
        !          6998: 
        !          6999:     MD5: Mormalize naming style
        !          7000: 
        !          7001: commit 90f78507f4a13673ccf0ba7c786b43d9e882fca7
        !          7002: Merge: 8eb8e54 ad27615
        !          7003: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7004: Date:   Tue Nov 24 15:21:11 2015 +0100
        !          7005: 
        !          7006:     Merge branch 'master' into rip-new
        !          7007: 
        !          7008: commit ad27615760e2795da3efe5e97c0e888281d5ca59
        !          7009: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          7010: Date:   Tue Nov 10 14:59:41 2015 +0100
        !          7011: 
        !          7012:     Netlink: attribute validation before parsing
        !          7013:     
        !          7014:     Wanted netlink attributes are defined in a table, specifying
        !          7015:     their size and neediness. Removing the long conditions that did the
        !          7016:     validation before.
        !          7017:     
        !          7018:     Also parsing IPv4 and IPv6 versions regardless on the IPV6 macro.
        !          7019: 
        !          7020: commit e422ca0f292d08a873deacdbffbb6c6cbd79f88a
        !          7021: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7022: Date:   Tue Nov 24 13:52:26 2015 +0100
        !          7023: 
        !          7024:     Some consts for function arguments
        !          7025:     
        !          7026:     Patch from Pavel Tvrdik
        !          7027: 
        !          7028: commit 5126380beace4e39578f005fe115917b8e8b8ff3
        !          7029: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7030: Date:   Tue Nov 24 13:47:28 2015 +0100
        !          7031: 
        !          7032:     Minor changes to SHA hash functions
        !          7033: 
        !          7034: commit 12d752ef24ab507d249a60098ec98dcf28b70036
        !          7035: Merge: 1e4891e f312a83
        !          7036: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7037: Date:   Mon Nov 23 11:32:18 2015 +0100
        !          7038: 
        !          7039:     Merge commit 'origin/crypto-hash^'
        !          7040: 
        !          7041: commit 1e4891e48e7b6f022564e7409d15c3fdb65ec2ad
        !          7042: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7043: Date:   Mon Nov 23 11:13:40 2015 +0100
        !          7044: 
        !          7045:     Nest: Fix bug in device proto
        !          7046:     
        !          7047:     If an interface address notification is received during device protocol
        !          7048:     shutdown/restart, BIRD crashed.
        !          7049:     
        !          7050:     Thanks to Wei Huang for the bugreport.
        !          7051: 
        !          7052: commit f312a837e919c660884ceb9c50c106df1e4c0658
        !          7053: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          7054: Date:   Fri Nov 13 16:14:36 2015 +0100
        !          7055: 
        !          7056:     Add SHA-384/512 and HMAC-SHA-384/512 crypto hash
        !          7057: 
        !          7058: commit 4035e0e79c609bde30a2f755eec864771ea08e21
        !          7059: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          7060: Date:   Fri Nov 13 16:13:15 2015 +0100
        !          7061: 
        !          7062:     Add SHA-224/256 and HMAC-SHA-224/256 crypto hash
        !          7063: 
        !          7064: commit 5d0c36f1da83b2a2a07e043247410948d90c600e
        !          7065: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          7066: Date:   Fri Nov 13 16:11:51 2015 +0100
        !          7067: 
        !          7068:     Add SHA1 and SHA1-HMAC crypto hash
        !          7069: 
        !          7070: commit 75ff08022ea58fe3efa96639f080ce375e997675
        !          7071: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          7072: Date:   Fri Nov 13 16:10:33 2015 +0100
        !          7073: 
        !          7074:     Add get_u64() and put_u64() into lib/unaligned.h
        !          7075: 
        !          7076: commit d44e686e9bcae5850115c0e1adfe24523dce61ee
        !          7077: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7078: Date:   Thu Nov 12 02:03:59 2015 +0100
        !          7079: 
        !          7080:     Follow-up commit on integrated BIRD
        !          7081:     
        !          7082:     Use net_addr for interface address prefixes, support net_addr in
        !          7083:     configuration parser.
        !          7084: 
        !          7085: commit fce764f90e8331d1adb6a85ec00136dfeae1a398
        !          7086: Author: Pavel Tvrdík <pawel.tvrdik@gmail.com>
        !          7087: Date:   Mon Nov 9 09:14:26 2015 +0100
        !          7088: 
        !          7089:     Fix compiling with --enable-debug option
        !          7090: 
        !          7091: commit 9ddbfbddf87462bbf50437bdc1d44499a5c223e7
        !          7092: Author: Jan Moskyto Matejka <mq@ucw.cz>
        !          7093: Date:   Tue Nov 3 14:42:41 2015 +0100
        !          7094: 
        !          7095:     Netlink: Allow more than 256 routing tables.
        !          7096:     
        !          7097:     Since 2.6.19, the netlink API defines RTA_TABLE routing attribute to
        !          7098:     allow 32-bit routing table IDs. Using this attribute to index routing
        !          7099:     tables at Linux, instead of 8-bit rtm_table field.
        !          7100: 
        !          7101: commit 86b4e17001fe4cca6dde7ff523346121c0ae68fe
        !          7102: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7103: Date:   Mon Nov 9 01:01:12 2015 +0100
        !          7104: 
        !          7105:     Nest: Fixes bug in missing cleanup during table removal
        !          7106:     
        !          7107:     When a table is removed during reconfiguration, a reference was not
        !          7108:     cleared in the old configuration, which breaks undo.
        !          7109: 
        !          7110: commit 9b9a7143c43d01f0459d40363d56e9c7690c596f
        !          7111: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7112: Date:   Mon Nov 9 00:42:02 2015 +0100
        !          7113: 
        !          7114:     Conf: Fixes bug in symbol lookup during reconfiguration
        !          7115:     
        !          7116:     Symbol lookup by cf_find_symbol() not only did the lookup but also added
        !          7117:     new void symbols allocated from cfg_mem linpool, which gets broken when
        !          7118:     lookups are done outside of config parsing, which may lead to crashes
        !          7119:     during reconfiguration.
        !          7120:     
        !          7121:     The patch separates lookup-only cf_find_symbol() and config-modifying
        !          7122:     cf_get_symbol(), while the later is called only during parsing. Also
        !          7123:     new_config and cfg_mem global variables are NULLed outside of parsing.
        !          7124: 
        !          7125: commit fe9f1a6dedda6bab23cbb605d1cd5db6cd3e2468
        !          7126: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7127: Date:   Thu Nov 5 12:48:52 2015 +0100
        !          7128: 
        !          7129:     Initial commit on integrated BIRD
        !          7130:     
        !          7131:     New data types net_addr and variants (in lib/net.h) describing
        !          7132:     network addresses (prefix/pxlen). Modifications of FIB structures
        !          7133:     to handle these data types and changing everything to use these
        !          7134:     data types instead of prefix/pxlen pairs where possible.
        !          7135:     
        !          7136:     The commit is WiP, some protocols are not yet updated (BGP, Kernel),
        !          7137:     and the code contains some temporary scaffolding.
        !          7138:     
        !          7139:     Comments are welcome.
        !          7140: 
        !          7141: commit 3aed0a6ff7b2b811a535202fd787281d2ac33409
        !          7142: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7143: Date:   Tue Nov 3 11:27:27 2015 +0100
        !          7144: 
        !          7145:     IO: Fix the previous bugfix
        !          7146:     
        !          7147:     I should check it after making some trivial changes. The original patch
        !          7148:     from Alexander has it right.
        !          7149: 
        !          7150: commit 338f85ca7721fac16394ccabd561ddb5ccaacb36
        !          7151: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7152: Date:   Tue Nov 3 11:08:57 2015 +0100
        !          7153: 
        !          7154:     IO: Handle fd values too big for select()
        !          7155:     
        !          7156:     If the number of sockets is too much for select(), we should at least
        !          7157:     handle it with proper error messages and reject new sockets instead of
        !          7158:     breaking the event loop.
        !          7159:     
        !          7160:     Thanks to Alexander V. Chernikov for the patch.
        !          7161: 
        !          7162: commit 8eb8e546dc8cc647fcfa4a3a17dfa8ab36b00958
        !          7163: Merge: 8465dcc acb04cf
        !          7164: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7165: Date:   Sat Oct 17 14:44:34 2015 +0200
        !          7166: 
        !          7167:     Merge branch 'master' into rip-new
        !          7168: 
        !          7169: commit acb04cfdc550697a7171a86ca559fd8c52841acb
        !          7170: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7171: Date:   Sat Oct 17 14:36:53 2015 +0200
        !          7172: 
        !          7173:     Minor changes
        !          7174: 
        !          7175: commit 8465dccb06afffed171dc1e224e4eb5f67cc3326
        !          7176: Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
        !          7177: Date:   Mon Oct 5 12:14:50 2015 +0200
        !          7178: 
        !          7179:     Major RIP redesign
        !          7180:     
        !          7181:     The new RIP implementation fixes plenty of old bugs and also adds support
        !          7182:     for many new features: ECMP support, link state support, BFD support,
        !          7183:     configurable split horizon and more. Most options are now per-interface.
        !          7184: 
        !          7185: commit b5e76398de1d4468b4061d9ef57dd3154b2f745e
        !          7186: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7187: Date:   Wed Aug 19 11:16:23 2015 +0200
        !          7188: 
        !          7189:     OSPF: Fixes some issues with link detection
        !          7190:     
        !          7191:     Thanks to Bernardo Figueiredo and Israel G. Lugo for the bugreport.
        !          7192: 
        !          7193: commit c7b99a932cab1873042e356143ab71755920157a
        !          7194: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7195: Date:   Tue Jul 28 15:08:21 2015 +0200
        !          7196: 
        !          7197:     Nest: Fixes one of previous commit
        !          7198: 
        !          7199: commit dbf4c0cb258bd92efb54f95194f664f95ba98fd9
        !          7200: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7201: Date:   Tue Jul 28 12:56:51 2015 +0200
        !          7202: 
        !          7203:     Minor update to test commits
        !          7204: 
        !          7205: commit 641172c6e5e4e291029084074f94f448d6bc69dd
        !          7206: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7207: Date:   Tue Jul 28 12:35:12 2015 +0200
        !          7208: 
        !          7209:     Netlink: Fixes uninitialized variable
        !          7210:     
        !          7211:     Thanks to Pavel Tvrdik for the bugfix
        !          7212: 
        !          7213: commit 538264cf1a7690d90b2953aebff21958c2b55c44
        !          7214: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7215: Date:   Fri Jul 24 18:02:07 2015 +0200
        !          7216: 
        !          7217:     Static: Support for BFD controlled static routes
        !          7218: 
        !          7219: commit 1321e12ac460bd542d3946a0c4a4dacd71157cfa
        !          7220: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7221: Date:   Mon Jul 20 11:12:02 2015 +0200
        !          7222: 
        !          7223:     Static: Allows to specify attributes for static routes
        !          7224:     
        !          7225:     The patch adds suport for specifying route attributes together with
        !          7226:     static routes, e.g.:
        !          7227:     
        !          7228:      route 10.1.1.0/24 via 10.0.0.1 { krt_advmss = 1200; ospf_metric1 = 100; };
        !          7229: 
        !          7230: commit ffa398b8d8bac4cf6368fe700466cad4ff12fee8
        !          7231: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7232: Date:   Sun Jul 19 11:39:24 2015 +0200
        !          7233: 
        !          7234:     BFD: Fixes crash after socket error
        !          7235:     
        !          7236:     Thanks to Thomas King for the bugreport.
        !          7237: 
        !          7238: commit a8ad8fd6491d04620fe4fdebc50f0da2927f9b21
        !          7239: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7240: Date:   Sat Jul 18 23:15:04 2015 +0200
        !          7241: 
        !          7242:     Simplify build messages
        !          7243:     
        !          7244:     Thanks to Christian Tacke for the original patch.
        !          7245: 
        !          7246: commit 17661ff934a80d517284c96756357d4ed5af9a64
        !          7247: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7248: Date:   Sat Jul 18 19:30:35 2015 +0200
        !          7249: 
        !          7250:     Nest: Fixes symbols in router id
        !          7251:     
        !          7252:     Thanks to Peter Hudec for noticing the problem.
        !          7253: 
        !          7254: commit 6683d42d5b560c8805b977736b2a769ea2d9aa8b
        !          7255: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7256: Date:   Sat Jul 18 19:05:11 2015 +0200
        !          7257: 
        !          7258:     Documentation update
        !          7259: 
        !          7260: commit 06e0d1b692d8a190c3f1d073c5c557d8efe78b17
        !          7261: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7262: Date:   Sat Jul 18 13:38:21 2015 +0200
        !          7263: 
        !          7264:     BGP: Extended messages support
        !          7265:     
        !          7266:     Implements draft-ietf-idr-bgp-extended-messages-10, for now
        !          7267:     undocumented and with temporary private capability number.
        !          7268: 
        !          7269: commit ab4da3423d89fb6c60a4137f19c189a8716ecab6
        !          7270: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7271: Date:   Sat Jul 18 13:05:05 2015 +0200
        !          7272: 
        !          7273:     Direct: Fixes behavior for the same routes on different interfaces
        !          7274:     
        !          7275:     Thanks to Andrew (seti.kr.ua) for the bug report.
        !          7276: 
        !          7277: commit 8d9eef17713a9b38cd42bd59c4ce76c3ef6c2fc2
        !          7278: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7279: Date:   Mon Jun 8 02:20:43 2015 +0200
        !          7280: 
        !          7281:     BGP multipath support
        !          7282:     
        !          7283:     Kernel option 'merge paths' allows to merge routes exported to kernel
        !          7284:     protocol (currently BGP and static routes) to multipath routes.
        !          7285: 
        !          7286: commit db027a41d47b8fc52b65067ccabe2024554e53ca
        !          7287: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7288: Date:   Thu Jun 4 11:35:26 2015 +0200
        !          7289: 
        !          7290:     Fixes subtle bug in temporary attribute handling
        !          7291:     
        !          7292:     In some cases, export filter accessed attributes of a different route.
        !          7293: 
        !          7294: commit 78a2cc289fbe11d5b5783220e2cc61d119a78ec3
        !          7295: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7296: Date:   Wed Jun 3 11:58:46 2015 +0200
        !          7297: 
        !          7298:     KRT: Fixes some minor bugs in kernel protocol
        !          7299: 
        !          7300: commit d217ba5111a80a629e408961b902d7759c4b46f5
        !          7301: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7302: Date:   Sun May 31 23:25:33 2015 +0200
        !          7303: 
        !          7304:     Moving of mulipath merging code from OSPF to nest
        !          7305: 
        !          7306: commit ca34698ca62d979c281ed517f040619e31c3ada3
        !          7307: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7308: Date:   Sun May 31 11:29:53 2015 +0200
        !          7309: 
        !          7310:     Fixes bug in pipe feeding when filtered routes are kept in table
        !          7311: 
        !          7312: commit ae80a2de95d3d3c153ce20b90c9d8757d02cb33d
        !          7313: Author: Pavel Tvrdík <pawel.tvrdik@gmail.cz>
        !          7314: Date:   Tue May 19 08:53:34 2015 +0200
        !          7315: 
        !          7316:     unsigned [int] -> uint
        !          7317: 
        !          7318: commit e348ef01b433e06888310c1098a05291034a856c
        !          7319: Author: Pavel Tvrdík <pawel.tvrdik@gmail.cz>
        !          7320: Date:   Tue May 19 08:14:04 2015 +0200
        !          7321: 
        !          7322:     unsgined char -> byte
        !          7323: 
        !          7324: commit 398f92253186d70eb3f2e910c7f8dd2636ee5fa1
        !          7325: Author: Ondrej Filip <feela@network.cz>
        !          7326: Date:   Mon Jun 1 10:41:17 2015 +0200
        !          7327: 
        !          7328:     Typo fix by Hans van Kranenburg
        !          7329: 
        !          7330: commit 9fe1d3ca8a6420b4bdaf15a54ab7b13be6cc07eb
        !          7331: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7332: Date:   Fri May 22 11:12:48 2015 +0200
        !          7333: 
        !          7334:     Fixes unnamed protocols from templates
        !          7335: 
        !          7336: commit d0e23d42de133de706151411d8d4091d07904d29
        !          7337: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7338: Date:   Sun May 17 00:54:33 2015 +0200
        !          7339: 
        !          7340:     Simplify flushing process
        !          7341:     
        !          7342:     Related to changes from previous patch.
        !          7343: 
        !          7344: commit 86f567e13c2202fc3c3a1ce49f9a35220a50f117
        !          7345: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7346: Date:   Sat May 16 20:17:59 2015 +0200
        !          7347: 
        !          7348:     Fix minor issue in pipe route propagation
        !          7349:     
        !          7350:     In some circumstances during reconfiguration, routes propagated by pipes
        !          7351:     to other tables may hang there even after the primary routes are removed.
        !          7352:     
        !          7353:     There is already a workaround for this issue in the code which removes
        !          7354:     these stale routes by flush process when source protocols are shut down.
        !          7355:     
        !          7356:     This patch is a cleaner fix and allows to simplify the flush process
        !          7357: 
        !          7358: commit 38e835dede88158d97c3039ed22faabed79c7181
        !          7359: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7360: Date:   Wed May 13 13:19:26 2015 +0200
        !          7361: 
        !          7362:     Fix in the last commit
        !          7363: 
        !          7364: commit 9fdf9d29b6b570205c36934aab7e50539e042102
        !          7365: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7366: Date:   Tue May 12 16:42:22 2015 +0200
        !          7367: 
        !          7368:     KRT: Add support for plenty of kernel route metrics
        !          7369:     
        !          7370:     Linux kernel route metrics (RTA_METRICS netlink route attribute) are
        !          7371:     represented and accessible as new route attributes:
        !          7372:     
        !          7373:     krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss,
        !          7374:     krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd,
        !          7375:     krt_quickack, krt_lock_mtu, krt_lock_window, krt_lock_rtt, krt_lock_rttvar,
        !          7376:     krt_lock_sstresh, krt_lock_cwnd, krt_lock_advmss, krt_lock_reordering,
        !          7377:     krt_lock_hoplimit, krt_lock_rto_min, krt_feature_ecn, krt_feature_allfrag
        !          7378: 
        !          7379: commit 315f23a0470112ced04badbb117bc7854ee53e06
        !          7380: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7381: Date:   Sat May 9 18:50:15 2015 +0200
        !          7382: 
        !          7383:     Add bitfield route attribute type
        !          7384: 
        !          7385: commit 77edab640925e8d1131f0d00b41de055129ff99f
        !          7386: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7387: Date:   Fri May 1 14:40:56 2015 +0200
        !          7388: 
        !          7389:     OSPF: Redesign LSA checksumming
        !          7390:     
        !          7391:     New LSA checksumming code separates generic Fletcher-16 and OSPF-specific
        !          7392:     code and avoids back and forth endianity conversions, making it much more
        !          7393:     readable and also several times faster.
        !          7394: 
        !          7395: commit 30d09eb96e8d46143d04285016a137d71a87c416
        !          7396: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7397: Date:   Tue Apr 28 13:45:44 2015 +0200
        !          7398: 
        !          7399:     OSPF: Fixes validation of LSA checksums
        !          7400:     
        !          7401:     Prior to this patch, BIRD validates the OSPF LSA checksum by calculating
        !          7402:     a new checksum and comparing it with the checksum in the header. Due to
        !          7403:     the specifics of the Fletcher checksum used in OSPF, this is not
        !          7404:     necessarily correct as the checkbytes in the header may be calculated via
        !          7405:     a different means and end up with a different value that is nonetheless
        !          7406:     still correct.
        !          7407:     
        !          7408:     The documented means of validating the checksum as specified in RFC 905
        !          7409:     B.4 is to calculate c0 and c1 from the unchanged contents of the packet,
        !          7410:     which must result in a zero value to be considered valid.
        !          7411:     
        !          7412:     Thanks to Chris Boot for the patch.
        !          7413: 
        !          7414: commit 7069fc9e724134ddd841219f5673cc9b13c58490
        !          7415: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7416: Date:   Sat Apr 25 21:41:43 2015 +0200
        !          7417: 
        !          7418:     KRT: Fixes route reload
        !          7419:     
        !          7420:     Did not really worked
        !          7421: 
        !          7422: commit c5ff44a703e4ab810a5bd45cf9140643a50fb3ec
        !          7423: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7424: Date:   Sat Apr 25 20:43:43 2015 +0200
        !          7425: 
        !          7426:     KRT: Fixes learning of preferred kernel routes.
        !          7427:     
        !          7428:     When a new route was imported from kernel and chosen as preferred, then
        !          7429:     the old best route was propagated as a withdraw to the kernel protocol.
        !          7430:     Under some circumstances such withdraw propagated to the BSD kernel could
        !          7431:     remove the new alien route and thus reverting the import.
        !          7432: 
        !          7433: commit 90097f4fb924922b416247abf291fb21f39dc8e1
        !          7434: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7435: Date:   Wed Apr 22 10:53:15 2015 +0200
        !          7436: 
        !          7437:     KRT: Support for RTM_CHANGE on BSD
        !          7438: 
        !          7439: commit deec752ef941eef4c36c21c5c5426d08e98c7a44
        !          7440: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7441: Date:   Mon Apr 20 12:27:00 2015 +0200
        !          7442: 
        !          7443:     NEWS and version update
        !          7444: 
        !          7445: commit b867a87c2fd694e6e690dc94da76754e89f03370
        !          7446: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7447: Date:   Sun Apr 19 00:19:56 2015 +0200
        !          7448: 
        !          7449:     Fixes port range socket option
        !          7450: 
        !          7451: commit ef3cac669ca0f6f2b983e33ab6d553705c35f3df
        !          7452: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7453: Date:   Sat Apr 18 13:22:41 2015 +0200
        !          7454: 
        !          7455:     OSPF: Fixes handling of external routes with immediate gw
        !          7456:     
        !          7457:     The bug caused that received external LSAs with locally reachable
        !          7458:     next hops were ignored. I wonder why nobody noticed it sooner.
        !          7459: 
        !          7460: commit 304ac2e861a5ea28683489aff38ff37ff6873bb4
        !          7461: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7462: Date:   Sun Apr 12 10:47:17 2015 +0200
        !          7463: 
        !          7464:     Minor fixes
        !          7465: 
        !          7466: commit d924d5a5626397da7e71fddfb1c0fd22c2714f2c
        !          7467: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7468: Date:   Wed Apr 1 00:01:35 2015 +0200
        !          7469: 
        !          7470:     BGP: Fixes serious bug in TX handling
        !          7471:     
        !          7472:     Under some circumstances and heavy load, TX could be postponed
        !          7473:     until the session fails with hold timer expired.
        !          7474:     
        !          7475:     Thanks to Javor Kliachev for making the bug reproductible.
        !          7476: 
        !          7477: commit 16a3254c4cb592e7cfa3aea744e9fd58665d6367
        !          7478: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7479: Date:   Tue Mar 31 23:59:40 2015 +0200
        !          7480: 
        !          7481:     Understand IFF_MULTICAST flag on ifaces in Linux
        !          7482:     
        !          7483:     Unfortunately, some interfaces support multicast but do not have
        !          7484:     this flag set, so we use it only as a positive hint.
        !          7485:     
        !          7486:     Thanks to Clint Armstrong for noticing the problem.
        !          7487: 
        !          7488: commit 2eadd36fa004d705a4003892d1639485eeaf8486
        !          7489: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7490: Date:   Sun Mar 29 21:24:47 2015 +0200
        !          7491: 
        !          7492:     BGP: AS-wide unique router ID (RFC 6286) support
        !          7493:     
        !          7494:     RFC 6286 relaxed rules for router IDs, allowing EBGP sessions between
        !          7495:     routers with the same ID (but different ASN).
        !          7496: 
        !          7497: commit 9aed29e605334d34d0e6a90fc172ee83d0274ad3
        !          7498: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7499: Date:   Sun Mar 29 18:27:13 2015 +0200
        !          7500: 
        !          7501:     BGP: Enhanced route refresh (RFC 7313) support
        !          7502:     
        !          7503:     Also hook feed_done is renamed to feed_end.
        !          7504: 
        !          7505: commit a5a5a41e2ee51ad6dfef0ab24e07d6d9b16a4215
        !          7506: Author: Ondrej Filip <feela@network.cz>
        !          7507: Date:   Mon Mar 9 23:59:26 2015 +0100
        !          7508: 
        !          7509:     Possibility to define unnamed protocols from template added.
        !          7510: 
        !          7511: commit 509aab5debef5b4710d8983da6ef076a226fd7ea
        !          7512: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7513: Date:   Mon Mar 2 10:58:20 2015 +0100
        !          7514: 
        !          7515:     Fixes serious bug in BGP add-path
        !          7516:     
        !          7517:     Temporary rta is reused in BGP, while rta_lookup() breaks it.
        !          7518:     
        !          7519:     Thanks to Alexander Chernikov for analysing the problem.
        !          7520: 
        !          7521: commit af454f9b7c3930a7900e60a7fb608b7de11852aa
        !          7522: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7523: Date:   Mon Mar 2 09:42:44 2015 +0100
        !          7524: 
        !          7525:     Fixes bug in debug dumps
        !          7526:     
        !          7527:     Using 'dump sockets' in IPv6 mode caused crash due to mismatched format string.
        !          7528:     
        !          7529:     Thanks to Pavel Tvrdik for noticing it.
        !          7530: 
        !          7531: commit 8bcb5fb1e8a0718f88f99cde2f5b5a3bae5c4451
        !          7532: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7533: Date:   Mon Mar 2 09:41:14 2015 +0100
        !          7534: 
        !          7535:     Implement latency tracking, internal event log and watchdog
        !          7536: 
        !          7537: commit 4e63974471c4e2f11781cda163e0dc2ac6fb72f9
        !          7538: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7539: Date:   Tue Feb 24 16:19:14 2015 +0100
        !          7540: 
        !          7541:     Add minor comment
        !          7542: 
        !          7543: commit 9c89560e6cdf44a21b2eff8765973ed8665fa07f
        !          7544: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7545: Date:   Sun Feb 22 20:14:14 2015 +0100
        !          7546: 
        !          7547:     Use IP_PORTRANGE_HIGH for BFD where available
        !          7548: 
        !          7549: commit 6cf72d7ad7cbe1eb2f5b63660be6967d29b37044
        !          7550: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7551: Date:   Sun Feb 22 16:08:28 2015 +0100
        !          7552: 
        !          7553:     Rename BGP option 'start delay' to 'connect delay'
        !          7554:     
        !          7555:     Also update log message for error-triggered startup delay.
        !          7556: 
        !          7557: commit a1beb8f3ee7a6e41dbe4bfd336b8bf5eecb46d01
        !          7558: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7559: Date:   Sun Feb 22 13:50:58 2015 +0100
        !          7560: 
        !          7561:     Relax BGP neighbor parameter
        !          7562:     
        !          7563:     Permit specifying neighbor address, AS number and port independently.
        !          7564:     Add 'interface' parameter for specifying interface for link-local
        !          7565:     sessions independently.
        !          7566:     
        !          7567:     Thanks to Alexander V. Chernikov for the original patch.
        !          7568: 
        !          7569: commit 86c3eea0f3ec74ac1024d4aba4e98c962126f387
        !          7570: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7571: Date:   Sat Feb 21 21:19:49 2015 +0100
        !          7572: 
        !          7573:     Use AF_UNSPEC for RTM_GETLINK
        !          7574:     
        !          7575:     This value is specified in documentation.
        !          7576: 
        !          7577: commit 2bbc308321894e0fd301766e8d7d78a4ec119053
        !          7578: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7579: Date:   Sat Feb 21 21:08:23 2015 +0100
        !          7580: 
        !          7581:     Store protocol config size inside protocol structure
        !          7582:     
        !          7583:     Make proto_config_new() use this info instead of supplied size.
        !          7584:     
        !          7585:     Thanks to Alexander V. Chernikov for the patch.
        !          7586: 
        !          7587: commit 374917adccb955fbb2796955166fabe46a09e096
        !          7588: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7589: Date:   Sat Feb 21 20:39:59 2015 +0100
        !          7590: 
        !          7591:     Make BGP protocol instance search a separate function
        !          7592:     
        !          7593:     Thanks to Alexander V. Chernikov for the patch.
        !          7594: 
        !          7595: commit 6264aad16f3320eceb20825c6049917e771b9364
        !          7596: Author: Pavel Tvrdík <pawel.tvrdik@gmail.cz>
        !          7597: Date:   Wed Jan 7 15:04:02 2015 +0100
        !          7598: 
        !          7599:     Minor fixes
        !          7600: 
        !          7601: commit 85a3639d99a39a79b65c2dbc2a136baee6ba2a2b
        !          7602: Author: Pavel Tvrdik <pawel.tvrdik@gmail.cz>
        !          7603: Date:   Fri Dec 5 09:25:38 2014 +0100
        !          7604: 
        !          7605:     Better Clang compatibility
        !          7606: 
        !          7607: commit 7d37bf79de190c89f704bfbf0a753f328d995d5a
        !          7608: Author: Pavel Tvrdik <pawel.tvrdik@gmail.cz>
        !          7609: Date:   Wed Dec 3 10:32:26 2014 +0100
        !          7610: 
        !          7611:     Remove a comparison of unsigned expression < 0
        !          7612: 
        !          7613: commit e598853e681d23dd7820627eeed96bf53197eae5
        !          7614: Author: Pavel Tvrdik <pawel.tvrdik@gmail.cz>
        !          7615: Date:   Wed Dec 3 10:57:31 2014 +0100
        !          7616: 
        !          7617:     Add const to a param msg at functions log_msg, log_rl, die, bug and debug
        !          7618: 
        !          7619: commit 4a591d4b947e0abc0ad013ca1b75da27c6922be5
        !          7620: Author: Pavel Tvrdik <pawel.tvrdik@gmail.cz>
        !          7621: Date:   Wed Dec 3 10:10:34 2014 +0100
        !          7622: 
        !          7623:     Replacing GNU old-style field designator extension
        !          7624: 
        !          7625: commit 8ce9a87755372d7612375bb1a81a288f309746c8
        !          7626: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7627: Date:   Sat Feb 21 14:52:17 2015 +0100
        !          7628: 
        !          7629:     Fixes minor bug in BFD.
        !          7630:     
        !          7631:     Thanks to Pavel Tvrdik for noticing it.
        !          7632: 
        !          7633: commit 51762a45b39f906fe72db2d3d46c9890cb01bbd8
        !          7634: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7635: Date:   Sat Feb 21 14:05:20 2015 +0100
        !          7636: 
        !          7637:     Allows user data attached to f_trie_node structure.
        !          7638:     
        !          7639:     Thanks to Alexander Chernikov for the patch.
        !          7640: 
        !          7641: commit bc7f4e0e3447c579f68b43d407b64a5262f0d11e
        !          7642: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7643: Date:   Sat Feb 21 12:42:31 2015 +0100
        !          7644: 
        !          7645:     Bump max symbol length to 64.
        !          7646:     
        !          7647:     And move the constant to conf.h header.
        !          7648:     
        !          7649:     Thanks to Alexander Chernikov for the patch.
        !          7650: 
        !          7651: commit ab006391305165c805f75e3a2ce20946748233c9
        !          7652: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7653: Date:   Sat Feb 21 12:27:05 2015 +0100
        !          7654: 
        !          7655:     Fixes a bug in locking code.
        !          7656:     
        !          7657:     When multiple protocols have a lock for the same IP address, it crashes
        !          7658:     under some circumstances.
        !          7659:     
        !          7660:     Thanks to Matthias Schiffer for the bugreport.
        !          7661: 
        !          7662: commit dfc7a6c6a0758a1d9a13b94708228c9844efe97e
        !          7663: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7664: Date:   Sat Feb 21 12:24:30 2015 +0100
        !          7665: 
        !          7666:     Fixes potential alignment bug in BGP.
        !          7667:     
        !          7668:     Thanks to Andrew (seti.kr.ua) for the bug report.
        !          7669: 
        !          7670: commit 523f020b5f6b63096a7d5e90938baecd4beea0bd
        !          7671: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7672: Date:   Sat Feb 21 11:46:14 2015 +0100
        !          7673: 
        !          7674:     Link state support in BGP.
        !          7675:     
        !          7676:     Configurable fast shutdown of a BGP session when an interface loses link.
        !          7677: 
        !          7678: commit 7730553b7eeb33d21e5597f110334ca584ad532d
        !          7679: Merge: 0da562a ec2194f
        !          7680: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7681: Date:   Sat Feb 21 11:39:45 2015 +0100
        !          7682: 
        !          7683:     Merge remote-tracking branch 'origin/soft-int'
        !          7684: 
        !          7685: commit 0da562a7cb25ed2b8724248ad6f841b1831a09c3
        !          7686: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7687: Date:   Sat Nov 8 23:52:42 2014 +0100
        !          7688: 
        !          7689:     Fixes error message in 'show route' cmd.
        !          7690:     
        !          7691:     Message 'Network not in table' was not reported if a network node without
        !          7692:     any routes was found in a routing table.
        !          7693: 
        !          7694: commit ec2194fa7a20a2768ca0027b5f3c024f0a251866
        !          7695: Author: Ondrej Filip <feela@network.cz>
        !          7696: Date:   Wed Nov 5 11:07:25 2014 +0100
        !          7697: 
        !          7698:     Version 1.5.0pre
        !          7699: 
        !          7700: commit dd5ef279bce002b9942ea437ef80ce3443bbe1dc
        !          7701: Author: Ondrej Filip <feela@network.cz>
        !          7702: Date:   Tue Nov 4 18:11:59 2014 +0100
        !          7703: 
        !          7704:     Small typo fixed.
        !          7705: 
        !          7706: commit f92e6ab364d50900bc9104af4539f6ea42b25c43
        !          7707: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7708: Date:   Mon Nov 3 20:35:58 2014 +0100
        !          7709: 
        !          7710:     Changes order of iface/addr/neigh event hooks.
        !          7711:     
        !          7712:     Now the order is:
        !          7713:     
        !          7714:     Up   -> iface, addr, neigh
        !          7715:     Down -> neigh, addr, iface
        !          7716:     
        !          7717:     It fixes the case when an iface appears, related static routes are
        !          7718:     activated and exported to OSPF before the iface notification and
        !          7719:     therefore forwarding addresses are not encoded in generated external
        !          7720:     LSAs.
        !          7721: 
        !          7722: commit ac9dc669d80cbfeea3d0cdba5ec7354c804b1ae9
        !          7723: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7724: Date:   Mon Nov 3 20:35:25 2014 +0100
        !          7725: 
        !          7726:     Bugfix in latest OSPF changes.
        !          7727: 
        !          7728: commit cd3b700393144796c9dead54b6ac2fc31aaa5272
        !          7729: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7730: Date:   Mon Nov 3 14:53:59 2014 +0100
        !          7731: 
        !          7732:     Bugfix to OSPF reconfiguration.
        !          7733: 
        !          7734: commit 6f8bbaa10bbd21729d0b62a5878febcbee2c0811
        !          7735: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7736: Date:   Mon Nov 3 10:42:55 2014 +0100
        !          7737: 
        !          7738:     Fininshing integrated OSPF.
        !          7739: 
        !          7740: commit d148d0af363cdac7783c4bf79527669cdd5ddf4a
        !          7741: Author: Ondrej Filip <feela@network.cz>
        !          7742: Date:   Sat Oct 25 21:08:35 2014 +0200
        !          7743: 
        !          7744:     Mailling list location changed.
        !          7745: 
        !          7746: commit 88a183c6c9a2b86b52f67e87bbc8b7edd32670c6
        !          7747: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7748: Date:   Fri Oct 24 11:11:43 2014 +0200
        !          7749: 
        !          7750:     Integrated IP functions.
        !          7751: 
        !          7752: commit f8fefde318c6248ad94e7b6d60155deed9ab8eed
        !          7753: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7754: Date:   Fri Oct 24 10:27:21 2014 +0200
        !          7755: 
        !          7756:     Refactoring of OSPF messages.
        !          7757: 
        !          7758: commit d26cfa0519daf1369b697b0df000c8db8b730e66
        !          7759: Author: Ondrej Filip <feela@network.cz>
        !          7760: Date:   Thu Oct 16 18:05:54 2014 +0200
        !          7761: 
        !          7762:     __attribute__((packed)) added. Thank to Maksim Tamarsky
        !          7763: 
        !          7764: commit 78342404ff573e85e396f0611014b90cea9b4c0a
        !          7765: Merge: 178a197 cfdea7b
        !          7766: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7767: Date:   Tue Oct 14 17:23:34 2014 +0200
        !          7768: 
        !          7769:     Merge remote-tracking branch 'origin/master' into soft-int
        !          7770: 
        !          7771: commit cfdea7b85f6c520cc5a62eb907d2190db14c9900
        !          7772: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7773: Date:   Sun Oct 5 23:59:18 2014 +0200
        !          7774: 
        !          7775:     NEWS and version update.
        !          7776: 
        !          7777: commit 7aa809016e9a2e24ef914888f7413dc1f2721b17
        !          7778: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7779: Date:   Thu Oct 2 12:46:26 2014 +0200
        !          7780: 
        !          7781:     Implements show route noexport option.
        !          7782:     
        !          7783:     Shows routes that would be exported to the protocol but are rejected by
        !          7784:     the export filter.
        !          7785: 
        !          7786: commit 1123e707400984108f48ac7c1be559f7ed8d9306
        !          7787: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7788: Date:   Thu Oct 2 11:41:34 2014 +0200
        !          7789: 
        !          7790:     Implements token bucket filter for rate limiting.
        !          7791: 
        !          7792: commit dcde7ae597ccb7d81648b9ecab7c0f61c88e60f2
        !          7793: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7794: Date:   Thu Oct 2 11:33:55 2014 +0200
        !          7795: 
        !          7796:     Allows to configure different remote port for BGP sessions.
        !          7797:     
        !          7798:     Thanks to João Taveira Araújo for the original patch.
        !          7799: 
        !          7800: commit 252c7e4d0b7b45c89f69b3c4763b0c013aa5830d
        !          7801: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7802: Date:   Thu Oct 2 11:05:55 2014 +0200
        !          7803: 
        !          7804:     Refresh kernel protocol when interface disappears.
        !          7805:     
        !          7806:     When an interface goes down, (Linux) kernel removes routes pointing to
        !          7807:     that ifacem but does not send withdraws for them. We rescan the
        !          7808:     kernel table to ensure synchronization.
        !          7809:     
        !          7810:     Thanks to Alexander Demenshin for the bugreport.
        !          7811: 
        !          7812: commit b2f008378a39104152b20a969942cd6c99644984
        !          7813: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7814: Date:   Thu Oct 2 11:02:14 2014 +0200
        !          7815: 
        !          7816:     Allows more constants in set literals.
        !          7817:     
        !          7818:     Thanks to Michael Fincham for the bugreport.
        !          7819: 
        !          7820: commit 0479b44373892db273f3e0365c7cbaad2eeb0d5f
        !          7821: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7822: Date:   Thu Oct 2 10:59:34 2014 +0200
        !          7823: 
        !          7824:     Fixes some warnings.
        !          7825: 
        !          7826: commit 178a197afb77770d8a90765e39065679936a45d1
        !          7827: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7828: Date:   Mon Jul 21 21:50:56 2014 +0200
        !          7829: 
        !          7830:     OSPF instance id option and documentation update.
        !          7831: 
        !          7832: commit 742029eb782f19c05decbd443d245f12360d5e78
        !          7833: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7834: Date:   Sat Jul 19 17:28:38 2014 +0200
        !          7835: 
        !          7836:     Whitespace cleanup in OSPF.
        !          7837: 
        !          7838: commit a7a7372aa7c527619ee527e3b37013f9fb87d618
        !          7839: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7840: Date:   Fri Jul 18 18:24:12 2014 +0200
        !          7841: 
        !          7842:     Temporary integrated OSPF commit.
        !          7843: 
        !          7844: commit 7c00551749005ad951845eb924f76e1fd28e62a2
        !          7845: Author: Ondrej Filip <feela@network.cz>
        !          7846: Date:   Wed Jul 9 23:46:02 2014 +0200
        !          7847: 
        !          7848:     Version 1.4.4.
        !          7849: 
        !          7850: commit 06c4b6ac9da204453049fa56a204474486a9c9e9
        !          7851: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7852: Date:   Wed Jul 9 18:42:59 2014 +0200
        !          7853: 
        !          7854:     NEWS and version update.
        !          7855: 
        !          7856: commit 029ec22d0acedb79e03394b60ea99bb46c479d79
        !          7857: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7858: Date:   Wed Jul 9 18:34:42 2014 +0200
        !          7859: 
        !          7860:     Fixes a bug in BSD kernel interfacing code.
        !          7861:     
        !          7862:     The bug was introduced in 05476c4d04a24bdb26fa64e05ab31bc36118f34e.
        !          7863: 
        !          7864: commit 751482899c190194b4958bc54ded428f98f565e9
        !          7865: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7866: Date:   Mon Jul 7 22:56:21 2014 +0200
        !          7867: 
        !          7868:     Implements default router preference (RFC 4191) for RAdv.
        !          7869:     
        !          7870:     Thanks to Baptiste Jonglez for the patch.
        !          7871: 
        !          7872: commit 6285793f18817091060c7257f7d4af0db010a67a
        !          7873: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7874: Date:   Mon Jul 7 22:23:37 2014 +0200
        !          7875: 
        !          7876:     Replaces function name in test.conf as it collided with new keyword.
        !          7877: 
        !          7878: commit 20e8d040b09f1e01c431c686f1ced5a12ba7bc68
        !          7879: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7880: Date:   Mon Jun 30 11:55:22 2014 +0200
        !          7881: 
        !          7882:     Fixes integer overflow in show memory command.
        !          7883:     
        !          7884:     Thanks to Job Snijders for the bugreport.
        !          7885: 
        !          7886: commit 8945f73d946a9323daf8dfc1bf5b3884cf6d7664
        !          7887: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7888: Date:   Thu Jun 26 13:30:27 2014 +0200
        !          7889: 
        !          7890:     Ensures that msg_controllen includes last padding.
        !          7891:     
        !          7892:     Although RFC 3542 allows both cases, Theo de Raadt thinks
        !          7893:     he knows better, and msg_controllen without last padding
        !          7894:     fails on OpenBSD.
        !          7895:     
        !          7896:     Thanks to Job Snijders for the bugreport.
        !          7897: 
        !          7898: commit 70945cb645402a4bb1d3dc46a07928caeb954c1f
        !          7899: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7900: Date:   Thu Jun 26 11:58:57 2014 +0200
        !          7901: 
        !          7902:     Temporary integrated OSPF commit.
        !          7903: 
        !          7904: commit 9d5960cfa5b4c15ddd48dbab599f864a6aa1e025
        !          7905: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7906: Date:   Tue Jun 10 12:16:01 2014 +0200
        !          7907: 
        !          7908:     Fixes max include depth in documentation.
        !          7909:     
        !          7910:     Thanks to Artyom Gavrichenkov for the patch.
        !          7911: 
        !          7912: commit 9eceab33f97724be148f9f05614d7551940e85f1
        !          7913: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7914: Date:   Thu May 29 23:05:03 2014 +0200
        !          7915: 
        !          7916:     String constants could be used for string option values.
        !          7917:     
        !          7918:     Thanks to Frederik Kriewitz for the patch.
        !          7919: 
        !          7920: commit 05476c4d04a24bdb26fa64e05ab31bc36118f34e
        !          7921: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7922: Date:   Sun May 18 11:42:26 2014 +0200
        !          7923: 
        !          7924:     IPv4/IPv6 integrated socket code.
        !          7925: 
        !          7926: commit 1149aa977d906a6400f998d5f6600871584395d0
        !          7927: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7928: Date:   Mon May 5 11:05:12 2014 +0200
        !          7929: 
        !          7930:     Fixes a problem with undoing of deconfiguring of protocol.
        !          7931:     
        !          7932:     Thanks to Sergey Popovich for the original patch.
        !          7933: 
        !          7934: commit 5a3905fe905ab1cc1a58fe9e6a4284f7d5057d13
        !          7935: Merge: 66370ea 7d9ab86
        !          7936: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7937: Date:   Sun May 4 11:59:50 2014 +0200
        !          7938: 
        !          7939:     Merge commit 'origin/master'
        !          7940: 
        !          7941: commit 66370eac1f88ec74b3017f1c39038d7b8b776de6
        !          7942: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7943: Date:   Sun May 4 00:01:06 2014 +0200
        !          7944: 
        !          7945:     Fixes BGP crash when update with some attributes and empty NLRI is received.
        !          7946:     
        !          7947:     Thanks to Charlie Allom for the bugreport.
        !          7948: 
        !          7949: commit 7d9ab86b7ac7d1f039af92a58eb749a24811b5c9
        !          7950: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7951: Date:   Sun May 4 00:01:06 2014 +0200
        !          7952: 
        !          7953:     Fixes BGP crash when update with some attributes and empty NLRI is received.
        !          7954: 
        !          7955: commit c865cae3eb327d1e0a745352c483bc7cb00f9323
        !          7956: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7957: Date:   Mon Apr 28 17:31:03 2014 +0200
        !          7958: 
        !          7959:     Fixes 'show route export' w.r.t. protocols with different RA_* types.
        !          7960: 
        !          7961: commit 984d734944a39b70a59f74e57f0e6fc3f720dd48
        !          7962: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7963: Date:   Sun Apr 27 00:46:32 2014 +0200
        !          7964: 
        !          7965:     Fixes limit verification during reconfiguration.
        !          7966: 
        !          7967: commit 145368f5474436ad7c48fa26f5bde8108ae5ef4a
        !          7968: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7969: Date:   Wed Apr 23 13:54:28 2014 +0200
        !          7970: 
        !          7971:     Extends multipath support for OSPF.
        !          7972:     
        !          7973:     Fixes cases where the same network or external route are propagated by
        !          7974:     several OSPF routes and some other corner cases in next hop construction
        !          7975:     and ECMP. Allows to specify whether external routes should be merged.
        !          7976:     
        !          7977:     Thanks to Peter Christensen for the original patch.
        !          7978: 
        !          7979: commit 4dd24f05f384ac14546d4bebbfcb0ecf9a976ec6
        !          7980: Merge: 1cb0f83 6c6ebd6
        !          7981: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7982: Date:   Wed Apr 23 13:52:15 2014 +0200
        !          7983: 
        !          7984:     Merge commit 'origin/master'
        !          7985: 
        !          7986: commit 6c6ebd64c3e44a2658a7ae8729159f1653c00a89
        !          7987: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          7988: Date:   Mon Apr 14 14:47:20 2014 +0200
        !          7989: 
        !          7990:     NEWS and version update.
        !          7991: 
        !          7992: commit 7c4a8007255403d046d7e909f710f0b1ed1791b1
        !          7993: Author: Ondrej Filip <feela@network.cz>
        !          7994: Date:   Mon Apr 14 12:28:30 2014 +0200
        !          7995: 
        !          7996:     Fixed bug in unused function.
        !          7997: 
        !          7998: commit 859cbd75e12966b09985b2a992da5ffb250938f8
        !          7999: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8000: Date:   Mon Apr 14 12:50:03 2014 +0200
        !          8001: 
        !          8002:     Fixes a bug in (mainly) IPv6 BGP.
        !          8003:     
        !          8004:     Stack variable may be used unitialized and that would lead to spurious
        !          8005:     rta_free(), which may cause crash. The bug was introduced in 1.4.1 from
        !          8006:     merging add-path branch.
        !          8007:     
        !          8008:     Thanks to Peter Andreev for reporting it and Alexander V. Chernikov for
        !          8009:     resolving it.
        !          8010: 
        !          8011: commit 1cb0f83d291d9bb3da06067bc2ea838238d5c487
        !          8012: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8013: Date:   Mon Apr 7 11:48:25 2014 +0200
        !          8014: 
        !          8015:     Fixes some asserts.
        !          8016: 
        !          8017: commit 538fec7b1b7dd729eadf1c933e27f59080cd3576
        !          8018: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8019: Date:   Wed Apr 2 23:00:10 2014 +0200
        !          8020: 
        !          8021:     NEWS and version update.
        !          8022: 
        !          8023: commit 2750b2484f256686a38ef6b89db7e2afe9b7999a
        !          8024: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8025: Date:   Wed Apr 2 20:09:37 2014 +0200
        !          8026: 
        !          8027:     Fixes missing line in BFD context help.
        !          8028: 
        !          8029: commit 864f52a5f4c47ac8dc44a8808beb7f038cbf9899
        !          8030: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8031: Date:   Wed Apr 2 19:58:23 2014 +0200
        !          8032: 
        !          8033:     Fixes nasty bug in BFD.
        !          8034:     
        !          8035:     When a BFD session is removed while being scheduled for notification,
        !          8036:     the session stays in notify list and is removed twice, which leads to
        !          8037:     a strange crash after a while.
        !          8038: 
        !          8039: commit 60442b1698563ebc5837454d89dbe4afa037882d
        !          8040: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8041: Date:   Mon Mar 31 18:51:51 2014 +0200
        !          8042: 
        !          8043:     NEWS and version update.
        !          8044: 
        !          8045: commit d96ec7f6e0d26546d9a27064fd13591618258894
        !          8046: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8047: Date:   Mon Mar 31 18:51:16 2014 +0200
        !          8048: 
        !          8049:     Updates BFD documentation.
        !          8050: 
        !          8051: commit eb5ea6bdd6fa45f03425ea38b8d1b16fd5ff7469
        !          8052: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8053: Date:   Mon Mar 31 13:21:13 2014 +0200
        !          8054: 
        !          8055:     Fixes build on some old systems.
        !          8056: 
        !          8057: commit 43eb8f610f7796375419dc8d72df7a41c01c82af
        !          8058: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8059: Date:   Mon Mar 31 12:02:20 2014 +0200
        !          8060: 
        !          8061:     Removes conflicting definition.
        !          8062:     
        !          8063:     This function is a part of Readline interface for a long time
        !          8064:     (with a different type).
        !          8065: 
        !          8066: commit d7c0628591b802e202903b63fce53b6a422a3db2
        !          8067: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8068: Date:   Mon Mar 31 00:56:44 2014 +0200
        !          8069: 
        !          8070:     Check validity of interface definitions.
        !          8071:     
        !          8072:     Thanks to Aleksey Berezin for the bugreport.
        !          8073: 
        !          8074: commit 0c3d9dacafdb807d2101c67610969707353f434a
        !          8075: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8076: Date:   Tue Mar 25 14:58:00 2014 +0100
        !          8077: 
        !          8078:     Fixes file descriptor leak when parser ends with error.
        !          8079:     
        !          8080:     Thanks to MrBr for the bugreport.
        !          8081: 
        !          8082: commit 4e7c974d22ee5d938d8d8e7018f0a63f609d630b
        !          8083: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8084: Date:   Mon Mar 24 19:22:19 2014 +0100
        !          8085: 
        !          8086:     Fixes a bug in graceful restart.
        !          8087: 
        !          8088: commit 9637c7c0acbc56bbf6fedc44d89f921386843992
        !          8089: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8090: Date:   Mon Mar 24 13:33:15 2014 +0100
        !          8091: 
        !          8092:     Minor fixes in documentation.
        !          8093: 
        !          8094: commit dad92c30c7892457335d52a09548330498567ea8
        !          8095: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8096: Date:   Mon Mar 24 12:56:56 2014 +0100
        !          8097: 
        !          8098:     Reformat bird.sgml to have consistent line length.
        !          8099: 
        !          8100: commit c980f8002e0f0578d5e715d48d65d9fb9a0c5a70
        !          8101: Merge: 2e84b4e 227af30
        !          8102: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8103: Date:   Mon Mar 24 12:41:43 2014 +0100
        !          8104: 
        !          8105:     Merge branch 'bgp-grace'
        !          8106: 
        !          8107: commit 227af309e55a59f14d1a5a757f17900164bffc97
        !          8108: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8109: Date:   Mon Mar 24 12:32:12 2014 +0100
        !          8110: 
        !          8111:     Fixes some minor issues in graceful restart.
        !          8112: 
        !          8113: commit 2e84b4e82dbf8fce0fd12fb0c25d925ffd287970
        !          8114: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8115: Date:   Sun Mar 23 01:40:37 2014 +0100
        !          8116: 
        !          8117:     Fixes a bug in rte_src handling.
        !          8118: 
        !          8119: commit 6eda3f135f5bab4db456531d25bc3e5f669ec22e
        !          8120: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8121: Date:   Sun Mar 23 01:35:33 2014 +0100
        !          8122: 
        !          8123:     Documentation (and minor fixes) for BGP graceful restart.
        !          8124: 
        !          8125: commit 0c791f873aeb7c1052c97db7da4fe23873d69603
        !          8126: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8127: Date:   Thu Mar 20 14:07:12 2014 +0100
        !          8128: 
        !          8129:     BGP graceful restart support.
        !          8130:     
        !          8131:     Also significant core protocol state changes needed for that,
        !          8132:     global graceful restart recovery state and kernel proto support
        !          8133:     for recovery.
        !          8134: 
        !          8135: commit d40c26594c22ad934a13061e11b373bdf81af8f9
        !          8136: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8137: Date:   Wed Feb 26 13:25:39 2014 +0100
        !          8138: 
        !          8139:     Fixes issues with static protocol reconfiguration.
        !          8140:     
        !          8141:     The old static route was not removed when the nexthop changed and the
        !          8142:     new one was not viable (no neighbor).
        !          8143:     
        !          8144:     Thanks to Pierluigi Rolando for the original patch.
        !          8145: 
        !          8146: commit 3216eb03ddddc057bb18fa4dd02b7935a604f71f
        !          8147: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8148: Date:   Wed Feb 26 12:52:00 2014 +0100
        !          8149: 
        !          8150:     Fixes longstanding issue with interfaces staying in IF_TMP_DOWN.
        !          8151:     
        !          8152:     Thanks to Pierluigi Rolando and others for the bugreport.
        !          8153: 
        !          8154: commit d776540811cdf672dc113f29feef2415465589c6
        !          8155: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8156: Date:   Wed Feb 12 12:57:38 2014 +0100
        !          8157: 
        !          8158:     Adds configure error message.
        !          8159: 
        !          8160: commit 4e398e34bf140baf73fe8dceaf81078fb343f65a
        !          8161: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8162: Date:   Fri Feb 7 13:09:55 2014 +0100
        !          8163: 
        !          8164:     Workaround thread-unsafeness of cli_echo().
        !          8165: 
        !          8166: commit 9ae0f4b78c5e3619ee19969c052c863bf96be6d9
        !          8167: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8168: Date:   Fri Feb 7 11:46:01 2014 +0100
        !          8169: 
        !          8170:     Fixes autoconf check for ncurses.
        !          8171: 
        !          8172: commit 5c200e0a4d26d183e04fda43de16340521002c40
        !          8173: Merge: 4a5eb28 080ed4d
        !          8174: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8175: Date:   Thu Feb 6 20:15:05 2014 +0100
        !          8176: 
        !          8177:     Merge branch 'add-path'
        !          8178: 
        !          8179: commit 4a5eb284c9d51441e09976021d1bd93c21408d46
        !          8180: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8181: Date:   Thu Feb 6 18:09:18 2014 +0100
        !          8182: 
        !          8183:     Update include directive documentation.
        !          8184:     
        !          8185:     Thanks to Pierluigi Rolando for the bugreport.
        !          8186: 
        !          8187: commit 12201fd854424628be7a00e1180ba082db7efa0b
        !          8188: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8189: Date:   Thu Feb 6 18:00:41 2014 +0100
        !          8190: 
        !          8191:     Fix a documentation update.
        !          8192: 
        !          8193: commit 10c2e1e0125dfa600b1c2b6553883cccf2d025dd
        !          8194: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8195: Date:   Thu Feb 6 17:54:25 2014 +0100
        !          8196: 
        !          8197:     Fixes crash when state of disabled OSPF protocol is queried.
        !          8198:     
        !          8199:     Thanks to Ondrej Caletka for the bugreport.
        !          8200: 
        !          8201: commit cba9cbf1bdb253c7727da10ff4f835d7ffbadeed
        !          8202: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8203: Date:   Thu Feb 6 17:51:16 2014 +0100
        !          8204: 
        !          8205:     Silence this annoying warning.
        !          8206: 
        !          8207: commit 48e5f32db676645640f84ab3d630cce975aa6b20
        !          8208: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8209: Date:   Thu Feb 6 17:46:01 2014 +0100
        !          8210: 
        !          8211:     Many changes in I/O and OSPF sockets and packet handling.
        !          8212:     
        !          8213:     I/O:
        !          8214:      - BSD: specify src addr on IP sockets by IP_HDRINCL
        !          8215:      - BSD: specify src addr on UDP sockets by IP_SENDSRCADDR
        !          8216:      - Linux: specify src addr on IP/UDP sockets by IP_PKTINFO
        !          8217:      - IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO
        !          8218:      - Alternative SKF_BIND flag for binding to IP address
        !          8219:      - Allows IP/UDP sockets without tx_hook, on these
        !          8220:        sockets a packet is discarded when TX queue is full
        !          8221:      - Use consistently SOL_ for socket layer values.
        !          8222:     
        !          8223:     OSPF:
        !          8224:      - Packet src addr is always explicitly set
        !          8225:      - Support for secondary addresses in BSD
        !          8226:      - Dynamic RX/TX buffers
        !          8227:      - Fixes some minor buffer overruns
        !          8228:      - Interface option 'tx length'
        !          8229:      - Names for vlink pseudoifaces (vlinkX)
        !          8230:      - Vlinks use separate socket for TX
        !          8231:      - Vlinks do not use fixed associated iface
        !          8232:      - Fixes TTL for direct unicast packets
        !          8233:      - Fixes DONTROUTE for OSPF sockets
        !          8234:      - Use ifa->ifname instead of ifa->iface->name
        !          8235: 
        !          8236: commit f48fa14214301382b2e6b134788a7506b61b664f
        !          8237: Merge: 6601a14 300e400
        !          8238: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8239: Date:   Thu Feb 6 16:47:43 2014 +0100
        !          8240: 
        !          8241:     Merge commit 'origin/master' into socket
        !          8242: 
        !          8243: commit 300e4008f02382b87409dabb52a317b8336de55b
        !          8244: Author: Ondrej Filip <feela@network.cz>
        !          8245: Date:   Wed Feb 5 23:32:28 2014 +0100
        !          8246: 
        !          8247:     Fedora init script improvement suggested by alex@alex.org.uk
        !          8248: 
        !          8249: commit e9e6fbf924630abf821aa38f99e571f706536350
        !          8250: Author: Ondrej Filip <feela@network.cz>
        !          8251: Date:   Wed Feb 5 15:57:37 2014 +0100
        !          8252: 
        !          8253:     Minor changes in Fedora init script.
        !          8254: 
        !          8255: commit ec35c7c2fc24e499a86022860c38460ae4bbad39
        !          8256: Author: Ondrej Filip <feela@network.cz>
        !          8257: Date:   Tue Jan 21 23:43:22 2014 +0100
        !          8258: 
        !          8259:     Small doc update.
        !          8260: 
        !          8261: commit 6601a14831cdd32fc671ebc9dc299d2be427e489
        !          8262: Merge: 2d0b7e2 283c7df
        !          8263: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8264: Date:   Tue Dec 10 22:30:46 2013 +0100
        !          8265: 
        !          8266:     Merge branch 'add-path'
        !          8267: 
        !          8268: commit 2d0b7e24a52d51904faa8a8e96d68863491c110a
        !          8269: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8270: Date:   Mon Dec 2 11:54:32 2013 +0100
        !          8271: 
        !          8272:     Fixes problem with source address selection in BGP and BFD.
        !          8273: 
        !          8274: commit 080ed4d8c2c1982dd0c81c62703064b620a67a01
        !          8275: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8276: Date:   Sun Dec 1 18:25:39 2013 +0100
        !          8277: 
        !          8278:     Fixes bug in documentation.
        !          8279: 
        !          8280: commit 10115b1d70552f3ec4446dfec9e62c3a16d9eae0
        !          8281: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8282: Date:   Sun Dec 1 18:20:09 2013 +0100
        !          8283: 
        !          8284:     Updates add-path documentation.
        !          8285: 
        !          8286: commit e7d2ac4401be8aaf9629e248cad6a74498a6be24
        !          8287: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8288: Date:   Tue Nov 26 22:37:24 2013 +0100
        !          8289: 
        !          8290:     Finishes add-path.
        !          8291:     
        !          8292:     Fixes some bugs and uses generic hash implementation.
        !          8293: 
        !          8294: commit 283c7dfada53a6dee6a8a17ecab492ffafd44b66
        !          8295: Merge: 736e143 0bb4e37
        !          8296: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8297: Date:   Mon Nov 25 18:42:47 2013 +0100
        !          8298: 
        !          8299:     Merge branch 'master' into add-path
        !          8300: 
        !          8301: commit 0bb4e37db317a1290bad24fe430cac6569a9bd8c
        !          8302: Author: Ondrej Filip <feela@network.cz>
        !          8303: Date:   Mon Nov 25 15:16:20 2013 +0100
        !          8304: 
        !          8305:     Release date added.
        !          8306: 
        !          8307: commit e75520c455a1a3fd026a9633c3ad26d865165fee
        !          8308: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8309: Date:   Mon Nov 25 13:46:29 2013 +0100
        !          8310: 
        !          8311:     NEWS and version update.
        !          8312: 
        !          8313: commit 90eb5e7a8bb60cb637626a3b433caf10cd8d2a03
        !          8314: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8315: Date:   Mon Nov 25 13:44:07 2013 +0100
        !          8316: 
        !          8317:     Use ISO 8601 timeformats by default.
        !          8318: 
        !          8319: commit 0c95f85ec59cc970e8f9aa2da56e25dad249bbb8
        !          8320: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8321: Date:   Mon Nov 25 11:06:00 2013 +0100
        !          8322: 
        !          8323:     Fixes a reply code.
        !          8324: 
        !          8325: commit 8137fe6d45762844248300de2a030e96042b1975
        !          8326: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8327: Date:   Mon Nov 25 02:03:23 2013 +0100
        !          8328: 
        !          8329:     Allows shorthands for birdc noninteractive commands.
        !          8330: 
        !          8331: commit e237b28a4d4b17ab50182ac110f28594967e76dc
        !          8332: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8333: Date:   Mon Nov 25 01:21:39 2013 +0100
        !          8334: 
        !          8335:     Changes primary addr selection on BSD to respect SIOCGIFADDR ioctl() result.
        !          8336:     
        !          8337:     Thanks to Alexander V. Chernikov for the original patch.
        !          8338: 
        !          8339: commit 5ebc92935cb58c78286d91f0831de94cd4ae0f9e
        !          8340: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8341: Date:   Sun Nov 24 22:22:24 2013 +0100
        !          8342: 
        !          8343:     Last state change should track protocol state change.
        !          8344:     
        !          8345:     And not core state change, which is not much relevant
        !          8346:     (e.g. refeed in BGP).
        !          8347: 
        !          8348: commit c72aca41e5fa55b0efa768e93b55f5c307f84025
        !          8349: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8350: Date:   Sun Nov 24 22:12:51 2013 +0100
        !          8351: 
        !          8352:     OSPF ifaces on loopback should be stub.
        !          8353: 
        !          8354: commit e4d179f2c2f213c9190ff4d05979dc33f2c5b2c7
        !          8355: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8356: Date:   Sun Nov 24 12:50:53 2013 +0100
        !          8357: 
        !          8358:     Minor changes to default router ID calculation.
        !          8359: 
        !          8360: commit f3e59178506dab9d54cf19ec701f8d9a7fe283f9
        !          8361: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8362: Date:   Sun Nov 24 12:37:24 2013 +0100
        !          8363: 
        !          8364:     Enables multihop mode for IBGP by default.
        !          8365:     
        !          8366:     This is more consistent with common usage and also with the behavior of
        !          8367:     other implementations (Cisco, Juniper).
        !          8368:     
        !          8369:     Also changes the default for gw mode to be based solely on
        !          8370:     direct/multihop.
        !          8371: 
        !          8372: commit 52e030e14666ff00a4bb0c700d2c027fbeb87d04
        !          8373: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8374: Date:   Sun Nov 24 00:17:02 2013 +0100
        !          8375: 
        !          8376:     Converts filters to unsigned integers.
        !          8377: 
        !          8378: commit 65194bd1eb2e6af217a750fa1e02b6eea66c7130
        !          8379: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8380: Date:   Mon Aug 15 02:12:54 2011 +0200
        !          8381: 
        !          8382:     Removes workaround related to import of kernel device routes.
        !          8383:     
        !          8384:     Thanks to Benjamin Cama for notification.
        !          8385: 
        !          8386: commit 204e0d5d59279c4245d4d46b86a570b043d683cf
        !          8387: Author: Ondrej Filip <feela@network.cz>
        !          8388: Date:   Sat Nov 23 18:11:55 2013 +0100
        !          8389: 
        !          8390:     Dots added.
        !          8391:     New release will be 1.4.0.
        !          8392: 
        !          8393: commit d0e33681540c9ad64b15f57a9d39c27658127a31
        !          8394: Author: Ondrej Filip <feela@network.cz>
        !          8395: Date:   Sat Nov 23 13:27:47 2013 +0100
        !          8396: 
        !          8397:     Added some other features into NEWS file
        !          8398: 
        !          8399: commit d940a2c4d4096f761a750e2df42ab55fd27a7e80
        !          8400: Author: Ondrej Filip <feela@network.cz>
        !          8401: Date:   Sat Nov 23 13:26:52 2013 +0100
        !          8402: 
        !          8403:     Added a few sentences about symbol names.
        !          8404: 
        !          8405: commit 736e143fa50607fcd88132291e96089b899af979
        !          8406: Merge: 094d2bd 2b3d52a
        !          8407: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8408: Date:   Sat Nov 23 11:50:34 2013 +0100
        !          8409: 
        !          8410:     Merge branch 'master' into add-path
        !          8411:     
        !          8412:     Conflicts:
        !          8413:     
        !          8414:        filter/filter.c
        !          8415:        nest/proto.c
        !          8416:        nest/rt-table.c
        !          8417:        proto/bgp/bgp.h
        !          8418:        proto/bgp/config.Y
        !          8419: 
        !          8420: commit 2b3d52aa421ae1c31e30107beefd82fddbb42854
        !          8421: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8422: Date:   Sat Nov 23 01:56:16 2013 +0100
        !          8423: 
        !          8424:     NEWS and version update.
        !          8425: 
        !          8426: commit 77e43c8b72ff77dc7607accb09576c0baab422e0
        !          8427: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8428: Date:   Fri Nov 22 22:49:04 2013 +0100
        !          8429: 
        !          8430:     Minor fixes.
        !          8431: 
        !          8432: commit 547d3bf45dd430828d597dfb56624bdc1bd798b3
        !          8433: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8434: Date:   Fri Nov 22 22:42:47 2013 +0100
        !          8435: 
        !          8436:     Allows pthreads by default on Linux and FreeBSD only.
        !          8437: 
        !          8438: commit 41f8bf57c4d80cbec89b90b901afa9df4d2d76f1
        !          8439: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8440: Date:   Fri Nov 22 21:59:43 2013 +0100
        !          8441: 
        !          8442:     Changes identifiers to avoid use of reserved ones.
        !          8443: 
        !          8444: commit 56027b5cbd7f432d30f7fc99bcf8680c840e6163
        !          8445: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8446: Date:   Fri Nov 22 21:58:43 2013 +0100
        !          8447: 
        !          8448:     Minor fix in log_commit() w.r.t. changes in BFD branch.
        !          8449: 
        !          8450: commit 1fba34a7a1e245f08212a31a65030230da8c451d
        !          8451: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8452: Date:   Fri Nov 22 18:45:57 2013 +0100
        !          8453: 
        !          8454:     Adds check for buffer size in OSPF LSA flood.
        !          8455: 
        !          8456: commit 0aeac9cb7f9887374ce0258c8653f9518529bf08
        !          8457: Merge: 8931425 7c9930f
        !          8458: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8459: Date:   Fri Nov 22 02:43:41 2013 +0100
        !          8460: 
        !          8461:     Merge commit 'origin/bfd'
        !          8462: 
        !          8463: commit 8931425d02dd8656b48142f608d3119ab6f4a96f
        !          8464: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8465: Date:   Fri Nov 22 02:12:21 2013 +0100
        !          8466: 
        !          8467:     Fixes problem with RIP on multiple ifaces on BSD.
        !          8468:     
        !          8469:     RIP sockets for multiple ifaces collided, because we cannot bind to
        !          8470:     a specific iface on BSD. Workarounded by SO_REUSEPORT.
        !          8471:     
        !          8472:     Thanks to Eugene M. Zheganin for the bugreport.
        !          8473: 
        !          8474: commit 548c329cde371bceef05f86b7f904378a392d89c
        !          8475: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8476: Date:   Fri Nov 22 01:20:32 2013 +0100
        !          8477: 
        !          8478:     Adds rate limiting to some log messages.
        !          8479: 
        !          8480: commit 64534ea2f4361c247d7a0d1b6b14a02e8e3d6d33
        !          8481: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8482: Date:   Thu Nov 21 13:17:42 2013 +0100
        !          8483: 
        !          8484:     Fixes an issue when opposite address is mistaken for broadcast on ptp ifaces on BSDs.
        !          8485:     
        !          8486:     Thanks to Lex van Roon for the bugreport and to Alexander V. Chernikov
        !          8487:     for examining it and locating the problem.
        !          8488: 
        !          8489: commit 7c9930f9c8feb3b08f7a9e94a08807ccbbc096f5
        !          8490: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8491: Date:   Thu Nov 21 11:36:49 2013 +0100
        !          8492: 
        !          8493:     Adds a missing file.
        !          8494:     
        !          8495:     I forgot to add that to the previous commit.
        !          8496: 
        !          8497: commit f8f2419d4c5b9028b9b3d2d893fe802f18eb239b
        !          8498: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8499: Date:   Wed Nov 20 13:30:00 2013 +0100
        !          8500: 
        !          8501:     Additional filter test case.
        !          8502: 
        !          8503: commit 4d4979c67c65dceb1ae557707312b83fde4bc8a8
        !          8504: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8505: Date:   Wed Nov 20 13:25:33 2013 +0100
        !          8506: 
        !          8507:     Fixes some potential issues with invalid term size in clients.
        !          8508: 
        !          8509: commit 1ec522538fb81a56b068c087d0a842faf7aa7869
        !          8510: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8511: Date:   Tue Nov 19 22:33:48 2013 +0100
        !          8512: 
        !          8513:     BFD protocol, ready for release.
        !          8514:     
        !          8515:     Supports OSPF and BGP and also statically configured sessions.
        !          8516: 
        !          8517: commit 33be3ba713901befe2df651b869a406df8fc8ace
        !          8518: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8519: Date:   Mon Oct 21 15:06:09 2013 +0200
        !          8520: 
        !          8521:     Accepts a change of OSPFv3 neighbor's IP address.
        !          8522:     
        !          8523:     Thanks to Pierre Pfister for the patch.
        !          8524: 
        !          8525: commit a15dab76f93337b07b4b03a64ac3bac26285dfd9
        !          8526: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8527: Date:   Mon Oct 21 14:58:32 2013 +0200
        !          8528: 
        !          8529:     Implements 'allow local as' option.
        !          8530:     
        !          8531:     Similar to allowas-in option on other routers.
        !          8532: 
        !          8533: commit f8cc7396cf25328b002394bbd7af679188b03370
        !          8534: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8535: Date:   Tue Oct 15 10:57:57 2013 +0200
        !          8536: 
        !          8537:     Forces KRT rescan on syncer startup with multi syncer config.
        !          8538:     
        !          8539:     Thanks to  Sergey Popovich for the patch.
        !          8540: 
        !          8541: commit 1cd198cf52b3eae677159d81eacca3e0ebe24e71
        !          8542: Author: Ondrej Filip <feela@network.cz>
        !          8543: Date:   Sat Oct 5 22:45:08 2013 +0200
        !          8544: 
        !          8545:     Flag -f "run in foreground" added as requested by a package maintainter.
        !          8546: 
        !          8547: commit 0e175f9f0fd872e95225355dbdeca49cd35ec0fd
        !          8548: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8549: Date:   Sat Oct 5 20:12:28 2013 +0200
        !          8550: 
        !          8551:     Fixes some BFD bugs and makes logging thread-safe.
        !          8552: 
        !          8553: commit e7c2380260f20a4a3587b47df97879ef91c69774
        !          8554: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8555: Date:   Sat Oct 5 19:30:12 2013 +0200
        !          8556: 
        !          8557:     Implements PID file support.
        !          8558:     
        !          8559:     Thanks to Thierry Fournier for the original patch.
        !          8560: 
        !          8561: commit 7ccb36d3308ef57d340e663f0cabd24663f4f62a
        !          8562: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8563: Date:   Wed Oct 2 14:57:29 2013 +0200
        !          8564: 
        !          8565:     Implements C.len operator for clist and eclist types.
        !          8566:     
        !          8567:     Thanks to Sergey Popovich for the original patch.
        !          8568: 
        !          8569: commit 28a10f84cbc3635e59bff348cb1715859dfacade
        !          8570: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8571: Date:   Wed Oct 2 14:41:37 2013 +0200
        !          8572: 
        !          8573:     Some fixes in filter code.
        !          8574:     
        !          8575:     Thanks to Sergey Popovich for original patches.
        !          8576: 
        !          8577: commit 70c5780535fa3bd2360e8208f9273ac6d1741107
        !          8578: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8579: Date:   Wed Oct 2 12:10:09 2013 +0200
        !          8580: 
        !          8581:     Minor code cleanups.
        !          8582:     
        !          8583:     Thanks to Sergey Popovich for the patch.
        !          8584: 
        !          8585: commit b655596d1d9ad7664d12249c946ba3483b2de3f0
        !          8586: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8587: Date:   Wed Oct 2 11:42:46 2013 +0200
        !          8588: 
        !          8589:     Simplifies val_in_range().
        !          8590:     
        !          8591:     Also fixes missing type check for element ~ set.
        !          8592: 
        !          8593: commit ec57bbf67f9e4221fb98f6769f592cedf2eb2d24
        !          8594: Author: Ondrej Filip <feela@network.cz>
        !          8595: Date:   Mon Sep 30 14:07:34 2013 +0200
        !          8596: 
        !          8597:     Recheck export/import/receive limits during reconfiguration.
        !          8598: 
        !          8599: commit a5fc59587fe864e4fcfb44eb3be57231b4ca339b
        !          8600: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8601: Date:   Thu Sep 26 22:08:21 2013 +0200
        !          8602: 
        !          8603:     Rewrites static attribute filter code and adds ifname/ifindex attributes.
        !          8604:     
        !          8605:     Thanks to Sergey Popovich for the original ifname/ifindex patch.
        !          8606: 
        !          8607: commit 4df2019ebfc0f77feb16b6a33dea6d5ac595f55e
        !          8608: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8609: Date:   Thu Sep 26 17:36:30 2013 +0200
        !          8610: 
        !          8611:     Fixes build issues without BGP.
        !          8612:     
        !          8613:     Thanks to Sergey Popovich for the patch.
        !          8614: 
        !          8615: commit f83ce94d5e410d5e5b921121867321c19451896b
        !          8616: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8617: Date:   Thu Sep 26 17:33:00 2013 +0200
        !          8618: 
        !          8619:     Fixes missing unregister of kernel table handling code.
        !          8620:     
        !          8621:     And some minor fixes.
        !          8622:     
        !          8623:     Thanks to Sergey Popovich for the patch.
        !          8624: 
        !          8625: commit f515e22924591542a909db0deb8545386aaa576e
        !          8626: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8627: Date:   Sun Sep 22 19:15:39 2013 +0200
        !          8628: 
        !          8629:     Allows other than IA_PEER addresses on PtP ifaces on BSD.
        !          8630:     
        !          8631:     Also fixes a potential problem with link-local dest_addrs
        !          8632:     for IA_PEER addresses.
        !          8633:     
        !          8634:     Thanks to Alexander V. Chernikov for the suggestion.
        !          8635: 
        !          8636: commit 6a8d3f1c1ffbd964e4d11b452c73e1ea70310af3
        !          8637: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8638: Date:   Mon Sep 16 23:57:40 2013 +0200
        !          8639: 
        !          8640:     BFD work in progress.
        !          8641:     
        !          8642:     Now it compiles and mostly works.
        !          8643: 
        !          8644: commit e550a37206528be39e4751865b46720885fd64ed
        !          8645: Author: Ondrej Filip <feela@network.cz>
        !          8646: Date:   Fri Sep 13 18:55:02 2013 +0200
        !          8647: 
        !          8648:     Fixes problem with OSPF neighbor router ID change. Thanx to Alexander V. Chernikov
        !          8649: 
        !          8650: commit c404f4b968b69a2c5c1975d04abf7474891d5656
        !          8651: Author: Ondrej Filip <feela@network.cz>
        !          8652: Date:   Wed Sep 11 01:15:34 2013 +0200
        !          8653: 
        !          8654:     OSPF state machine fix - thanx to Alexander V. Chernikov
        !          8655: 
        !          8656: commit 92f8878cbf5d8ad9e9b909a9dcbb2112de54a542
        !          8657: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8658: Date:   Tue Sep 10 13:03:58 2013 +0200
        !          8659: 
        !          8660:     Fixes a bug related to multiple IPs and direct protocol.
        !          8661:     
        !          8662:     Multiple IPs in the same IP prefix confuse the direct
        !          8663:     protocol and could cause withdrawal of a valid prefix.
        !          8664:     
        !          8665:     Thanks to Dan Rimal for a bugreport.
        !          8666: 
        !          8667: commit 2a0130f94d2304e316f0ffad8e52fce094559782
        !          8668: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8669: Date:   Tue Sep 10 13:01:22 2013 +0200
        !          8670: 
        !          8671:     Fixes a bug in kernel extended attribute processing.
        !          8672:     
        !          8673:     The bug caused that krt_prefsrc attribute was not processed when a route
        !          8674:     received from a kernel protocol was exported to another kernel protocol.
        !          8675:     
        !          8676:     Thanks to Sergey Popovich for a bugreport.
        !          8677: 
        !          8678: commit 507e182a60c3704f8a28a0450f1affc2c7c1b66a
        !          8679: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8680: Date:   Tue Sep 10 12:58:24 2013 +0200
        !          8681: 
        !          8682:     Fixes reconfiguration of global set variables.
        !          8683:     
        !          8684:     When global set variables were used, every reconfiguration restarted
        !          8685:     protocols that use it in filters.
        !          8686:     
        !          8687:     Thanks to Sergey Popovich for a bugreport.
        !          8688: 
        !          8689: commit d27e127aa996d500fed21be2bbbe888cafecb830
        !          8690: Merge: bff9ce5 b0a8c7f
        !          8691: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8692: Date:   Tue Sep 10 12:54:57 2013 +0200
        !          8693: 
        !          8694:     Merge commit 'origin/master'
        !          8695: 
        !          8696: commit bf139664aa2ae9956b520ba4813bb6e03bf1a3e8
        !          8697: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8698: Date:   Tue Sep 10 12:09:36 2013 +0200
        !          8699: 
        !          8700:     Initial BFD commit, work in progress.
        !          8701: 
        !          8702: commit b0a8c7fc8547eef21ede33887580b5e867ee742c
        !          8703: Author: Ondrej Filip <feela@network.cz>
        !          8704: Date:   Thu Aug 15 20:26:50 2013 +0200
        !          8705: 
        !          8706:     Wrong change commited - 'route limit' marked as obsolete.
        !          8707: 
        !          8708: commit e628cad0ca9eb7d9bf4141e57201169c46faa661
        !          8709: Author: Ondrej Filip <feela@network.cz>
        !          8710: Date:   Thu Aug 15 20:20:05 2013 +0200
        !          8711: 
        !          8712:     BGP option 'route limit' is marked as obsolete. 'import limit' should be used instead.
        !          8713: 
        !          8714: commit 6d90e57332e102e261d69a1a05dfaa19fb31d933
        !          8715: Author: Ondrej Filip <feela@network.cz>
        !          8716: Date:   Thu Aug 15 19:54:18 2013 +0200
        !          8717: 
        !          8718:     Typo in documentation fixed.
        !          8719: 
        !          8720: commit 1f64a487a065cc27c52ab0d3d38b7c82926fea70
        !          8721: Author: Ondrej Filip <feela@network.cz>
        !          8722: Date:   Thu Aug 15 13:29:33 2013 +0200
        !          8723: 
        !          8724:     Symbol names enclosed by apostrophes can contain colons.
        !          8725: 
        !          8726: commit bff9ce5130d16af2fd802d42bdb2bff00980c9ae
        !          8727: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8728: Date:   Thu Aug 15 01:06:47 2013 +0200
        !          8729: 
        !          8730:     Extends delete/filter operators to work no bgp_paths.
        !          8731: 
        !          8732: commit 8a112d8ba2e77d79468146ec8f54b3c90b6e68e4
        !          8733: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8734: Date:   Tue Aug 13 23:04:06 2013 +0200
        !          8735: 
        !          8736:     Removes strip from make install
        !          8737:     
        !          8738:     Thanks to Alexander V. Chernikov for the patch.
        !          8739: 
        !          8740: commit b21955e05800c3ceedfe39eef605da84285296c7
        !          8741: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8742: Date:   Tue Aug 13 20:42:43 2013 +0200
        !          8743: 
        !          8744:     Fixes a bug related to mixed up neighbor events in BGP.
        !          8745:     
        !          8746:     Neighbor events related to received route next hops got mixed up with
        !          8747:     sticky neighbor node for an IP of the BGP peer. If a neighbor for a next
        !          8748:     hop disappears, BGP session is shut down.
        !          8749: 
        !          8750: commit 00192d5ab88ff9eeccbc1bc10cb534976a56963d
        !          8751: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8752: Date:   Tue Aug 13 20:25:05 2013 +0200
        !          8753: 
        !          8754:     Implements proper setting of 'gw' route attribute.
        !          8755:     
        !          8756:     Thanks to Sergey Popovich for the bugreport.
        !          8757: 
        !          8758: commit f8e8fcfabeb206287065f48e800743b0aa797cc2
        !          8759: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8760: Date:   Mon Jul 29 13:07:15 2013 +0200
        !          8761: 
        !          8762:     Test commit.
        !          8763: 
        !          8764: commit fd6cbe9053c529df7eac431ff72d3c509ba91ca9
        !          8765: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8766: Date:   Mon Jul 29 12:52:38 2013 +0200
        !          8767: 
        !          8768:     Test commit.
        !          8769: 
        !          8770: commit cff430f396b006ef34e756075948dcb6b07fc427
        !          8771: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8772: Date:   Mon Jul 29 12:28:03 2013 +0200
        !          8773: 
        !          8774:     Test commit.
        !          8775:     
        !          8776:     Also contains minor fixes in doc formatting.
        !          8777: 
        !          8778: commit 50b71c1b96f99ac40e733295daeb03927777b206
        !          8779: Author: Ondrej Filip <feela@network.cz>
        !          8780: Date:   Sun Jul 28 18:50:40 2013 +0200
        !          8781: 
        !          8782:     Fixed small error in documantation (thanks engels@openit.de).
        !          8783: 
        !          8784: commit 643228bc1cfb6a8f5169ee8ebfe1b75c81cc8543
        !          8785: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8786: Date:   Sat Jul 27 00:47:58 2013 +0200
        !          8787: 
        !          8788:     NEWS and version update.
        !          8789: 
        !          8790: commit f4830d8cb801c9124361bcc0c9e33f8f6005c08d
        !          8791: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8792: Date:   Sat Jul 27 00:38:29 2013 +0200
        !          8793: 
        !          8794:     Documentation update.
        !          8795: 
        !          8796: commit 4ee39ff2ff78f86ce1ec79a77e22120984452549
        !          8797: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8798: Date:   Fri Jul 26 11:06:08 2013 +0200
        !          8799: 
        !          8800:     Fixes initial random values for function arguments.
        !          8801:     
        !          8802:     Thanks to Javor Kliachev for the bugreport.
        !          8803: 
        !          8804: commit 1103b32e830fbf98d9b3e32c0425b9a589773bf8
        !          8805: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8806: Date:   Thu Jul 25 22:33:57 2013 +0200
        !          8807: 
        !          8808:     Allows to define constants of all filter types.
        !          8809: 
        !          8810: commit ac5745134847c044b21c311e5ab11d92d05bacc1
        !          8811: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8812: Date:   Thu Jul 25 13:55:24 2013 +0200
        !          8813: 
        !          8814:     Implements RFC 6608 Subcodes for BGP FSM Error.
        !          8815: 
        !          8816: commit 508d936078aecc8fbbb9ca1218104599c4a3cb4a
        !          8817: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8818: Date:   Thu Jul 25 13:15:32 2013 +0200
        !          8819: 
        !          8820:     Implements eval command and minor CLI cleanups.
        !          8821:     
        !          8822:     Implemented eval command can be used to evaluate expressions.
        !          8823:     
        !          8824:     The patch also documents echo command and allows to use log classes
        !          8825:     instead of integer as a mask for echo.
        !          8826: 
        !          8827: commit a0b176e3b2b50d3a30574afa927e0ee8ef65be68
        !          8828: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8829: Date:   Wed Jul 24 14:20:46 2013 +0200
        !          8830: 
        !          8831:     Fixes header file name.
        !          8832:     
        !          8833:     Thanks to Fritz Grimpen for the patch.
        !          8834: 
        !          8835: commit e1afee279993363ffb4a7005554d0774eb09b764
        !          8836: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8837: Date:   Wed Jul 24 14:19:37 2013 +0200
        !          8838: 
        !          8839:     Fixes socket error hook for radv protocol.
        !          8840: 
        !          8841: commit 9135c1f0ca6322bff9648895b5394b97761b4bcb
        !          8842: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8843: Date:   Wed Jul 24 14:11:12 2013 +0200
        !          8844: 
        !          8845:     Fixes bug in protocol flushing and rtable pruning.
        !          8846:     
        !          8847:     When route was propagated to another rtable through a pipe and then the
        !          8848:     pipe was reconfigured softly in such a way that any subsequent route
        !          8849:     updates are filtered, then the source protocol shutdown didn't clean up
        !          8850:     the route in the second rtable which caused stale routes and potential
        !          8851:     crashes.
        !          8852: 
        !          8853: commit 48b15ef10fede35113af71bd0dbb0b27a5fcb8f5
        !          8854: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8855: Date:   Sat Jul 13 01:39:41 2013 +0200
        !          8856: 
        !          8857:     Fixes stuck connection during BGP session shutdown.
        !          8858:     
        !          8859:     If TX buffers were full during BGP session shutdown
        !          8860:     then a protocol waited indefinitely to be able to
        !          8861:     send notification packet to close the session.
        !          8862: 
        !          8863: commit 354496ace87341428e6005fbc073fbe57b4e6c0e
        !          8864: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8865: Date:   Thu Jul 11 13:50:44 2013 +0200
        !          8866: 
        !          8867:     Some fixes for TTL security.
        !          8868: 
        !          8869: commit cc31b75a8fd7949533c12db2c3e9d67eeaf46d10
        !          8870: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8871: Date:   Tue Jul 9 23:27:10 2013 +0200
        !          8872: 
        !          8873:     Implements 'bgppath ~ int set' filter op.
        !          8874: 
        !          8875: commit c01a94663cc18f53fd741c5d44387eead9ca88af
        !          8876: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8877: Date:   Sun Jul 7 12:11:42 2013 +0200
        !          8878: 
        !          8879:     Implements multiple routing table support for FreeBSD and OpenBSD.
        !          8880:     
        !          8881:     Inspired by the patch from Alexander V. Chernikov.
        !          8882: 
        !          8883: commit c6964c305b425b98aaf0492806a28b578d799d83
        !          8884: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8885: Date:   Sat Jun 29 22:55:41 2013 +0200
        !          8886: 
        !          8887:     Makes krt.c much more readable.
        !          8888: 
        !          8889: commit 6ac4f87a2d661c739e55a63577e7bccf696c7abd
        !          8890: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8891: Date:   Wed Jun 26 14:35:39 2013 +0200
        !          8892: 
        !          8893:     Documentation for TTL security.
        !          8894: 
        !          8895: commit 70e212f913b6ce9d343d6c401b4f1712986a5f8c
        !          8896: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8897: Date:   Tue Jun 25 15:33:00 2013 +0200
        !          8898: 
        !          8899:     Implements TTL security for OSPF and RIP.
        !          8900:     
        !          8901:     Interfaces for OSPF and RIP could be configured to use (and request)
        !          8902:     TTL 255 for traffic to direct neighbors.
        !          8903:     
        !          8904:     Thanks to Simon Dickhoven for the original patch for RIPng.
        !          8905: 
        !          8906: commit ef4a50be10c6dd0abffd957132cd146029c3d79d
        !          8907: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8908: Date:   Mon Jun 24 16:37:30 2013 +0200
        !          8909: 
        !          8910:     Better packet priority and traffic class handling.
        !          8911:     
        !          8912:     Implements support for IPv6 traffic class, sets higher priority for OSPF
        !          8913:     and RIP outgoing packets by default and allows to configure ToS/DS/TClass
        !          8914:     IP header field and the local priority of outgoing packets.
        !          8915: 
        !          8916: commit fad04c750ca6906fb095f1b45958dec0ac8e210c
        !          8917: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8918: Date:   Thu Jun 13 11:27:14 2013 +0200
        !          8919: 
        !          8920:     Fixes problems with kernel routes multiple routing tables.
        !          8921:     
        !          8922:     Temporary dummy routes created by a kernel protocol during routing table
        !          8923:     scan get mixed with real routes propagated from another kernel protocol
        !          8924:     through a pipe.
        !          8925: 
        !          8926: commit f623ab9875cad2d129f708e95021d3a252930000
        !          8927: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8928: Date:   Tue Jun 11 12:12:11 2013 +0200
        !          8929: 
        !          8930:     Implements OSPF stub router option (RFC 3137).
        !          8931:     
        !          8932:     Also fixes OSPFv3 routing table calculcation w.r.t.
        !          8933:     errata 2078 to RFC 5340.
        !          8934: 
        !          8935: commit 924868543c2010f3ef2cfcb7ba6bac5988ab3264
        !          8936: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8937: Date:   Tue May 28 10:48:14 2013 +0200
        !          8938: 
        !          8939:     Fixes crash with vlinks.
        !          8940: 
        !          8941: commit 9810d055628877232f811d684567e203381e10dc
        !          8942: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8943: Date:   Tue May 28 10:44:44 2013 +0200
        !          8944: 
        !          8945:     Fixes problems with routing table scans on some platforms.
        !          8946:     
        !          8947:     Negative bit shifts are definitely undefined oprations.
        !          8948: 
        !          8949: commit 9c99d753fd672bd9839715ee325ef01cca993dbf
        !          8950: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8951: Date:   Thu May 9 11:11:06 2013 +0200
        !          8952: 
        !          8953:     Fixes a problem with BGP neighbors, link-local addresses and locking.
        !          8954:     
        !          8955:     Thanks to Fritz Grimpen for the bugfix.
        !          8956: 
        !          8957: commit a2017200c71293d0a28a39d1f250ba38d57f6289
        !          8958: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8959: Date:   Mon Apr 29 22:33:50 2013 +0200
        !          8960: 
        !          8961:     NEWS and version update.
        !          8962: 
        !          8963: commit 572c6440432e3138ea622cfb5a4ef7580d77ef4a
        !          8964: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8965: Date:   Mon Apr 29 22:08:05 2013 +0200
        !          8966: 
        !          8967:     Fixes a crash when mrtdump is enabled and interface goes away.
        !          8968:     
        !          8969:     Thanks to Peter Christensen for the bugfix.
        !          8970: 
        !          8971: commit 32622d0ea366406f3afa14bb9edb4855d6979786
        !          8972: Merge: efd6d12 a5e9f3d
        !          8973: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8974: Date:   Tue Apr 23 02:54:13 2013 +0200
        !          8975: 
        !          8976:     Merge branch 'birdcl'
        !          8977: 
        !          8978: commit a5e9f3d26f887deb451a3ea086e52266c117aa0a
        !          8979: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8980: Date:   Tue Apr 23 02:42:35 2013 +0200
        !          8981: 
        !          8982:     Restructures birdc and birdcl to merge duplicated code.
        !          8983:     
        !          8984:     The BIRD client code is restructured that most of the code (including
        !          8985:     main function) is shared in client.c, while birdc.c and birdcl.c contain
        !          8986:     just I/O-specific callbacks. This removes all duplicated code from
        !          8987:     variant-specific files.
        !          8988: 
        !          8989: commit d2c392d44839baaefa48f4a38060be648d3415fb
        !          8990: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          8991: Date:   Fri Apr 19 13:59:08 2013 +0200
        !          8992: 
        !          8993:     Removes unnecessary client subdirectories and updates buildsystem.
        !          8994:     
        !          8995:     Renames some files:
        !          8996:     birdc/client.c -> birdc.c
        !          8997:     birdcl/client.c -> birdcl.c
        !          8998:     client_common.c -> common.c
        !          8999: 
        !          9000: commit efd6d12b975441c7e1875a59dd9e0f3db7e958cb
        !          9001: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9002: Date:   Wed Apr 17 15:09:50 2013 +0200
        !          9003: 
        !          9004:     Adds two new default GCC options.
        !          9005:     
        !          9006:     Adds two new default GCC options related to optimizations
        !          9007:     (-fno-strict-aliasing and -fno-strict-overflow). This
        !          9008:     should fix some hyperaggressive GCC optimizations.
        !          9009:     
        !          9010:     Also updates autoconf option detection.
        !          9011: 
        !          9012: commit 8df02847e8af29863c325b7297e3a2b2ed5f961c
        !          9013: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9014: Date:   Wed Apr 17 13:06:40 2013 +0200
        !          9015: 
        !          9016:     Fixes a compatibility issue in OSPFv2 PtP links.
        !          9017:     
        !          9018:     BIRD used zero netmask in hello packets on all PtP links, not just on
        !          9019:     unnumbered ones. This patch fixes it and adds option 'ptp netmask'
        !          9020:     for overriding the default behavior.
        !          9021:     
        !          9022:     Thanks to Alexander V. Chernikov for the original patch.
        !          9023: 
        !          9024: commit cd3b02d198093abbbe671f647e4deb2470eb9cf1
        !          9025: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9026: Date:   Tue Apr 16 17:53:22 2013 +0200
        !          9027: 
        !          9028:     Allows IP of loopback to be used in automatic router ID selection.
        !          9029:     
        !          9030:     Thanks to Alexander V. Chernikov for the patch.
        !          9031: 
        !          9032: commit 8bd9b930c320f09d3b3792b5f991cf702e9d55be
        !          9033: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9034: Date:   Tue Apr 16 17:40:44 2013 +0200
        !          9035: 
        !          9036:     Fixes a bug in IPv6 BGP next hop processing.
        !          9037:     
        !          9038:     BGP next hop attributes with empty link-local IPv6 addresses were not
        !          9039:     handled properly.
        !          9040:     
        !          9041:     Thanks to Sergey Popovich for the bugfix.
        !          9042: 
        !          9043: commit 48bc232f08141d26691237c3d79db587ce16932b
        !          9044: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9045: Date:   Tue Apr 16 17:27:34 2013 +0200
        !          9046: 
        !          9047:     Implements 'next hop keep' option for BGP.
        !          9048:     
        !          9049:     This option allows to keep the received next hop even in cases when
        !          9050:     the route is sent to an interface with a different subnet.
        !          9051: 
        !          9052: commit 9ff5257357d9975654279db17bbc8525583ba1cc
        !          9053: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9054: Date:   Tue Apr 16 16:22:31 2013 +0200
        !          9055: 
        !          9056:     Better handling of global addresses as configured NBMA neighbors in OSPFv3.
        !          9057:     
        !          9058:     Configured NBMA neighbors in OSPFv3 should be link-local addresses, old
        !          9059:     behavior was to silently ignore global ones. The patch allows BIRD to
        !          9060:     accept global ones, but adds a warning and a documentation notice.
        !          9061:     
        !          9062:     Thanks to Wilco Baan Hofman for the bugreport.
        !          9063: 
        !          9064: commit 568d9c9faeab70951d8e9bfea521e1b38a9a3d1c
        !          9065: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          9066: Date:   Sat Apr 6 22:07:32 2013 +0200
        !          9067: 
        !          9068:     Fix birdcl async message handling
        !          9069:     
        !          9070:     Fix handling of async messafe in the bird light client. The async message
        !          9071:     may occure at the any moment so we need the client to liste for the
        !          9072:     message from server when it waits for user input.
        !          9073: 
        !          9074: commit ce1348537455e5482a283f7a4cae734d13dcf34e
        !          9075: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          9076: Date:   Tue Mar 19 18:02:40 2013 +0100
        !          9077: 
        !          9078:     Fix birdcl questionmark handling
        !          9079:     
        !          9080:     Fix handling of questionmark handling in the bird light client. The
        !          9081:     questionmark should display help when it is the last non-blank character on
        !          9082:     command line. Otherwise the questionmark does not have any special meaning
        !          9083:     and it could be a part of a pattern.
        !          9084: 
        !          9085: commit 8322ecde124188a9408b54afead4666bb954e5a5
        !          9086: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          9087: Date:   Sun Feb 24 23:47:22 2013 +0100
        !          9088: 
        !          9089:     Add lightweight client - birdcl
        !          9090:     
        !          9091:     Restructure client/ subdir. Add two different flavors of client.
        !          9092:     The full featured birdc client code is in client/birdc/.
        !          9093:     The new light client birtcl is in client/birdcl/.
        !          9094:     Common sources of both clients are directly in client/.
        !          9095:     
        !          9096:     Rework on-line auto-completion in client/command.c to conditionally turn off
        !          9097:     ncurses-specific code.
        !          9098:     
        !          9099:     Add lightweight client without libreadline and ncurses dependencies - birdcl.
        !          9100:     The birdcl lacks support of history, on-line auto-completion and there
        !          9101:     are different implementations of "more" functionality and help on '?' press.
        !          9102:     New client operates in canonical terminal mode (apart from "more" display)
        !          9103:     and therefore all commands have to be executed by a return key including help
        !          9104:     commands (called by '?' character in the end of the line).
        !          9105:     Apart from these limitations the interaction style should be the same as
        !          9106:     for the full client - birdc.
        !          9107:     Build of birdcl is always on (independent on --enable-client parameter).
        !          9108: 
        !          9109: commit e454916149d4efe66732fdd0388181813cab6ed0
        !          9110: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          9111: Date:   Wed Jan 23 17:14:53 2013 +0100
        !          9112: 
        !          9113:     Pull out independent routines from client_full.c
        !          9114:     
        !          9115:     Pull out routines for interacting with the server and interpreting
        !          9116:     internal commands which are not dependent on libreadline and
        !          9117:     ncurses libraries.
        !          9118:     
        !          9119:     This is a preparation step for a new lightweight birdc client.
        !          9120: 
        !          9121: commit 5c2c4ea8b1e924fce433094e744c0467da55aaab
        !          9122: Author: Tomas Hlavacek <tmshlvck@gmail.com>
        !          9123: Date:   Wed Jan 23 15:51:04 2013 +0100
        !          9124: 
        !          9125:     Rename client/client.c to client_full.c
        !          9126:     
        !          9127:     Rename client/client.c to client-full.c and change the Makefile accordingly.
        !          9128:     This is a preparation step for introducing a new lightweight client which
        !          9129:     should reuse as much code as possible from the old one but it should not depend
        !          9130:     on external libraries.
        !          9131:     
        !          9132:     Signed-off-by: Tomas Hlavacek <tmshlvck@gmail.com>
        !          9133: 
        !          9134: commit a9fc659b840e13323aa43e92eb8f39ceb19b5ed6
        !          9135: Author: Ondrej Filip <feela@network.cz>
        !          9136: Date:   Tue Feb 26 14:29:53 2013 +0100
        !          9137: 
        !          9138:     Small typos fixed.
        !          9139: 
        !          9140: commit de41dcd13d6f9d4785c80e6234ac38f2a15f5429
        !          9141: Author: Ondrej Filip <feela@network.cz>
        !          9142: Date:   Tue Feb 26 14:13:11 2013 +0100
        !          9143: 
        !          9144:     Redundant lines removed.
        !          9145: 
        !          9146: commit e667622a35722ec007137e678f4f70841562e57f
        !          9147: Author: Ondrej Filip <feela@network.cz>
        !          9148: Date:   Mon Feb 25 10:39:46 2013 +0100
        !          9149: 
        !          9150:     Default rounting table for 'show route export/preexport/protocol' is the one related to a respective protocol.
        !          9151: 
        !          9152: commit a9c38203bdcad92f7ac0a8a912241d2acb483f2c
        !          9153: Author: Ondrej Filip <feela@network.cz>
        !          9154: Date:   Sun Feb 24 00:43:08 2013 +0100
        !          9155: 
        !          9156:     Allow 1 sec RIP update.
        !          9157: 
        !          9158: commit 04ddefb357b2b8759be16633f7bb1df49b0405ea
        !          9159: Author: Ondrej Filip <feela@network.cz>
        !          9160: Date:   Fri Feb 22 07:15:27 2013 +0100
        !          9161: 
        !          9162:     Use BIRD's ASSERT instead of assert.h
        !          9163: 
        !          9164: commit 2bf59bf4d3e4fcaff489d3445134e5e2e2af9cf6
        !          9165: Author: Ondrej Filip <feela@network.cz>
        !          9166: Date:   Thu Feb 21 00:44:59 2013 +0100
        !          9167: 
        !          9168:     Hotfix to solve an issue with delaying timers reported by Aleksey Chudov.
        !          9169: 
        !          9170: commit 9d969be5f2d867704e82bd7d6c8049623d50708f
        !          9171: Author: Ondrej Filip <feela@network.cz>
        !          9172: Date:   Thu Feb 14 23:35:51 2013 +0100
        !          9173: 
        !          9174:     I still believe that 0 == NULL, however this patch will make Santiago happy. :-)
        !          9175: 
        !          9176: commit 4c2abee74e64f64fba61aad6e2b66e3895820003
        !          9177: Author: Ondrej Filip <feela@network.cz>
        !          9178: Date:   Tue Feb 12 13:15:01 2013 +0100
        !          9179: 
        !          9180:     Allow submitting BIRD commands from UNIX shell even in restricted mode.
        !          9181: 
        !          9182: commit 8c4da7e01ded3f06cbf873e67c5ae1cf70cf280b
        !          9183: Author: Ondrej Filip <feela@network.cz>
        !          9184: Date:   Sun Feb 10 19:17:38 2013 +0100
        !          9185: 
        !          9186:     Symbol names enclosed by apostrophes can contain DOTs.
        !          9187: 
        !          9188: commit 0bc3542ab6e0a96342e35ead8ff1c52f980facc2
        !          9189: Author: Ondrej Filip <feela@network.cz>
        !          9190: Date:   Sun Feb 10 19:06:56 2013 +0100
        !          9191: 
        !          9192:     Route limits can be disabled - this makes sense for protocol templates
        !          9193: 
        !          9194: commit 155134f3960bc06a18c8c7d9a97181b786d77a3a
        !          9195: Author: Ondrej Filip <feela@network.cz>
        !          9196: Date:   Sun Feb 10 19:04:08 2013 +0100
        !          9197: 
        !          9198:     A few semicolons added to decrease a number of warnings.
        !          9199: 
        !          9200: commit c6a2fe64bed8dc67af0e868052b055aa0f45cdf2
        !          9201: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9202: Date:   Sat Feb 9 00:53:04 2013 +0100
        !          9203: 
        !          9204:     Fixes handling of iface routes in static proto during reconfiguration.
        !          9205:     
        !          9206:     During reconfiguration, iface routes were installed even when iface was down.
        !          9207: 
        !          9208: commit 36da2857bc911924a250a234f38cf58c3b21f1bc
        !          9209: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9210: Date:   Fri Feb 8 23:58:27 2013 +0100
        !          9211: 
        !          9212:     Implements router advertisements activated by received routes.
        !          9213:     
        !          9214:     The RAdv protocol could be configured to change its behavior based on
        !          9215:     availability of routes, e.g., do not announce router lifetime when a
        !          9216:     default route is not available.
        !          9217: 
        !          9218: commit d214ae4fdc1e323f89efb8a80c068fef4a45758f
        !          9219: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9220: Date:   Sat Jan 12 21:26:42 2013 +0100
        !          9221: 
        !          9222:     Fix missing documentation for one option.
        !          9223: 
        !          9224: commit 13d4dd138d5dc6c884ded280f9244fac707c4f32
        !          9225: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9226: Date:   Fri Jan 11 14:53:20 2013 +0100
        !          9227: 
        !          9228:     NEWS update.
        !          9229: 
        !          9230: commit b662290f40ea0fa0b1a1ba283e50e833724f2050
        !          9231: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9232: Date:   Thu Jan 10 13:07:33 2013 +0100
        !          9233: 
        !          9234:     Separate import and receive limits.
        !          9235:     
        !          9236:     They have different behavior w.r.t. filtered routes that are kept.
        !          9237: 
        !          9238: commit 79b4e12e6032faf6bb1f3feac385bd36ee53019e
        !          9239: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9240: Date:   Thu Dec 27 12:56:23 2012 +0100
        !          9241: 
        !          9242:     Implements interface masks for choosing router id.
        !          9243:     
        !          9244:     Router ID could be automatically determined based of subset of
        !          9245:     ifaces/addresses specified by 'router id from' option. The patch also
        !          9246:     does some minor changes related to router ID reconfiguration.
        !          9247:     
        !          9248:     Thanks to Alexander V. Chernikov for most of the work.
        !          9249: 
        !          9250: commit a92cf57dd6ba021a495fe7268c86dc8e6aeecbb2
        !          9251: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9252: Date:   Wed Dec 26 12:40:48 2012 +0100
        !          9253: 
        !          9254:     Implements undo command and optional timeout for configuration
        !          9255:     
        !          9256:     Several new configure command variants:
        !          9257:     
        !          9258:     configure undo - undo last reconfiguration
        !          9259:     configure timeout - configure with scheduled undo if not confirmed in timeout
        !          9260:     configure confirm - confirm last configuration
        !          9261:     configure check - just parse and validate config file
        !          9262: 
        !          9263: commit 80a9cadc76101157707aecc0b482ad88ad702fc3
        !          9264: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9265: Date:   Tue Nov 27 02:08:04 2012 +0100
        !          9266: 
        !          9267:     Changes static route targets drop/reject to blackhole/unreachable.
        !          9268:     
        !          9269:     To be consistent with rest of BIRD and Linux. Old names are also
        !          9270:     allowed for compatibility.
        !          9271: 
        !          9272: commit b31774eeb01a2f63e4ce4dc83f36ffd17879593e
        !          9273: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9274: Date:   Tue Nov 27 01:30:09 2012 +0100
        !          9275: 
        !          9276:     Removes some nonsense.
        !          9277: 
        !          9278: commit 3e40f3e795e39f0b92445fd5295382220077c77f
        !          9279: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9280: Date:   Tue Nov 27 01:25:47 2012 +0100
        !          9281: 
        !          9282:     Fixes setting of route attributes of type router id.
        !          9283: 
        !          9284: commit c93c02088a026b83f452fbd260135ba4c8da7ecf
        !          9285: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9286: Date:   Fri Nov 16 13:30:54 2012 +0100
        !          9287: 
        !          9288:     NEWS and version update.
        !          9289: 
        !          9290: commit 70577529244d6d920b75d95e797156e05141db30
        !          9291: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9292: Date:   Fri Nov 16 13:29:16 2012 +0100
        !          9293: 
        !          9294:     Fixes route tracing w.r.t. kept filtered routes.
        !          9295: 
        !          9296: commit cf3a704b6a2263aba6bb6adb4c2c9dd93b72f470
        !          9297: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9298: Date:   Fri Nov 16 02:34:12 2012 +0100
        !          9299: 
        !          9300:     Updates the documentation.
        !          9301: 
        !          9302: commit 6cadbf325bfcf25a04d869778abb443f9e1b6119
        !          9303: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9304: Date:   Thu Nov 15 14:08:20 2012 +0100
        !          9305: 
        !          9306:     Change unnamed ptp link description on OSPFv2.
        !          9307:     
        !          9308:     Although it is a slight deviation from the standard, it has no ill
        !          9309:     consequences for OSPFv2 and the change fixes a compatibility issue
        !          9310:     with some broken implementations.
        !          9311: 
        !          9312: commit 15550957957f3c790f3bec3f6b8721559ea25969
        !          9313: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9314: Date:   Thu Nov 15 01:29:01 2012 +0100
        !          9315: 
        !          9316:     Changes 'rejected' to 'filtered' in one of the last patches.
        !          9317: 
        !          9318: commit e16469bc4d182428687a5ef5f2fb4707afa15abd
        !          9319: Author: Ondrej Filip <feela@network.cz>
        !          9320: Date:   Mon Nov 12 13:48:29 2012 +0100
        !          9321: 
        !          9322:     AS# in bgp.agreggator was a signed integer - fixed.
        !          9323: 
        !          9324: commit 227af52fb5be09c841fbd9f86e7bb3992b981a4a
        !          9325: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9326: Date:   Sat Nov 10 16:18:12 2012 +0100
        !          9327: 
        !          9328:     Fixes OSPF reconfigure w.r.t. downed ifaces.
        !          9329: 
        !          9330: commit a55a90faec5cce09cee65f484e3731207af00335
        !          9331: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9332: Date:   Sat Nov 10 14:54:35 2012 +0100
        !          9333: 
        !          9334:     Peer address of stub iface should be announced in OSPF Router LSA.
        !          9335: 
        !          9336: commit cf98be7b6743e45dde9e0458664cc0762bf08867
        !          9337: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9338: Date:   Sat Nov 10 14:26:13 2012 +0100
        !          9339: 
        !          9340:     Allows rejected routes to be kept and examined.
        !          9341:     
        !          9342:     When 'import keep rejected' protocol option is activated, routes
        !          9343:     rejected by the import filter are kept in the routing table, but they
        !          9344:     are hidden and not propagated to other protocols. It is possible to
        !          9345:     examine them using 'show route rejected'.
        !          9346: 
        !          9347: commit dd4da6f640fb581cbd7d1ca537bf382558492b8e
        !          9348: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9349: Date:   Wed Oct 31 17:14:35 2012 +0100
        !          9350: 
        !          9351:     Fixes another bug in OSPFv3 vlinks.
        !          9352: 
        !          9353: commit 8249ad9b304ea88b29e3aea76ebe49bb50348aaa
        !          9354: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9355: Date:   Mon Oct 29 20:39:03 2012 +0100
        !          9356: 
        !          9357:     Fixes sorting in OSPF show state.
        !          9358: 
        !          9359: commit e4404cef0be10e639566986a2f8c1906c9f37de1
        !          9360: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9361: Date:   Mon Oct 29 20:29:31 2012 +0100
        !          9362: 
        !          9363:     Fixes several bugs related to OSPFv3 vlinks.
        !          9364: 
        !          9365: commit 0343d066dab077d1391640c53198199b16bef993
        !          9366: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9367: Date:   Wed Aug 29 12:42:49 2012 +0200
        !          9368: 
        !          9369:     Fixes a bug in primary IP selection.
        !          9370: 
        !          9371: commit 8ecbaf9c70b802a1200ad37f2bfd4bc64173c5fe
        !          9372: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9373: Date:   Thu Aug 16 13:09:26 2012 +0200
        !          9374: 
        !          9375:     Fixes a bug with neighbor cache and overlapping IP prefixes.
        !          9376:     
        !          9377:     When there are overlapping IP prefixes and one disappears,
        !          9378:     neighbors associated with it was removed even if there
        !          9379:     is another covering IP prefix.
        !          9380: 
        !          9381: commit 094d2bdb79e1ffa0a02761fd651aa0f0b6b0c585
        !          9382: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9383: Date:   Tue Aug 14 16:25:22 2012 +0200
        !          9384: 
        !          9385:     Implements ADD-PATH extension for BGP.
        !          9386:     
        !          9387:     Allows to send and receive multiple routes for one network by one BGP
        !          9388:     session. Also contains necessary core changes to support this (routing
        !          9389:     tables accepting several routes for one network from one protocol).
        !          9390:     It needs some more cleanup before merging to the master branch.
        !          9391: 
        !          9392: commit d760229ab897fa1bf1fd0fe7019cc2431d21a1cc
        !          9393: Author: Ondrej Filip <feela@network.cz>
        !          9394: Date:   Wed Aug 8 14:10:31 2012 +0200
        !          9395: 
        !          9396:     DragonFly support add - thanks to john@marino.st
        !          9397: 
        !          9398: commit 60c412b9368fd7c3b0a8df2200f02140adcb0cf3
        !          9399: Merge: 3fe1d9e 94e2f1c
        !          9400: Author: Ondrej Filip <feela@network.cz>
        !          9401: Date:   Tue Aug 7 11:15:23 2012 +0200
        !          9402: 
        !          9403:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          9404: 
        !          9405: commit 94e2f1c111721d6213ea65cac5c53036e38e3973
        !          9406: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9407: Date:   Tue Aug 7 11:06:57 2012 +0200
        !          9408: 
        !          9409:     NEWS and version update.
        !          9410: 
        !          9411: commit c06de722ddf36f3d6aaabfd4ae9d74a3ea72bbf9
        !          9412: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9413: Date:   Mon Aug 6 11:09:13 2012 +0200
        !          9414: 
        !          9415:     Some minor fixes.
        !          9416: 
        !          9417: commit 5400c0e7f982757418a0aeb892459b52fbbcffc3
        !          9418: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9419: Date:   Mon Aug 6 02:42:24 2012 +0200
        !          9420: 
        !          9421:     Fixes BGP subcode during global shutdown.
        !          9422: 
        !          9423: commit bbcfd5a0485a8df9568d8da0fc524e272e3e7601
        !          9424: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9425: Date:   Thu Jul 26 13:59:50 2012 +0200
        !          9426: 
        !          9427:     Fixes default route in OSPF multiple area setting.
        !          9428: 
        !          9429: commit 48cf5e84e6ed17578e4ad43c5ef54d6ff7d825c4
        !          9430: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9431: Date:   Tue Jul 24 20:12:14 2012 +0200
        !          9432: 
        !          9433:     Documentation update,
        !          9434: 
        !          9435: commit 0e224d598579626e03d3727d5901ba2d654ac521
        !          9436: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9437: Date:   Sun Jul 22 12:35:04 2012 +0200
        !          9438: 
        !          9439:     RDNSS and DNSSL documentation for RAdv.
        !          9440: 
        !          9441: commit 36415e4b1dd769458cced44525ee74d26d15f9c6
        !          9442: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9443: Date:   Fri Jul 20 19:56:57 2012 +0200
        !          9444: 
        !          9445:     Allows to redefine master table.
        !          9446: 
        !          9447: commit c4b76d7b19cf48ddbcbe913c22ef7f1e8429f5ea
        !          9448: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9449: Date:   Wed Jul 18 19:35:30 2012 +0200
        !          9450: 
        !          9451:     Rename sk_new() to avoid name collision with OpenSSL.
        !          9452: 
        !          9453: commit 4be266a9831799dcc2e67e83fc83d9db43828a64
        !          9454: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9455: Date:   Wed Jul 18 19:29:33 2012 +0200
        !          9456: 
        !          9457:     Implements wildcard matching in config file include.
        !          9458:     
        !          9459:     Also fixes some minor bugs in include.
        !          9460:     
        !          9461:     Thanks Kelly Cochran for suggestion and draft patch.
        !          9462: 
        !          9463: commit abced4a91495e27fe86b142bc1967cec53bab3dc
        !          9464: Merge: fc06fb6 7617026
        !          9465: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9466: Date:   Mon Jul 16 14:44:45 2012 +0200
        !          9467: 
        !          9468:     Merge branch 'rt-accepted'
        !          9469:     
        !          9470:     Conflicts:
        !          9471:     
        !          9472:        nest/config.Y
        !          9473:        nest/rt-table.c
        !          9474:        proto/bgp/bgp.c
        !          9475: 
        !          9476: commit 761702644397886bd3c1be10fd55c01485b7c454
        !          9477: Merge: 26822d8 553e405
        !          9478: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9479: Date:   Mon Jul 16 10:41:29 2012 +0200
        !          9480: 
        !          9481:     Merge commit 'origin/rt-accepted' into rt-accepted
        !          9482: 
        !          9483: commit 26822d8fe1376b2ffd902a3b5caa47f81a88e74e
        !          9484: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9485: Date:   Wed Jul 4 21:31:03 2012 +0200
        !          9486: 
        !          9487:     Finalize RA_ACCEPTED handling.
        !          9488: 
        !          9489: commit fc06fb62443c135773ee4c05ed83925cc47b046d
        !          9490: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9491: Date:   Sat Jul 7 10:40:00 2012 +0200
        !          9492: 
        !          9493:     Implements RDNSS and DNSSL support for RAdv.
        !          9494: 
        !          9495: commit 3fe1d9e4a40663b93b59f5b6f9d61af9dc6a8ae6
        !          9496: Merge: 72b2db8 95127cb
        !          9497: Author: Ondrej Filip <feela@network.cz>
        !          9498: Date:   Tue May 15 23:40:37 2012 +0200
        !          9499: 
        !          9500:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          9501: 
        !          9502: commit 95127cbbb76e8870e029454a5313bc4b6ce69a4a
        !          9503: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9504: Date:   Mon May 14 11:47:41 2012 +0200
        !          9505: 
        !          9506:     Real broadcast mode for OSPFv2.
        !          9507: 
        !          9508: commit 0ec031f7400fbacdd86b40ae1870c58715a7f108
        !          9509: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9510: Date:   Fri May 11 18:52:59 2012 +0200
        !          9511: 
        !          9512:     Allows to set instance ID for OSPFv3 interfaces.
        !          9513: 
        !          9514: commit 47c447c42e0bfa1836d951d1e6c1a2236d39dcbb
        !          9515: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9516: Date:   Fri May 4 23:05:47 2012 +0200
        !          9517: 
        !          9518:     Minor cleanups.
        !          9519: 
        !          9520: commit b7f3df79054aca327654c1fb4739c4ff02e59e6e
        !          9521: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9522: Date:   Fri May 11 12:01:27 2012 +0200
        !          9523: 
        !          9524:     Fixes a bug in RA_ACCEPTED handling.
        !          9525: 
        !          9526: commit 72b2db8db7534c52e928618410ec1f18787752c8
        !          9527: Merge: 2795700 95616c8
        !          9528: Author: Ondrej Filip <feela@network.cz>
        !          9529: Date:   Fri May 11 00:01:29 2012 +0200
        !          9530: 
        !          9531:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          9532: 
        !          9533: commit 95616c820248018f4999972cad315f2da60e4960
        !          9534: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9535: Date:   Fri May 4 16:38:25 2012 +0200
        !          9536: 
        !          9537:     Cleanup in sysdep KRT code, part 4.
        !          9538:     
        !          9539:     Adding some files that was accidentally removed
        !          9540:     (instead of moved) in cleanup part 2.
        !          9541: 
        !          9542: commit 064e7be5cd4dffd564b4ea41ba6d843492a55c97
        !          9543: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9544: Date:   Fri May 4 00:20:23 2012 +0200
        !          9545: 
        !          9546:     History deduplication in birdc.
        !          9547: 
        !          9548: commit e14bd38087ed8ef1945dd0a3878cc560478145f0
        !          9549: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9550: Date:   Thu May 3 14:04:56 2012 +0200
        !          9551: 
        !          9552:     Fixes flushing of device routes.
        !          9553: 
        !          9554: commit ab188fb76d7822350724b182106a19995a73d719
        !          9555: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9556: Date:   Thu May 3 12:25:15 2012 +0200
        !          9557: 
        !          9558:     Implements build options to specify socket dir and suffix.
        !          9559: 
        !          9560: commit 2795700c3158fa52b6cf957e9d0b9ad4a27c67a5
        !          9561: Merge: 1f85226 bf42207
        !          9562: Author: Ondrej Filip <feela@network.cz>
        !          9563: Date:   Wed May 2 11:10:40 2012 +0200
        !          9564: 
        !          9565:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          9566: 
        !          9567: commit 7a2c48dafce9420a23fd57408c31eecfc20c4fe0
        !          9568: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9569: Date:   Mon Apr 30 22:34:06 2012 +0200
        !          9570: 
        !          9571:     Cleanup in sysdep KRT code, part 3.
        !          9572:     
        !          9573:     Just one more renaming, old krt_set_notify() to krt_replace_rte().
        !          9574: 
        !          9575: commit f1aceff59bbf942bc11c2e9a4c51e381c06f2b20
        !          9576: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9577: Date:   Mon Apr 30 22:21:52 2012 +0200
        !          9578: 
        !          9579:     Cleanup in sysdep KRT code, part 2.
        !          9580:     
        !          9581:     Remove support for historic Linux kernels,
        !          9582:     merge krt-iface, krt-set and krt-scan stub headers.
        !          9583: 
        !          9584: commit 396dfa9042305f62da1f56589c4b98fac57fc2f6
        !          9585: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9586: Date:   Mon Apr 30 15:31:32 2012 +0200
        !          9587: 
        !          9588:     Cleanup in sysdep KRT code, part 1.
        !          9589:     
        !          9590:     OS-dependent functions renamed to be more consistent,
        !          9591:     prepared to merge krt-set and krt-scan headers.
        !          9592:     
        !          9593:     Name changes:
        !          9594:     
        !          9595:     struct krt_if_params -> struct kif_params
        !          9596:     struct krt_if_status -> struct kif_status
        !          9597:     struct krt_set/scan_params -> struct krt_params
        !          9598:     struct krt_set/scan_status -> struct krt_status
        !          9599:     
        !          9600:     krt_if_params_same -> kif_sys_reconfigure
        !          9601:     krt_if_copy_params -> kif_sys_copy_config
        !          9602:     krt_set/scan_params_same -> krt_sys_reconfigure
        !          9603:     krt_set/scan_copy_params -> krt_sys_copy_config
        !          9604:     
        !          9605:     krt_if_scan -> kif_do_scan
        !          9606:     krt_set_notify -> krt_do_notify
        !          9607:     krt_scan_fire -> krt_do_scan
        !          9608:     
        !          9609:     krt_if_ -> kif_sys_
        !          9610:     krt_scan_ -> krt_sys_
        !          9611:     krt_set_ -> krt_sys_
        !          9612: 
        !          9613: commit 182a78957d60a4c91c1ff8d1ff0f09b1b64b70ba
        !          9614: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9615: Date:   Sun Apr 29 01:35:52 2012 +0200
        !          9616: 
        !          9617:     Allows some modifications of dest attribute in filters.
        !          9618: 
        !          9619: commit bf42207332e8e502d636038f1ec44aaea6ec50e0
        !          9620: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9621: Date:   Sat Apr 28 13:03:48 2012 +0200
        !          9622: 
        !          9623:     Changes keyword 'exceed' to 'action'.
        !          9624: 
        !          9625: commit ab758e4fb205346946f2d828236bd23efc2a419e
        !          9626: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9627: Date:   Sat Apr 28 12:59:40 2012 +0200
        !          9628: 
        !          9629:     Some fixes in route export limits.
        !          9630: 
        !          9631: commit d494df63ac3061accdff348511a565c021411b28
        !          9632: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9633: Date:   Fri Apr 27 00:04:51 2012 +0200
        !          9634: 
        !          9635:     Some minor fixes.
        !          9636: 
        !          9637: commit 1f85226ecb76d3803b8fe37eb0891c45a6557dcd
        !          9638: Merge: 92f8f7e d9b77cc
        !          9639: Author: Ondrej Filip <feela@network.cz>
        !          9640: Date:   Thu Apr 26 17:03:53 2012 +0200
        !          9641: 
        !          9642:     Merge branch 'master' of ssh://git.nic.cz/bird
        !          9643: 
        !          9644: commit d9b77cc28115e5c1ef64c69722c9d1fd1392dcd1
        !          9645: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9646: Date:   Tue Apr 24 23:39:57 2012 +0200
        !          9647: 
        !          9648:     Implements generalized export limits.
        !          9649:     
        !          9650:     And also fixes some minor bugs in limits.
        !          9651: 
        !          9652: commit 3589546af4baa4d349409a318f8c9658dd11b3cc
        !          9653: Merge: 7d0a31d cca9706
        !          9654: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9655: Date:   Tue Apr 24 23:37:01 2012 +0200
        !          9656: 
        !          9657:     Merge commit 'origin/master'
        !          9658: 
        !          9659: commit 92f8f7e3a3a5a42768c18c1f3d4d8f9f98150c61
        !          9660: Author: Ondrej Filip <feela@network.cz>
        !          9661: Date:   Tue Apr 24 16:31:17 2012 +0200
        !          9662: 
        !          9663:     Small bug in detection of class-A networks.
        !          9664: 
        !          9665: commit cca970666a90af02eaeb6848bbfc3d5a2222fa21
        !          9666: Author: Ondrej Filip <feela@network.cz>
        !          9667: Date:   Sun Apr 22 14:03:07 2012 +0200
        !          9668: 
        !          9669:     Small typo in programmer's documentation.
        !          9670: 
        !          9671: commit 7d0a31deed92971e274aa0314e12619f93c850c9
        !          9672: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9673: Date:   Sat Apr 21 21:05:36 2012 +0200
        !          9674: 
        !          9675:     Fixes in generalized import limits.
        !          9676: 
        !          9677: commit 334a0ed24d015e106558cc9eeef301c6f0d21aec
        !          9678: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9679: Date:   Fri Apr 20 21:04:55 2012 +0200
        !          9680: 
        !          9681:     Fixes missing device attributes when exporting routes to kernel.
        !          9682:     
        !          9683:     Thanks to Howden Nick for the bugreport.
        !          9684: 
        !          9685: commit 9b2b502be521b58a736f7b78644e89ee01b4418b
        !          9686: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9687: Date:   Fri Apr 20 21:04:55 2012 +0200
        !          9688: 
        !          9689:     Fixes missing device attributes when exporting routes to kernel.
        !          9690:     
        !          9691:     Thanks to Howden Nick for the bugreport.
        !          9692: 
        !          9693: commit f93e6f338e59e02b0cddea85e7d367948d9cf3f2
        !          9694: Author: Ondrej Filip <feela@network.cz>
        !          9695: Date:   Thu Apr 19 17:14:16 2012 +0200
        !          9696: 
        !          9697:     Small clean up in debug texts
        !          9698: 
        !          9699: commit 553e4054609e7aa8dcb92849c92a6fea73354f0e
        !          9700: Author: Ondrej Filip <feela@network.cz>
        !          9701: Date:   Thu Apr 19 17:12:13 2012 +0200
        !          9702: 
        !          9703:     Small clean up in debug texts
        !          9704: 
        !          9705: commit ebecb6f6a11bb418dd054cf12a2673ca0d9eac37
        !          9706: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9707: Date:   Sun Apr 15 15:28:29 2012 +0200
        !          9708: 
        !          9709:     Implements generalized import hooks.
        !          9710:     
        !          9711:     Thanks to Alexander V. Chernikov for the original patch.
        !          9712: 
        !          9713: commit 3e17e380598b9a512bb369f51a4cf55da269f608
        !          9714: Merge: 00a09f3 ae8b300
        !          9715: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9716: Date:   Sun Apr 15 15:17:03 2012 +0200
        !          9717: 
        !          9718:     Merge branch 'master' into rt-accepted
        !          9719: 
        !          9720: commit ae8b300164a975597f9b6caea0b205af2e4db30b
        !          9721: Merge: d360f12 ed7c4b0
        !          9722: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9723: Date:   Sun Apr 15 15:15:05 2012 +0200
        !          9724: 
        !          9725:     Merge commit 'origin/master'
        !          9726: 
        !          9727: commit d360f129e393298ff3e5309ec06a3baf170784fb
        !          9728: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9729: Date:   Sun Apr 15 15:13:12 2012 +0200
        !          9730: 
        !          9731:     Fix static protocol w.r.t. some recent changes in protocol ahooks.
        !          9732: 
        !          9733: commit 00a09f3c367e79297f827b52ec5f16842db1ac4e
        !          9734: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9735: Date:   Sun Apr 15 15:07:58 2012 +0200
        !          9736: 
        !          9737:     Implement RA_ACCEPTED mode of route propagation.
        !          9738: 
        !          9739: commit ed7c4b0cd530126b9a794f817f5d1d93556a1bce
        !          9740: Author: Ondrej Filip <feela@network.cz>
        !          9741: Date:   Mon Apr 9 14:19:28 2012 +0200
        !          9742: 
        !          9743:     Small bugfix in error message related to reconfiguration.
        !          9744: 
        !          9745: commit bf2abe2f515d7b7aaed5fb4f37af82169adcd2f2
        !          9746: Merge: fb829de c0adf7e
        !          9747: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9748: Date:   Fri Mar 30 11:04:12 2012 +0200
        !          9749: 
        !          9750:     Merge branch 'soon'
        !          9751:     
        !          9752:     Conflicts:
        !          9753:     
        !          9754:        nest/proto.c
        !          9755:        nest/rt-table.c
        !          9756: 
        !          9757: commit fb829de69052755a31d76d73e17525d050e5ff4d
        !          9758: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9759: Date:   Wed Mar 28 18:40:04 2012 +0200
        !          9760: 
        !          9761:     Fixes responsiveness for protocol shutdown.
        !          9762:     
        !          9763:     When a protocol went down, all its routes were flushed in one step, that
        !          9764:     may block BIRD for too much time. The patch fixes that by limiting
        !          9765:     maximum number of routes flushed in one step.
        !          9766: 
        !          9767: commit cb3cf95859d81c711337738f004675f43c8bbb0e
        !          9768: Merge: c9df01d 16fc65a
        !          9769: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9770: Date:   Sun Mar 25 20:59:13 2012 +0200
        !          9771: 
        !          9772:     Merge commit 'origin/master'
        !          9773: 
        !          9774: commit c9df01d3215379c0463dd2a3b0c9b1700d6e2ac3
        !          9775: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9776: Date:   Sun Mar 25 19:44:14 2012 +0200
        !          9777: 
        !          9778:     Fixes several minor bugs in kernel syncer.
        !          9779: 
        !          9780: commit 9ba2798c65c02254ec000ab03a76fbbaae1ddc97
        !          9781: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9782: Date:   Fri Mar 23 01:17:02 2012 +0100
        !          9783: 
        !          9784:     Adds krt_metric linux route attribute.
        !          9785: 
        !          9786: commit 72aed1a00ba9e18116d6fd907f7e1a36d0a0a583
        !          9787: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9788: Date:   Fri Mar 23 00:26:26 2012 +0100
        !          9789: 
        !          9790:     Adds krt_source route attribute.
        !          9791:     
        !          9792:     Thanks Jeremie Dimino for the original patch.
        !          9793: 
        !          9794: commit 16fc65acc536d3788efe4c0554a2f52699fedc7f
        !          9795: Author: Ondrej Filip <feela@network.cz>
        !          9796: Date:   Thu Mar 22 14:52:40 2012 +0100
        !          9797: 
        !          9798:     Minor correction
        !          9799: 
        !          9800: commit 89647357af0d8507652f257f1e8f5679fe9a7078
        !          9801: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9802: Date:   Thu Mar 22 12:29:02 2012 +0100
        !          9803: 
        !          9804:     NEWS and version update.
        !          9805: 
        !          9806: commit c47d037ecb5b9c835700b152eed7589409a2e42f
        !          9807: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9808: Date:   Thu Mar 22 11:46:38 2012 +0100
        !          9809: 
        !          9810:     Some minor changes to CLI.
        !          9811: 
        !          9812: commit df27911880bffb88c1eae90e36c755a3ed3d77ad
        !          9813: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9814: Date:   Mon Mar 19 13:00:00 2012 +0100
        !          9815: 
        !          9816:     Fixes problem with dirname().
        !          9817:     
        !          9818:     Thanks Henrique de Moraes Holschuh for the original patch.
        !          9819: 
        !          9820: commit af582c4811175d9a27ed5d08a4f6d5eaa69ecec7
        !          9821: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9822: Date:   Sun Mar 18 17:32:30 2012 +0100
        !          9823: 
        !          9824:     Route Origin Authorization basics.
        !          9825:     
        !          9826:      - ROA tables, which are used as a basic part for RPKI.
        !          9827:      - Commands for examining and modifying ROA tables.
        !          9828:      - Filter operators based on ROA tables consistent with RFC 6483.
        !          9829: 
        !          9830: commit fd087589f80a435a42cedb87b917c71363b11860
        !          9831: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9832: Date:   Fri Mar 16 13:01:12 2012 +0100
        !          9833: 
        !          9834:     Fixes broken vlinks in OSPF.
        !          9835: 
        !          9836: commit 0f808c066f3b5b190de951db042a34a1eb957a16
        !          9837: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9838: Date:   Fri Mar 16 12:47:12 2012 +0100
        !          9839: 
        !          9840:     Adds filtering to 'show symbols' command.
        !          9841:     
        !          9842:     Thanks Alexander V. Chernikov for the original patch.
        !          9843: 
        !          9844: commit 20ab192beca749166e19118e987b53b5e131d0cf
        !          9845: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9846: Date:   Fri Mar 16 12:12:26 2012 +0100
        !          9847: 
        !          9848:     Adds filtering to 'show ospf lsadb' command.
        !          9849:     
        !          9850:     Thanks Alexander V. Chernikov for the original patch.
        !          9851: 
        !          9852: commit 0888a737b045b48106edbd28ba3cd62fcc8c191e
        !          9853: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9854: Date:   Thu Mar 15 20:42:29 2012 +0100
        !          9855: 
        !          9856:     Extends set operations in filters.
        !          9857:     
        !          9858:     Allows add/filter/delete clist on clist (set algebra on clists).
        !          9859:     
        !          9860:     Allows number ~ bgppath match.
        !          9861: 
        !          9862: commit 9f1500f50a0196f912eeb97e77ccf6873e186c29
        !          9863: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9864: Date:   Thu Mar 15 13:45:55 2012 +0100
        !          9865: 
        !          9866:     Adds warning for mismatch MTU in OSPF packets.
        !          9867:     
        !          9868:     Thanks Alexander V. Chernikov for the original patch.
        !          9869: 
        !          9870: commit 2f9955b5d508698b04ff41e5e38097acdac416b9
        !          9871: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9872: Date:   Thu Mar 15 13:12:00 2012 +0100
        !          9873: 
        !          9874:     Fixes TTL for multicast OSPF packets.
        !          9875:     
        !          9876:     Thanks Alexander V. Chernikov for the suggestion.
        !          9877: 
        !          9878: commit 8796a8a56edbcd420de724a58947c7aedadf04de
        !          9879: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9880: Date:   Thu Mar 15 12:50:49 2012 +0100
        !          9881: 
        !          9882:     Fixes name for unnamed filters.
        !          9883:     
        !          9884:     Thanks to Alexander V. Chernikov for the suggestion.
        !          9885: 
        !          9886: commit 7d837aa014a78bce2b329cc9f56e8dc799d456e8
        !          9887: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9888: Date:   Thu Mar 15 12:43:47 2012 +0100
        !          9889: 
        !          9890:     Fixes documentation - default pipe mode.
        !          9891:     
        !          9892:     Thanks to Benjamin Cama for the bugreport.
        !          9893: 
        !          9894: commit e2bf812f3dc84981eac045b617261987c25b5e90
        !          9895: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9896: Date:   Thu Mar 15 12:38:08 2012 +0100
        !          9897: 
        !          9898:     Fixes RIPng compatibility.
        !          9899:     
        !          9900:     Also probably breaks compatibility with older BIRDs, but RIPng not
        !          9901:     really worked here.
        !          9902:     
        !          9903:     Thanks to Goesta Smekal for the original patch.
        !          9904: 
        !          9905: commit f761503760fba2d4124cc3352f5260c31fac526d
        !          9906: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9907: Date:   Thu Mar 15 12:23:49 2012 +0100
        !          9908: 
        !          9909:     Fixes RIPng socket and neighbor handling.
        !          9910:     
        !          9911:     RIPng did not really work because of link-local addresses.
        !          9912:     
        !          9913:     Thanks to Roman Hoog Antink for some notes.
        !          9914: 
        !          9915: commit 117e3c4bbfd4b7f1b2cae6ef9e5cb603fe33307a
        !          9916: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9917: Date:   Thu Mar 15 12:18:26 2012 +0100
        !          9918: 
        !          9919:     Fixes a bug in pair set intervals.
        !          9920:     
        !          9921:     Pair intervals in form (a,b)..(c,d) were mishanded.
        !          9922:     
        !          9923:     Thanks to Alexander Shikoff for the bugreport.
        !          9924: 
        !          9925: commit c0adf7e9fc0bb920175a639c6f56ed7b4190f3e4
        !          9926: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9927: Date:   Thu Mar 15 11:58:08 2012 +0100
        !          9928: 
        !          9929:     Better support for multitable protocols.
        !          9930:     
        !          9931:     The nest-protocol interaction is changed to better handle multitable
        !          9932:     protocols. Multitable protocols now declare that by 'multitable' field,
        !          9933:     which tells nest that a protocol handles things related to proto-rtable
        !          9934:     interaction (table locking, announce hook adding, reconfiguration of
        !          9935:     filters) itself.
        !          9936:     
        !          9937:     Filters and stats are moved to announce hooks, a protocol could have
        !          9938:     different filters and stats to different tables.
        !          9939:     
        !          9940:     The patch is based on one from Alexander V. Chernikov, thanks.
        !          9941: 
        !          9942: commit 46c1a583a5c1ea81e8d8f372bd7f614506a63938
        !          9943: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9944: Date:   Fri Feb 3 11:50:51 2012 +0100
        !          9945: 
        !          9946:     Fixes a bug causing crash during soft reconfiguration of export to kernel proto.
        !          9947: 
        !          9948: commit 39c028e9e9e3acf840051f4271fadd4939fde2af
        !          9949: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9950: Date:   Tue Jan 24 11:31:00 2012 +0100
        !          9951: 
        !          9952:     Assign default protocol preference via proto_config_new().
        !          9953:     
        !          9954:     The patch from Alexander V. Chernikov.
        !          9955: 
        !          9956: commit 09686693d35bd71187847c95c0967d4125215b97
        !          9957: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9958: Date:   Mon Jan 23 03:15:12 2012 +0100
        !          9959: 
        !          9960:     Implements handling of BSD iface arrival/departure notifications.
        !          9961:     
        !          9962:     Thanks to Alexander V. Chernikov for original patch.
        !          9963: 
        !          9964: commit 732a0a257d180a95a02587203555b8552b6128ac
        !          9965: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9966: Date:   Mon Jan 23 01:26:40 2012 +0100
        !          9967: 
        !          9968:     Fixes problems with creating/removing/renaming ifaces on BSD.
        !          9969: 
        !          9970: commit 5c78e0e386d4c770b646cab4a8adc3c87987f50f
        !          9971: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9972: Date:   Sun Jan 22 11:03:30 2012 +0100
        !          9973: 
        !          9974:     Some more verbose warnings.
        !          9975: 
        !          9976: commit bc092571171d00de8b429fec8ba70c39240d7e91
        !          9977: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9978: Date:   Sat Jan 21 22:56:16 2012 +0100
        !          9979: 
        !          9980:     Fixes another minor bug in iface scan.
        !          9981:     
        !          9982:     Iface flags are not updated in some cases.
        !          9983: 
        !          9984: commit b573755df426156c22d2a4c65e3f502284820166
        !          9985: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9986: Date:   Sat Jan 21 22:41:31 2012 +0100
        !          9987: 
        !          9988:     Fixes a bug in BSD iface scan.
        !          9989:     
        !          9990:     if_update() should be called always, because periodic iface scan code
        !          9991:     removes all not-updated ifaces.
        !          9992: 
        !          9993: commit 544f2e1b36fb9473132f77d9c0f6e97d1495bb24
        !          9994: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          9995: Date:   Fri Jan 20 18:16:35 2012 +0100
        !          9996: 
        !          9997:     NEWS and version update.
        !          9998: 
        !          9999: commit 3ce17142791b2e1a7f0b8e512b5b74224600056c
        !          10000: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10001: Date:   Fri Jan 20 16:20:03 2012 +0100
        !          10002: 
        !          10003:     Fixes a new bug in BGP route ordering.
        !          10004: 
        !          10005: commit 2c5ca47ad4d18cae162c2ddf85af2dedb89f00a5
        !          10006: Author: Ondrej Filip <feela@network.cz>
        !          10007: Date:   Tue Jan 10 13:44:06 2012 +0100
        !          10008: 
        !          10009:     New version 1.3.5
        !          10010: 
        !          10011: commit 4b3a8ff8c6e34f0486b82a10706f1ee0b688048e
        !          10012: Author: root <root@localhost.(none)>
        !          10013: Date:   Mon Jan 9 16:57:45 2012 +0100
        !          10014: 
        !          10015:     Extend buffer for netlink messages.
        !          10016: 
        !          10017: commit 2c67a564b368bee94f387ba988e8a2e9a76a04ce
        !          10018: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10019: Date:   Mon Jan 9 03:32:34 2012 +0100
        !          10020: 
        !          10021:     NEWS and version update.
        !          10022: 
        !          10023: commit 8cf8f820fe66af1755e360ea1c5179483766131d
        !          10024: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10025: Date:   Mon Jan 9 03:20:52 2012 +0100
        !          10026: 
        !          10027:     Show interface for link-local gw in static protocol.
        !          10028: 
        !          10029: commit d7f469c15c1fd8315061f85b87a19946c3ea4700
        !          10030: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10031: Date:   Mon Jan 9 02:40:57 2012 +0100
        !          10032: 
        !          10033:     Some minor fixes.
        !          10034: 
        !          10035: commit 3f58437405f8e37e9c14d83274a6b82ffd9583f8
        !          10036: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10037: Date:   Sun Jan 8 16:28:33 2012 +0100
        !          10038: 
        !          10039:     Fix for IPv6 addresses on non-multiaccess ifaces on BSD.
        !          10040:     
        !          10041:     Thanks Matthias Schiffer for the patch.
        !          10042: 
        !          10043: commit 53ffbff39f054e1302fb296327b9bb1b4f88226c
        !          10044: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10045: Date:   Sun Jan 8 15:28:27 2012 +0100
        !          10046: 
        !          10047:     Implements support for link-local addresses in BGP.
        !          10048:     
        !          10049:     Thanks Matthias Schiffer for the original patch.
        !          10050: 
        !          10051: commit eb1451a3a0c45a4cc62dd0f1f3c3157ec38e2f8e
        !          10052: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10053: Date:   Sun Jan 8 15:27:04 2012 +0100
        !          10054: 
        !          10055:     Better support for link-local addresses in IO code.
        !          10056: 
        !          10057: commit a03ede64936d0aee1a760a19dc6194b2fdc9c692
        !          10058: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10059: Date:   Tue Jan 3 00:42:25 2012 +0100
        !          10060: 
        !          10061:     Fixes a tricky bug in route filtering.
        !          10062:     
        !          10063:     Route attributes was used after rta was freed during copy-on-write in
        !          10064:     filter code. This causes some random crashes, esp. with multipath
        !          10065:     routes.
        !          10066: 
        !          10067: commit 69a8259c5e438f949bd58b1a2f8e1d12a49f9216
        !          10068: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10069: Date:   Sun Jan 1 12:02:20 2012 +0100
        !          10070: 
        !          10071:     Allows sticky link-local neighbors.
        !          10072:     
        !          10073:     Allows using NEF_STICKY neighbors with link-local addresses. This is
        !          10074:     used for static route nexthops, they can be specified like fe80::1%eth0
        !          10075:     .
        !          10076: 
        !          10077: commit c32c3f88f0c8788118ed3701c11a5aea2aaf9356
        !          10078: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10079: Date:   Thu Dec 22 13:44:43 2011 +0100
        !          10080: 
        !          10081:     Fixes parsing larger numbers on 64bit platforms.
        !          10082: 
        !          10083: commit be4cd99a3688cef19f66e1c8b8e0506ffc1e13fc
        !          10084: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10085: Date:   Thu Dec 22 13:20:29 2011 +0100
        !          10086: 
        !          10087:     Implements deterministic MED handling.
        !          10088:     
        !          10089:     Thanks to Alexander V. Chernikov for many suggestions.
        !          10090: 
        !          10091: commit cf7f0645316f5df0984467cf7001f5466254eaf3
        !          10092: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10093: Date:   Mon Dec 12 00:24:15 2011 +0100
        !          10094: 
        !          10095:     Fixes problem with sticky neighbors and iface address changes.
        !          10096:     
        !          10097:     Thanks Matthias Schiffer for the bugreport and the original patch.
        !          10098: 
        !          10099: commit 2779d50a24dc1b7c6b4cf83a17af817c02462855
        !          10100: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10101: Date:   Thu Nov 17 21:12:23 2011 +0100
        !          10102: 
        !          10103:     Fixes RAdv proto w.r.t. templates.
        !          10104:     
        !          10105:     Thanks Alexander V. Chernikov for this.
        !          10106: 
        !          10107: commit 60fd666b796dfa8ba12b44338754ca73b76da2e8
        !          10108: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10109: Date:   Thu Nov 10 09:22:20 2011 +0100
        !          10110: 
        !          10111:     Fixes missing header.
        !          10112: 
        !          10113: commit a7f23f581f5e3efe92ec97dfca7d01c66f31ab04
        !          10114: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10115: Date:   Mon Nov 7 00:31:23 2011 +0100
        !          10116: 
        !          10117:     Implements protocol templates.
        !          10118:     
        !          10119:     Based on the patch from Alexander V. Chernikov.
        !          10120:     Extended to support almost all protocols.
        !          10121:     Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
        !          10122: 
        !          10123: commit 74add5df17c386bd109ebea7b1dac04d1651ae51
        !          10124: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10125: Date:   Thu Oct 27 13:21:24 2011 +0200
        !          10126: 
        !          10127:     Fixes seqnum generation.
        !          10128:     
        !          10129:     Thanks Mohammad Amin Shoaie for notification.
        !          10130: 
        !          10131: commit 78e33c29bbbc6f4dd308cd8ef589ce543c3d8d6e
        !          10132: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10133: Date:   Wed Oct 26 20:06:36 2011 +0200
        !          10134: 
        !          10135:     Some minor fixes in parser.
        !          10136: 
        !          10137: commit 14a8f396e1d8fc5787041eace8ab026fe5a0896c
        !          10138: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10139: Date:   Wed Oct 26 13:55:24 2011 +0200
        !          10140: 
        !          10141:     Fixes sockets for IPv4 RIP.
        !          10142:     
        !          10143:     Thanks Roman Hoog Antink for a suggestion.
        !          10144: 
        !          10145: commit 00a124e3fc218aa39c634bbda244789f2ea0cd3d
        !          10146: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10147: Date:   Mon Oct 10 02:33:11 2011 +0200
        !          10148: 
        !          10149:     NEWS and version update.
        !          10150: 
        !          10151: commit 9b7fdfc84a516ede415cd1941e5ff1d6312e83ff
        !          10152: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10153: Date:   Mon Oct 10 01:01:58 2011 +0200
        !          10154: 
        !          10155:     Fixes for include.
        !          10156: 
        !          10157: commit 1cb97af419ee5bff45049f4d3a85acadbb5b1cb9
        !          10158: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10159: Date:   Sun Oct 9 17:01:01 2011 +0200
        !          10160: 
        !          10161:     Extend the error message.
        !          10162: 
        !          10163: commit 9491f9f593c1195039cecd1bb2a502363b58c66d
        !          10164: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10165: Date:   Thu Oct 6 23:01:23 2011 +0200
        !          10166: 
        !          10167:     Use reserved address blocks for documentation (RFC 5737).
        !          10168: 
        !          10169: commit 32f95476a8d60508ca9d24fe20b09899b72de9d7
        !          10170: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10171: Date:   Thu Oct 6 22:48:49 2011 +0200
        !          10172: 
        !          10173:     Signal problems with route installation to kernel tables.
        !          10174: 
        !          10175: commit 35c875f0d1eb7c72e0b0ab8a90eb32cbcbfdac02
        !          10176: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10177: Date:   Sat Oct 1 09:57:49 2011 +0200
        !          10178: 
        !          10179:     Fixes some error messages and the NSSA gw lookup.
        !          10180:     
        !          10181:     Thanks to Alexander V. Chernikov for the patch.
        !          10182: 
        !          10183: commit 736fd7303cb05e910507edaa9310178a23dbcf1e
        !          10184: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10185: Date:   Tue Sep 27 13:49:32 2011 +0200
        !          10186: 
        !          10187:     Fixes a bug with multiple function arguments.
        !          10188: 
        !          10189: commit bf6d91dc4edf3d08f0de41f71503159b1713fc9a
        !          10190: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10191: Date:   Sat Sep 24 11:06:42 2011 +0200
        !          10192: 
        !          10193:     Use undefined scope for undefined IPv6 addresses.
        !          10194: 
        !          10195: commit 4116db182d8d80d26902a8b33f82664bb5770066
        !          10196: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10197: Date:   Sat Sep 24 02:21:52 2011 +0200
        !          10198: 
        !          10199:     Implements static recursive routes.
        !          10200: 
        !          10201: commit 4271f2b77ed3862a2356475dc18b0cf5c1086364
        !          10202: Author: Ondrej Filip <feela@network.cz>
        !          10203: Date:   Sun Sep 18 13:52:50 2011 +0200
        !          10204: 
        !          10205:     Fixed problem during 'configure' with EC
        !          10206: 
        !          10207: commit 55b58d8c1f51942c487cc268bd9e2ca214913377
        !          10208: Author: Ondrej Filip <feela@network.cz>
        !          10209: Date:   Mon Sep 12 12:13:53 2011 +0200
        !          10210: 
        !          10211:     Removed some completed jobs.
        !          10212: 
        !          10213: commit 1e69379e70da3486a601cab7a41ccf7a5825101d
        !          10214: Author: Ondrej Filip <feela@network.cz>
        !          10215: Date:   Sun Sep 11 21:43:24 2011 +0200
        !          10216: 
        !          10217:     NEWS file updated.
        !          10218: 
        !          10219: commit 48ec367aabaaa5328f4072d237001e245a7363df
        !          10220: Author: Ondrej Filip <feela@network.cz>
        !          10221: Date:   Sun Sep 11 21:21:47 2011 +0200
        !          10222: 
        !          10223:     Configuration can include other files.
        !          10224: 
        !          10225: commit a98995273bd8788cf525f44479026d5ce6b7dd52
        !          10226: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10227: Date:   Sun Sep 4 13:23:26 2011 +0200
        !          10228: 
        !          10229:     NEWS and version update.
        !          10230: 
        !          10231: commit cb2b586f00f5e7ef9a902b028fc5bfe117890457
        !          10232: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10233: Date:   Sun Sep 4 10:39:10 2011 +0200
        !          10234: 
        !          10235:     NetBSD compile fix.
        !          10236: 
        !          10237: commit 51947659abbf9af861aa7dec36fd1c845fb617ab
        !          10238: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10239: Date:   Sun Sep 4 00:56:02 2011 +0200
        !          10240: 
        !          10241:     Minor changes in BGP protocol info.
        !          10242:     
        !          10243:     Shows neighbor IP and ASN even if protocol is down.
        !          10244: 
        !          10245: commit 6c4df70373fa640a7f068d4e1b563621b67c0d2b
        !          10246: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10247: Date:   Sat Sep 3 21:59:40 2011 +0200
        !          10248: 
        !          10249:     Fixes possible buffer overflow when printing BGP attributes.
        !          10250:     
        !          10251:     Thanks to Alexander V. Chernikov for the patch.
        !          10252: 
        !          10253: commit 2918e61046388821c3d4411c602dc5b28ad59329
        !          10254: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10255: Date:   Sat Sep 3 21:31:26 2011 +0200
        !          10256: 
        !          10257:     Fixes for OSPF NSSA handling.
        !          10258: 
        !          10259: commit b1b19433602f2a2ff58cfe2c1858ff883eee7b20
        !          10260: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10261: Date:   Tue Aug 16 23:05:35 2011 +0200
        !          10262: 
        !          10263:     The generalized TTL security mechanism (RFC 5082) support.
        !          10264:     
        !          10265:     Thanks to Alexander V. Chernikov for the patch.
        !          10266: 
        !          10267: commit a52d52fa91ffcbcea58326fc2de476ce5644256f
        !          10268: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10269: Date:   Mon Aug 15 20:54:58 2011 +0200
        !          10270: 
        !          10271:     Fixes some missing tabs.
        !          10272:     
        !          10273:     They unintentionally disappeared in 1.3.2.
        !          10274: 
        !          10275: commit a209d5d8e1bea2b37a7cddebe1f275da4ebde4e3
        !          10276: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10277: Date:   Mon Aug 15 02:06:56 2011 +0200
        !          10278: 
        !          10279:     A minor fix in BSD.
        !          10280: 
        !          10281: commit 8815d846bf77e4231f36b64d8e4ac9a3ec2d1504
        !          10282: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10283: Date:   Sun Aug 14 15:53:47 2011 +0200
        !          10284: 
        !          10285:     BGP Extended communities documentation.
        !          10286: 
        !          10287: commit 42a0c05408c4151442e6a0ec1c6889acbcfe9c17
        !          10288: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10289: Date:   Fri Aug 12 21:03:43 2011 +0200
        !          10290: 
        !          10291:     BGP Extended communities.
        !          10292: 
        !          10293: commit bde872bba745e5596bdb066df6ef323b7cabcfdd
        !          10294: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10295: Date:   Mon Aug 8 10:57:54 2011 +0200
        !          10296: 
        !          10297:     The documentation update.
        !          10298: 
        !          10299: commit ed317862c2958303cf541fe63f4ea26d00918a9a
        !          10300: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10301: Date:   Mon Aug 8 01:45:31 2011 +0200
        !          10302: 
        !          10303:     OSPF NSSA support, inter-area LSA translation.
        !          10304: 
        !          10305: commit aca0e79faa391a2841134dac78a499dfdca68bd9
        !          10306: Author: root <root@localhost.(none)>
        !          10307: Date:   Fri Jul 29 14:52:28 2011 +0200
        !          10308: 
        !          10309:     Handles missing macro.
        !          10310: 
        !          10311: commit 14272097df989808790673521f643053f898aa8c
        !          10312: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10313: Date:   Thu Jul 28 13:50:02 2011 +0200
        !          10314: 
        !          10315:     Fixes crash on BSD.
        !          10316: 
        !          10317: commit 4160a9dd9416ee5afd215750bdd6c6e7a4e7ed1f
        !          10318: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10319: Date:   Fri Jul 22 20:00:24 2011 +0200
        !          10320: 
        !          10321:     OSPF NSSA translator election.
        !          10322: 
        !          10323: commit 41b612c31be05409e69e7365db82b3d1aefc4ca3
        !          10324: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10325: Date:   Wed Jul 20 23:40:20 2011 +0200
        !          10326: 
        !          10327:     OSPF NSSA support, part one.
        !          10328: 
        !          10329: commit 9008579b97239564e1dcac855cf726fa9ab7dabd
        !          10330: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10331: Date:   Wed Jul 20 23:46:03 2011 +0200
        !          10332: 
        !          10333:     Fixes broken multi-area OSPF.
        !          10334: 
        !          10335: commit c49490f8c096ef1379f08e7d70cc24f0c28b80ef
        !          10336: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10337: Date:   Fri Jul 8 08:58:50 2011 +0200
        !          10338: 
        !          10339:     NEWS and version update.
        !          10340: 
        !          10341: commit beeda6af44e72e3a20fcd2837b231a04354790fa
        !          10342: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10343: Date:   Thu Jul 7 17:43:39 2011 +0200
        !          10344: 
        !          10345:     Removes timers for stub interfaces. Also fixes some minor bugs.
        !          10346: 
        !          10347: commit 7d4e923603fdb43b6f017e5ef78e37d0891c699c
        !          10348: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10349: Date:   Wed Jul 6 03:10:02 2011 +0200
        !          10350: 
        !          10351:     Do not open sockets for stub interfaces.
        !          10352: 
        !          10353: commit f796945f04d8be4e71cdf48d919c2035c0a2551d
        !          10354: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10355: Date:   Sun Jul 3 23:24:38 2011 +0200
        !          10356: 
        !          10357:     Fixes LSA checksum computation for larger LSAs.
        !          10358: 
        !          10359: commit fdf16eb65872b3bee02fb9e25c80ea32cf59f8e9
        !          10360: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10361: Date:   Sun Jul 3 19:43:30 2011 +0200
        !          10362: 
        !          10363:     Prints full community lists during 'show route all'.
        !          10364: 
        !          10365: commit 6370d6f61b30b2390727eee8136e0e575dff609f
        !          10366: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10367: Date:   Sun Jun 26 22:25:09 2011 +0200
        !          10368: 
        !          10369:     Fix route types in rta_show().
        !          10370: 
        !          10371: commit e08d2ff08e4cff4bec38878e084fee7666caaaf2
        !          10372: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10373: Date:   Sun Jun 26 17:09:24 2011 +0200
        !          10374: 
        !          10375:     Adds filter clist operation.
        !          10376: 
        !          10377: commit 35f8c731ea29bd534c74b2d0de089d5683ebcd8d
        !          10378: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10379: Date:   Sat Jun 25 14:51:16 2011 +0200
        !          10380: 
        !          10381:     Fixes output of BGP timers in 'show protocols all'.
        !          10382: 
        !          10383: commit d8b5a786d27eed72106f88f893c521e67f1bef06
        !          10384: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10385: Date:   Sat Jun 25 11:35:54 2011 +0200
        !          10386: 
        !          10387:     IPV6_CHECKSUM should not be used on ICMPv6 sockets.
        !          10388: 
        !          10389: commit 23fd464447c4d0f0efe7b61ca3128bbb1bc1c21c
        !          10390: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10391: Date:   Mon Jun 20 20:35:59 2011 +0200
        !          10392: 
        !          10393:     Fixes a bug related to protocol enabling and reconfigure.
        !          10394:     
        !          10395:     When a protocol was enabled interactively (but disabled in the config
        !          10396:     file), then reconfigure in some cases forgets to disable it.
        !          10397: 
        !          10398: commit ae85e28cf410cefe4f6e1cdf92510fbf9cea7ae0
        !          10399: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10400: Date:   Mon Jun 20 07:37:55 2011 +0200
        !          10401: 
        !          10402:     Fixes a bug in OSPF causing DoS by an invalid packet.
        !          10403: 
        !          10404: commit 61c96d724464ee067e589b72ca9d10a2f7692901
        !          10405: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10406: Date:   Tue May 31 17:27:46 2011 +0200
        !          10407: 
        !          10408:     Fixes bug that causes crash with strange BGP updates.
        !          10409: 
        !          10410: commit 5e9bdac28ec95172b0c31641507f6a2fcd2e95fb
        !          10411: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10412: Date:   Sat May 21 22:48:08 2011 +0200
        !          10413: 
        !          10414:     Fixes a bug with setting preference during show route cmd.
        !          10415:     
        !          10416:     If show route cmd was used with a filter that changed preference,
        !          10417:     BIRD crashed.
        !          10418: 
        !          10419: commit 1155c79209b6a670d0e1f85b2603363ba1132ae0
        !          10420: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10421: Date:   Thu May 19 01:20:00 2011 +0200
        !          10422: 
        !          10423:     Fixes compatibility with Mikrotik.
        !          10424: 
        !          10425: commit b54ad333b3c8b486b059f6c0e1afc8c35b64ebea
        !          10426: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10427: Date:   Mon May 16 12:39:55 2011 +0200
        !          10428: 
        !          10429:     Documentation update.
        !          10430: 
        !          10431: commit e8b89a610443f32b901801668cbae634e13f3e68
        !          10432: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10433: Date:   Sun May 15 16:29:44 2011 +0200
        !          10434: 
        !          10435:     Update and document the privilege restriction.
        !          10436: 
        !          10437: commit 1bc2695744c729804af32d48ce68854cba4de8f7
        !          10438: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10439: Date:   Tue May 10 02:42:17 2011 +0200
        !          10440: 
        !          10441:     Allows run with restricted privileges.
        !          10442:     
        !          10443:     Adds option -u and -g to specify user and group.
        !          10444:     When different user (than root) is specified,
        !          10445:     linux capabilities CAP_NET_* are kept.
        !          10446: 
        !          10447: commit 46bb7e0d176a4dc0a47bb406988f92fb29cceaf4
        !          10448: Merge: b8cc390 b7c4898
        !          10449: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10450: Date:   Fri May 6 22:09:44 2011 +0200
        !          10451: 
        !          10452:     Merge commit 'origin/master'
        !          10453: 
        !          10454: commit b8cc390e7ed724a9ad605453227d1e4686f3a11b
        !          10455: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10456: Date:   Fri May 6 22:00:54 2011 +0200
        !          10457: 
        !          10458:     Fixes several problems in filter syntax.
        !          10459:     
        !          10460:      - Fixes several conflicts in the grammar.
        !          10461:      - Fixes a bug in (a..b, c) pair patterns.
        !          10462:      - Makes pair patterns orthogonal.
        !          10463:      - Allows term expressions in pair patterns without additional ( ).
        !          10464:      - Allows several comma separated values in switch cases.
        !          10465: 
        !          10466: commit b7c48981069f25c01c552519e10aec4ebab1f031
        !          10467: Author: Ondrej Filip <feela@network.cz>
        !          10468: Date:   Thu May 5 14:14:20 2011 +0200
        !          10469: 
        !          10470:     Compilation was failing without OSPF or RIP protocol - FIXED.
        !          10471: 
        !          10472: commit 409e8a6e21d3df0919fd2e131ba9a58222baee50
        !          10473: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10474: Date:   Mon May 2 02:06:03 2011 +0200
        !          10475: 
        !          10476:     NEWS and version update.
        !          10477: 
        !          10478: commit a506476acd4baa212f542b257eb5abba733ba4c5
        !          10479: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10480: Date:   Sun May 1 17:16:05 2011 +0200
        !          10481: 
        !          10482:     There may be more IP address records with the same IP.
        !          10483: 
        !          10484: commit 5964569c23829ec93fcf671a2582be01c8aebecf
        !          10485: Merge: acc93ef d600909
        !          10486: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10487: Date:   Fri Apr 29 19:03:19 2011 +0200
        !          10488: 
        !          10489:     Merge commit 'origin/master'
        !          10490: 
        !          10491: commit acc93efd4c754cc995ee8edf52ce0bc45511062e
        !          10492: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10493: Date:   Thu Apr 28 00:31:37 2011 +0200
        !          10494: 
        !          10495:     Use constants from /etc/iproute2/rt_* files.
        !          10496: 
        !          10497: commit 73272f04af40484b72451f541a986da996b0da58
        !          10498: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10499: Date:   Fri Apr 22 16:13:27 2011 +0200
        !          10500: 
        !          10501:     Adds BGP option related to MED handling.
        !          10502:     
        !          10503:     Adds option 'med metric' allows to compare MEDs
        !          10504:     between routes received from different neighbors.
        !          10505: 
        !          10506: commit d600909da9ef0a4b25052c1bf2de83d4e7628b0e
        !          10507: Author: Ondrej Filip <feela@trubka.network.cz>
        !          10508: Date:   Wed Apr 13 13:19:37 2011 +0200
        !          10509: 
        !          10510:     Fixed bug FICORA #503685.
        !          10511: 
        !          10512: commit 71ca77169d5d3e67459e46841b8bdb95accd8c2a
        !          10513: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10514: Date:   Wed Apr 13 12:32:27 2011 +0200
        !          10515: 
        !          10516:     Adds support for several Linux kernel route attributes.
        !          10517: 
        !          10518: commit 4aef102be1e29d3450e53a20a6b2f96d50527139
        !          10519: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10520: Date:   Thu Apr 7 11:31:56 2011 +0200
        !          10521: 
        !          10522:     Fixes KRT sync in BSD.
        !          10523:     
        !          10524:     When buffer is too small (because of change between sysctls()),
        !          10525:     needed is *not* changed.
        !          10526: 
        !          10527: commit 489c308a75b121f286cc8637ead8b2bf7bf896ec
        !          10528: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10529: Date:   Tue Apr 5 11:41:18 2011 +0200
        !          10530: 
        !          10531:     Minor fixes.
        !          10532: 
        !          10533: commit bf27abd6d4a20448f5b4c80e9aa9258dc8670f62
        !          10534: Merge: 4ef0950 a5b84ab
        !          10535: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10536: Date:   Fri Apr 1 13:56:42 2011 +0200
        !          10537: 
        !          10538:     Merge commit 'origin/master'
        !          10539: 
        !          10540: commit 4ef0950603ffbd515d97359015585b4a7512bc75
        !          10541: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10542: Date:   Fri Apr 1 13:54:39 2011 +0200
        !          10543: 
        !          10544:     Fixes a problem with BGP protocols and implicit router IDs.
        !          10545: 
        !          10546: commit d93a43a57d37b7cc5506a823a081d21f515c3820
        !          10547: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10548: Date:   Fri Apr 1 12:21:18 2011 +0200
        !          10549: 
        !          10550:     Fix leaked debug message.
        !          10551: 
        !          10552: commit a5b84ab540ff3131938b38ebc82ed8e3ce46f261
        !          10553: Author: Ondrej 'Feela' Filip <feela@atrey.karlin.mff.cuni.cz>
        !          10554: Date:   Thu Mar 31 10:30:58 2011 +0200
        !          10555: 
        !          10556:     NEWS updated.
        !          10557: 
        !          10558: commit eb3786e4ea46ce1abc4ca211346369b36dc17dd7
        !          10559: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10560: Date:   Wed Mar 30 02:00:56 2011 +0200
        !          10561: 
        !          10562:     NEWS and version update.
        !          10563:     
        !          10564:     (and minor changes in documentation)
        !          10565: 
        !          10566: commit 06fb60c4af38d529d20b662748243b3f4a693c60
        !          10567: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10568: Date:   Wed Mar 30 01:09:18 2011 +0200
        !          10569: 
        !          10570:     Fixes some problems in BGP error handling.
        !          10571: 
        !          10572: commit 83696b3913c9f52a3d53db073e1ba0641b60ab07
        !          10573: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10574: Date:   Tue Mar 29 02:44:39 2011 +0200
        !          10575: 
        !          10576:     Hide 6to4 route warnings.
        !          10577: 
        !          10578: commit ab164971891c64126097eedca11d2f5586f1d8e7
        !          10579: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10580: Date:   Tue Mar 29 01:41:46 2011 +0200
        !          10581: 
        !          10582:     Fixes a nasty bug in OSPF.
        !          10583:     
        !          10584:     Sending malformed network prefixes in LSAs causes OSPF to crash
        !          10585:     just after the LSA is propagated to the other routers.
        !          10586: 
        !          10587: commit 52a43ae3b76f86b697537bc3ad8afdb3b421cf2c
        !          10588: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10589: Date:   Mon Mar 28 22:46:18 2011 +0200
        !          10590: 
        !          10591:     Minor changes in addresses.
        !          10592:     
        !          10593:     Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not
        !          10594:     show broadcast addr in show interfaces. Nobody cares for that.
        !          10595: 
        !          10596: commit c454872f4e81e69a8e9950289ab810fcac3fc922
        !          10597: Author: Ondrej Filip <feela@network.cz>
        !          10598: Date:   Sun Mar 27 23:27:37 2011 +0200
        !          10599: 
        !          10600:     Avoid using stack.
        !          10601: 
        !          10602: commit 4e712ec3b7cb4678607b2a48a2feaa0658333ab2
        !          10603: Author: Ondrej Filip <feela@network.cz>
        !          10604: Date:   Sat Mar 26 15:21:35 2011 +0100
        !          10605: 
        !          10606:     Added CZ.NIC copyright.
        !          10607: 
        !          10608: commit 86c038ccae2149645058d4288ff8efb498013522
        !          10609: Author: Ondrej Filip <feela@network.cz>
        !          10610: Date:   Sat Mar 26 14:38:00 2011 +0100
        !          10611: 
        !          10612:     Documentation about previous commit added.
        !          10613: 
        !          10614: commit 4fc36f394ec0988a18decb2d1916e3cebef18d22
        !          10615: Author: Ondrej Filip <feela@network.cz>
        !          10616: Date:   Sat Mar 26 14:18:56 2011 +0100
        !          10617: 
        !          10618:     This adds (*,x) functionality.
        !          10619: 
        !          10620: commit d0e9b36d30176a9e18cad6151b20746e1588cdc8
        !          10621: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10622: Date:   Wed Mar 23 17:15:11 2011 +0100
        !          10623: 
        !          10624:     Added header file.
        !          10625: 
        !          10626: commit 0aa88530ad3c58a6bdab886cabd9b2a4278486e8
        !          10627: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10628: Date:   Wed Mar 23 13:40:46 2011 +0100
        !          10629: 
        !          10630:     Convert && and || to shortcut boolean operators.
        !          10631: 
        !          10632: commit 26d92bb8921ac4e022cdc88bde8fc7bc617f8766
        !          10633: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10634: Date:   Wed Mar 23 12:49:53 2011 +0100
        !          10635: 
        !          10636:     A hack to distinguish if..else from else: in case.
        !          10637:     
        !          10638:     The old BIRD grammar needs two lookaheads to distinguish if..else from
        !          10639:     else: in case, which caused the parser to fail on some combinations of
        !          10640:     both expressions.
        !          10641:     
        !          10642:     This patch replaces two tokens 'else' ':' by one token 'else:' to fix
        !          10643:     that.
        !          10644: 
        !          10645: commit 6bcef22580010aec695fb2b559c7b33ee00261b0
        !          10646: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10647: Date:   Sat Mar 19 12:13:59 2011 +0100
        !          10648: 
        !          10649:     Documentation for the router advertisement protocol.
        !          10650: 
        !          10651: commit 8e48831a970a784a979446813191628790d477f1
        !          10652: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10653: Date:   Thu Mar 17 15:53:36 2011 +0100
        !          10654: 
        !          10655:     Vastly improved OSPF reconfiguration.
        !          10656:     
        !          10657:     Now it can handle a change in iface pattern structure.
        !          10658:     It can add, remove and reconfigure interfaces, vlinks and areas.
        !          10659: 
        !          10660: commit 93e868c730dc0b1825b2a685e0b066c051b1cb07
        !          10661: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10662: Date:   Sun Mar 13 11:33:50 2011 +0100
        !          10663: 
        !          10664:     Implements Router Advertisement protocol.
        !          10665: 
        !          10666: commit 9d67ffb0b4cdfbbf88779ce2b44ba810d1ba85d3
        !          10667: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10668: Date:   Sat Jan 8 19:34:12 2011 +0100
        !          10669: 
        !          10670:     Fixes scope for sticky neighbors.
        !          10671: 
        !          10672: commit d32a071da9655c2d05038e721bcf020498263c1e
        !          10673: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10674: Date:   Sat Jan 8 11:31:12 2011 +0100
        !          10675: 
        !          10676:     Some cleanups in krt_read_ifinfo().
        !          10677: 
        !          10678: commit dad7ee70c1711b2cbdfd86c615736fe12c0d126a
        !          10679: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10680: Date:   Sat Jan 8 11:22:38 2011 +0100
        !          10681: 
        !          10682:     Fixes interface names on BSD systems.
        !          10683: 
        !          10684: commit e7b4948cbd3e4cacf4fe0f774b44d1f74029ea6d
        !          10685: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10686: Date:   Tue Dec 28 01:43:07 2010 +0100
        !          10687: 
        !          10688:     A simplification of the next-hop calculation.
        !          10689:     
        !          10690:     Thanks to Joakim Tjernlund for the idea.
        !          10691: 
        !          10692: commit 919f5411c48f509a49400a1293e670f5d5d2bcf1
        !          10693: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10694: Date:   Fri Dec 24 18:08:07 2010 +0100
        !          10695: 
        !          10696:     Implements Point-to-MultiPoint interface type for OSPF.
        !          10697: 
        !          10698: commit 39847cda73d8e8536300b74d90d01b6e2f233ef7
        !          10699: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10700: Date:   Thu Dec 23 12:24:40 2010 +0100
        !          10701: 
        !          10702:     Add some comments.
        !          10703: 
        !          10704: commit f0160f0e06be883528e5e29edfd509efa14d0c78
        !          10705: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10706: Date:   Thu Dec 23 10:25:22 2010 +0100
        !          10707: 
        !          10708:     Fixes a minor memory wasting.
        !          10709: 
        !          10710: commit 8cab377d92b62c028ee7aab49049b7cb6cd53ab9
        !          10711: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10712: Date:   Wed Dec 22 23:33:40 2010 +0100
        !          10713: 
        !          10714:     Remove unnecessary check.
        !          10715: 
        !          10716: commit 154e2aeded13f46666a69b7a7241149c43ebc01f
        !          10717: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10718: Date:   Mon Dec 13 11:17:11 2010 +0100
        !          10719: 
        !          10720:     Fixes string handling in birdc.
        !          10721: 
        !          10722: commit e91f6960bae16314e9429719c2c2321edb484a44
        !          10723: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10724: Date:   Tue Dec 7 23:36:48 2010 +0100
        !          10725: 
        !          10726:     Documentation update (multipath).
        !          10727: 
        !          10728: commit 32b4972834352d641f7d2c08a27c18b0babd3790
        !          10729: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10730: Date:   Tue Dec 7 23:36:11 2010 +0100
        !          10731: 
        !          10732:     Multipath support for linux kernel protocol.
        !          10733: 
        !          10734: commit 57c574d82a44d10143aba7aaea6d1384d850c079
        !          10735: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10736: Date:   Tue Dec 7 23:35:39 2010 +0100
        !          10737: 
        !          10738:     Multipath support for OSPF
        !          10739: 
        !          10740: commit 9852f81064a38d35ff1bd5cc9fab7fc33926c83c
        !          10741: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10742: Date:   Tue Dec 7 23:34:36 2010 +0100
        !          10743: 
        !          10744:     Multipath support for static protocol.
        !          10745: 
        !          10746: commit 7e95c05d889f22be44aef5051eb07d35a4a8f579
        !          10747: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10748: Date:   Tue Dec 7 23:33:55 2010 +0100
        !          10749: 
        !          10750:     Core multipath support.
        !          10751: 
        !          10752: commit 01427d3f2b69a4ae1b616b380d4911a132ec450f
        !          10753: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10754: Date:   Fri Nov 19 18:03:27 2010 +0100
        !          10755: 
        !          10756:     Remove some runaway debug messages and typos.
        !          10757: 
        !          10758: commit 391931d45686a807d322878d4b3d5c9634e2dbca
        !          10759: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10760: Date:   Fri Nov 19 13:46:21 2010 +0100
        !          10761: 
        !          10762:     Minor finalizations of link state checks.
        !          10763: 
        !          10764: commit 79f561a173c9ceb824d64aa32d82e43ba62acebc
        !          10765: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10766: Date:   Sat Nov 13 14:19:55 2010 +0100
        !          10767: 
        !          10768:     Fixes a typo (in OSPF_MAX_PKT_SIZE value).
        !          10769:     
        !          10770:     And updates a comment.
        !          10771: 
        !          10772: commit d9e7e1b13d69fa50d1979576c418c579f05463c6
        !          10773: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10774: Date:   Sat Nov 13 14:19:23 2010 +0100
        !          10775: 
        !          10776:     Adds support for iface link detection to OSPF.
        !          10777: 
        !          10778: commit fe181e7c63843ad65401cc1e400ae1ac3187122f
        !          10779: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10780: Date:   Thu Nov 11 12:24:27 2010 +0100
        !          10781: 
        !          10782:     Adds support for iface link check to static protocol.
        !          10783: 
        !          10784: commit f25cb0ef9f6341648513e793a3162b32fc250d2b
        !          10785: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10786: Date:   Thu Nov 11 10:03:02 2010 +0100
        !          10787: 
        !          10788:     Implements link state detection.
        !          10789:     
        !          10790:     Also changes some symbol names (IFF_ADMIN_DOWN -> IFF_SHUTDOWN,
        !          10791:     IFF_LINK_UP -> IFF_ADMIN_UP).
        !          10792: 
        !          10793: commit 5cdf264f937687aff194574f5fe2badb087337b8
        !          10794: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10795: Date:   Wed Nov 10 16:43:11 2010 +0100
        !          10796: 
        !          10797:     Fixes a bug related to implicit backbone on ABR.
        !          10798: 
        !          10799: commit c4443085a198c26a478463429477e7e8a599fa07
        !          10800: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10801: Date:   Thu Nov 4 17:25:48 2010 +0100
        !          10802: 
        !          10803:     OSPF tx buffers should have the same size as rx buffers.
        !          10804:     
        !          10805:     We should be able to send everything we received.
        !          10806: 
        !          10807: commit d5356072ac18d5b0eb12f14afca6bfbea702dda2
        !          10808: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10809: Date:   Thu Nov 4 17:22:43 2010 +0100
        !          10810: 
        !          10811:     Fixes a bug in LSA update of large LSAs.
        !          10812: 
        !          10813: commit d3209d939d4d0d8801432f212edd4302a7d03633
        !          10814: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10815: Date:   Wed Nov 3 10:04:46 2010 +0100
        !          10816: 
        !          10817:     Fixes a bug in OSPF.
        !          10818: 
        !          10819: commit fcf5a4f4b3e1a984f65d873e7a5a8c830b1ad9bf
        !          10820: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10821: Date:   Wed Nov 3 10:02:24 2010 +0100
        !          10822: 
        !          10823:     Change default for BGP IPv6 socket to V6ONLY.
        !          10824:     
        !          10825:     Also add a new option 'dual' for the old behavior.
        !          10826: 
        !          10827: commit 5adc02a6f87bda06094ce36eb699884c03760bf5
        !          10828: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10829: Date:   Fri Oct 22 11:25:47 2010 +0200
        !          10830: 
        !          10831:     Documentation update.
        !          10832: 
        !          10833: commit ed76033c847939877e4fbfadf06898521aafb740
        !          10834: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10835: Date:   Fri Oct 22 08:35:19 2010 +0200
        !          10836: 
        !          10837:     Fixes some typos.
        !          10838: 
        !          10839: commit 938b191b9282b138cbdd30dfc11b78c0467d6380
        !          10840: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10841: Date:   Sat Oct 9 01:00:53 2010 +0200
        !          10842: 
        !          10843:     Fixes error handling in ASN expressions.
        !          10844: 
        !          10845: commit 112d71a73f30d26891eda4374bf0f2ab31c5c048
        !          10846: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10847: Date:   Fri Oct 8 14:25:53 2010 +0200
        !          10848: 
        !          10849:     Fixes syntactic priority of '.' .
        !          10850:     
        !          10851:     Dot in expressions like net.len definitely should have the highhest
        !          10852:     priority.
        !          10853: 
        !          10854: commit b2b7bbfc690a7ad6a61a8cdf4abe87345057fb2e
        !          10855: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10856: Date:   Mon Oct 4 19:55:11 2010 +0200
        !          10857: 
        !          10858:     Fixes scope of filter symbols.
        !          10859: 
        !          10860: commit 0d1b3c4c0e3261d1d4261e9aeb9975a01d0ff2f9
        !          10861: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10862: Date:   Mon Sep 20 13:01:01 2010 +0200
        !          10863: 
        !          10864:     Changes print-like filter commands to use a log instead of a stderr.
        !          10865:     
        !          10866:     And extends the log subsystem to better handle that.
        !          10867: 
        !          10868: commit 2dec1e3471385ea191862c8fe85d76a8e47410de
        !          10869: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10870: Date:   Wed Sep 15 02:01:23 2010 +0200
        !          10871: 
        !          10872:     Fixes a bug in pair sets.
        !          10873: 
        !          10874: commit a58022a64ee8aa2fc46816020723dfbf4bfd08d9
        !          10875: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10876: Date:   Sat Sep 11 20:14:53 2010 +0200
        !          10877: 
        !          10878:     Fixes a bug in community set delete.
        !          10879: 
        !          10880: commit 4ca93a50675489a6a5ef9369c24806cc3cbff45e
        !          10881: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10882: Date:   Wed Sep 8 12:08:38 2010 +0200
        !          10883: 
        !          10884:     Fixes a one byte buffer overflow.
        !          10885: 
        !          10886: commit 948c865fac85f91dd7463195b190d8f133e0f741
        !          10887: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10888: Date:   Fri Sep 3 17:15:02 2010 +0200
        !          10889: 
        !          10890:     Fixes a crash in RIP during reconfigure.
        !          10891: 
        !          10892: commit 3cb6c83f1a2eb563e459ce34d0f4850cc9dd4776
        !          10893: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10894: Date:   Fri Sep 3 16:32:00 2010 +0200
        !          10895: 
        !          10896:     Fixes a memory leak in RIP.
        !          10897: 
        !          10898: commit faf58cec4d0c0d3c1fddee6faf2f57a1362477bb
        !          10899: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10900: Date:   Sun Aug 22 14:43:53 2010 +0200
        !          10901: 
        !          10902:     Fixes a bug in NBMA on an iface with multiple IP addresses.
        !          10903: 
        !          10904: commit ac4a1eedfc515e041877d48fd5f64ee4e3b30532
        !          10905: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10906: Date:   Fri Aug 13 14:30:36 2010 +0200
        !          10907: 
        !          10908:     Change default for handling missing link-local addresses on route servers.
        !          10909: 
        !          10910: commit dcc71a7fb7e507acc2e0b417e6c9d1940448908e
        !          10911: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10912: Date:   Thu Aug 12 10:22:40 2010 +0200
        !          10913: 
        !          10914:     Supports unique local unicast addresses.
        !          10915: 
        !          10916: commit 0ef69b1c4a255360e1fa76dffd7a0cb97ea1e9dc
        !          10917: Author: Ondrej Filip <feela@network.cz>
        !          10918: Date:   Mon Aug 9 14:09:53 2010 +0200
        !          10919: 
        !          10920:     Typo in doc.
        !          10921: 
        !          10922: commit 265d06dcbc138c7373ec7b341fcd628eb87e4c4b
        !          10923: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10924: Date:   Wed Aug 4 15:27:11 2010 +0200
        !          10925: 
        !          10926:     Fixes IPv6 build.
        !          10927: 
        !          10928: commit 373d3dbe8dfbce21af72618c0f912dd0e23a6f3c
        !          10929: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10930: Date:   Wed Aug 4 13:53:52 2010 +0200
        !          10931: 
        !          10932:     Fixes build on Sparc.
        !          10933: 
        !          10934: commit 946dc15c928d9a48cdcc857bc80f4fabf9a4e2bf
        !          10935: Author: Ondrej Filip <feela@network.cz>
        !          10936: Date:   Tue Aug 3 17:35:34 2010 +0200
        !          10937: 
        !          10938:     Documentation update and improvement of tests related to expressions in sets.
        !          10939: 
        !          10940: commit e0e8c04a83bbe24cdcf3836ca171ce60db299b1f
        !          10941: Author: Ondrej Filip <feela@network.cz>
        !          10942: Date:   Tue Aug 3 15:23:30 2010 +0200
        !          10943: 
        !          10944:     Small typo in documentation.
        !          10945: 
        !          10946: commit edaec901e12c2f0756ab44f7493e999145d7dff9
        !          10947: Author: Ondrej Filip <feela@network.cz>
        !          10948: Date:   Tue Aug 3 15:22:29 2010 +0200
        !          10949: 
        !          10950:     Even set of number can be made by expressions.
        !          10951: 
        !          10952: commit 4733b49ed6ec11669061e15680417961d13c7a61
        !          10953: Author: Ondrej Filip <feela@network.cz>
        !          10954: Date:   Tue Aug 3 15:14:26 2010 +0200
        !          10955: 
        !          10956:     Syntax of sets improved.
        !          10957: 
        !          10958: commit 2c9033afd5ce5e99255d248fb065e94534405da7
        !          10959: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10960: Date:   Tue Aug 3 08:26:47 2010 +0200
        !          10961: 
        !          10962:     Do not allow interdependent recursive routes.
        !          10963: 
        !          10964: commit f428631cd6f48c5155bd1b7724e9bb8a545fda12
        !          10965: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10966: Date:   Tue Aug 3 01:12:43 2010 +0200
        !          10967: 
        !          10968:     Ignore warning when BGP peer is unreachable.
        !          10969: 
        !          10970: commit b74f45f8a05444dca16f0995c7d201ea592ce299
        !          10971: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10972: Date:   Tue Aug 3 00:59:13 2010 +0200
        !          10973: 
        !          10974:     Documentation update.
        !          10975: 
        !          10976: commit ba5e5940aa1f11128c76a3964823bda22e47ab04
        !          10977: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10978: Date:   Mon Aug 2 13:11:53 2010 +0200
        !          10979: 
        !          10980:     Adds igp_metric attribute.
        !          10981: 
        !          10982: commit d395fe48553062413a85fd04cda0752f933e70c6
        !          10983: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10984: Date:   Sat Jul 31 11:37:30 2010 +0200
        !          10985: 
        !          10986:     Fixes bug in OSPF ext-LSA origination.
        !          10987: 
        !          10988: commit d1e146f2f8da303af7bbe0cec363cc15c58c37fd
        !          10989: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10990: Date:   Sat Jul 31 01:04:32 2010 +0200
        !          10991: 
        !          10992:     Implements IGP metric comparison for BGP routes.
        !          10993: 
        !          10994: commit ac3ac49a71d4b290cfb28aecafc8ac4a69df7a64
        !          10995: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          10996: Date:   Wed Jul 28 13:13:34 2010 +0200
        !          10997: 
        !          10998:     Adds route resolvability test.
        !          10999: 
        !          11000: commit 1b180121a90ef98f3adce1a355d48d64c6fc3c4f
        !          11001: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11002: Date:   Wed Jul 28 11:45:35 2010 +0200
        !          11003: 
        !          11004:     Use link-local addresses in recursive next hops for IPv6 BGP.
        !          11005: 
        !          11006: commit c477f48916d74c2db6156145851f9536ae0a0a6c
        !          11007: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11008: Date:   Tue Jul 27 18:20:12 2010 +0200
        !          11009: 
        !          11010:     Hostcache should use trie to filter relevant route changes.
        !          11011: 
        !          11012: commit 7f0d245a5e6d2d789e1fce4b5388ea69aba3b428
        !          11013: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11014: Date:   Tue Jul 27 17:17:11 2010 +0200
        !          11015: 
        !          11016:     Minor changes in prefix trie.
        !          11017: 
        !          11018: commit f2b76f2c45bb8e7c1f13f6d4924e10f0c6b12778
        !          11019: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11020: Date:   Mon Jul 26 16:39:27 2010 +0200
        !          11021: 
        !          11022:     For hostentry cache, replace FIB with a hash table using (IP, dep table) as a key.
        !          11023: 
        !          11024: commit 852b7062e33b9886eb869fac8b9354497c49b126
        !          11025: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11026: Date:   Thu Jul 22 15:09:35 2010 +0200
        !          11027: 
        !          11028:     Fixes a buffer overflow in TX code of IPv6 BGP.
        !          11029: 
        !          11030: commit 7873e9828ff7ba7203fd30ffa7d50859d583d4ca
        !          11031: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11032: Date:   Wed Jul 14 19:03:23 2010 +0200
        !          11033: 
        !          11034:     Fixes the documentation.
        !          11035: 
        !          11036: commit 087cecd0e2db0ec1e630fde67ec560578264bf32
        !          11037: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11038: Date:   Tue Jul 13 12:48:23 2010 +0200
        !          11039: 
        !          11040:     Adds some options and documentation related to recursive next hops.
        !          11041: 
        !          11042: commit f038f0a6385d7b81f57254e3c9bf84021a6b040d
        !          11043: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11044: Date:   Mon Jul 12 21:39:10 2010 +0200
        !          11045: 
        !          11046:     Fixes missing check in reconfiguration.
        !          11047: 
        !          11048: commit 9be9a264137cdd881f339c37d1a1918527924254
        !          11049: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11050: Date:   Mon Jul 12 17:39:39 2010 +0200
        !          11051: 
        !          11052:     Implements proper multihop BGP.
        !          11053:     
        !          11054:     Also does some incompatible changes to config file syntax,
        !          11055:     like removing 'via IP' from multihop option.
        !          11056: 
        !          11057: commit cfe34a316e35a209fcd814ccf3523c262e8d4b0a
        !          11058: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11059: Date:   Mon Jul 5 17:50:19 2010 +0200
        !          11060: 
        !          11061:     Implements hostcache and recursive next hops.
        !          11062:     
        !          11063:     Hostcache is a structure for monitoring changes in a routing table that
        !          11064:     is used for routes with dynamic/recursive next hops. This is needed for
        !          11065:     proper iBGP next hop handling.
        !          11066: 
        !          11067: commit 824de84d48eff6cbd0c550309fbd0bbf7740cb14
        !          11068: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11069: Date:   Wed Jun 2 22:25:39 2010 +0200
        !          11070: 
        !          11071:     Do not start with huge OSPF FIBs.
        !          11072:     
        !          11073:     Most OSPF instances don't need 64k FIB fields. This change halves
        !          11074:     resident memory usage on small OSPF networks.
        !          11075: 
        !          11076: commit acb60628f53ba1fc29d1a554683acdb03f961c6f
        !          11077: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11078: Date:   Wed Jun 2 22:20:40 2010 +0200
        !          11079: 
        !          11080:     Implements command that shows memory usage.
        !          11081: 
        !          11082: commit 4461b8979143bd13024663622c419646a1db0c85
        !          11083: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11084: Date:   Wed Jun 2 12:11:20 2010 +0200
        !          11085: 
        !          11086:     Minor bug that appears only in debug mode.
        !          11087: 
        !          11088: commit 9ef239946b7298a679a9b155606257738bb52347
        !          11089: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11090: Date:   Mon May 31 20:41:40 2010 +0200
        !          11091: 
        !          11092:     NEWS and version update.
        !          11093: 
        !          11094: commit a34b09349e809a6d8f696fb0897c0bfdc3b66159
        !          11095: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11096: Date:   Mon May 31 11:35:29 2010 +0200
        !          11097: 
        !          11098:     Disable BGP protocol when cannot open listening socket.
        !          11099: 
        !          11100: commit 9b061f7ea5933f70c200bb3b3a7be5a2e472e805
        !          11101: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11102: Date:   Fri May 28 11:16:39 2010 +0200
        !          11103: 
        !          11104:     Minor fixes.
        !          11105: 
        !          11106: commit 691057f03310e712428e19214ae48462d0f258e1
        !          11107: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11108: Date:   Wed May 26 16:09:22 2010 +0200
        !          11109: 
        !          11110:     Support loopback/dummy addresses.
        !          11111: 
        !          11112: commit e0a62ad0f8be198bf8afb1f6900f138dfe12d4fb
        !          11113: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11114: Date:   Wed May 26 12:32:30 2010 +0200
        !          11115: 
        !          11116:     Fixes a bug in duplicit configured stubnets.
        !          11117:     
        !          11118:     If there was the same configured stubnet on local and remote
        !          11119:     router, the remote route always won regardless of its cost.
        !          11120: 
        !          11121: commit 52572e94ec75728c114f47db37aaf220c1af29d6
        !          11122: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11123: Date:   Sun May 23 12:34:09 2010 +0200
        !          11124: 
        !          11125:     Check for OSPF seqnum wraparound and handle it.
        !          11126: 
        !          11127: commit ba5c0057ed01fb006b7a6fb1bd8c21f0c9ae12be
        !          11128: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11129: Date:   Sat May 22 22:47:24 2010 +0200
        !          11130: 
        !          11131:     Extends pair set syntax, matching and deleting against clist.
        !          11132:     
        !          11133:     Expressions like (123,*) can be used in pair set literals, clists can be
        !          11134:     matched against pair sets (community ~ pairset) and pair sets can be
        !          11135:     used to specify items to delete from clists (community.delete(pairset)).
        !          11136: 
        !          11137: commit 6d04ef8987f6f5483d353d393ef66dae4b887f30
        !          11138: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11139: Date:   Fri May 21 16:40:09 2010 +0200
        !          11140: 
        !          11141:     Comment update.
        !          11142: 
        !          11143: commit 87a9abeac976180ade1c7619545e610d743994b5
        !          11144: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11145: Date:   Fri May 21 15:17:49 2010 +0200
        !          11146: 
        !          11147:     Fixes interface scan on Linux 2.4.x in IPv6 mode.
        !          11148: 
        !          11149: commit 002b6423188abdd62c5a494069fd299b96863a79
        !          11150: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11151: Date:   Fri May 21 11:51:39 2010 +0200
        !          11152: 
        !          11153:     Fixes bug on Linux 2.4.x - kernel sync does not work until restart of kernel protocol.
        !          11154:     
        !          11155:     Which was, actually, a bug in timers - on older kernel, monotonic timer
        !          11156:     is missing and the other implementation started with now == 0, which
        !          11157:     collides with usage 0 as a special value in timer->expires field.
        !          11158: 
        !          11159: commit c1cefd7bea79201c58c7c0fa8e192be3cc5ed771
        !          11160: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11161: Date:   Sun May 16 11:03:59 2010 +0200
        !          11162: 
        !          11163:     Do not remove old static route if it is in new config with different gw.
        !          11164: 
        !          11165: commit 7ff5803becec14da870d3997d78e3963fa5ec6e6
        !          11166: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11167: Date:   Sun May 16 10:27:20 2010 +0200
        !          11168: 
        !          11169:     Do not originate summary or external LSA if it already here and not changed.
        !          11170: 
        !          11171: commit 475977242ac5bb9ff8826c2dd8c9a1a180320de2
        !          11172: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11173: Date:   Fri May 14 16:54:39 2010 +0200
        !          11174: 
        !          11175:     Handle EPIPE as a common connection close event.
        !          11176: 
        !          11177: commit 0267f49fb2e44525aa2777bcb9900c4bb2db41e1
        !          11178: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11179: Date:   Fri May 14 15:24:53 2010 +0200
        !          11180: 
        !          11181:     Do not add community if it is already in clist.
        !          11182: 
        !          11183: commit ee7408c2be2cd514ba6eefc5589e57a6056198dc
        !          11184: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11185: Date:   Fri May 7 15:54:27 2010 +0200
        !          11186: 
        !          11187:     Fixes a bug in LSA flooding.
        !          11188:     
        !          11189:     LSAs are sometimes prematurely removed from LS retransmission lists.
        !          11190: 
        !          11191: commit 54818e9beb6bfcbcb5dcc2b175dca9d174012e6c
        !          11192: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11193: Date:   Mon May 3 00:10:48 2010 +0200
        !          11194: 
        !          11195:     A minor bugfix in OSPF ext-LSA processing.
        !          11196: 
        !          11197: commit 506fa1a73eab0c6426f68cd7784c6712898b88f3
        !          11198: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11199: Date:   Sun May 2 22:41:40 2010 +0200
        !          11200: 
        !          11201:     Merge several fixes suggested by Joakim Tjernlund.
        !          11202: 
        !          11203: commit 6384c7d7aa85d1e593eca30cda48f6677b023cb0
        !          11204: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11205: Date:   Sun May 2 19:58:34 2010 +0200
        !          11206: 
        !          11207:     OSPF: most of summary LSA orig./flush logic rewritten.
        !          11208:     
        !          11209:     Fixes many bugs in the old code and makes it much cleaner.
        !          11210: 
        !          11211: commit ba321706578de8402d50214a9e79a65835cdd821
        !          11212: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11213: Date:   Wed Apr 28 00:39:57 2010 +0200
        !          11214: 
        !          11215:     Better support for /31 networks.
        !          11216: 
        !          11217: commit 48b0814ace2d05f9fef093d9f309bfa186a6f365
        !          11218: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11219: Date:   Tue Apr 27 18:29:01 2010 +0200
        !          11220: 
        !          11221:     A fix in OSPFv3 next_hop calculation.
        !          11222: 
        !          11223: commit 96599c957baa9c82bde91d610ce4f519aead05e9
        !          11224: Merge: ba13017 9d1ee13
        !          11225: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11226: Date:   Tue Apr 27 11:28:44 2010 +0200
        !          11227: 
        !          11228:     Merge branch 'master' of ssh://git.nic.cz/projects/bird/GIT/bird
        !          11229: 
        !          11230: commit ba130172549ef2313f713e048083432f74e7d03d
        !          11231: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11232: Date:   Tue Apr 27 11:27:54 2010 +0200
        !          11233: 
        !          11234:     Avoid warning if not compiled with pipes.
        !          11235: 
        !          11236: commit 9d1ee1388771a3caa6c23163571a80457adfab2c
        !          11237: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11238: Date:   Mon Apr 26 19:08:57 2010 +0200
        !          11239: 
        !          11240:     Neighbors on OSPF broadcast networks should be identified by IP address, not RID.
        !          11241:     
        !          11242:     Allows simple support for multiple interfaces to the same network.
        !          11243: 
        !          11244: commit 4e5fb4b60c59db3248fd12db2bc6f0424d798122
        !          11245: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11246: Date:   Sun Apr 25 20:12:34 2010 +0200
        !          11247: 
        !          11248:     Skip LSA host<->network endianity conversions on big endians.
        !          11249: 
        !          11250: commit c1b51598d49ff737b926bd8ad2e308a5a15ce3a2
        !          11251: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11252: Date:   Sun Apr 25 19:13:49 2010 +0200
        !          11253: 
        !          11254:     Implements changes in checksum alg suggested by Joakim Tjernlund.
        !          11255: 
        !          11256: commit 0ea8fb4abe5acad0b8f470bbdc5cc929b6a58ced
        !          11257: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11258: Date:   Sat Apr 24 15:18:21 2010 +0200
        !          11259: 
        !          11260:     Fixes and enhancements in 'show ospf state' command.
        !          11261:     
        !          11262:     Now it shows a distance, option to change showing reachable/all network
        !          11263:     nodes and better handling of AS-external LSAs in multiple areas. The
        !          11264:     command 'show ospf topology' was changed to not show stubnets in both
        !          11265:     OSPFv2 and OSPFv3 (previously it displayed stubnets in OSPFv2).
        !          11266: 
        !          11267: commit 1d44ddf20f3ecef864d4bd20355251839fcd10ee
        !          11268: Merge: 3b89a23 6bc414d
        !          11269: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11270: Date:   Wed Apr 21 21:52:10 2010 +0200
        !          11271: 
        !          11272:     Merge commit 'origin/master' into new
        !          11273: 
        !          11274: commit 3b89a2327ba385abf2a8321a5a900faba3765612
        !          11275: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11276: Date:   Wed Apr 21 21:50:38 2010 +0200
        !          11277: 
        !          11278:     Fixes several problems in OSPF vlink implementation.
        !          11279: 
        !          11280: commit 6bc414d619e1d8710990e89e5085d18e2d5c544c
        !          11281: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11282: Date:   Mon Apr 19 16:10:20 2010 +0200
        !          11283: 
        !          11284:     It seems that prefixes /31 and /127 are valid and used in this strange world.
        !          11285: 
        !          11286: commit 607d991424006c083be63878b6a606e76679e1ce
        !          11287: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11288: Date:   Wed Apr 14 15:35:08 2010 +0200
        !          11289: 
        !          11290:     Fixes build on newer Linux systems.
        !          11291: 
        !          11292: commit dcc6049444f5e12e0d0fcc4cfbb244c08b4c20b0
        !          11293: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11294: Date:   Wed Apr 14 14:46:21 2010 +0200
        !          11295: 
        !          11296:     Fixes IPv6 build on older systems.
        !          11297: 
        !          11298: commit 6e8067609673afef9eb9e786f4e43a73a3b544f0
        !          11299: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11300: Date:   Sun Apr 11 12:22:47 2010 +0200
        !          11301: 
        !          11302:     Fixes next hop calculation on NBMA and parallel PTP links.
        !          11303: 
        !          11304: commit 7969ea3b41db05294c78a5e0ec0bd3c29ae8c549
        !          11305: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11306: Date:   Sun Apr 11 10:19:54 2010 +0200
        !          11307: 
        !          11308:     Fixes a bug in OSPF on NBMA interfaces.
        !          11309:     
        !          11310:     A very tricky bug. OSPF on NBMA interfaces probably never really worked.
        !          11311:     When a packet was sent to multiple destinations, the checksum was
        !          11312:     calculated multiple times from a packet with already filled checksum
        !          11313:     field (from previous calculation). Therefore, many packets were sent
        !          11314:     with an invalid checksum.
        !          11315: 
        !          11316: commit d759c1a6f834cd8a8a7c264d159b9ceb246aec2a
        !          11317: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11318: Date:   Fri Apr 9 17:42:39 2010 +0200
        !          11319: 
        !          11320:     NEWS and version update.
        !          11321: 
        !          11322: commit de14a7c7aa9225cbc9f837fac9e332a99a99ed69
        !          11323: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11324: Date:   Fri Apr 9 00:56:47 2010 +0200
        !          11325: 
        !          11326:     Ignore routes with next-hop 127.0.0.1 on BSD.
        !          11327: 
        !          11328: commit a9f380fe83187a95ead715e516696024e73f3fb7
        !          11329: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11330: Date:   Thu Apr 8 18:41:17 2010 +0200
        !          11331: 
        !          11332:     On BSD, consider unmarked non-device routes as alien.
        !          11333: 
        !          11334: commit 6b5a8649a48d7616efbc798095eee2c10563b4e6
        !          11335: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11336: Date:   Thu Apr 8 17:56:56 2010 +0200
        !          11337: 
        !          11338:     Do not export empty community list attribute in BGP.
        !          11339: 
        !          11340: commit 0277cc0baf1439a779f4c3ed8b2a77f29f5cfed7
        !          11341: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11342: Date:   Thu Apr 8 17:47:14 2010 +0200
        !          11343: 
        !          11344:     Revert "Fixes behavior of defined() on bgp_community attribute."
        !          11345:     
        !          11346:     This reverts commit 74e9331fe0892c4c96b4c4d7db3f14bb7e9d928e.
        !          11347: 
        !          11348: commit 646b24d93249199ee59fdecd685532212b506bda
        !          11349: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11350: Date:   Wed Apr 7 23:15:56 2010 +0200
        !          11351: 
        !          11352:     Minor changes.
        !          11353: 
        !          11354: commit 44d4ab7a960cf143c43d1645f2985cc9d74e3077
        !          11355: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11356: Date:   Wed Apr 7 11:00:36 2010 +0200
        !          11357: 
        !          11358:     Configurable syslog name.
        !          11359:     
        !          11360:     Also fixes a bug in syslog initialization.
        !          11361: 
        !          11362: commit b8113a5e92cb19a0910041d5708f4eafeb713b54
        !          11363: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11364: Date:   Wed Apr 7 00:19:23 2010 +0200
        !          11365: 
        !          11366:     Implements BGP 'show protocols' info details.
        !          11367: 
        !          11368: commit c429d4a4ba2cc8778634461e8adea33e0f0ae022
        !          11369: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11370: Date:   Sun Apr 4 15:41:31 2010 +0200
        !          11371: 
        !          11372:     Restrict export of device routes to the kernel protocol.
        !          11373:     
        !          11374:     In usual configuration, such export is already restricted
        !          11375:     with the aid of the direct protocol but there are some
        !          11376:     races that can circumvent it. This makes it harder to
        !          11377:     break kernel device routes. Also adds an option to
        !          11378:     disable this restriction.
        !          11379: 
        !          11380: commit d2d2b5d2ae43f608d03304d280367b658650138b
        !          11381: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11382: Date:   Sat Apr 3 12:03:52 2010 +0200
        !          11383: 
        !          11384:     Ignore some kernel messages.
        !          11385: 
        !          11386: commit 44aa101cd0716daf1b9f0d9ca5ec1814386c1e0d
        !          11387: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11388: Date:   Sat Apr 3 11:42:18 2010 +0200
        !          11389: 
        !          11390:     Fixes related to routes with link-local gw on BSD.
        !          11391: 
        !          11392: commit 46a82e9c2c04c432775c7db5ab5d5cc0301b2a94
        !          11393: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11394: Date:   Sat Apr 3 10:45:21 2010 +0200
        !          11395: 
        !          11396:     Fixes missing header.
        !          11397: 
        !          11398: commit e60d55becdd9b2eeb36ac16daedae2ab54d05b0c
        !          11399: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11400: Date:   Fri Apr 2 19:03:18 2010 +0200
        !          11401: 
        !          11402:     Fixes OSPFv3 route generation for local stub networks.
        !          11403: 
        !          11404: commit e7b09e4ab99fc850480480bbb577ffa36a6c5cd7
        !          11405: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11406: Date:   Fri Apr 2 16:11:46 2010 +0200
        !          11407: 
        !          11408:     Use SO_BINDTODEVICE also in Linux/IPv6.
        !          11409: 
        !          11410: commit 97ab4c34986139b2419c563a3de7ddfe41727d07
        !          11411: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11412: Date:   Fri Apr 2 11:36:38 2010 +0200
        !          11413: 
        !          11414:     Fixes link-local addresses on BSD.
        !          11415: 
        !          11416: commit bed417288e989c48a1362bb1177f436a2e2f9f4f
        !          11417: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11418: Date:   Fri Apr 2 11:31:20 2010 +0200
        !          11419: 
        !          11420:     Minor fixes to previous patches.
        !          11421: 
        !          11422: commit 126683feeda03ffb5a4ce23611e59a4598382d49
        !          11423: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11424: Date:   Mon Mar 29 19:29:03 2010 +0200
        !          11425: 
        !          11426:     Filter language updates; new route attributes and datatype.
        !          11427:     
        !          11428:      - Adds bgp_originator_id and bgp_cluster_list route attributes.
        !          11429:      - Adds dotted quad filter datatype (for router IDs, used by
        !          11430:        bgp_originator_id and ospf_router_id route attributes).
        !          11431:      - Fixes pair ~ pair set matching.
        !          11432:      - Documentation updates.
        !          11433: 
        !          11434: commit eb0f129fcedcecbee85403095abad8f59b82683c
        !          11435: Merge: b1c030b 48cff37
        !          11436: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11437: Date:   Fri Mar 26 18:53:31 2010 +0100
        !          11438: 
        !          11439:     Merge branch 'socket2' into new
        !          11440: 
        !          11441: commit 48cff379a718998cd984d60fb6f8b48cb961c0f1
        !          11442: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11443: Date:   Fri Mar 26 16:21:29 2010 +0100
        !          11444: 
        !          11445:     Added some comments.
        !          11446: 
        !          11447: commit af157fa3dbe2bba0674eb7634efd3ade6c89d604
        !          11448: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11449: Date:   Fri Mar 26 14:48:01 2010 +0100
        !          11450: 
        !          11451:     Disable multiple OSPF pseudointerfaces on BSD.
        !          11452: 
        !          11453: commit b1c030b0ba59eed6da5271ed592d6b93ed088518
        !          11454: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11455: Date:   Wed Mar 24 16:39:18 2010 +0100
        !          11456: 
        !          11457:     Adds autoconf test for -Wno-pointer-sign compliler option.
        !          11458: 
        !          11459: commit 4d9a0d1f02134235bf686caf49af44232590c456
        !          11460: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11461: Date:   Wed Mar 24 10:39:14 2010 +0100
        !          11462: 
        !          11463:     Update lastmod in 'ignored' case only for RIP routes.
        !          11464: 
        !          11465: commit 885b3d6127ae2c5c4f17d9dba95ffe67bdf7a688
        !          11466: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11467: Date:   Fri Mar 19 19:23:34 2010 +0100
        !          11468: 
        !          11469:     Fixes LLS compatibility.
        !          11470: 
        !          11471: commit 5d53b80770b4927b5a8205ee0e57f80454b0abf5
        !          11472: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11473: Date:   Fri Mar 19 18:46:56 2010 +0100
        !          11474: 
        !          11475:     Allow iface pattern matching code to match peer address on ptp links.
        !          11476: 
        !          11477: commit aa4612480424ad2fede0cd4ae4c7a893f61c6c0f
        !          11478: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11479: Date:   Fri Mar 19 09:41:18 2010 +0100
        !          11480: 
        !          11481:     Clear local variables in filters and functions.
        !          11482:     
        !          11483:     Fixes crash when used uninitialized variables.
        !          11484:     This problem was surprisingly tricky to fix.
        !          11485: 
        !          11486: commit 74e9331fe0892c4c96b4c4d7db3f14bb7e9d928e
        !          11487: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11488: Date:   Thu Mar 18 00:10:35 2010 +0100
        !          11489: 
        !          11490:     Fixes behavior of defined() on bgp_community attribute.
        !          11491: 
        !          11492: commit 1528d30aebc462a13861d7cdb827e74556f3aa91
        !          11493: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11494: Date:   Wed Mar 17 23:17:55 2010 +0100
        !          11495: 
        !          11496:     Fixes unterminated string for atomic_aggr attribute formatting.
        !          11497: 
        !          11498: commit 97e46d28fff1aa27d7d15e113cc3a52ae20934c7
        !          11499: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11500: Date:   Wed Mar 17 12:19:22 2010 +0100
        !          11501: 
        !          11502:     Adds check for no protocol and some minor CLI fixes.
        !          11503:     
        !          11504:     - Adds check to deny config file with no specified protocol to prevent
        !          11505:       loading of empty config file.
        !          11506:     - Moves CLI init before config parse to receive immediate error message
        !          11507:       when cannot open control socket.
        !          11508:     - Fixes socket name path check and other error handling in CLI init.
        !          11509: 
        !          11510: commit 4e3bfd9006ba3033a814a392f9bf4bbca060c8a9
        !          11511: Merge: e8da1bd cda2dfb
        !          11512: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11513: Date:   Mon Mar 15 00:39:45 2010 +0100
        !          11514: 
        !          11515:     Merge commit 'origin/master' into new
        !          11516: 
        !          11517: commit e8da1bd0b5f83991d37bc7e8364101c3faa78b3b
        !          11518: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11519: Date:   Mon Mar 15 00:34:44 2010 +0100
        !          11520: 
        !          11521:     Fixes missing cases in filters.
        !          11522: 
        !          11523: commit 0aad2b9292f8e5ff32d048378faf80d2d0bfbb80
        !          11524: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11525: Date:   Sun Mar 14 16:36:59 2010 +0100
        !          11526: 
        !          11527:     Temporary OSPF commit - sockets.
        !          11528: 
        !          11529: commit 54305181f6ee3af57dd3d15d53ea2e851b36ed23
        !          11530: Merge: e7b76b9 afa9f66
        !          11531: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11532: Date:   Thu Mar 11 18:55:59 2010 +0100
        !          11533: 
        !          11534:     Merge branch 'new' into socket2
        !          11535: 
        !          11536: commit e7b76b976084006e430543f4b872f624326dbfe6
        !          11537: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11538: Date:   Thu Mar 11 18:07:24 2010 +0100
        !          11539: 
        !          11540:     Temoporary OSPF commit - socket changes.
        !          11541: 
        !          11542: commit afa9f66c27e2f96b92059131def53cc7b2497705
        !          11543: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11544: Date:   Wed Mar 10 01:04:09 2010 +0100
        !          11545: 
        !          11546:     Adds support for PTP links on BSD.
        !          11547: 
        !          11548: commit cda2dfb7a9e03543eaf407ee26e5046fc589ef29
        !          11549: Author: Ondrej Filip <feela@trubka.network.cz>
        !          11550: Date:   Mon Mar 8 00:05:37 2010 +0100
        !          11551: 
        !          11552:     Arnold from DE-CIX suggested to have this formulation more precise.
        !          11553: 
        !          11554: commit 53434e44a95fe9334f4bdf5e0da987929addffb1
        !          11555: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11556: Date:   Sat Feb 27 16:00:07 2010 +0100
        !          11557: 
        !          11558:     Better flushing of interfaces.
        !          11559:     
        !          11560:     When device protocol goes down, interfaces should be flushed
        !          11561:     asynchronously (in the same way like routes from protocols are flushed),
        !          11562:     when protocol goes to DOWN/HUNGRY.
        !          11563:     
        !          11564:     This fixes the problem with static routes staying in kernel routing
        !          11565:     table after BIRD shutdown.
        !          11566: 
        !          11567: commit 3075824dbd4bb654e98614dfd9992ceec0428beb
        !          11568: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11569: Date:   Fri Feb 26 14:09:24 2010 +0100
        !          11570: 
        !          11571:     Comparing cluster list length should be later in bgp_rte_better().
        !          11572: 
        !          11573: commit 212ff335828fbe28311fcbae6154cf2495a44d0e
        !          11574: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11575: Date:   Fri Feb 26 13:55:22 2010 +0100
        !          11576: 
        !          11577:     Fixes signedness in format route attributes.
        !          11578: 
        !          11579: commit ff2857b03db854f99902766ad842aaa5fa29ec3c
        !          11580: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11581: Date:   Fri Feb 26 10:55:58 2010 +0100
        !          11582: 
        !          11583:     Many changes in (mainly) kernel syncers.
        !          11584:     
        !          11585:     - BSD kernel syncer is now self-conscious and can learn alien routes
        !          11586:     - important bugfix in BSD kernel syncer (crash after protocol restart)
        !          11587:     - many minor changes and bugfixes in kernel syncers and neighbor cache
        !          11588:     - direct protocol does not generate host and link local routes
        !          11589:     - min_scope check is removed, all routes have SCOPE_UNIVERSE by default
        !          11590:     - also fixes some remaining compiler warnings
        !          11591: 
        !          11592: commit e81b440f6878605edd19ed62441648ac71260881
        !          11593: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11594: Date:   Sun Feb 21 14:34:53 2010 +0100
        !          11595: 
        !          11596:     Fix configure to enable warnings and fix most of them.
        !          11597: 
        !          11598: commit 9e43ccf07b96597ef098955a07383d826938cd2d
        !          11599: Merge: e285bd2 89534cd
        !          11600: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11601: Date:   Sun Feb 21 10:15:49 2010 +0100
        !          11602: 
        !          11603:     Merge commit 'origin/master' into new
        !          11604: 
        !          11605: commit e285bd236e9cd42e3f92db3a35b5ec2d307c7a48
        !          11606: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11607: Date:   Sun Feb 21 10:14:41 2010 +0100
        !          11608: 
        !          11609:     Fixes installation (missing /usr/local/var/run).
        !          11610: 
        !          11611: commit e0a45fb42163a6bfdeeee44bd0a6a7461552e10f
        !          11612: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11613: Date:   Sun Feb 21 09:57:26 2010 +0100
        !          11614: 
        !          11615:     Restricted read-only CLI.
        !          11616:     
        !          11617:     Also adds support for executing commands using birdc <cmd>.
        !          11618: 
        !          11619: commit 89534cdae500cc82d9081088be90013e4121542d
        !          11620: Author: Ondrej Filip <feela@trubka.network.cz>
        !          11621: Date:   Sat Feb 20 21:14:02 2010 +0100
        !          11622: 
        !          11623:     'rr client id' is not expression but ID (like router id).
        !          11624: 
        !          11625: commit a68066538fde600941ea43c40d777e14cfac0ee7
        !          11626: Author: Ondrej Filip <feela@trubka.network.cz>
        !          11627: Date:   Sat Feb 20 21:09:40 2010 +0100
        !          11628: 
        !          11629:     Minor typos in configuration example.
        !          11630: 
        !          11631: commit e304fd4bcf5813b581a39078a25a5cf6916b9f29
        !          11632: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11633: Date:   Sat Feb 20 00:03:31 2010 +0100
        !          11634: 
        !          11635:     Implements pattern match for 'show protocols' command.
        !          11636:     
        !          11637:     And generally consolidates protocol commands.
        !          11638: 
        !          11639: commit dfd48621d1a54f2beb461fe3847fc4b2a535675e
        !          11640: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11641: Date:   Wed Feb 17 21:53:07 2010 +0100
        !          11642: 
        !          11643:     Replaces the algorithm for building balanced trees.
        !          11644:     
        !          11645:     Changes the time complexity of the algorithm from O(n^2) to O(n*log(n)).
        !          11646:     This speeds up loading of huge DEC-IX config from 128 s to 15 s. It also
        !          11647:     makes the code significantly simpler.
        !          11648: 
        !          11649: commit 14f6aca48037a0653e6bcfa27a4da48e8f962198
        !          11650: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11651: Date:   Wed Feb 17 11:29:48 2010 +0100
        !          11652: 
        !          11653:     Changes right recursion to left in the grammar of the case expression.
        !          11654: 
        !          11655: commit dca75fd7c207f0bfc627cb6b74a484da3b27e05f
        !          11656: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11657: Date:   Sat Feb 13 12:26:26 2010 +0100
        !          11658: 
        !          11659:     Removes phantom protocol from the pipe design.
        !          11660:     
        !          11661:     It seems that by adding one pipe-specific exception to route
        !          11662:     announcement code and by adding one argument to rt_notify() callback i
        !          11663:     could completely eliminate the need for the phantom protocol instance
        !          11664:     and therefore make the code more straightforward. It will also fix some
        !          11665:     minor bugs (like ignoring debug flag changes from the command line).
        !          11666: 
        !          11667: commit 9db74169be76f658df2207d1ec99eac48fa36f5f
        !          11668: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11669: Date:   Sat Feb 13 10:44:46 2010 +0100
        !          11670: 
        !          11671:     Fixes protocol statistics for pipes.
        !          11672: 
        !          11673: commit c83876265eeae3591bfe90375503728e633cb807
        !          11674: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11675: Date:   Thu Feb 11 22:27:06 2010 +0100
        !          11676: 
        !          11677:     Fixes a tricky bug in the pipe protocol.
        !          11678:     
        !          11679:     When uncofiguring the pipe and the peer table, the peer table was
        !          11680:     unlocked when pipe protocol state changed to down/flushing and not to
        !          11681:     down/hungry. This leads to the removal of the peer table before
        !          11682:     the routes from the pipe were flushed.
        !          11683:     
        !          11684:     The fix leads to adding some pipe-specific hacks to the nest,
        !          11685:     but this seems inevitable.
        !          11686: 
        !          11687: commit a2ea1bac601ca79946e2a215dac9427c526cedab
        !          11688: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11689: Date:   Thu Feb 11 21:19:20 2010 +0100
        !          11690: 
        !          11691:     Moves errno.h include.
        !          11692: 
        !          11693: commit 2af25a971a28ccac05d2385669e8b103c0328f7d
        !          11694: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11695: Date:   Thu Feb 11 11:12:58 2010 +0100
        !          11696: 
        !          11697:     Fixes a crash caused by missing error hook on BGP listening socket.
        !          11698:     
        !          11699:     Error happened when too many BGP connections arrived in one moment
        !          11700:     (ECONNABORTED).
        !          11701: 
        !          11702: commit 353729f513aa6a1f9e7f66083a0f9d2117fe2be5
        !          11703: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11704: Date:   Thu Feb 11 10:23:35 2010 +0100
        !          11705: 
        !          11706:     Temporary OSPF commit - socket changes.
        !          11707: 
        !          11708: commit fa5a99c766dde2a4ac3d44596ff5396a0efd1cc8
        !          11709: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11710: Date:   Wed Feb 10 23:09:23 2010 +0100
        !          11711: 
        !          11712:     NEWS version update.
        !          11713: 
        !          11714: commit 75f8861898d53f43cb23dbba9c776bce223c18c8
        !          11715: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11716: Date:   Wed Feb 10 16:18:17 2010 +0100
        !          11717: 
        !          11718:     NEWS and version update.
        !          11719: 
        !          11720: commit fae9be7782a161bdf93c83884d62941a34cbe518
        !          11721: Merge: 7d19666 0efd646
        !          11722: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11723: Date:   Wed Feb 10 14:59:26 2010 +0100
        !          11724: 
        !          11725:     Merge commit 'origin/master' into new
        !          11726: 
        !          11727: commit 7d1966689f3f748d8bfa36eef64ced6a750ecb47
        !          11728: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11729: Date:   Wed Feb 10 14:57:16 2010 +0100
        !          11730: 
        !          11731:     RTF_CLONING is removed in FreeBSD 8.
        !          11732: 
        !          11733: commit 0efd646278987df023586d85817a848c2bb39a1d
        !          11734: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11735: Date:   Wed Feb 10 12:30:14 2010 +0100
        !          11736: 
        !          11737:     Define symbols as text between ''.
        !          11738: 
        !          11739: commit c27b2449d1f57e780974ed13fbd572a48e2a3602
        !          11740: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11741: Date:   Mon Feb 8 16:01:03 2010 +0100
        !          11742: 
        !          11743:     Shows source (Router ID) for OSPF routes and adds such attribute.
        !          11744:     
        !          11745:     A sad thing is that we does not have a 'router_id' filter type,
        !          11746:     so it must be given as decimal number in filters.
        !          11747: 
        !          11748: commit 5a56f27cd00c2cad661aed9b54696699e800883c
        !          11749: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11750: Date:   Mon Feb 8 12:42:09 2010 +0100
        !          11751: 
        !          11752:     Adds asterisk to the primary route in 'show route' cmd.
        !          11753:     
        !          11754:     And also fixes a minor bug.
        !          11755: 
        !          11756: commit aa80826e4af4e6e0a6de5604ab5ce7991f2a8b4e
        !          11757: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11758: Date:   Sun Feb 7 09:49:34 2010 +0100
        !          11759: 
        !          11760:     Unnumbered OSPF interfaces should be always in the point-to-point mode.
        !          11761: 
        !          11762: commit 76b53a4e207696c535a45f4358a8e047ca936e45
        !          11763: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11764: Date:   Sat Feb 6 22:57:51 2010 +0100
        !          11765: 
        !          11766:     Adds some log messages related to configure.
        !          11767:     
        !          11768:     Also fixes a bug in the previous patch.
        !          11769: 
        !          11770: commit ebae4770c949de41c64c9efbeaaef44adfb25790
        !          11771: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11772: Date:   Sat Feb 6 19:19:09 2010 +0100
        !          11773: 
        !          11774:     Modifies configure to just reload protocols when filters change.
        !          11775:     
        !          11776:     Before this change, protocols were restarted in that case.
        !          11777: 
        !          11778: commit c37e78510f2ac4d9bb4c44eddf33352eda72fd0f
        !          11779: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11780: Date:   Wed Feb 3 00:19:24 2010 +0100
        !          11781: 
        !          11782:     Makes date/time formats configurable.
        !          11783: 
        !          11784: commit 44f26560ec9f108039e6736d6de929f899bf20ea
        !          11785: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11786: Date:   Tue Feb 2 10:14:21 2010 +0100
        !          11787: 
        !          11788:     Workaround for some broken BGP implementations that skip initial KEEPALIVE.
        !          11789: 
        !          11790: commit 5f47c4c11ed8da3415c4c8c247bf52ab6a48255d
        !          11791: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11792: Date:   Tue Feb 2 00:03:46 2010 +0100
        !          11793: 
        !          11794:     Changes right-recursion to left-recursion in a filter grammar.
        !          11795:     
        !          11796:     Because we don't want to have a limit on a function/filter length.
        !          11797: 
        !          11798: commit 1a7a4e59a22f903a0be791f229e86ab881593851
        !          11799: Merge: 4167702 1960d20
        !          11800: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11801: Date:   Thu Jan 28 16:00:16 2010 +0100
        !          11802: 
        !          11803:     Merge commit 'origin/master' into new
        !          11804: 
        !          11805: commit 41677025ee67fcccd34493f9b205037dd68811c9
        !          11806: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11807: Date:   Thu Jan 28 15:59:18 2010 +0100
        !          11808: 
        !          11809:     Changes 'ignore communities' to 'interpret communities'.
        !          11810: 
        !          11811: commit 1960d20350c5191b089f0a233d99969a0ff23ef6
        !          11812: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11813: Date:   Wed Jan 27 23:45:36 2010 +0100
        !          11814: 
        !          11815:     Priority for '||' and '&&' fixed.
        !          11816: 
        !          11817: commit 7515dafc006f8b71bc15aa7ed9749c7d4fb00153
        !          11818: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11819: Date:   Wed Jan 27 22:26:45 2010 +0100
        !          11820: 
        !          11821:     Allow multiple || and && statements.
        !          11822: 
        !          11823: commit 6cb8f742f1adf99881334b8ae21c398d98571aa1
        !          11824: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11825: Date:   Wed Jan 27 17:22:57 2010 +0100
        !          11826: 
        !          11827:     Better handling of well-known communities.
        !          11828:     
        !          11829:     Process well-known communities before the export filter (old behavior is
        !          11830:     to process these attributes after, which does not allow to send route
        !          11831:     with such community) and just for routes received from other BGP
        !          11832:     protocols. Also fixes a bug in next_hop check.
        !          11833: 
        !          11834: commit a3062085827db3115961eacd9d945ac202728174
        !          11835: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11836: Date:   Wed Jan 13 14:53:33 2010 +0100
        !          11837: 
        !          11838:     Comment update.
        !          11839: 
        !          11840: commit 974363c172e026b00be5f78ec585dda1e402b6f6
        !          11841: Merge: 99f5fc1 844e0f6
        !          11842: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11843: Date:   Fri Jan 8 22:20:09 2010 +0100
        !          11844: 
        !          11845:     Merge commit 'origin/master' into new
        !          11846: 
        !          11847: commit 99f5fc14cd457f71973bc2264566284049ccfb2c
        !          11848: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11849: Date:   Fri Jan 8 22:19:41 2010 +0100
        !          11850: 
        !          11851:     A partial vlink fix.
        !          11852: 
        !          11853: commit 844e0f65dbab98f71f2a5631277a720613d4d7a5
        !          11854: Merge: 3242ab4 fc33143
        !          11855: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11856: Date:   Fri Jan 8 21:19:03 2010 +0100
        !          11857: 
        !          11858:     Merge branch 'master' of ssh://git.nic.cz/projects/bird/GIT/bird
        !          11859: 
        !          11860: commit 3242ab437f47f34d6734726003d647d0f493a163
        !          11861: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11862: Date:   Fri Jan 8 21:06:06 2010 +0100
        !          11863: 
        !          11864:     Typo in documentation.
        !          11865: 
        !          11866: commit fc33143f02642cc775a704dec37446e0b4343a43
        !          11867: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11868: Date:   Fri Jan 8 17:22:51 2010 +0100
        !          11869: 
        !          11870:     A fix for broken multi-area OSPF
        !          11871: 
        !          11872: commit 0741e68750fdda754790b6de7739e06310bdf723
        !          11873: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11874: Date:   Fri Jan 8 10:21:51 2010 +0100
        !          11875: 
        !          11876:     Socket table update.
        !          11877: 
        !          11878: commit 538dd2e486c3cc95ffebbdf73c934ddc71d70e09
        !          11879: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11880: Date:   Fri Jan 8 01:14:34 2010 +0100
        !          11881: 
        !          11882:     Cryptographic auth can be used also on virtual links.
        !          11883: 
        !          11884: commit 5f47fd85e341d94e2cbf46801cc14be06fb65dd8
        !          11885: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11886: Date:   Fri Jan 8 01:13:58 2010 +0100
        !          11887: 
        !          11888:     Small typo.
        !          11889: 
        !          11890: commit 6901fd0685f75ad5e95ea252039eec9e8926cd6a
        !          11891: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11892: Date:   Thu Jan 7 23:42:11 2010 +0100
        !          11893: 
        !          11894:     More information about vlinks.
        !          11895: 
        !          11896: commit 18722dc98c57af6bfa2d9b967417b65db263e5ca
        !          11897: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11898: Date:   Thu Jan 7 23:03:19 2010 +0100
        !          11899: 
        !          11900:     Bugfix in DBG call.
        !          11901: 
        !          11902: commit 3127b81755de4a09475df71072964e292c6994a7
        !          11903: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11904: Date:   Thu Jan 7 22:54:39 2010 +0100
        !          11905: 
        !          11906:     Be a little bit more verbose on virtual links.
        !          11907: 
        !          11908: commit cf0858c2174c6bf0a4f63b914d06a2342c433b09
        !          11909: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11910: Date:   Thu Jan 7 22:43:06 2010 +0100
        !          11911: 
        !          11912:     A fix of a previous fix.
        !          11913: 
        !          11914: commit ba39197c11db085c4bc062e45fd9c74f42b41ca0
        !          11915: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11916: Date:   Thu Jan 7 22:22:10 2010 +0100
        !          11917: 
        !          11918:     Fixes vlinks for OSPFv2.
        !          11919: 
        !          11920: commit 29bfbae7936beb401d944daf0f0106aa8a92ef50
        !          11921: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11922: Date:   Thu Jan 7 16:24:36 2010 +0100
        !          11923: 
        !          11924:     Debugging change leaked to repository.
        !          11925: 
        !          11926: commit 3034b384dd9e6c78e686a294b1f80775fdb3e392
        !          11927: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11928: Date:   Thu Jan 7 11:46:11 2010 +0100
        !          11929: 
        !          11930:     A minor fix in OSPF.
        !          11931: 
        !          11932: commit 861f223a531be17d2e3e7abc0246be3057b809a0
        !          11933: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11934: Date:   Wed Jan 6 23:20:43 2010 +0100
        !          11935: 
        !          11936:     BSD compatibility fix.
        !          11937: 
        !          11938: commit 0c75411bec2f4e37bfdb4c7162631a22898052c1
        !          11939: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11940: Date:   Wed Jan 6 16:57:20 2010 +0100
        !          11941: 
        !          11942:     NEWS, version and documentation update.
        !          11943: 
        !          11944: commit cf31112f0d7618464097f71228f84bd534f1bc0f
        !          11945: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11946: Date:   Sun Jan 3 12:17:52 2010 +0100
        !          11947: 
        !          11948:     Implements MRTdump feature.
        !          11949: 
        !          11950: commit 610bb3cff05f6d5b09c77724bc97295b809d15e2
        !          11951: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11952: Date:   Tue Dec 22 10:49:39 2009 +0100
        !          11953: 
        !          11954:     Show command cleanups.
        !          11955: 
        !          11956: commit 0ad19261bf551ef49a1565e21e384ec749ec16d4
        !          11957: Merge: c4ae538 67b24e7
        !          11958: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11959: Date:   Tue Dec 22 01:34:01 2009 +0100
        !          11960: 
        !          11961:     Merge commit 'origin/master' into new
        !          11962: 
        !          11963: commit 67b24e7c1991de345dcb14173943a28d499f6f85
        !          11964: Author: Ondrej Filip <feela@majklik.network.cz>
        !          11965: Date:   Mon Dec 21 16:29:23 2009 +0100
        !          11966: 
        !          11967:     Wrong switch name in configuration example.
        !          11968: 
        !          11969: commit c4ae53858be1bce6798f31ee2fb46775a607085f
        !          11970: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11971: Date:   Mon Dec 21 11:53:58 2009 +0100
        !          11972: 
        !          11973:     Change default mode of pipes to transparent.
        !          11974:     
        !          11975:     Opaque pipes are obsolete and should disappear in the future.
        !          11976: 
        !          11977: commit fbcb7d5faf419057ccbe2340f3714f8885495c51
        !          11978: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11979: Date:   Mon Dec 21 11:50:42 2009 +0100
        !          11980: 
        !          11981:     Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277).
        !          11982: 
        !          11983: commit ba9a122142a3d42137c129fabaef097702d44801
        !          11984: Merge: 0225ea4 c4199e3
        !          11985: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11986: Date:   Sun Dec 20 22:57:44 2009 +0100
        !          11987: 
        !          11988:     Merge branch 'ospf3' into new
        !          11989: 
        !          11990: commit c4199e30313c88c0911060a5b5f3cc181ceedb37
        !          11991: Merge: f2d7da7 ea7ada3
        !          11992: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          11993: Date:   Sun Dec 20 22:56:09 2009 +0100
        !          11994: 
        !          11995:     Merge branch 'dev' into ospf3
        !          11996: 
        !          11997: commit 053dc3d81fe6470966bc35a852e791de0c00ee68
        !          11998: Author: Ondrej 'Feela' Filip <feela@atrey.karlin.mff.cuni.cz>
        !          11999: Date:   Sun Dec 20 16:18:22 2009 +0100
        !          12000: 
        !          12001:     Typo corrected.
        !          12002: 
        !          12003: commit ea7ada3809ed672bd9d2f9e5742f42b238cc5389
        !          12004: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12005: Date:   Sun Dec 20 14:59:12 2009 +0100
        !          12006: 
        !          12007:     Fixes a new bug in the pipe protocol soft reconfiguration.
        !          12008:     
        !          12009:     Also updates route reload for pipes.
        !          12010: 
        !          12011: commit 1a5178587ff63234d1b323fca965acb4a42cb9e2
        !          12012: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12013: Date:   Sun Dec 20 12:13:15 2009 +0100
        !          12014: 
        !          12015:     Fixes unnecessary pipe restart during configure.
        !          12016: 
        !          12017: commit 6877ff73a61d1924bc8940f7b646f52f7b34eca0
        !          12018: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12019: Date:   Sat Dec 19 18:45:46 2009 +0100
        !          12020: 
        !          12021:     NEWS and version update.
        !          12022: 
        !          12023: commit 0225ea4eddb44bd9dd4f112e512325cbf80134d3
        !          12024: Merge: 43c1cec f2d7da7
        !          12025: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12026: Date:   Tue Dec 15 00:32:13 2009 +0100
        !          12027: 
        !          12028:     Merge branch 'ospf3' into new
        !          12029: 
        !          12030: commit f2d7da742bd683b8eaecb1be8e3b04618171c796
        !          12031: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12032: Date:   Tue Dec 15 00:30:07 2009 +0100
        !          12033: 
        !          12034:     Fixes export of routes with link-local gw.
        !          12035: 
        !          12036: commit 43c1ceccb9caf8c4f63f191346c2f33889b4ad22
        !          12037: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12038: Date:   Mon Dec 14 23:31:25 2009 +0100
        !          12039: 
        !          12040:     Remove bgp_as4_support variable.
        !          12041: 
        !          12042: commit 13a7395704deeeff2d86910d8bcf9a6f32a7b207
        !          12043: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12044: Date:   Mon Dec 14 23:08:48 2009 +0100
        !          12045: 
        !          12046:     Minor doc update.
        !          12047: 
        !          12048: commit f75747073e45c3129568c4936c2f34fa618db41e
        !          12049: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12050: Date:   Mon Dec 14 21:17:15 2009 +0100
        !          12051: 
        !          12052:     Implements route reload for OSPF.
        !          12053: 
        !          12054: commit 63542845dfb6d2277f93f77ad9ca3ad8bbaddd09
        !          12055: Merge: 34a877c 8a7fb88
        !          12056: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12057: Date:   Mon Dec 14 20:37:32 2009 +0100
        !          12058: 
        !          12059:     Merge branch 'dev' into ospf3
        !          12060:     
        !          12061:     Conflicts:
        !          12062:     
        !          12063:        proto/ospf/lsreq.c
        !          12064:        proto/ospf/lsupd.c
        !          12065:        proto/ospf/rt.c
        !          12066: 
        !          12067: commit 34a877ccac25d38172716d3d2488449c870cad0b
        !          12068: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12069: Date:   Mon Dec 14 17:29:33 2009 +0100
        !          12070: 
        !          12071:     Minor updates.
        !          12072: 
        !          12073: commit 8a7fb8858fa87bce6f2f15ee2bbb77704b5fff4e
        !          12074: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12075: Date:   Mon Dec 14 01:32:37 2009 +0100
        !          12076: 
        !          12077:     Finishes 'route reload' feature.
        !          12078: 
        !          12079: commit 28008482a97c0ac70e648759fe37bad0633ed9f7
        !          12080: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12081: Date:   Sat Dec 12 01:35:51 2009 +0100
        !          12082: 
        !          12083:     Minor fixes in OSPF.
        !          12084: 
        !          12085: commit 8a70a13e7e79afa6818b10cf64d4f1ae4cf89e4b
        !          12086: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12087: Date:   Fri Dec 11 01:20:53 2009 +0100
        !          12088: 
        !          12089:     Implements protocol-specific Router ID for OSPF.
        !          12090:     
        !          12091:     And fixes one minor bug.
        !          12092: 
        !          12093: commit be2d38b7e977c1f72ed9cd52f8e3e85130c0aaa1
        !          12094: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12095: Date:   Fri Dec 11 00:31:56 2009 +0100
        !          12096: 
        !          12097:     Temporary OSPFv3 commit.
        !          12098: 
        !          12099: commit 9807690b413f3a1d29d064761cc99ed5261cfb58
        !          12100: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12101: Date:   Sun Dec 6 22:05:50 2009 +0100
        !          12102: 
        !          12103:     Fixes link-back check.
        !          12104: 
        !          12105: commit b76aeb823446616b746b52b5c8152f4c5a73b242
        !          12106: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12107: Date:   Fri Dec 4 22:20:13 2009 +0100
        !          12108: 
        !          12109:     Fixes next hop handling.
        !          12110: 
        !          12111: commit 98955023926734c7ecf79f9b8d004baff5225a78
        !          12112: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12113: Date:   Thu Dec 3 23:20:02 2009 +0100
        !          12114: 
        !          12115:     Fixes OSPFv2 build.
        !          12116: 
        !          12117: commit bb3c7c6d22c48cd78b4c5b77a78ff1b92adca053
        !          12118: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12119: Date:   Thu Dec 3 18:56:39 2009 +0100
        !          12120: 
        !          12121:     Fixes some log messages.
        !          12122: 
        !          12123: commit 69fbf9a25190e0149dcc31e830e952c586fe2024
        !          12124: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12125: Date:   Thu Dec 3 18:25:14 2009 +0100
        !          12126: 
        !          12127:     Minor fix in LSA update.
        !          12128: 
        !          12129: commit a421ec33cb9029899122d0ab63bab0fa268348d2
        !          12130: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12131: Date:   Wed Dec 2 22:22:40 2009 +0100
        !          12132: 
        !          12133:     Fixes silly bug.
        !          12134: 
        !          12135: commit 11361a101517c2c87e3d35d2c63cacb3ddb97724
        !          12136: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12137: Date:   Wed Dec 2 22:19:47 2009 +0100
        !          12138: 
        !          12139:     Implements route re-feed.
        !          12140:     
        !          12141:     This can be used to re-feed routes to protocol after soft change in
        !          12142:     export filters.
        !          12143: 
        !          12144: commit 11787b8473ae1685d43dad809592fabc64eb8f46
        !          12145: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12146: Date:   Wed Dec 2 17:26:16 2009 +0100
        !          12147: 
        !          12148:     Fixes some problems in pipes.
        !          12149:     
        !          12150:     For transparent pipes, loop detection works correctly now.
        !          12151:     Pipes are now more symmetric - in both directions filtering
        !          12152:     is done in do_rte_announce().
        !          12153: 
        !          12154: commit e8b29bdc8dc34d4a0358458907a5d8ac29011d28
        !          12155: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12156: Date:   Wed Dec 2 14:33:34 2009 +0100
        !          12157: 
        !          12158:     Fixes one missing log message.
        !          12159: 
        !          12160: commit 4b84bd4554b2a9331055bfd8d02a0bab0d10df92
        !          12161: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12162: Date:   Sun Nov 29 10:29:33 2009 +0100
        !          12163: 
        !          12164:     Fixes some crashes in OSPFv2.
        !          12165: 
        !          12166: commit e4a810b0ce3d7904e87a210c44c36eda7cba7a3e
        !          12167: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12168: Date:   Sun Nov 29 10:09:25 2009 +0100
        !          12169: 
        !          12170:     Temporary commit.
        !          12171: 
        !          12172: commit a6250a7d1013442ad4feb0d67128a707f2c6880b
        !          12173: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12174: Date:   Thu Nov 26 23:23:29 2009 +0100
        !          12175: 
        !          12176:     Fix -p option.
        !          12177: 
        !          12178: commit bf47fe4b2e40ccfcfe6af2d86548d06cdf9739c5
        !          12179: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12180: Date:   Thu Nov 26 20:47:59 2009 +0100
        !          12181: 
        !          12182:     Implements BGP route refresh.
        !          12183: 
        !          12184: commit 5e6f568115511e2bcf43c60dfdcbd7a35cb04b93
        !          12185: Merge: 069bfcb 1f8be1e
        !          12186: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12187: Date:   Tue Nov 24 17:19:23 2009 +0100
        !          12188: 
        !          12189:     Merge commit 'origin/master' into dev
        !          12190: 
        !          12191: commit 069bfcb53cef012c063a27e5af93d620be2917bd
        !          12192: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12193: Date:   Tue Nov 24 17:15:20 2009 +0100
        !          12194: 
        !          12195:     Fixes serious bug in core related to route filtering.
        !          12196:     
        !          12197:     If protocol announces a route, route is accepted by import filter to
        !          12198:     routing table, and later it announces replacement of that route that is
        !          12199:     rejected by import filter, old route remains in routing table.
        !          12200: 
        !          12201: commit 717e4c4d8173a8dbae2956f1703ff6d4365a9d34
        !          12202: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12203: Date:   Fri Nov 20 09:29:29 2009 +0100
        !          12204: 
        !          12205:     Fixes in the documentation.
        !          12206: 
        !          12207: commit 1f8be1e46f666e79072cc5f800c2dba91788368b
        !          12208: Author: Ondrej Filip <feela@trubka.network.cz>
        !          12209: Date:   Thu Nov 19 23:15:58 2009 +0100
        !          12210: 
        !          12211:     Added word 'IPv6' to underline, that this problem was not IPv4 related.
        !          12212: 
        !          12213: commit 6a72a276f6a677a8adec9566867023d76ac7da7e
        !          12214: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12215: Date:   Thu Nov 19 12:53:55 2009 +0100
        !          12216: 
        !          12217:     New version.
        !          12218: 
        !          12219: commit a4644ed6ab32c098b755bdac03498634b2794409
        !          12220: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12221: Date:   Thu Nov 19 11:44:17 2009 +0100
        !          12222: 
        !          12223:     Implement option to exit after config file parsing.
        !          12224: 
        !          12225: commit 3f9b7bfe9ff050430a5886b22a5ab11b5f253048
        !          12226: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12227: Date:   Wed Nov 18 20:32:36 2009 +0100
        !          12228: 
        !          12229:     Implements option that controls IPv6 BGP next hops when lladdr is missing.
        !          12230: 
        !          12231: commit 62aa96caa28180f76c8aff0c49dd21128e396153
        !          12232: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12233: Date:   Tue Nov 17 15:50:29 2009 +0100
        !          12234: 
        !          12235:     Adds some documentation to the description option.
        !          12236: 
        !          12237: commit e04555c04545278cfe3aeae85d707b1d78e5abeb
        !          12238: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12239: Date:   Tue Nov 17 15:45:05 2009 +0100
        !          12240: 
        !          12241:     Implement description field of protocol.
        !          12242: 
        !          12243: commit d0e2d6d1e05455cf1ec4e71135edaa659fe96dac
        !          12244: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12245: Date:   Tue Nov 17 14:17:23 2009 +0100
        !          12246: 
        !          12247:     Show both IPv6 next hop addresses in BGP.
        !          12248: 
        !          12249: commit 3228c72cc030f409914134440a7e55bbcfc9ff6a
        !          12250: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12251: Date:   Tue Nov 17 11:41:29 2009 +0100
        !          12252: 
        !          12253:     Implements RFC 5004 - prefer older external routes.
        !          12254: 
        !          12255: commit cbf8b08d622695f360bcdd80d61eb4add967749e
        !          12256: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12257: Date:   Tue Nov 17 10:31:33 2009 +0100
        !          12258: 
        !          12259:     Temporary OSPFv3 devel commit
        !          12260: 
        !          12261: commit 2eece54a04d95f534b935ccac4c3959b25516bd5
        !          12262: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12263: Date:   Sun Nov 15 14:24:20 2009 +0100
        !          12264: 
        !          12265:     Fixes bug related to reconfiguration with bgp_path first/last operators.
        !          12266: 
        !          12267: commit 653b4015f137d9590147f8774ec686031696f81c
        !          12268: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12269: Date:   Fri Nov 13 14:54:43 2009 +0100
        !          12270: 
        !          12271:     After shutdown, BIRD should have exit code 0.
        !          12272: 
        !          12273: commit d3f36e5978e85a926c497e2aa2cbdf319776ebb5
        !          12274: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12275: Date:   Fri Nov 13 14:43:29 2009 +0100
        !          12276: 
        !          12277:     Fixes BIRD socket unlink.
        !          12278: 
        !          12279: commit 4ac7c8341c660db654821ed2dc0273645dc19645
        !          12280: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12281: Date:   Mon Nov 9 23:22:53 2009 +0100
        !          12282: 
        !          12283:     Use IPv6 checksums in OSPFv3.
        !          12284: 
        !          12285: commit 3f22fa9e74c8643d3e4f7e3a7b4f2aa992ad09f5
        !          12286: Merge: a6bc04d b7c0e93
        !          12287: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12288: Date:   Mon Nov 9 22:54:39 2009 +0100
        !          12289: 
        !          12290:     Merge branch 'dev' into ospf3
        !          12291: 
        !          12292: commit b7c0e93ebd40cdc4f6e89067a3e5f7293263c7f9
        !          12293: Merge: 7965e17 f1f1e89
        !          12294: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12295: Date:   Mon Nov 2 16:27:17 2009 +0100
        !          12296: 
        !          12297:     Merge commit 'origin/master' into dev
        !          12298: 
        !          12299: commit 7965e17d67e8e2e68d96a8471f4828c0dc0d0b21
        !          12300: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12301: Date:   Mon Nov 2 16:25:05 2009 +0100
        !          12302: 
        !          12303:     Fixes build in Debian GNU/kFreeBSD.
        !          12304: 
        !          12305: commit f1f1e899b708e0e2ebaba46444fad650648ccb93
        !          12306: Author: Ondrej 'Feela' Filip <feela@atrey.karlin.mff.cuni.cz>
        !          12307: Date:   Mon Nov 2 15:59:01 2009 +0100
        !          12308: 
        !          12309:     Version 1.1.5
        !          12310: 
        !          12311: commit a6bc04d59130c49a1dbfadffa4285b11e2ff4939
        !          12312: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12313: Date:   Thu Oct 29 23:57:42 2009 +0100
        !          12314: 
        !          12315:     Implements better checks on incoming packets and LSAs in OSPF.
        !          12316: 
        !          12317: commit 9d4d38d1a5d67f5485d2b2fa439c879583dfdcb0
        !          12318: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12319: Date:   Wed Oct 28 22:39:24 2009 +0100
        !          12320: 
        !          12321:     Fixes some problems related to link-local routes in KRT interface.
        !          12322: 
        !          12323: commit b5332824ea4108d62cb559205391fd2c530348e4
        !          12324: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12325: Date:   Wed Oct 28 20:33:08 2009 +0100
        !          12326: 
        !          12327:     New version.
        !          12328: 
        !          12329: commit e6ff7a08e4e7808e1175c3c3bc830d93c0454b19
        !          12330: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12331: Date:   Tue Oct 27 22:25:36 2009 +0100
        !          12332: 
        !          12333:     Replaces local endianity testing macro with the common one.
        !          12334:     
        !          12335:     That makes it easier to integrate BIRD to crosscompiling
        !          12336:     buildsystems.
        !          12337: 
        !          12338: commit 9727681a38d3a7c474892e167c0e5a4e0cfac844
        !          12339: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12340: Date:   Sun Oct 25 20:02:28 2009 +0100
        !          12341: 
        !          12342:     Implements proper handling of summary/external LSA IDs.
        !          12343: 
        !          12344: commit bff74c7aa3ce4d407cb18b48c9df7b670c3c7a3d
        !          12345: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12346: Date:   Tue Oct 20 19:04:28 2009 +0200
        !          12347: 
        !          12348:     Allows importing 'onlink' routes.
        !          12349: 
        !          12350: commit 988992446d3aaaef9c19902d94cd1908a963fd80
        !          12351: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12352: Date:   Thu Oct 15 11:57:25 2009 +0200
        !          12353: 
        !          12354:     Implement command to show LSA db.
        !          12355: 
        !          12356: commit b66abe8ef986698caccd08b38a991330f0791075
        !          12357: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12358: Date:   Thu Oct 15 00:28:04 2009 +0200
        !          12359: 
        !          12360:     Reimplements 'show ospf state' for OSPFv3 and fixes some bugs.
        !          12361: 
        !          12362: commit 4cdd078453d585ac97a183ea1f3951d85f1b8784
        !          12363: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12364: Date:   Mon Oct 12 23:31:42 2009 +0200
        !          12365: 
        !          12366:     Implements protocol-specific router id and updates documentation.
        !          12367: 
        !          12368: commit 52b9b2a1786140c38af03de570b0cc96c835c1d3
        !          12369: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12370: Date:   Mon Oct 12 20:44:58 2009 +0200
        !          12371: 
        !          12372:     Rename as_path_get_last/as_path_get_first to be consistent.
        !          12373: 
        !          12374: commit ea89da381fc682155e7d08d6ad3d4ac8aa5fe115
        !          12375: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12376: Date:   Sun Oct 11 18:56:16 2009 +0200
        !          12377: 
        !          12378:     Workaround for stupid callback scheduler.
        !          12379:     
        !          12380:     There is no reak callback scheduler and previous behavior causes
        !          12381:     bad things during hard congestion (like BGP hold timeouts).
        !          12382:     
        !          12383:     Smart callback scheduler is still missing, but main loop was
        !          12384:     changed such that it first processes all tx callbacks (which
        !          12385:     are fast enough) (but max 4* per socket) + rx callbacks for CLI,
        !          12386:     and in the second phase it processes one rx callback per
        !          12387:     socket up to four sockets (as rx callback can be slow when
        !          12388:     there are too many protocols, because route redistribution
        !          12389:     is done synchronously inside rx callback). If there is event
        !          12390:     callback ready, second phase is skipped in 90% of iterations
        !          12391:     (to speed up CLI during congestion).
        !          12392: 
        !          12393: commit 7ea5b00f42bd3d1fdafb0be349e3ebbcdf3ea466
        !          12394: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12395: Date:   Thu Oct 8 15:23:24 2009 +0100
        !          12396: 
        !          12397:     First and last accessors to as_paths.
        !          12398: 
        !          12399: commit d82fc18d75e4ebf615657cb5d98f000c728b13e4
        !          12400: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12401: Date:   Wed Oct 7 21:10:29 2009 +0100
        !          12402: 
        !          12403:     Implement proper LSA ID generation.
        !          12404: 
        !          12405: commit 43c7a1ffa07dda2a9f37c046e1cd9a75242db2b7
        !          12406: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12407: Date:   Wed Sep 30 18:48:38 2009 +0200
        !          12408: 
        !          12409:     New version.
        !          12410: 
        !          12411: commit aa7088fe2646e53b5168f7ea4e5bd098f891951c
        !          12412: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12413: Date:   Wed Sep 30 16:34:47 2009 +0200
        !          12414: 
        !          12415:     Fixes one previous commit.
        !          12416: 
        !          12417: commit a5bf5f781cf921bd1e092b7f9ae6ccdbf7424428
        !          12418: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12419: Date:   Thu Sep 24 23:14:44 2009 +0200
        !          12420: 
        !          12421:     Show bad peer AS number in log in decimal.
        !          12422: 
        !          12423: commit be6e39ebbf7ed107abde6fc1a18e8827ca47a7c1
        !          12424: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12425: Date:   Thu Sep 24 22:12:11 2009 +0200
        !          12426: 
        !          12427:     Passive option.
        !          12428: 
        !          12429: commit 2d507e64b7d7029906aac30dbea317795b5339de
        !          12430: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12431: Date:   Thu Sep 24 19:08:14 2009 +0200
        !          12432: 
        !          12433:     Do not allow gateway routes with NULL iface.
        !          12434: 
        !          12435: commit 54fe0d9230be440d9f627ff7f94a202e6117e1b9
        !          12436: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12437: Date:   Fri Sep 18 13:59:04 2009 +0200
        !          12438: 
        !          12439:     Fixes setting of IP addresses to route attributes (NEXT_HOP).
        !          12440: 
        !          12441: commit db96fccb31bc0436ec182ff825f592d6c16dc930
        !          12442: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12443: Date:   Fri Sep 18 01:11:09 2009 +0200
        !          12444: 
        !          12445:     Fixes bug in filter rta copy-on-write.
        !          12446:     
        !          12447:     Filters should try to copy-on-write just cached rtas.
        !          12448: 
        !          12449: commit 46eb80d5d50a2b284cae19444149d57d857a8e02
        !          12450: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12451: Date:   Thu Sep 17 17:52:36 2009 +0200
        !          12452: 
        !          12453:     Fixes headers for uintptr_t (and build on NetBSD).
        !          12454: 
        !          12455: commit f4c6ca8c9c7ca7c0d481e6059396beed6adc768d
        !          12456: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12457: Date:   Thu Sep 17 13:35:37 2009 +0200
        !          12458: 
        !          12459:     Fixes preference bounds.
        !          12460: 
        !          12461: commit 0781e9c62cd34175eb4e3bc61ffe785d08538727
        !          12462: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12463: Date:   Thu Sep 17 12:40:02 2009 +0200
        !          12464: 
        !          12465:     Fixes preference in transparent pipes.
        !          12466: 
        !          12467: commit 9f0ba7b1c7a0754c473b8ab202f572c9c8363285
        !          12468: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12469: Date:   Thu Sep 17 12:18:03 2009 +0200
        !          12470: 
        !          12471:     Implements proper RID handling in OSPFv3.
        !          12472: 
        !          12473: commit 5eb4d0180ed92cee31d962fbc4d0175a7e1d5933
        !          12474: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12475: Date:   Fri Sep 11 12:20:30 2009 +0200
        !          12476: 
        !          12477:     New release 1.1.3
        !          12478: 
        !          12479: commit c15e569065e80f91b4c9c77b86640aac72aa0a47
        !          12480: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12481: Date:   Tue Sep 8 17:06:47 2009 +0200
        !          12482: 
        !          12483:     Make endianity swapping simpler.
        !          12484: 
        !          12485: commit be862406627da3bd1facea9309b3f32e67422eab
        !          12486: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12487: Date:   Tue Sep 8 13:45:02 2009 +0200
        !          12488: 
        !          12489:     Temporary OSPFv3 development commit.
        !          12490:     
        !          12491:     Finally, it is working.
        !          12492: 
        !          12493: commit 29bcd04e75a4d145bee500b8aef79052974b1981
        !          12494: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12495: Date:   Sun Sep 6 21:26:46 2009 +0200
        !          12496: 
        !          12497:     Update of config.sub & config.guess
        !          12498: 
        !          12499: commit daeeb8e982a3463f4a866e805b64f214d9f44160
        !          12500: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12501: Date:   Fri Sep 4 11:24:08 2009 +0200
        !          12502: 
        !          12503:     Clear memory allocated by ralloc().
        !          12504:     
        !          12505:     This also fixes bug that timer->recurrent was not cleared
        !          12506:     in tm_new() and unexpected recurrence of startup timer
        !          12507:     in BGP confused state machine and caused crash.
        !          12508: 
        !          12509: commit f9c799a00e705b1420b214628c2bb2a30bf491d9
        !          12510: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12511: Date:   Fri Sep 4 11:06:51 2009 +0200
        !          12512: 
        !          12513:     Temporary OSPFv3 development commit (changing multicast support).
        !          12514: 
        !          12515: commit d2ceaf4ec82837239a35ace00399ce3aa845849e
        !          12516: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12517: Date:   Fri Aug 28 13:45:43 2009 +0200
        !          12518: 
        !          12519:     Temporary OSPFv3 development commit
        !          12520: 
        !          12521: commit 05198c12f48c9d4a65ee6d1d4117bd8067a71131
        !          12522: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12523: Date:   Thu Aug 27 19:01:04 2009 +0200
        !          12524: 
        !          12525:     Some cleanups.
        !          12526: 
        !          12527: commit 061ab802a67cfc336785f6daeecdcbd4910734ed
        !          12528: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12529: Date:   Thu Aug 27 18:25:46 2009 +0200
        !          12530: 
        !          12531:     Temporary OSPFv3 development commit
        !          12532: 
        !          12533: commit 949bd34e81ee99370decdabefa51c9c11ffe915b
        !          12534: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12535: Date:   Tue Aug 25 19:01:37 2009 +0200
        !          12536: 
        !          12537:     Fixes bug related to AS2->AS4 conversion.
        !          12538: 
        !          12539: commit b49e6f5a65d437cb7e7bdefe8397e0f550496012
        !          12540: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12541: Date:   Tue Aug 25 16:42:14 2009 +0200
        !          12542: 
        !          12543:     Temporary OSPFv3 development commit
        !          12544: 
        !          12545: commit a0c405501fa6a0df8472f1598256e725cec753fd
        !          12546: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12547: Date:   Sun Aug 23 23:04:59 2009 +0200
        !          12548: 
        !          12549:     Version 1.1.2
        !          12550: 
        !          12551: commit d2f8d0a509d96d752c86f8807e7f6644467e5af5
        !          12552: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12553: Date:   Sun Aug 23 23:03:31 2009 +0200
        !          12554: 
        !          12555:     Version 1.1.2
        !          12556: 
        !          12557: commit 2ef58837dcb7b78edc193bc9ef1da316bba86998
        !          12558: Merge: 86975e5 5516a66
        !          12559: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12560: Date:   Fri Aug 21 09:46:49 2009 +0200
        !          12561: 
        !          12562:     Merge commit 'origin/master' into dev
        !          12563: 
        !          12564: commit 86975e584eeabbc4f3111f2d100f05ca00579d31
        !          12565: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12566: Date:   Fri Aug 21 09:43:31 2009 +0200
        !          12567: 
        !          12568:     Allow more kernel routing tables in IPv6.
        !          12569: 
        !          12570: commit fee78355b480294f28c3c6814953297dca92d4a0
        !          12571: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12572: Date:   Fri Aug 21 09:31:35 2009 +0200
        !          12573: 
        !          12574:     Fixes bug in eattr binary search.
        !          12575: 
        !          12576: commit c3226991a061415fa83b757cbff678111c586e58
        !          12577: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12578: Date:   Fri Aug 21 09:27:52 2009 +0200
        !          12579: 
        !          12580:     Temporary OSPFv3 development commit
        !          12581: 
        !          12582: commit 5516a66d492497ba8776212defb3117ed1dbfbf8
        !          12583: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12584: Date:   Sun Aug 16 22:41:07 2009 +0200
        !          12585: 
        !          12586:     Ondrej Zajicek add to the team.
        !          12587: 
        !          12588: commit 87d7fd9725ded186f6fa331d68a1e9df5d1982cf
        !          12589: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12590: Date:   Sun Aug 16 22:36:41 2009 +0200
        !          12591: 
        !          12592:     Bugfix - each protocol can be compiled separately.
        !          12593: 
        !          12594: commit c5be5a163c2a7b640cb3d0942de44ec87de0f25b
        !          12595: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12596: Date:   Wed Aug 12 10:26:42 2009 +0200
        !          12597: 
        !          12598:     NEWS and version update.
        !          12599: 
        !          12600: commit 9c46ad8e2fba592d28d19757d39bc090fc5b0d47
        !          12601: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12602: Date:   Wed Aug 12 10:16:32 2009 +0200
        !          12603: 
        !          12604:     Count number of lines (and not messages) in 'more'.
        !          12605: 
        !          12606: commit c0973621bc1e06cb6176dc2dfd97bec637861edd
        !          12607: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12608: Date:   Tue Aug 11 15:49:56 2009 +0200
        !          12609: 
        !          12610:     Fixes another bug in rte_recalculate().
        !          12611:     
        !          12612:     Previous bugfix revealed another hidden bug here.
        !          12613: 
        !          12614: commit ac07aacd2cdb5cf69a3bfdbc0e078cb0ae96c0db
        !          12615: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12616: Date:   Tue Aug 11 11:03:37 2009 +0200
        !          12617: 
        !          12618:     Replace assert with log.
        !          12619:     
        !          12620:     Although it is true unless there is a bug in BIRD,  this assert is not
        !          12621:     needed (code below does not require that assumption), so we should not
        !          12622:     crash.
        !          12623: 
        !          12624: commit 024e633c16cf21ae94d7e023e057e59080f92175
        !          12625: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12626: Date:   Tue Aug 11 10:54:50 2009 +0200
        !          12627: 
        !          12628:     Fixes bug that caused losing of some routes.
        !          12629:     
        !          12630:     When update changes preferred route in such a way that
        !          12631:     it ceased to be preferred, the new route was linked
        !          12632:     to wrong place and lost.
        !          12633: 
        !          12634: commit e75d3c74a8f665a6e7dc0cc743a68e980e7c10da
        !          12635: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12636: Date:   Mon Aug 10 14:36:30 2009 +0200
        !          12637: 
        !          12638:     Flex does not need the output of Bison.
        !          12639: 
        !          12640: commit ea9097eaad7dfccd5a88480d748781d947b25cc8
        !          12641: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12642: Date:   Mon Aug 10 14:13:28 2009 +0200
        !          12643: 
        !          12644:     Fixes parallel runs of Bison.
        !          12645:     
        !          12646:     Previous version of Makefile executed Bison two times (in parallel),
        !          12647:     because of two specified targets. I am not sure wheter this is the best
        !          12648:     fix.
        !          12649:     
        !          12650:     Previon
        !          12651: 
        !          12652: commit f2cfc509960741bd587cf92f7d154d06fbb2c9a4
        !          12653: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12654: Date:   Mon Aug 10 13:59:56 2009 +0200
        !          12655: 
        !          12656:     Compilation and dependency generation should be serialized.
        !          12657: 
        !          12658: commit 581b59907ca5b79b44cc0654e57c34ab77883a96
        !          12659: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12660: Date:   Mon Aug 10 13:57:08 2009 +0200
        !          12661: 
        !          12662:     Clean files generated by Bison and Flex.
        !          12663: 
        !          12664: commit 5b1f877e6edfb3b541d444ae5b1ffd025dd9fbd6
        !          12665: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12666: Date:   Mon Aug 10 12:04:25 2009 +0200
        !          12667: 
        !          12668:     Fixes typo in Makefile
        !          12669: 
        !          12670: commit b92c8e30191dd757c76239076eda82d0065f2348
        !          12671: Merge: 54d70d3 71a9574
        !          12672: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12673: Date:   Mon Aug 10 10:16:00 2009 +0200
        !          12674: 
        !          12675:     Merge branch 'master' into dev
        !          12676: 
        !          12677: commit 71a9574a515613cded23b20f260a88784bcd4286
        !          12678: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12679: Date:   Sun Aug 9 19:43:42 2009 +0200
        !          12680: 
        !          12681:     Makefile changed to make it work with 'make -jN' where N>1
        !          12682: 
        !          12683: commit 0ac39033c7470f7301bb108f8e777c7ce6af273f
        !          12684: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12685: Date:   Sun Aug 9 19:43:15 2009 +0200
        !          12686: 
        !          12687:     Missing dependency added.
        !          12688: 
        !          12689: commit 0d328932be54a6756c6b43b0cd6d8d314a5b7fe2
        !          12690: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12691: Date:   Thu Jul 30 18:39:41 2009 +0200
        !          12692: 
        !          12693:     Symbols PASSWORDS and BROADCAST not declared for OSPF
        !          12694: 
        !          12695: commit 54d70d3ebb20c36f483cde9d7d5b877772d4884e
        !          12696: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12697: Date:   Thu Jul 23 22:21:17 2009 +0200
        !          12698: 
        !          12699:     Fixes compiler warning in OFFSETOF().
        !          12700: 
        !          12701: commit 3aab39f589c352e30e9db92346b579dd561482b3
        !          12702: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12703: Date:   Thu Jul 23 16:51:28 2009 +0200
        !          12704: 
        !          12705:     Use %R in OSPF when appropriate.
        !          12706: 
        !          12707: commit 2f6483cd312ffd7ef055099ce801fb8f437d9abe
        !          12708: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12709: Date:   Thu Jul 23 16:06:25 2009 +0200
        !          12710: 
        !          12711:     Adds %R printf directive for Router ID.
        !          12712: 
        !          12713: commit f0333f44a5a4bec9f3978a90cf7eda1b0a2ec151
        !          12714: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12715: Date:   Wed Jul 15 01:47:29 2009 +0200
        !          12716: 
        !          12717:     Implements 'more' feature to birdc.
        !          12718:     
        !          12719:     Also does some code restructuring.
        !          12720: 
        !          12721: commit 6baef17ecf1ed994cfc8038bc610e8b7ff88506a
        !          12722: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12723: Date:   Tue Jul 14 14:18:54 2009 +0200
        !          12724: 
        !          12725:     Fixes bug in CLI TX buffer management.
        !          12726: 
        !          12727: commit 70670bf317a612a1700ffbd0dbc8d92614e0caf2
        !          12728: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12729: Date:   Thu Jul 9 15:42:39 2009 +0200
        !          12730: 
        !          12731:     Fixed bug related to reconfiguration of BGP with MD5 passwords.
        !          12732: 
        !          12733: commit dd7b4a13848f5a92b403a563e8e27a3cbdfc937f
        !          12734: Merge: d1abbea bffd4c0
        !          12735: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12736: Date:   Mon Jul 6 23:10:33 2009 +0200
        !          12737: 
        !          12738:     Merge branch 'master' into dev
        !          12739: 
        !          12740: commit d1abbeacfb5a099418f53b583625ac97b1c62059
        !          12741: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12742: Date:   Mon Jul 6 19:07:01 2009 +0200
        !          12743: 
        !          12744:     Fixes memory alignment problems on Sparc64.
        !          12745:     
        !          12746:     Not quite standard construction, i should add
        !          12747:     some autoconf macro.
        !          12748:     
        !          12749:     Not tested yet.
        !          12750: 
        !          12751: commit 2389c46fe314867f99bbdfa1f6c9ff92d433d754
        !          12752: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12753: Date:   Sun Jul 5 21:18:55 2009 +0200
        !          12754: 
        !          12755:     Another pile of ipa_from_u32() calls.
        !          12756: 
        !          12757: commit b082c1bfcc53b10012a427aa3b4b8281fe2f496c
        !          12758: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12759: Date:   Sun Jul 5 20:26:51 2009 +0200
        !          12760: 
        !          12761:     Fixes OSPF on big-endians.
        !          12762:     
        !          12763:     Hmm, #ifdef is not very typo-safe.
        !          12764: 
        !          12765: commit f9bdcad4694cf80690982dfc58d28f91216c8bd0
        !          12766: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12767: Date:   Sun Jul 5 19:01:54 2009 +0200
        !          12768: 
        !          12769:     Fixes type mismatch in OSPF printf statements.
        !          12770:     
        !          12771:     Mixing ip_addr and u32 does bad things on Ultrasparc.
        !          12772:     Although both have the same size. Fascinating.
        !          12773:     It was not catched by compiler because of varargs.
        !          12774: 
        !          12775: commit bffd4c0b3900b28cfa84131752d44277866cb413
        !          12776: Author: Ondrej Filip <feela@trubka.network.cz>
        !          12777: Date:   Sun Jun 28 10:03:24 2009 +0200
        !          12778: 
        !          12779:     Small typos.
        !          12780: 
        !          12781: commit f1684ae6c05a52e1757c709dfbbedb5fc8ae1e07
        !          12782: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12783: Date:   Sun Jun 28 09:43:29 2009 +0200
        !          12784: 
        !          12785:     New release 1.1.0!
        !          12786: 
        !          12787: commit ef86b8465ff7d8e81038f37103594eb9c66d9c58
        !          12788: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12789: Date:   Sat Jun 27 18:56:26 2009 +0200
        !          12790: 
        !          12791:     Unused file removed.
        !          12792: 
        !          12793: commit 2d785e8d6a646a878c970583aa54a15209fa0e6e
        !          12794: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12795: Date:   Fri Jun 26 13:33:41 2009 +0200
        !          12796: 
        !          12797:     Fixes bug on TCP passive socket binding on BSD.
        !          12798:     
        !          12799:     BGP on BSD was bound to random port. I am surprised that
        !          12800:     nobody noticed it already.
        !          12801: 
        !          12802: commit 5004d02cb9df1f3ee231632a8e89929f4eb4f088
        !          12803: Merge: 1876e18 99355da
        !          12804: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12805: Date:   Fri Jun 26 01:06:12 2009 +0200
        !          12806: 
        !          12807:     Merge branch 'master' into dev
        !          12808: 
        !          12809: commit 1876e18d32fa4b21888aae2c984b1b61338c3e60
        !          12810: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12811: Date:   Thu Jun 25 15:44:43 2009 +0200
        !          12812: 
        !          12813:     Minor bugfix.
        !          12814: 
        !          12815: commit 200ede8226a4173b2405bcd1c98cf20604c33545
        !          12816: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12817: Date:   Thu Jun 25 14:42:25 2009 +0200
        !          12818: 
        !          12819:     NEWS and version update.
        !          12820: 
        !          12821: commit d72cdff411d0bf4ddecaea5d0fc6d4341b4cb3f1
        !          12822: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12823: Date:   Tue Jun 23 11:08:30 2009 +0200
        !          12824: 
        !          12825:     Replace 'bind' option with 'listen' option.
        !          12826:     
        !          12827:     To be consistent with other daemons.
        !          12828: 
        !          12829: commit da95a7a7dad6ebf572adfb448dfc1a5c8400e6ab
        !          12830: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12831: Date:   Tue Jun 23 11:00:38 2009 +0200
        !          12832: 
        !          12833:     Fixes bug in ORIGIN check.
        !          12834: 
        !          12835: commit 29c430f8569b90e1962d92a26f96fad7e72d27ec
        !          12836: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12837: Date:   Tue Jun 23 10:50:57 2009 +0200
        !          12838: 
        !          12839:     Changes handling of AS_PATH_CONFED_* segments in AS_PATH.
        !          12840:     
        !          12841:     Although standard says that if we receive AS_PATH_CONFED_*
        !          12842:     (and we are not a part of a confederation) segment, we should
        !          12843:     drop session, nobody does that and it is unwise to do that.
        !          12844:     
        !          12845:     Now we drop session just in case that peer ASN is in
        !          12846:     AS_PATH_CONFED_* segment (to detect peer that considers BIRD
        !          12847:     as a part of its confederation).
        !          12848: 
        !          12849: commit 4323099da9e6e8d53072595009731da9b39e9f19
        !          12850: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12851: Date:   Sat Jun 20 00:59:32 2009 +0200
        !          12852: 
        !          12853:     Fixes bug in scheduling of callback by main loop.
        !          12854:     
        !          12855:     If other side of a socket is sending data faster than
        !          12856:     BIRD is processing, BIRD does not schedule any other
        !          12857:     callbacks (events, timers, rx/tx callbacks).
        !          12858: 
        !          12859: commit 2757985709f0a132427d4f440ec913b6a0064f80
        !          12860: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12861: Date:   Sat Jun 20 00:40:21 2009 +0200
        !          12862: 
        !          12863:     Documentation update
        !          12864: 
        !          12865: commit bf1aec970e9ac0600266fe7a045847a62f18ac3b
        !          12866: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12867: Date:   Fri Jun 19 23:49:34 2009 +0200
        !          12868: 
        !          12869:     Adds support for soft reconfiguration.
        !          12870: 
        !          12871: commit 789772ed4586213d6a7fbb867b9296a01ce1b9c0
        !          12872: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12873: Date:   Thu Jun 18 19:20:07 2009 +0200
        !          12874: 
        !          12875:     Implements option that changes BGP listening socket parametres.
        !          12876: 
        !          12877: commit 1b3b3e34ecbc281a13d4ca0b99e891ee9c4d5cac
        !          12878: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12879: Date:   Thu Jun 18 14:32:44 2009 +0200
        !          12880: 
        !          12881:     Minor bugfixes.
        !          12882: 
        !          12883: commit 6f5603badc12dbbf440e8f85b1165cc8f5d671c7
        !          12884: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12885: Date:   Thu Jun 11 20:51:13 2009 +0200
        !          12886: 
        !          12887:     Documentation update.
        !          12888: 
        !          12889: commit 386752028143e78d0a617216d86f95af4024346d
        !          12890: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12891: Date:   Thu Jun 11 17:25:38 2009 +0200
        !          12892: 
        !          12893:     Implements an option that allows to change a set of stub networks.
        !          12894: 
        !          12895: commit 3d15dcdb1cc91c694aa9319b86bb37510d7ed12b
        !          12896: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12897: Date:   Wed Jun 10 23:45:08 2009 +0200
        !          12898: 
        !          12899:     Changes OSPF to generate stub networks for non-primary addresses.
        !          12900:     
        !          12901:     Also does some reorganization in RT LSA announcement.
        !          12902: 
        !          12903: commit b99d378698641b9821e4b708a90761aeb9bf6cc4
        !          12904: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12905: Date:   Sun Jun 7 00:38:38 2009 +0200
        !          12906: 
        !          12907:     Minor BGP changes related to error wait time.
        !          12908: 
        !          12909: commit 723826267101cfbb918125f0f270166cd309229d
        !          12910: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12911: Date:   Sat Jun 6 18:56:33 2009 +0200
        !          12912: 
        !          12913:     Fixes bug related to startup delay change.
        !          12914: 
        !          12915: commit dd91e467657b2dba84df308d0dc74d268bbfa228
        !          12916: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12917: Date:   Sat Jun 6 18:16:22 2009 +0200
        !          12918: 
        !          12919:     Differentiate between error delay and connect/reconnect delay.
        !          12920:     
        !          12921:     The difference is here to reject incoming connections in the
        !          12922:     first case.
        !          12923: 
        !          12924: commit 2a04b045e480bbf75229f0177abbd7f84d3b7089
        !          12925: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12926: Date:   Thu Jun 4 13:38:18 2009 +0200
        !          12927: 
        !          12928:     Adds route limit documentation.
        !          12929: 
        !          12930: commit 72b28a041df18f0da2e6a85360d6935c6a2db471
        !          12931: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12932: Date:   Thu Jun 4 13:31:09 2009 +0200
        !          12933: 
        !          12934:     Implements import route limits.
        !          12935: 
        !          12936: commit 925fe2d3de0e12c644f91f94d13bf388aeda9b57
        !          12937: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12938: Date:   Thu Jun 4 01:22:56 2009 +0200
        !          12939: 
        !          12940:     Implements route statistics and fixes some minor bugs.
        !          12941: 
        !          12942: commit 99355da18f8598e93d0e55167582da9687eae082
        !          12943: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12944: Date:   Tue Jun 2 12:01:24 2009 +0200
        !          12945: 
        !          12946:     Inlude DESTDIR in install to make life of packagers easier.
        !          12947: 
        !          12948: commit 26978ec419217fccfbb8901033703ede886e78b7
        !          12949: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12950: Date:   Tue Jun 2 11:36:07 2009 +0200
        !          12951: 
        !          12952:     Clean also ipv6 bird.ctl
        !          12953: 
        !          12954: commit de8f238fdb85bdba8ce4b5988584403cf5dbcd1e
        !          12955: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12956: Date:   Tue Jun 2 11:00:12 2009 +0200
        !          12957: 
        !          12958:     Error in test fixed.
        !          12959: 
        !          12960: commit dc16584ac2be1c097acbf8a0b2f6d412214f2a01
        !          12961: Author: Ondrej Filip <feela@majklik.network.cz>
        !          12962: Date:   Tue Jun 2 00:28:08 2009 +0200
        !          12963: 
        !          12964:     Small change to make BIRD's IPv6 packaging easier
        !          12965: 
        !          12966: commit c07c65d6d079eaf4525f03f5d126d51caa2595d6
        !          12967: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12968: Date:   Mon Jun 1 23:18:45 2009 +0200
        !          12969: 
        !          12970:     Escaped debbuging message removed.
        !          12971: 
        !          12972: commit 92a72a4cbdd010f69e8d054019770e55a47637e0
        !          12973: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12974: Date:   Mon Jun 1 19:32:41 2009 +0200
        !          12975: 
        !          12976:     Adds support for dynamic pair and bgp mask expressions.
        !          12977: 
        !          12978: commit f429d4348275030a9f488046c4021aa377ad1a79
        !          12979: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12980: Date:   Mon Jun 1 16:20:48 2009 +0200
        !          12981: 
        !          12982:     Removes some remnant of '|' bgp path separator.
        !          12983: 
        !          12984: commit f98e2915794e8641f0704b22cbd9b574514f5b23
        !          12985: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12986: Date:   Mon Jun 1 14:07:13 2009 +0200
        !          12987: 
        !          12988:     The pipe cleanup.
        !          12989: 
        !          12990: commit 2d45e09f58c4ce857e10c241cf0e89b51b9ec49c
        !          12991: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12992: Date:   Mon Jun 1 12:10:10 2009 +0200
        !          12993: 
        !          12994:     Adds opaque/transparent pipe mode selection.
        !          12995: 
        !          12996: commit 23ac9e9a9eefe13918ee7f21a1d0f271a44d9efd
        !          12997: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          12998: Date:   Sun May 31 15:24:27 2009 +0200
        !          12999: 
        !          13000:     Changes pipes to transfer all routes between routing table, not just optimal routes.
        !          13001: 
        !          13002: commit 23e563d86b412632644bdc4a886b0b7fb60e5175
        !          13003: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13004: Date:   Sat May 30 00:35:35 2009 +0200
        !          13005: 
        !          13006:     Fixes buggy prefix ~ prefix matching.
        !          13007: 
        !          13008: commit 9be1086d2970633fb5af2a1faaae16d5a1cf48ea
        !          13009: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13010: Date:   Fri May 29 23:08:28 2009 +0200
        !          13011: 
        !          13012:     New type variable 'V' defined in filters. This type is checked
        !          13013:     only for name, never for value in function filter_same()
        !          13014: 
        !          13015: commit 43de796b8a10f561d8b3ef64a86e5ce70de01eb5
        !          13016: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13017: Date:   Fri May 29 23:04:54 2009 +0200
        !          13018: 
        !          13019:     Function pm_path_compare() checked just length of the bgpmasks
        !          13020: 
        !          13021: commit d59405ec6652e95f4825492c7322536bb7044db0
        !          13022: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13023: Date:   Fri May 29 23:02:36 2009 +0200
        !          13024: 
        !          13025:     Typo in warning fixed.
        !          13026: 
        !          13027: commit 874b868544c3a6ba45ace062091cc3aee007b719
        !          13028: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13029: Date:   Fri May 29 22:49:30 2009 +0200
        !          13030: 
        !          13031:     Implements primary address selection base on 'primary' option.
        !          13032: 
        !          13033: commit 51f4469f03759642870a45634d9b53054e3deb92
        !          13034: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13035: Date:   Fri May 29 17:36:37 2009 +0200
        !          13036: 
        !          13037:     Fixes problems with rewriting of kernel device routes.
        !          13038: 
        !          13039: commit 6f68f066b63e992321ec1873a15c233f567b9aca
        !          13040: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13041: Date:   Fri May 29 13:32:24 2009 +0200
        !          13042: 
        !          13043:     Add 'primary' configuration option.
        !          13044: 
        !          13045: commit 7c3d06b087946cbea4affa4a814e72b7a3556833
        !          13046: Merge: f571473 4c2507d
        !          13047: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13048: Date:   Thu May 28 13:58:51 2009 +0200
        !          13049: 
        !          13050:     Merge branch 'dev' into ospf
        !          13051: 
        !          13052: commit a6c9f0648db56175ee9e077e2ca631b678552835
        !          13053: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13054: Date:   Thu May 28 13:37:04 2009 +0200
        !          13055: 
        !          13056:     Missing boolean comparison added.
        !          13057: 
        !          13058: commit 4c2507da687cdad1b9d147c1655e5ac46aaaa511
        !          13059: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13060: Date:   Tue May 26 10:43:59 2009 +0200
        !          13061: 
        !          13062:     Warning for BSD system and TCP-MD5.
        !          13063: 
        !          13064: commit 0c8c86c825f9cebf4c1d9f8d9cd57b2fad84d35b
        !          13065: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13066: Date:   Mon May 25 01:41:20 2009 +0200
        !          13067: 
        !          13068:     Adds INSTALL file.
        !          13069: 
        !          13070: commit f571473ef3f78f6e38558d306d4d16ce7797e26c
        !          13071: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13072: Date:   Sun May 24 17:55:33 2009 +0200
        !          13073: 
        !          13074:     Hello packets on PTP networks should have zero netmask.
        !          13075:     
        !          13076:     This also ensures that misconfigured routers (one side
        !          13077:     ptp and one side broadcast) do not make adjacency.
        !          13078: 
        !          13079: commit 8cc598a5205dbe46f5f249fa4f2de0586438965d
        !          13080: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13081: Date:   Sun May 24 17:51:27 2009 +0200
        !          13082: 
        !          13083:     Ignore Hello packets from different IP network (than primary).
        !          13084: 
        !          13085: commit 050ceb867fbb96395c6f7d3207acbb5fe57b8d1c
        !          13086: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13087: Date:   Fri May 22 18:41:52 2009 +0200
        !          13088: 
        !          13089:     Update versions.
        !          13090: 
        !          13091: commit 0c51083e97a4288219b29e82be65f399d085adee
        !          13092: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13093: Date:   Fri May 22 18:08:54 2009 +0200
        !          13094: 
        !          13095:     NEWS update.
        !          13096: 
        !          13097: commit ea2ae6dd0ae3f5dd8cd41c1e5a1170a163027725
        !          13098: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13099: Date:   Fri May 22 17:12:15 2009 +0200
        !          13100: 
        !          13101:     Change import/preimport to export/preexport to be consistent with filters.
        !          13102: 
        !          13103: commit d72a0ac2396471ffb2b3a580ee986f950e4d23ae
        !          13104: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13105: Date:   Fri May 22 15:16:53 2009 +0200
        !          13106: 
        !          13107:     Fixes serious bug in route attribute handing.
        !          13108:     
        !          13109:     ea_same() sometimes returns true for different route attributes,
        !          13110:     which caused that hash table in BGP does not work correctly and
        !          13111:     some routes were sent with different attributes.
        !          13112: 
        !          13113: commit 80f0d6764aa2c54eabdc1b41321a46e8cbcce2b9
        !          13114: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13115: Date:   Fri May 22 13:37:07 2009 +0200
        !          13116: 
        !          13117:     Fixes type mismatch on BSD systems.
        !          13118: 
        !          13119: commit d0c64519e798132b73ae5769b9246acb77b4c5aa
        !          13120: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13121: Date:   Fri May 22 01:13:07 2009 +0200
        !          13122: 
        !          13123:     Ugly hack for finding readline on NetBSD
        !          13124: 
        !          13125: commit 8de11deb9107b0bcfc7bf3922ee7edff3dbcd73a
        !          13126: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13127: Date:   Fri May 22 00:26:30 2009 +0200
        !          13128: 
        !          13129:     Better checks for M4 in configure.
        !          13130: 
        !          13131: commit 6c84554b671fce473fe333ab3d8b548a0768882b
        !          13132: Merge: f434d19 4d176e1
        !          13133: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13134: Date:   Thu May 21 09:26:59 2009 +0200
        !          13135: 
        !          13136:     Merge branch 'master' into dev
        !          13137: 
        !          13138: commit f434d19174cb2d3054a00248ca609aa87bf8c263
        !          13139: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13140: Date:   Wed May 13 22:04:44 2009 +0200
        !          13141: 
        !          13142:     Documentation updates
        !          13143: 
        !          13144: commit 4d176e14509c71823a539b3c8b6103e254296d4f
        !          13145: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13146: Date:   Mon May 11 02:01:11 2009 +0200
        !          13147: 
        !          13148:     'show route protocol <p>' added to CLI.
        !          13149: 
        !          13150: commit ef9c9ab9b64a6f3b5154e5340ffdcd1d211ec4c5
        !          13151: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13152: Date:   Mon May 11 01:32:49 2009 +0200
        !          13153: 
        !          13154:     OpenBSD port related changes.
        !          13155: 
        !          13156: commit dd8d2acd3c4ed7d7eb56ca9dbb7c9a6d43e2a869
        !          13157: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13158: Date:   Sun May 10 19:23:05 2009 +0200
        !          13159: 
        !          13160:     Fixed bug in cli help.
        !          13161: 
        !          13162: commit e755986a342b9a35cb7dd52e055066b1168aef12
        !          13163: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13164: Date:   Sun May 10 13:15:17 2009 +0200
        !          13165: 
        !          13166:     Fixes in documentation.
        !          13167: 
        !          13168: commit 19e10907c197ef123fafdd8a2783f9eb5f4a6f72
        !          13169: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13170: Date:   Fri May 8 14:37:06 2009 +0200
        !          13171: 
        !          13172:     Fixes communication on netlink sockets
        !          13173:     
        !          13174:     Independent sessions on netlink sockets mixed state
        !          13175:     in some common variables.
        !          13176: 
        !          13177: commit 20e94fb85b7097b57089e3912475ac881fd5528d
        !          13178: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13179: Date:   Wed May 6 22:02:45 2009 +0200
        !          13180: 
        !          13181:     A change in OSPF and RIP interface patterns.
        !          13182:     
        !          13183:     Allows to add more interface patterns to one common 'options'
        !          13184:     section like:
        !          13185:     
        !          13186:     interface "eth3", "eth4" { options common to eth3 and eth4 };
        !          13187:     
        !          13188:     Also removes undocumented and unnecessary ability to specify
        !          13189:     more interface patterns with different 'options' sections:
        !          13190:     
        !          13191:     interface "eth3" { options ... }, "eth4" { options ... };
        !          13192: 
        !          13193: commit 10ab65a8c9eb846655feacd22c29747743a65328
        !          13194: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13195: Date:   Wed May 6 15:18:52 2009 +0200
        !          13196: 
        !          13197:     Fixes one recently introduced IPv6 BGP compatibility problem.
        !          13198: 
        !          13199: commit 2b70f0742e808053f87315433a2a64c749c3ec1d
        !          13200: Author: Ondrej Filip <feela@mamlas.feela.net>
        !          13201: Date:   Mon May 4 18:17:46 2009 +0200
        !          13202: 
        !          13203:     Linux specific TCP-MD5 handling moved to sysdep/linux/sysio.h
        !          13204:     FreeBSD coded added. BSD cannot set BGP passwords itself.
        !          13205:     This has to be done by external command.
        !          13206: 
        !          13207: commit 1bc4b2cc840eb3f48c7e245528ef79c2b0ba50e7
        !          13208: Author: Ondrej Filip <feela@mamlas.feela.net>
        !          13209: Date:   Mon May 4 17:49:56 2009 +0200
        !          13210: 
        !          13211:     Syntax error fix for systems without CONFIG_SELF_CONSCIOUS (KRT_ALLOW_LEARN)
        !          13212: 
        !          13213: commit b7a735ea9d14ceb5c31712fbe122b54f0d7ec6e7
        !          13214: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13215: Date:   Wed Apr 29 22:17:40 2009 +0200
        !          13216: 
        !          13217:     Allow 'third party' BGP updates for originated routes.
        !          13218: 
        !          13219: commit 4827b69ff43661f4f34d437999b0edaac76f7355
        !          13220: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13221: Date:   Wed Apr 29 18:58:24 2009 +0200
        !          13222: 
        !          13223:     Fixes BGP IPv6 link local next hop handling.
        !          13224:     
        !          13225:     When sending 'third party' BGP update, Bird used bogus link local
        !          13226:     addresses instead of addresses it received before.
        !          13227: 
        !          13228: commit ad440a570b37e8674ef35f3a18df48f0eb2579eb
        !          13229: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13230: Date:   Tue Apr 28 18:11:56 2009 +0200
        !          13231: 
        !          13232:     Fixes handling of 'next hop self' and 'source address' configuration
        !          13233:     options.
        !          13234: 
        !          13235: commit a6ee026693a9c24c71dcf846abd32508782e0249
        !          13236: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13237: Date:   Tue Apr 28 11:56:33 2009 +0200
        !          13238: 
        !          13239:     Typo in gendist script.
        !          13240: 
        !          13241: commit f8fbda6fb0c30fdc6e5182679e7bf1eb2fb9c8e9
        !          13242: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13243: Date:   Tue Apr 28 11:53:12 2009 +0200
        !          13244: 
        !          13245:     Small formatting typo in documentation.
        !          13246: 
        !          13247: commit 73841442d916490fa6a9b5967dbb1f797ca3dac1
        !          13248: Author: Ondrej Filip <feela@majklik.network.cz>
        !          13249: Date:   Tue Apr 28 10:20:50 2009 +0200
        !          13250: 
        !          13251:     Gendist script adapted to git.
        !          13252: 
        !          13253: commit 11e0568f8b7a51584c7d0fa60368050dfba17193
        !          13254: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13255: Date:   Tue Apr 28 09:46:59 2009 +0200
        !          13256: 
        !          13257:     NEWS and version update
        !          13258: 
        !          13259: commit 64cf11f544257cae443d899111be1299b1ec0684
        !          13260: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13261: Date:   Thu Apr 23 23:15:07 2009 +0200
        !          13262: 
        !          13263:     Fixes BGPv6 bug - missing endianity conversion.
        !          13264:     
        !          13265:     Also removes code skipping SNPAs
        !          13266:     (obsoleted by newer RFCs, should be ignored).
        !          13267: 
        !          13268: commit f307842ad85396f8186fa049d551b6cde9925484
        !          13269: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13270: Date:   Thu Apr 23 14:44:02 2009 +0200
        !          13271: 
        !          13272:     Fixes BGPv6 bug - mandatory attributes weren't validated;
        !          13273: 
        !          13274: commit 8f0c887a52fb19cee14725f66d435cebf2010390
        !          13275: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13276: Date:   Thu Apr 23 14:16:05 2009 +0200
        !          13277: 
        !          13278:     Fixe bug in BGPv6 that causes to send invalid network withdraws.
        !          13279: 
        !          13280: commit b9539e78d8ebfa9e13d7b61ec9278b76abefdac3
        !          13281: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13282: Date:   Thu Apr 23 12:36:24 2009 +0200
        !          13283: 
        !          13284:     Fixes bug in BGPv6 causing crash by checking missing attributes.
        !          13285: 
        !          13286: commit e366625c0ef21d02caf2dab1935862ace1e10fed
        !          13287: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13288: Date:   Fri Apr 17 18:43:11 2009 +0200
        !          13289: 
        !          13290:     Fixes mixed-up messages on netlink socket
        !          13291:     
        !          13292:     Under specific circumstances there might be two mixed-up
        !          13293:     netlink sessions (one for scan, the other for route change
        !          13294:     request). This patch separates netlink scans and requests
        !          13295:     to two fds (and seq counters).
        !          13296:     
        !          13297:     This should fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=428865
        !          13298: 
        !          13299: commit c8a6b9a3d199444fd45879dd5cc5ececd9624822
        !          13300: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13301: Date:   Fri Apr 17 01:48:36 2009 +0200
        !          13302: 
        !          13303:     Rewrite of buggy AS path matching.
        !          13304:     
        !          13305:     Old AS path maching supposes thath AS number appears
        !          13306:     only once in AS path, but that is not true. It also
        !          13307:     contains some bugs related to AS path sets.
        !          13308:     
        !          13309:     New code does not use any assumptions about semantic
        !          13310:     structure of AS path. It is asymptotically slower than
        !          13311:     the old code, but on real paths it is not significant.
        !          13312:     
        !          13313:     It also allows '?' for matching one arbitrary AS number.
        !          13314: 
        !          13315: commit 024c310b537abc3ddbac3054de71fd759d422824
        !          13316: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13317: Date:   Wed Apr 8 20:15:01 2009 +0200
        !          13318: 
        !          13319:     Fixes broken cryptographic authentication in OSPF
        !          13320:     
        !          13321:     Cryptographic authentication in OSPF is defective by
        !          13322:     design - there might be several packets independently
        !          13323:     sent to the network (for example HELLO, LSUPD and LSACK)
        !          13324:     where they might be reordered and that causes crypt.
        !          13325:     sequence number error.
        !          13326:     
        !          13327:     That can be workarounded by not incresing sequence number
        !          13328:     too often. Now we update it only when last packet was sent
        !          13329:     before at least one second. This can constitute a risk of
        !          13330:     replay attacks, but RFC supposes something similar (like time
        !          13331:     in seconds used as CSN).
        !          13332: 
        !          13333: commit b722fe7ebdf7e11f097ed0a85302769de2ac10fb
        !          13334: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13335: Date:   Mon Apr 6 16:53:06 2009 +0200
        !          13336: 
        !          13337:     Fixes bug in OSPF packet retransmission.
        !          13338:     
        !          13339:     If a DBDES packet from a master to a slave is lost, then the old code
        !          13340:     does not retransmit it and instead send a next one with the same
        !          13341:     sequence number. That leads to silent desynchronization of LSA
        !          13342:     databases.
        !          13343: 
        !          13344: commit 8298d780be5a5b00c31c10a37a5f3a1353d6e234
        !          13345: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13346: Date:   Mon Apr 6 16:17:47 2009 +0200
        !          13347: 
        !          13348:     Better OSPF packet tracing log messages.
        !          13349:     
        !          13350:     Replaces old OSPF packet tracing messages with
        !          13351:     uniform messages with packet dumps.
        !          13352: 
        !          13353: commit bcb81251b4e37b96743aa1cdf790f30ef41a465e
        !          13354: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13355: Date:   Tue Mar 31 21:30:58 2009 +0200
        !          13356: 
        !          13357:     Documentation update
        !          13358: 
        !          13359: commit c60cdd8c3926a1b3d9156327e8aae64986084ff4
        !          13360: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13361: Date:   Tue Mar 31 21:17:00 2009 +0200
        !          13362: 
        !          13363:     Cleanup changes
        !          13364: 
        !          13365: commit b1a597e0c3821c791a41278454e74261cf1b95fb
        !          13366: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13367: Date:   Tue Mar 31 12:55:57 2009 +0200
        !          13368: 
        !          13369:     Reimplementation of prefix sets.
        !          13370:     
        !          13371:     Prefix sets were broken beyond any repair and have to be reimplemented.
        !          13372:     They are reimplemented using a trie with bitmasks in nodes.
        !          13373:     There is also change in the interpretation of minus prefix pattern,
        !          13374:     but the old interpretation was already inconsistent with
        !          13375:     the documentation and broken.
        !          13376:     
        !          13377:     There is also some bugfixes in filter code related to set variables.
        !          13378: 
        !          13379: commit 1733d080c9f60de69e843f22e138f27240a8176c
        !          13380: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13381: Date:   Wed Mar 25 19:15:26 2009 +0100
        !          13382: 
        !          13383:     Minor text updates.
        !          13384: 
        !          13385: commit 40b65f947aed065c03c5f2d5c66c6c794a5aadda
        !          13386: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13387: Date:   Wed Mar 25 19:05:52 2009 +0100
        !          13388: 
        !          13389:     Fixes bug in pipe route filtering.
        !          13390:     
        !          13391:     Routes comming through pipe from primary to secondary table were
        !          13392:     filtered by both EXPORT and IMPORT filters, but they should be
        !          13393:     only filtered by EXPORT filters.
        !          13394: 
        !          13395: commit 4d7d0cb137b700a17751b5a565539357304f9080
        !          13396: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13397: Date:   Wed Mar 25 18:29:17 2009 +0100
        !          13398: 
        !          13399:     Fixes minor bug in pipe.
        !          13400:     
        !          13401:     Missing macro leads to not calling some of protocol's
        !          13402:     callbacks.
        !          13403: 
        !          13404: commit 3d574679b8cceb1362bb973e7dfe9981fc93b79b
        !          13405: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13406: Date:   Fri Mar 20 12:58:21 2009 +0100
        !          13407: 
        !          13408:     Fix bugs related to kernel table synchronization.
        !          13409:     
        !          13410:     KRF_INSTALLED flag was not cleared during reconfiguration
        !          13411:     that lead to not removing routes during reconfigure when
        !          13412:     export rules changed.
        !          13413:     
        !          13414:     We also should not try to remove routes we didi not installed,
        !          13415:     on Linux this leads to warnings (as kernel checks route source
        !          13416:     field and do not allow to remove non-bird routes) but we should
        !          13417:     not rely on it.
        !          13418: 
        !          13419: commit 48d79d521cc13f11eafa129a4216512403b83115
        !          13420: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13421: Date:   Wed Mar 18 20:30:21 2009 +0100
        !          13422: 
        !          13423:     Better handling of AS4 optional attribute errors
        !          13424:     
        !          13425:     AS4 optional attribute errors were handled by session
        !          13426:     drop (according to BGP RFC). This patch implements
        !          13427:     error handling according to new BGP AS4 draft (*)
        !          13428:      - ignoring invalid AS4 optional attributes.
        !          13429:     
        !          13430:     (*) http://www.ietf.org/internet-drafts/draft-chen-rfc4893bis-02.txt
        !          13431: 
        !          13432: commit eb875dbbe1afaceaf3645384f2a35c98b4c5b5f6
        !          13433: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13434: Date:   Sat Mar 14 22:18:49 2009 +0100
        !          13435: 
        !          13436:     Documentation fixes.
        !          13437: 
        !          13438: commit ad586334d51a0aef9de868e9586198e402576599
        !          13439: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13440: Date:   Sat Mar 14 14:01:39 2009 +0100
        !          13441: 
        !          13442:     Path related documentation update
        !          13443: 
        !          13444: commit cf1860349182503523975fb8084d514407a75fb4
        !          13445: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13446: Date:   Sat Mar 14 12:43:10 2009 +0100
        !          13447: 
        !          13448:     New syntax for bgp_path
        !          13449: 
        !          13450: commit f16ad72ed76c398f081b97b09d56f4b199822464
        !          13451: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13452: Date:   Fri Mar 13 14:19:03 2009 +0100
        !          13453: 
        !          13454:     Update NEWS
        !          13455: 
        !          13456: commit e8ba557c7f66aaf02dd24f554fba8b3607c2b3d5
        !          13457: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13458: Date:   Fri Mar 13 12:49:44 2009 +0100
        !          13459: 
        !          13460:     Update capability handshake options
        !          13461:     
        !          13462:     Add 'capabilities' option, change default behavior to advertise ipv4,
        !          13463:     add some checks and ignore incoming capabilities when capabilities
        !          13464:     are disabled.
        !          13465: 
        !          13466: commit e3299ab14877de6ce688050e550c44cd4e85b212
        !          13467: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13468: Date:   Thu Mar 5 11:52:47 2009 +0100
        !          13469: 
        !          13470:     Added Cisco and Quagga capability workaround option.
        !          13471: 
        !          13472: commit 82a79586e5810af2f0338cb4c5982e085b5c5292
        !          13473: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13474: Date:   Fri Feb 27 15:24:46 2009 +0100
        !          13475: 
        !          13476:     Better handling of too long attributes
        !          13477:     
        !          13478:     This patch extends the length for attributes from 1024 to 2048
        !          13479:     (because both AS_PATH and AS4_PATH attributes take 2+4 B per AS).
        !          13480:     
        !          13481:     If there is not enough space for attributes, Bird skips that
        !          13482:     route group. Old behavior (skipping remaining attributes)
        !          13483:     leads to skipping required attributes and session drop.
        !          13484: 
        !          13485: commit cb5303927188de9504a6e18aedec299956a22b6f
        !          13486: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13487: Date:   Thu Feb 26 14:23:54 2009 +0100
        !          13488: 
        !          13489:     Rate limit for most abundant log messages
        !          13490: 
        !          13491: commit a9dc5e1ef2fd08c53bceb54690f6dac83ddf0c81
        !          13492: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13493: Date:   Wed Feb 25 16:28:21 2009 +0100
        !          13494: 
        !          13495:     Fixes another bug in packet retransmissions.
        !          13496:     
        !          13497:     When slave was in full state, it didn't retransmit
        !          13498:     lost packets. That leads to OSPF connection locked
        !          13499:     in states loading-full.
        !          13500: 
        !          13501: commit 82ba9032be9cf1210ffffd01245b99ce5d9b6b1b
        !          13502: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13503: Date:   Sat Feb 21 22:46:50 2009 +0100
        !          13504: 
        !          13505:     Fixes crash during some expressions
        !          13506:     
        !          13507:     Bird crashed when 'bgp_path.len' was used for routes that does
        !          13508:     not came from BGP.
        !          13509: 
        !          13510: commit cd17c651a60c30837b683f8ca6e07139dc57d882
        !          13511: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13512: Date:   Sat Feb 21 17:47:56 2009 +0100
        !          13513: 
        !          13514:     Add format for BGP_AGGREGATOR attribute
        !          13515: 
        !          13516: commit 25cb9f1d0165df5e86956021cc3e6ee87730ef3b
        !          13517: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13518: Date:   Sat Feb 21 16:20:45 2009 +0100
        !          13519: 
        !          13520:     Fix bug in empty bgp mask handling
        !          13521: 
        !          13522: commit e312bb4014d5b4ccc706c737f4362ac6ca1046ee
        !          13523: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13524: Date:   Thu Feb 12 21:53:44 2009 +0100
        !          13525: 
        !          13526:     Documentation update
        !          13527: 
        !          13528: commit d901db3fb72860d4669793bfb1af3a9aa7a27b91
        !          13529: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13530: Date:   Thu Feb 12 19:46:51 2009 +0100
        !          13531: 
        !          13532:     Fixes bug in packet retransmissions.
        !          13533:     
        !          13534:     When packet was lost during dbdes exchange, slave did not retransmit
        !          13535:     it. That leads to OSPF connection locked in states exchange-exstart.
        !          13536: 
        !          13537: commit b807ef9a15db2a5db14f68011923975dfc472f49
        !          13538: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13539: Date:   Thu Feb 12 13:43:06 2009 +0100
        !          13540: 
        !          13541:     Fixes bug in protocol state machine
        !          13542:     
        !          13543:     Scheduling flush must be done before resource pool freeing as it
        !          13544:     frees some allocated list nodes from a global list.
        !          13545: 
        !          13546: commit 80ac7dc18145baa04a05eee3a69d325087cb9472
        !          13547: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13548: Date:   Thu Feb 12 13:41:34 2009 +0100
        !          13549: 
        !          13550:     Do not use ? for client-side help when in new BGP path syntax
        !          13551: 
        !          13552: commit f9491630390da4de138961354433635729668b7d
        !          13553: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13554: Date:   Tue Jan 27 17:35:00 2009 +0100
        !          13555: 
        !          13556:     New syntax for bgp_path
        !          13557: 
        !          13558: commit 11ec0f1a5171c556dec09e90c20af12f45a6d902
        !          13559: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13560: Date:   Fri Jan 16 12:49:51 2009 +0100
        !          13561: 
        !          13562:     Fixes compilation on older systems.
        !          13563:     
        !          13564:     Older kernel headers (the ones in Debian Sarge) does not
        !          13565:     have __kernel_sockaddr_storage .
        !          13566: 
        !          13567: commit e3c460bc9034b30743dd861ddbdbc026cd2997b5
        !          13568: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13569: Date:   Fri Jan 16 12:08:07 2009 +0100
        !          13570: 
        !          13571:     Fixes some past config grammar update that caused password related regression.
        !          13572: 
        !          13573: commit 3b108f18e8c151d9c570fd418fc822c1e9ad5e79
        !          13574: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13575: Date:   Fri Jan 16 10:58:52 2009 +0100
        !          13576: 
        !          13577:     One null-pointer dereference bugfix hidden in whitespace changes
        !          13578: 
        !          13579: commit 0dd7ccc7669834495c637f5055f2cd783367f8f9
        !          13580: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13581: Date:   Tue Jan 13 19:25:27 2009 +0100
        !          13582: 
        !          13583:     Fix typo.
        !          13584: 
        !          13585: commit 0844b65d13d7a5928d425e9adaf28de63550a542
        !          13586: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13587: Date:   Tue Jan 13 19:15:49 2009 +0100
        !          13588: 
        !          13589:     Fix OSPF protocol error recovery behavior.
        !          13590:     
        !          13591:     When OSPF neighbor state drops down to EXSTART,
        !          13592:     clear LSA request and retransmit lists, as specified
        !          13593:     by RFC. I hope that this will prevent oscillations
        !          13594:     between EXSTART and LOADING states, which sometimes
        !          13595:     happened.
        !          13596:     
        !          13597:     It also contains related fix from Yury Shevchuk that
        !          13598:     properly resets DB summary list iterator.
        !          13599: 
        !          13600: commit f15cb99c79034fbd98d90b104bd6267e6c2fec81
        !          13601: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13602: Date:   Mon Jan 12 23:42:51 2009 +0100
        !          13603: 
        !          13604:     Add check detecting packet overwrite in TX buffer.
        !          13605: 
        !          13606: commit 02a9eeeb8547b3f0940a0295df8a78ce2181ec30
        !          13607: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13608: Date:   Mon Jan 12 14:40:21 2009 +0100
        !          13609: 
        !          13610:     Slist update
        !          13611: 
        !          13612: commit 23d6702952841184d364a5520dbe6be7a1a5d14b
        !          13613: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13614: Date:   Sun Jan 11 12:14:27 2009 +0100
        !          13615: 
        !          13616:     Some fixes and update of OSPF debug messages
        !          13617: 
        !          13618: commit 0e9617e400d54f6f5119a24e7380b7719c2fc3dd
        !          13619: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13620: Date:   Sun Jan 11 10:51:54 2009 +0100
        !          13621: 
        !          13622:     Move check for NULL before usage of variable.
        !          13623: 
        !          13624: commit f20907adf60960f63b797f4423b4790e8591e99c
        !          13625: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13626: Date:   Sun Jan 11 10:47:41 2009 +0100
        !          13627: 
        !          13628:     Fixes bug in OSPF
        !          13629:     
        !          13630:     Checksum was not recalculated when LSA was changed and
        !          13631:     packets with bad checksum were sent.
        !          13632: 
        !          13633: commit 330aecead80140b0016d6de56dad1d193be774c8
        !          13634: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13635: Date:   Thu Dec 25 17:49:57 2008 +0100
        !          13636: 
        !          13637:     Bugfix in interpret
        !          13638:     
        !          13639:     Missing cases in filter code interpret leads to crash
        !          13640:     when  bgp_next_hop attr was queried.
        !          13641: 
        !          13642: commit 083c43e22efb5353a258827a9e6f2f995cfe822d
        !          13643: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13644: Date:   Thu Dec 25 11:55:27 2008 +0100
        !          13645: 
        !          13646:     fixes some 64-bit related bugs.
        !          13647:     
        !          13648:     Filter code used 'aux' integer field of 'symbol' struct to store ptr
        !          13649:     to next symbol and both 'aux2' and 'def' fields for value.
        !          13650:     Changed to just 'def' for value and 'aux2' for ptr to next symbol.
        !          13651:     Also another minor bugfix.
        !          13652: 
        !          13653: commit 165a62272720071ca5e9ed1badfddc78b7a7af10
        !          13654: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13655: Date:   Wed Dec 24 17:24:41 2008 +0100
        !          13656: 
        !          13657:     Adds support for fallback to capabilityless BGP connect
        !          13658:     
        !          13659:     When capability related error is received, next connect will be
        !          13660:     without capabilities. Also cease error subcodes descriptions
        !          13661:     (according to [RFC4486]) are added.
        !          13662: 
        !          13663: commit 591211557f4106ed9e877fa9b80eb56ffb99fef3
        !          13664: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13665: Date:   Wed Dec 24 12:18:10 2008 +0100
        !          13666: 
        !          13667:     Fixes bug related to reconfiguration of BGP.
        !          13668:     
        !          13669:     BGP keeps its copy of configuration ptr and didn't update it during
        !          13670:     reconfiguration. But old configuration is freed during reconfiguration.
        !          13671:     That leads to unnecessary reset of BGP connection during reconfiguration
        !          13672:     (old conf is corrupted and therefore different) and possibly other strange
        !          13673:     behavior.
        !          13674: 
        !          13675: commit 11b32d911715cbfb3ce4c87685b1388e4b0de1c4
        !          13676: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13677: Date:   Fri Dec 19 01:34:39 2008 +0100
        !          13678: 
        !          13679:     Major changes to BGP
        !          13680:     
        !          13681:     Fixes two race conditions causing crash of Bird, several unhandled
        !          13682:     cases during BGP initialization, and some other bugs. Also changes
        !          13683:     handling of startup delay to be more useful and implement
        !          13684:     reporting of last error in 'show protocols' command.
        !          13685: 
        !          13686: commit b933281ed5efb9ad9375c3ea41ee2412b9f89c15
        !          13687: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13688: Date:   Thu Dec 18 23:26:08 2008 +0100
        !          13689: 
        !          13690:     Fixes nasty bug in event processing.
        !          13691:     
        !          13692:     WALK_LIST_DELSAFE (in ev_run_list) is not safe with regard
        !          13693:     to deletion of next node. When some events are rescheduled
        !          13694:     during event execution, it may lead to deletion of next
        !          13695:     node and some events are skipped. Such skipped nodes remain
        !          13696:     in temporary list on stack and the last of them contains
        !          13697:     'next' pointer to stack area. When this event is later
        !          13698:     scheduled, it damages stack area trying to remove it from
        !          13699:     the list, which leads to random crashes with funny
        !          13700:     backtraces :-) .
        !          13701: 
        !          13702: commit 35164c501722f07beef21178b19090fa9d1930cd
        !          13703: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13704: Date:   Fri Dec 12 17:48:03 2008 +0100
        !          13705: 
        !          13706:     rx_hook may be cleaned in some callback so we check it before
        !          13707:     executing sk_read().
        !          13708: 
        !          13709: commit d6a836f8d673a117fd19136d24e98fa9bbc4b27e
        !          13710: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13711: Date:   Mon Dec 8 12:24:55 2008 +0100
        !          13712: 
        !          13713:     Fixes core state machine.
        !          13714:     
        !          13715:     The core state machine was broken - it didn't free resources
        !          13716:     in START -> DOWN transition and might freed resources after
        !          13717:     UP -> STOP transition before protocol turned down. It leads
        !          13718:     to deadlock on olock acquisition when lock was not freed
        !          13719:     during previous stop.
        !          13720:     
        !          13721:     The current behavior is that resources, allocated during
        !          13722:     DOWN -> * transition, are freed in * -> DOWN transition,
        !          13723:     and flushing (scheduled in UP -> *) just counteract
        !          13724:     feeding (scheduled in * -> UP). Protocol fell down
        !          13725:     when both flushing is done (if needed) and protocol
        !          13726:     reports DOWN.
        !          13727:     
        !          13728:     BTW, is thera a reason why neighbour cache item acquired
        !          13729:     by protocol is not tracked by resource mechanism?
        !          13730: 
        !          13731: commit fbde6c39084637c2f3f4d31261a44dbf367958d1
        !          13732: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13733: Date:   Sat Nov 22 01:12:22 2008 +0100
        !          13734: 
        !          13735:     Fixes race condition leading to memory corruption and crash.
        !          13736:     
        !          13737:     When protocol started, feeding was scheduled. If protocol
        !          13738:     got down before feeding was executed, then function
        !          13739:     responsible for connecting protocol to kernel routing
        !          13740:     tables was called after the function responsible for
        !          13741:     disconnecting, then resource pool of protocol was freed,
        !          13742:     but freed linked list structures remains in the list.
        !          13743: 
        !          13744: commit 35f983f88912eadb1e0b25d800693256cbee33ce
        !          13745: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13746: Date:   Fri Nov 21 18:17:03 2008 +0100
        !          13747: 
        !          13748:     Fixes segfault with multiple routing tables.
        !          13749: 
        !          13750: commit 661ec5db7fa047d883997d0b2cbdd71659f80777
        !          13751: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13752: Date:   Fri Nov 21 13:05:12 2008 +0100
        !          13753: 
        !          13754:     I am not sure whether this is proper fix for a problem that birdc
        !          13755:     shows only parts of larger outputs (for example 'show route all').
        !          13756:     It seems that birdc reads (from bird) and writes (to stdout)
        !          13757:     everything but during execution of some readline code some already
        !          13758:     written output disappeared (although it is fflush()ed and
        !          13759:     tcdrain()ed).
        !          13760:     
        !          13761:     As birdc reads from stdin when select said there are some data,
        !          13762:     O_NONBLOCK for stdin is unnecessary and when it is removed,
        !          13763:     i didn't notified this problem.
        !          13764: 
        !          13765: commit eac21b46f7cf0f704c976f2ffdb289837ad100cc
        !          13766: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13767: Date:   Fri Nov 21 13:01:05 2008 +0100
        !          13768: 
        !          13769:     This is bug, isn't it?
        !          13770: 
        !          13771: commit e00115904ff7c1854957117d52a6db484050965b
        !          13772: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13773: Date:   Fri Nov 21 12:59:03 2008 +0100
        !          13774: 
        !          13775:     birdc died during terminal resize because of unhandled EINTR
        !          13776:     in select loop.
        !          13777: 
        !          13778: commit 44711e0ca2658da080e04ce7e208a78c9b20e927
        !          13779: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13780: Date:   Sun Nov 16 22:16:04 2008 +0100
        !          13781: 
        !          13782:     Fix some bugs in filter interpret.
        !          13783: 
        !          13784: commit ebacaf6f7b4418dd283fd3e39b84e48e331a6a66
        !          13785: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13786: Date:   Sun Nov 16 11:35:30 2008 +0100
        !          13787: 
        !          13788:     Fix bug in AS path matching
        !          13789: 
        !          13790: commit 258d0ad4ca550895a1ef20fc478c0160be5374f2
        !          13791: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13792: Date:   Fri Nov 14 23:03:15 2008 +0100
        !          13793: 
        !          13794:     Fixes feeding of new protocol, only preferred routes are announced.
        !          13795: 
        !          13796: commit 3f670371cfeef155256a8a77ac5581accee13b05
        !          13797: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13798: Date:   Fri Nov 14 21:13:56 2008 +0100
        !          13799: 
        !          13800:     OSPF routes appeared with random value of ospf_tag attribute.
        !          13801:     This patch fixes it.
        !          13802: 
        !          13803: commit e29fa06ece1bf9f9a47f224db797df940556136e
        !          13804: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13805: Date:   Fri Nov 14 14:50:37 2008 +0100
        !          13806: 
        !          13807:     New read-only route attribute 'proto' added. It returns a string
        !          13808:     representing a name of the protocol that originated the route.
        !          13809:     Strings can be compared using = or matched using ~. Routes can
        !          13810:     be filtered, for example:
        !          13811:     
        !          13812:     show route where proto ~ "bgp1*"
        !          13813: 
        !          13814: commit aebe06b40ce730a88cc8a3121be1944b3ddf5765
        !          13815: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13816: Date:   Sat Nov 8 23:33:22 2008 +0100
        !          13817: 
        !          13818:     Proper format functions for ORIGINATOR_ID, CLUSTER_LIST
        !          13819: 
        !          13820: commit b21f68b4cd4794c84e5f0eb2c34204c87ccf0e9a
        !          13821: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13822: Date:   Sat Nov 8 17:24:23 2008 +0100
        !          13823: 
        !          13824:     Fix bugs in OSPF MD5 authentication. First bug is that default
        !          13825:     values for MD5 password ID changed during reconfigure, Second
        !          13826:     bug is that BIRD chooses password in first-fit manner, but RFC
        !          13827:     says that it should use the one with the latest generate-from.
        !          13828:     
        !          13829:     It also modifies the syntax for multiple passwords.
        !          13830:     Now it is possible to just add more 'password' statements
        !          13831:     to the interface section and it is not needed to use
        !          13832:     'passwords' section. Old syntax can be used too.
        !          13833: 
        !          13834: commit 08cca48a149bd6d5210659daf220b6dae87a43b3
        !          13835: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13836: Date:   Thu Nov 6 19:13:55 2008 +0100
        !          13837: 
        !          13838:     Uprava configure
        !          13839: 
        !          13840: commit fd91ae3325adfdc83f95a284caa746c000ad7e30
        !          13841: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13842: Date:   Wed Nov 5 22:36:49 2008 +0100
        !          13843: 
        !          13844:     Fix problem with local time changes.
        !          13845: 
        !          13846: commit 1389f3699fc643dac6fd4d2f19fb59da3624a2fa
        !          13847: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13848: Date:   Wed Nov 5 21:39:04 2008 +0100
        !          13849: 
        !          13850:     Fixes bugs in IPv6 code caused by recent commits.
        !          13851: 
        !          13852: commit baa9ef18c62612bd91a8362ef20427046105c113
        !          13853: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13854: Date:   Tue Nov 4 14:52:47 2008 +0100
        !          13855: 
        !          13856:     These warnings are so abundant (because char * / byte * mix) that they
        !          13857:     are completely useless.
        !          13858: 
        !          13859: commit 6c8102e3a8bf8ae4c15d383f0bd31294dd2ef76e
        !          13860: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13861: Date:   Tue Nov 4 14:51:45 2008 +0100
        !          13862: 
        !          13863:     Ignore messages related to wireless extensions.
        !          13864: 
        !          13865: commit a39b165e45fbfea053fd0237e0d5a3ebdcf40f78
        !          13866: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13867: Date:   Sat Nov 1 16:58:40 2008 +0100
        !          13868: 
        !          13869:     Multihop BGP was completely broken, because listening socket has always
        !          13870:     ttl 1.
        !          13871: 
        !          13872: commit a92fe607173b52cf28256f00399953c623788c35
        !          13873: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13874: Date:   Sat Nov 1 12:55:43 2008 +0100
        !          13875: 
        !          13876:     Implementation of route server.
        !          13877: 
        !          13878: commit e16466b379be2b94c84b351a69e63b6de5be9dc5
        !          13879: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13880: Date:   Wed Oct 29 14:16:34 2008 +0100
        !          13881: 
        !          13882:     Fix race condition that breaks BGP connections after reconfigure.
        !          13883:     
        !          13884:     RFC says that only connections in OpenConfirm and Established state
        !          13885:     should participate in connection collision detection.
        !          13886:     
        !          13887:     The current implementation leads to race condition when both sides
        !          13888:     are trying to connect at the almost same time, then both sides
        !          13889:     receive OPEN message by different connections at the almost same
        !          13890:     time and close the other connection. Both connections are
        !          13891:     closed and the both sides end in  start/idle or start/active
        !          13892:     state.
        !          13893: 
        !          13894: commit f0ad56f4414fef2781339cfa41704f7bf4c61ad2
        !          13895: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13896: Date:   Tue Oct 28 16:10:42 2008 +0100
        !          13897: 
        !          13898:     Fixes some sloppiness of commit a3b70dc499b64f41aa776b5b4afee5c7bfb8dfa6.
        !          13899: 
        !          13900: commit a98fbf0f12b5e83e25afa0f585ca6a4d4ac5f6bf
        !          13901: Merge: a3b70dc 1567ede
        !          13902: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13903: Date:   Mon Oct 27 00:20:22 2008 +0100
        !          13904: 
        !          13905:     Merge branch 'dev' into out
        !          13906: 
        !          13907: commit a3b70dc499b64f41aa776b5b4afee5c7bfb8dfa6
        !          13908: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13909: Date:   Mon Oct 27 00:03:30 2008 +0100
        !          13910: 
        !          13911:     Two new informative CLI commands for OSPF.
        !          13912:     
        !          13913:     Two new CLI commands for OSPF giving nice informative (and still machine
        !          13914:     parsable) representation of OSPF network graph (based on datas from the
        !          13915:     LSA database).
        !          13916:     
        !          13917:     The first command (show ospf topology) shows routers, networks and stub
        !          13918:     networks, The second command (show ospf state) shows also external
        !          13919:     routes and area-external networks and routers propagated by given area
        !          13920:     boundary router.
        !          13921: 
        !          13922: commit 68fa95cfec78f1bfe790949bf747d578ad583ec2
        !          13923: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13924: Date:   Sun Oct 26 23:55:38 2008 +0100
        !          13925: 
        !          13926:     Check of socket name length
        !          13927: 
        !          13928: commit 52586ccdf17cd9f34f767718d97f8a258da5efdb
        !          13929: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13930: Date:   Sun Oct 26 23:53:05 2008 +0100
        !          13931: 
        !          13932:     Missing newline.
        !          13933: 
        !          13934: commit a97122a3caff40bf35e6019a9b60d5e5ef35a84f
        !          13935: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13936: Date:   Sun Oct 26 23:43:13 2008 +0100
        !          13937: 
        !          13938:     Bugfix in LSA origination for PTP OSPF links.
        !          13939:     
        !          13940:     The code generating LSAs for PTP OSPF links is buggy. The old behavior
        !          13941:     is that it generates PTP link if there is a full/ptp neighbor and stub
        !          13942:     link if there isn't. According to RFC 2328, the correct behavior is to
        !          13943:     generate stub link in both cases (in the first case together with PTP
        !          13944:     link).
        !          13945:     
        !          13946:     And because of buggy detection of unnumbered networks, for numbered
        !          13947:     networks the code creates stub links with 0.0.0.0/32.
        !          13948: 
        !          13949: commit 4c94a6c7e78fb75a9952d891db9d47605f8a26e1
        !          13950: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13951: Date:   Sun Oct 26 23:23:09 2008 +0100
        !          13952: 
        !          13953:     Do not repeat 'Invalid broadcast address' error message.
        !          13954:     
        !          13955:     'Invalid broadcast address' error is reported only once for
        !          13956:     an interface and not during every interface scan.
        !          13957: 
        !          13958: commit d7f3b306495327e76aa9ae381c6c7575104e0e24
        !          13959: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13960: Date:   Sun Oct 26 23:20:50 2008 +0100
        !          13961: 
        !          13962:     Ignore unknown netlink events.
        !          13963:     
        !          13964:     Bird sometimes reported 'bird: nl_parse_link: Malformed message received'.
        !          13965:     The cause is that bird asynchronously received netlink packet from
        !          13966:     wireless driver about some wireless event on its link layer. In that
        !          13967:     case bird shouldn't complain.
        !          13968: 
        !          13969: commit 1567edea8d3da7da08092eef15bb3bd4544c6464
        !          13970: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13971: Date:   Sun Oct 26 23:09:46 2008 +0100
        !          13972: 
        !          13973:     Bugfix for routing table breaking bug.
        !          13974:     
        !          13975:     Here is a patch fixing a bug that causes breakage of a local routing
        !          13976:     table during shutdown of Bird. The problem was caused by shutdown
        !          13977:     of 'device' protocol before shutdown of 'kernel' protocol.  When
        !          13978:     'device' protocol went down, the route (with local network prefix)
        !          13979:     From different protocol (BGP or OSPF) became preferred and installed
        !          13980:     to the kernel routing table. Such routes were broken (like
        !          13981:     192.168.1.0/24 via 192.168.1.2). I think it is also the cause
        !          13982:     of problem reported by Martin Kraus.
        !          13983:     
        !          13984:     The patch disables updating of kernel routing table during shutdown of
        !          13985:     Bird. I am not sure whether this is the best way to fix it, I would
        !          13986:     prefer to forbid 'kernel' protocol to overwrite routes with
        !          13987:     'proto kernel'.
        !          13988:     
        !          13989:     The patch also fixes a problem that during shutdown sometimes routes
        !          13990:     created by Bird remained in the kernel routing table.
        !          13991: 
        !          13992: commit b6bf284a905412cfe107b4967e55649e6194187e
        !          13993: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          13994: Date:   Sun Oct 26 22:59:21 2008 +0100
        !          13995: 
        !          13996:     Bugfixes in MULIT_EXIT_DISC attribute handling.
        !          13997:     
        !          13998:      - Old MED handling was completely different from behavior
        !          13999:        specified in RFCs - for example they havn't been propagated
        !          14000:        to neighboring areas.
        !          14001:     
        !          14002:      - Update tie-breaking according to RFC 4271.
        !          14003:     
        !          14004:      - Change default value for 'default bgp_med' configuration
        !          14005:        option according to RFC 4271.
        !          14006: 
        !          14007: commit 4819c3e17ac22c6810ee80261ac3bffb5127e39d
        !          14008: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          14009: Date:   Sun Oct 26 22:54:23 2008 +0100
        !          14010: 
        !          14011:     Bugfix in LOCAL_PREF attribute handling.
        !          14012: 
        !          14013: commit 1adc17b4b57267e301fcd67309494bbbddbfa718
        !          14014: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          14015: Date:   Sun Oct 26 22:52:21 2008 +0100
        !          14016: 
        !          14017:     Update of a documentation - new options for AS4, MD5 auth and route reflection.
        !          14018: 
        !          14019: commit ba5ed6f3e4eb4b2899cdad08e2edb99063bfbcee
        !          14020: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          14021: Date:   Sun Oct 26 22:48:02 2008 +0100
        !          14022: 
        !          14023:     Implementation of an option for disabling AS4 support per BGP instance.
        !          14024: 
        !          14025: commit 4847a894bf7d4852325c3f1ea4bb4890054a1f66
        !          14026: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          14027: Date:   Sun Oct 26 22:45:09 2008 +0100
        !          14028: 
        !          14029:     Implementation of route reflection for BGP
        !          14030: 
        !          14031: commit d51aa2819005a03e4cfb6f62333be6ccadfb3c06
        !          14032: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          14033: Date:   Sun Oct 26 22:42:39 2008 +0100
        !          14034: 
        !          14035:     Implementation of MD5 authentication of BGP sessions.
        !          14036: 
        !          14037: commit 11cb620266035ffbe17b21c4a174380cb8b6a521
        !          14038: Author: Ondrej Zajicek <santiago@crfreenet.org>
        !          14039: Date:   Sun Oct 26 22:36:08 2008 +0100
        !          14040: 
        !          14041:     Implementation of 4B ASN support for BGP
        !          14042: 
        !          14043: commit 44cb1449edec6a80e063981a955e8025ee87ea65
        !          14044: Author: Martin Mares <mj@ucw.cz>
        !          14045: Date:   Sun Oct 26 14:14:37 2008 +0100
        !          14046: 
        !          14047:     The top-level Makefile is a generated file, so remove it from the repo.
        !          14048: 
        !          14049: commit c94d56cb04b15dc32f54e8e39b877a92d7bda8c5
        !          14050: Author: Martin Mares <mj@ucw.cz>
        !          14051: Date:   Sun Oct 26 14:11:06 2008 +0100
        !          14052: 
        !          14053:     Updated version number in the README.
        !          14054: 
        !          14055: commit 226cb2bc3ff573c4c027d525a96aa2b10a28b817
        !          14056: Author: Ondrej Filip <feela@network.cz>
        !          14057: Date:   Mon Aug 25 12:51:06 2008 +0000
        !          14058: 
        !          14059:     Expand ospf dump information.
        !          14060: 
        !          14061: commit 97c6fa02e089e3fb057185fe5937297afc5a11ec
        !          14062: Author: Ondrej Filip <feela@network.cz>
        !          14063: Date:   Mon Aug 25 12:06:20 2008 +0000
        !          14064: 
        !          14065:     Previous patch reverted. :-(
        !          14066: 
        !          14067: commit 73e53eb555a58846c4d2db6464d41d1761a60169
        !          14068: Author: Ondrej Filip <feela@network.cz>
        !          14069: Date:   Mon Aug 25 12:00:55 2008 +0000
        !          14070: 
        !          14071:     Endianity problem in debug message fix.
        !          14072: 
        !          14073: commit 030e3a79cb9376fa85597fdb8243299cd843ca3a
        !          14074: Author: Ondrej Filip <feela@network.cz>
        !          14075: Date:   Mon Aug 25 11:57:46 2008 +0000
        !          14076: 
        !          14077:     Buffer overflow fix.
        !          14078: 
        !          14079: commit 057021df0d699f9c21368ab0fa51fe821cc9a544
        !          14080: Author: Martin Mares <mj@ucw.cz>
        !          14081: Date:   Mon Aug 25 11:19:49 2008 +0000
        !          14082: 
        !          14083:     Fix behavior of ipa_opposite().
        !          14084:     
        !          14085:     It was giving wrong results on /30 networks.
        !          14086: 
        !          14087: commit 6c36c4b66be5c67a8d5cfa9578aa5a85ebebab6d
        !          14088: Author: Martin Mares <mj@ucw.cz>
        !          14089: Date:   Mon Aug 25 11:14:14 2008 +0000
        !          14090: 
        !          14091:     Updated config.{guess,sub} to a recent version.
        !          14092:     
        !          14093:     Patch from the Debian package.
        !          14094: 
        !          14095: commit 3c3271d9fce8cdd614f1d1b24bcebb3599aad930
        !          14096: Author: Ondrej Filip <feela@network.cz>
        !          14097: Date:   Sun Aug 24 23:24:14 2008 +0000
        !          14098: 
        !          14099:     Close fd of config file after reconfiguration.
        !          14100: 
        !          14101: commit 85ae398a61184d8f7a353eacaa6aefd3422dfd71
        !          14102: Author: Ondrej Filip <feela@network.cz>
        !          14103: Date:   Sun Aug 24 23:20:46 2008 +0000
        !          14104: 
        !          14105:     The source address configuration in BGP added.
        !          14106: 
        !          14107: commit a456788bce7f9d1e54b19ffbfd35b8fa889c4b47
        !          14108: Author: Ondrej Filip <feela@network.cz>
        !          14109: Date:   Wed Jun 20 12:32:39 2007 +0000
        !          14110: 
        !          14111:     New version of flex needs argument separated.
        !          14112: 
        !          14113: commit 8411a37e7dc72a5fd2e4fb68d1c557dc89253973
        !          14114: Author: Martin Mares <mj@ucw.cz>
        !          14115: Date:   Wed Jun 20 07:33:26 2007 +0000
        !          14116: 
        !          14117:     Detach from the TTY properly.
        !          14118: 
        !          14119: commit 4b1cf69e765b19ebc0cb988be08910c156c76376
        !          14120: Author: Ondrej Filip <feela@network.cz>
        !          14121: Date:   Wed Mar 16 16:09:28 2005 +0000
        !          14122: 
        !          14123:     Again back to regina.gin.cz.
        !          14124: 
        !          14125: commit c81b4ec36105ff036a7e2423936ab5773011fed1
        !          14126: Author: Ondrej Filip <feela@network.cz>
        !          14127: Date:   Wed Mar 16 16:08:40 2005 +0000
        !          14128: 
        !          14129:     Yes, we will go for 1.0.12
        !          14130: 
        !          14131: commit f39e3bfdbff318b3a889f42acfb589e9dfd34c2f
        !          14132: Author: Ondrej Filip <feela@network.cz>
        !          14133: Date:   Tue Mar 15 23:42:41 2005 +0000
        !          14134: 
        !          14135:     Small bugfix in tracing.
        !          14136: 
        !          14137: commit 94c42054ea65d10477afc76f221e3ac345a431eb
        !          14138: Author: Ondrej Filip <feela@network.cz>
        !          14139: Date:   Tue Mar 15 22:06:36 2005 +0000
        !          14140: 
        !          14141:     Added new parametr 'rx buffer <num>'. BIRD is able to receive
        !          14142:     very large packets (if configured).
        !          14143: 
        !          14144: commit e6ea2e375e4c547ca1b6fc9c313c2b7940acbd77
        !          14145: Author: Ondrej Filip <feela@network.cz>
        !          14146: Date:   Tue Mar 15 20:51:33 2005 +0000
        !          14147: 
        !          14148:     Maximal packet size in virtual links is 576.
        !          14149: 
        !          14150: commit e300066d5f66b8bd1d5561d63c10a8fbdce3ba8e
        !          14151: Author: Ondrej Filip <feela@network.cz>
        !          14152: Date:   Mon Mar 14 11:24:56 2005 +0000
        !          14153: 
        !          14154:     OSPF can accept larger packets than MTU.
        !          14155: 
        !          14156: commit 427e59939bc72c79f1566167b337927b14cb1715
        !          14157: Author: Ondrej Filip <feela@network.cz>
        !          14158: Date:   Mon Mar 14 11:07:10 2005 +0000
        !          14159: 
        !          14160:     Look for large packets.
        !          14161: 
        !          14162: commit a2d5b405d41c212993e47d47607df3b708254c97
        !          14163: Author: Ondrej Filip <feela@network.cz>
        !          14164: Date:   Mon Mar 14 10:59:52 2005 +0000
        !          14165: 
        !          14166:     Bugfix in external routes calculation.
        !          14167: 
        !          14168: commit f735de0290ce9a8f119f3d72bdde5a16dafe27ad
        !          14169: Author: Ondrej Filip <feela@network.cz>
        !          14170: Date:   Mon Feb 21 14:06:22 2005 +0000
        !          14171: 
        !          14172:     Small typos in documentation.
        !          14173: 
        !          14174: commit 129e912924b7726166b9ff5925a9dff84ee511f9
        !          14175: Author: Ondrej Filip <feela@network.cz>
        !          14176: Date:   Mon Feb 21 10:22:57 2005 +0000
        !          14177: 
        !          14178:     Ftp server change.
        !          14179: 
        !          14180: commit 89478fe3ab6d07b824adbd4c8ed997ccaca5c7b4
        !          14181: Author: Ondrej Filip <feela@network.cz>
        !          14182: Date:   Mon Feb 21 10:04:37 2005 +0000
        !          14183: 
        !          14184:     Change of ftp servers.
        !          14185: 
        !          14186: commit 39fc85b4c63582b56c4f96de49d0c6aad03c4086
        !          14187: Author: Ondrej Filip <feela@network.cz>
        !          14188: Date:   Sun Feb 20 19:03:34 2005 +0000
        !          14189: 
        !          14190:     Unused code deleted.
        !          14191: 
        !          14192: commit 63ca37f3139505a1881bf2c343f18d4ed8e22ce4
        !          14193: Author: Ondrej Filip <feela@network.cz>
        !          14194: Date:   Sun Feb 20 18:56:06 2005 +0000
        !          14195: 
        !          14196:     Cleanup - all unused variables deleted.
        !          14197: 
        !          14198: commit efc9e1b78b9332a0a8dfce31f1ef8efc82edc63d
        !          14199: Author: Ondrej Filip <feela@network.cz>
        !          14200: Date:   Sun Feb 20 17:04:00 2005 +0000
        !          14201: 
        !          14202:     Some tasks are fulfilled. :-)
        !          14203: 
        !          14204: commit 52d61a84989cc40140e7e8b5fc294ac48d4e0245
        !          14205: Author: Ondrej Filip <feela@network.cz>
        !          14206: Date:   Sun Feb 20 16:54:09 2005 +0000
        !          14207: 
        !          14208:     Intelligent reconfiguration should work again.
        !          14209: 
        !          14210: commit dafaef9ba9e7b46b9ff42b2cb75954a86f920951
        !          14211: Author: Ondrej Filip <feela@network.cz>
        !          14212: Date:   Sun Feb 20 16:53:06 2005 +0000
        !          14213: 
        !          14214:     Originate default route into stub areas.
        !          14215: 
        !          14216: commit 028a4cfc02f425de34323082d800a39b7bbc51de
        !          14217: Author: Ondrej Filip <feela@network.cz>
        !          14218: Date:   Sun Feb 20 04:28:55 2005 +0000
        !          14219: 
        !          14220:     Let's go for 1.0.11.
        !          14221: 
        !          14222: commit d8c7d9e8846f025e42227c64e992a3a52ca7dfb4
        !          14223: Author: Ondrej Filip <feela@network.cz>
        !          14224: Date:   Sun Feb 20 04:27:56 2005 +0000
        !          14225: 
        !          14226:     Since now I can also use 'dead interval', not just 'dead counter'.
        !          14227: 
        !          14228: commit 7de7470a2a6c649ce4d4ce52146e84e6638ebf58
        !          14229: Author: Ondrej Filip <feela@network.cz>
        !          14230: Date:   Sun Feb 20 03:37:47 2005 +0000
        !          14231: 
        !          14232:     Bugfix - count courrectly next hop on single hop virtual link.
        !          14233: 
        !          14234: commit 6eb4b73fe829cf5da56d8990c33e5c7edaa19d77
        !          14235: Author: Ondrej Filip <feela@network.cz>
        !          14236: Date:   Sun Feb 20 03:30:44 2005 +0000
        !          14237: 
        !          14238:     Time of neighbor's dead was not shown correctly.
        !          14239: 
        !          14240: commit 5506c82ce6123f70220f2d84ff21269bb832bfac
        !          14241: Author: Ondrej Filip <feela@network.cz>
        !          14242: Date:   Fri Feb 18 19:36:32 2005 +0000
        !          14243: 
        !          14244:     Bugfix in previous bugfix.
        !          14245: 
        !          14246: commit 60e04f041303fdafd0abf0dec003a9745345c68a
        !          14247: Author: Ondrej Filip <feela@network.cz>
        !          14248: Date:   Fri Feb 18 18:51:42 2005 +0000
        !          14249: 
        !          14250:     Minor bugfix: Summary LSA for aggregated area was always propagated with
        !          14251:     metric = 1. Now it's metric of most distant component.
        !          14252: 
        !          14253: commit 27a1e3ac35bd3f6a9b5161eafb5b8178162a37f8
        !          14254: Author: Ondrej Filip <feela@network.cz>
        !          14255: Date:   Tue Feb 15 16:17:42 2005 +0000
        !          14256: 
        !          14257:     Minor bugfixes in routing table calsulation.
        !          14258: 
        !          14259: commit 8ffc753441cd58acf46783de335062ed9af7a12e
        !          14260: Author: Ondrej Filip <feela@network.cz>
        !          14261: Date:   Tue Feb 15 06:32:31 2005 +0000
        !          14262: 
        !          14263:     Minor changes to keep gcc happy.
        !          14264: 
        !          14265: commit c025b85273178bc7c129bf54e420a91c775a9340
        !          14266: Author: Ondrej Filip <feela@network.cz>
        !          14267: Date:   Mon Feb 14 23:15:04 2005 +0000
        !          14268: 
        !          14269:     Real write is only in sk_maybe_write. Previous change partially reverted.
        !          14270:     Thank you MJ.
        !          14271: 
        !          14272: commit 2eef9e887ad82976476ea81aa3a25d97c3956b87
        !          14273: Author: Ondrej Filip <feela@network.cz>
        !          14274: Date:   Mon Feb 14 21:34:46 2005 +0000
        !          14275: 
        !          14276:     Be more verbose in log.
        !          14277: 
        !          14278: commit 7c49f715593ad7bbe0a4fb86284e2023f7b65bc1
        !          14279: Author: Ondrej Filip <feela@network.cz>
        !          14280: Date:   Mon Feb 14 21:28:51 2005 +0000
        !          14281: 
        !          14282:     Added s->err_hook wrapper that empties socket.
        !          14283: 
        !          14284: commit 030d3b387edae4a30fb524ed839be020b7b8df8e
        !          14285: Author: Ondrej Filip <feela@network.cz>
        !          14286: Date:   Mon Feb 14 11:58:46 2005 +0000
        !          14287: 
        !          14288:     Small changed to reduce the number of warnings.
        !          14289: 
        !          14290: commit b181f444a6538b03a02296f02928e3c131b251a6
        !          14291: Author: Ondrej Filip <feela@network.cz>
        !          14292: Date:   Mon Feb 14 11:54:16 2005 +0000
        !          14293: 
        !          14294:     Small changes to reduce number of warnings.
        !          14295: 
        !          14296: commit 75c1c585197f2b4a1b0295d36fe16a4869c21914
        !          14297: Author: Ondrej Filip <feela@network.cz>
        !          14298: Date:   Mon Feb 14 11:37:40 2005 +0000
        !          14299: 
        !          14300:     Yes, I'd like to go to 1.0.10
        !          14301: 
        !          14302: commit 5d3f555234d7144272e3081665411d098280d5ad
        !          14303: Author: Ondrej Filip <feela@network.cz>
        !          14304: Date:   Sun Feb 13 23:36:31 2005 +0000
        !          14305: 
        !          14306:     Many bugfixes in routing table calculation and summary LSA origination.
        !          14307: 
        !          14308: commit 0d3effcf8ca3784c36ce6229343ddfd754e405dc
        !          14309: Author: Ondrej Filip <feela@network.cz>
        !          14310: Date:   Sat Feb 12 22:27:55 2005 +0000
        !          14311: 
        !          14312:     Time added in password management.
        !          14313: 
        !          14314: commit 89ba9a18068dc83557e03c58bf280f4dc203271d
        !          14315: Author: Ondrej Filip <feela@network.cz>
        !          14316: Date:   Sat Feb 12 22:22:18 2005 +0000
        !          14317: 
        !          14318:     Bugfix in inter-area route calculation and summary LSA origination.
        !          14319:     Bugfix of some debugging commands.
        !          14320: 
        !          14321: commit bae7c43ff35482807654519253b1daa0a6518951
        !          14322: Author: Ondrej Filip <feela@network.cz>
        !          14323: Date:   Sat Feb 12 22:19:46 2005 +0000
        !          14324: 
        !          14325:     Bugfix in password acceptance
        !          14326: 
        !          14327: commit 9912fa51c8dabbbdf068d271ee7bddfb4a8526ef
        !          14328: Author: Ondrej Filip <feela@network.cz>
        !          14329: Date:   Sat Feb 12 22:18:48 2005 +0000
        !          14330: 
        !          14331:     Bugfix - cost of interface can be larger than 0xffff
        !          14332: 
        !          14333: commit 4991756863538cc5168cc5f10b2599c84eafd8bf
        !          14334: Author: Ondrej Filip <feela@network.cz>
        !          14335: Date:   Wed Sep 15 19:33:01 2004 +0000
        !          14336: 
        !          14337:     Dont check netmask field on PTP links.
        !          14338: 
        !          14339: commit 8910351c76af983411e09e04aff86ea5d9940cf1
        !          14340: Author: Ondrej Filip <feela@network.cz>
        !          14341: Date:   Wed Sep 8 16:06:07 2004 +0000
        !          14342: 
        !          14343:     sort from GNU coreutils 5.2.1 doesn't accept the +- syntax
        !          14344:     anymore. Hopefully the -k syntax is supported by all other
        !          14345:     sort versions
        !          14346: 
        !          14347: commit c6dce04bed40959b331a5b79aadd11c3b34d4af5
        !          14348: Author: Ondrej Filip <feela@network.cz>
        !          14349: Date:   Wed Sep 8 16:04:02 2004 +0000
        !          14350: 
        !          14351:     Bugfix.
        !          14352: 
        !          14353: commit 27e3e5e0c95b068111bf00d7dceb473dc77a93f2
        !          14354: Author: Martin Mares <mj@ucw.cz>
        !          14355: Date:   Thu Aug 19 09:15:36 2004 +0000
        !          14356: 
        !          14357:     Do not forget to propagate LDFLAGS from configure. Allows static linking,
        !          14358:     among other things.
        !          14359: 
        !          14360: commit 7715f9d9edb2cd5a230424881b1d5ec4e842738a
        !          14361: Author: Ondrej Filip <feela@network.cz>
        !          14362: Date:   Tue Aug 10 17:47:32 2004 +0000
        !          14363: 
        !          14364:     Bugfix in config.y
        !          14365: 
        !          14366: commit 56e2a4b776b0d013f71bff9fbf8550442c11df91
        !          14367: Author: Ondrej Filip <feela@network.cz>
        !          14368: Date:   Thu Aug 5 18:06:30 2004 +0000
        !          14369: 
        !          14370:     Bugfix in OSPF - BIRD sometimes failed during rt calculation with VLINKs.
        !          14371: 
        !          14372: commit 6236beab1ec5ba61487c418119e01a933e1cacee
        !          14373: Author: Ondrej Filip <feela@network.cz>
        !          14374: Date:   Mon Aug 2 22:38:43 2004 +0000
        !          14375: 
        !          14376:     Some more TODOs for OSPF.
        !          14377: 
        !          14378: commit 8d94a524b637dbb1513c23daefa8411dcdc9a054
        !          14379: Author: Ondrej Filip <feela@network.cz>
        !          14380: Date:   Fri Jul 16 08:27:11 2004 +0000
        !          14381: 
        !          14382:     Added handling of STUB bool.
        !          14383: 
        !          14384: commit 73089070e6e5c94ffac2da4c9e267ae9bcda2164
        !          14385: Author: Ondrej Filip <feela@network.cz>
        !          14386: Date:   Fri Jul 16 08:01:32 2004 +0000
        !          14387: 
        !          14388:     Typo.
        !          14389: 
        !          14390: commit 002ecc063845243613eb1ff40c3aa2a46c7013a1
        !          14391: Author: Ondrej Filip <feela@network.cz>
        !          14392: Date:   Fri Jul 16 07:22:43 2004 +0000
        !          14393: 
        !          14394:     Bugfix - bird needed double ';' after rfc1583compat.
        !          14395: 
        !          14396: commit 4e9742bb597225d7cefc0ee08270f76db29b65f1
        !          14397: Author: Ondrej Filip <feela@network.cz>
        !          14398: Date:   Thu Jul 15 19:46:52 2004 +0000
        !          14399: 
        !          14400:     Added note about *BSD.
        !          14401: 
        !          14402: commit 6b68de07d9a4f1ad122e46dc40c6cdfd8b06ae4b
        !          14403: Author: Ondrej Filip <feela@network.cz>
        !          14404: Date:   Thu Jul 15 17:58:07 2004 +0000
        !          14405: 
        !          14406:     News update to 1.0.9.
        !          14407: 
        !          14408: commit 004cf4fc0ced85dba570173f372c51b1bf71dafe
        !          14409: Author: Ondrej Filip <feela@network.cz>
        !          14410: Date:   Thu Jul 15 17:28:13 2004 +0000
        !          14411: 
        !          14412:     Minor bugfix to compile bird in IPv6.
        !          14413: 
        !          14414: commit b37bb5ce03aed03d8b1bb0346f3277a93ff76da4
        !          14415: Author: Ondrej Filip <feela@network.cz>
        !          14416: Date:   Thu Jul 15 16:48:12 2004 +0000
        !          14417: 
        !          14418:     Minor bugfix - add interface routes.
        !          14419: 
        !          14420: commit 28e8d862b7952419e6050230cf154d244a5bae51
        !          14421: Author: Ondrej Filip <feela@network.cz>
        !          14422: Date:   Thu Jul 15 16:42:06 2004 +0000
        !          14423: 
        !          14424:     Minor bugfix in calculation of external routes.
        !          14425: 
        !          14426: commit 86c84d76b706e77ec5977a3c9e300b0fca9f6b10
        !          14427: Author: Ondrej Filip <feela@network.cz>
        !          14428: Date:   Thu Jul 15 16:37:52 2004 +0000
        !          14429: 
        !          14430:     Huge OSPF database redesign. Since now, all LSAs of all areas
        !          14431:     are in single database. This avoids duplication of external LSAs and
        !          14432:     fixes bug in external LSA distribution.
        !          14433: 
        !          14434: commit 777acf91bb0d8ca0f33f367ae5fa00f46dde5a9a
        !          14435: Author: Ondrej Filip <feela@network.cz>
        !          14436: Date:   Wed Jul 14 21:47:39 2004 +0000
        !          14437: 
        !          14438:     Everything is tested and works. I thins it's right time to go to 1.0.9.
        !          14439: 
        !          14440: commit 3b16080c97a2d89c90f7df7a8fda0401ec9abe42
        !          14441: Author: Ondrej Filip <feela@network.cz>
        !          14442: Date:   Wed Jul 14 21:46:20 2004 +0000
        !          14443: 
        !          14444:     Multiple OSPF areas can be attached.
        !          14445:     Origination of summary LSA works.
        !          14446:     Routing table calculation works.
        !          14447:     Virtual links works.
        !          14448:     
        !          14449:     Well, I hope, OSPF is fully compatible with RFC2328!!!!
        !          14450: 
        !          14451: commit a417ad13a117d2458702cbec4aa418ba99981611
        !          14452: Author: Ondrej Filip <feela@network.cz>
        !          14453: Date:   Tue Jul 13 23:42:14 2004 +0000
        !          14454: 
        !          14455:     Send hello just after interface is up.
        !          14456:     This makes the adjacency forming faster.
        !          14457:     Minor code clean up.
        !          14458: 
        !          14459: commit 897999c22a85499e4e8a476e27469201645012fb
        !          14460: Author: Ondrej Filip <feela@network.cz>
        !          14461: Date:   Tue Jul 13 23:31:37 2004 +0000
        !          14462: 
        !          14463:     Send hello as soon as possible after the interface is up.
        !          14464:     This helps to faster establish the adjacency.
        !          14465: 
        !          14466: commit 490767adfce6207012f54f004babcb2aef7f33f8
        !          14467: Author: Ondrej Filip <feela@network.cz>
        !          14468: Date:   Tue Jul 13 22:10:14 2004 +0000
        !          14469: 
        !          14470:     Add more reasonable options to LSAs. (But it seems, that it's ignored.)
        !          14471: 
        !          14472: commit fe1489e6c13a405b0c76c36213af4017dd4ea2ec
        !          14473: Author: Ondrej Filip <feela@network.cz>
        !          14474: Date:   Tue Jul 13 22:04:57 2004 +0000
        !          14475: 
        !          14476:     Bugfix: Router was unable to advertise AS external routes.
        !          14477: 
        !          14478: commit 62eee82321a9a0451eea9b41a478444ceb87ecb0
        !          14479: Author: Ondrej Filip <feela@network.cz>
        !          14480: Date:   Tue Jul 13 21:27:33 2004 +0000
        !          14481: 
        !          14482:     Default tick = 1. The today's CPU is fast enough.
        !          14483: 
        !          14484: commit 35fdf4b6a2c3d8ad11be3a7d2525d653237fa3bf
        !          14485: Author: Ondrej Filip <feela@network.cz>
        !          14486: Date:   Tue Jul 13 21:22:32 2004 +0000
        !          14487: 
        !          14488:     Don't inform us about every ospf_age()
        !          14489: 
        !          14490: commit 16c2d48d8fe10521fd493886cf245c75d843fc69
        !          14491: Author: Ondrej Filip <feela@network.cz>
        !          14492: Date:   Tue Jul 13 20:53:56 2004 +0000
        !          14493: 
        !          14494:     Bugfix - RIP now updates routes with worse metric.
        !          14495: 
        !          14496: commit bc956fcab678f591137cba2a0ebe80c0812437db
        !          14497: Author: Ondrej Filip <feela@network.cz>
        !          14498: Date:   Tue Jul 13 14:46:14 2004 +0000
        !          14499: 
        !          14500:     MD5 authentication in OSPF works. :-)
        !          14501: 
        !          14502: commit 32d3228d864cb6af8c679a7742f4b0a71c2facc0
        !          14503: Author: Ondrej Filip <feela@network.cz>
        !          14504: Date:   Tue Jul 13 13:52:54 2004 +0000
        !          14505: 
        !          14506:     Bugfix in simple authentification.
        !          14507: 
        !          14508: commit 12dd8dc8779c13889a6860b769df7e0d68e7764c
        !          14509: Author: Ondrej Filip <feela@network.cz>
        !          14510: Date:   Tue Jul 13 12:21:24 2004 +0000
        !          14511: 
        !          14512:     Bugfix - nasty bug in router LSA origination - Router did not describe all interfaces.
        !          14513: 
        !          14514: commit 621ccdfe5acd2889956ec0f8e96b812acd09f168
        !          14515: Author: Ondrej Filip <feela@network.cz>
        !          14516: Date:   Tue Jul 13 11:58:50 2004 +0000
        !          14517: 
        !          14518:     Bugfix - options bits were not included in LSAs
        !          14519:     Bugfix - E bit was not unset on stub areas.
        !          14520: 
        !          14521: commit 9baece57d308d9e0d8eaab9d068471e1884817b8
        !          14522: Author: Ondrej Filip <feela@network.cz>
        !          14523: Date:   Thu Jul 8 16:56:49 2004 +0000
        !          14524: 
        !          14525:     Syntax bugfix.
        !          14526: 
        !          14527: commit 69b27ed6fd7794d36852764319e4dad19d4b6f87
        !          14528: Author: Ondrej Filip <feela@network.cz>
        !          14529: Date:   Thu Jul 1 15:01:44 2004 +0000
        !          14530: 
        !          14531:     Length calculation bugfix.
        !          14532: 
        !          14533: commit 02ad2737fd24573d870a5009a624c9b3c49aa176
        !          14534: Author: Ondrej Filip <feela@network.cz>
        !          14535: Date:   Thu Jul 1 15:01:26 2004 +0000
        !          14536: 
        !          14537:     Password WALK_LIST bugfix.
        !          14538: 
        !          14539: commit bc4ea680cea9eca46cd2c5f41db91c3014f90167
        !          14540: Author: Ondrej Filip <feela@network.cz>
        !          14541: Date:   Thu Jul 1 15:01:04 2004 +0000
        !          14542: 
        !          14543:     Hello reading bugfix.
        !          14544: 
        !          14545: commit ea357b8b6de387a55930a3fc831b8ccbcef24582
        !          14546: Author: Ondrej Filip <feela@network.cz>
        !          14547: Date:   Sat Jun 26 22:52:39 2004 +0000
        !          14548: 
        !          14549:     Update of the documentation. (passwords and md5).
        !          14550:     Option for md5 auth in config.
        !          14551: 
        !          14552: commit 3e2bd0f17aab3d2bd460d5f7aef4d3bc152ea1ab
        !          14553: Author: Ondrej Filip <feela@network.cz>
        !          14554: Date:   Sat Jun 26 20:15:34 2004 +0000
        !          14555: 
        !          14556:     Md5 authentification added (unsested).
        !          14557:     Packet receiving clean up.
        !          14558: 
        !          14559: commit 5236fb03afecd3d7a6ec6e96712c79a31be32132
        !          14560: Author: Ondrej Filip <feela@network.cz>
        !          14561: Date:   Sat Jun 26 20:11:14 2004 +0000
        !          14562: 
        !          14563:     Password management redesigned (untested).
        !          14564: 
        !          14565: commit 98ac61766d81d9f20c4a7c7e12859c3b82b24f4c
        !          14566: Author: Ondrej Filip <feela@network.cz>
        !          14567: Date:   Fri Jun 25 16:39:53 2004 +0000
        !          14568: 
        !          14569:     A lot of changes:
        !          14570:        - metric is 3 byte long now
        !          14571:        - summary lsa originating
        !          14572:        - more OSPF areas possible
        !          14573:        - virtual links
        !          14574:        - better E1/E2 routes handling
        !          14575:        - some bug fixes..
        !          14576:     
        !          14577:     I have to do:
        !          14578:        - md5 auth (last mandatory item from rfc2328)
        !          14579:        - !!!!DEBUG!!!!! (mainly virtual link system has probably a lot of bugs)
        !          14580:        - 2328 appendig E
        !          14581: 
        !          14582: commit 5ed68e46d781f8a14d3ef3ffd7fe3afc4a62260e
        !          14583: Author: Ondrej Filip <feela@network.cz>
        !          14584: Date:   Wed Jun 23 23:59:48 2004 +0000
        !          14585: 
        !          14586:     Small typo changes.
        !          14587: 
        !          14588: commit 973cf09c3b311691d063a00f52be7e9b8bdec376
        !          14589: Author: Ondrej Filip <feela@network.cz>
        !          14590: Date:   Wed Jun 23 21:36:55 2004 +0000
        !          14591: 
        !          14592:     Hotfix to problem with metric change reported by Luca.
        !          14593: 
        !          14594: commit 3fe5f8990764b33cc0245317e90fbbcd0cde84de
        !          14595: Author: Ondrej Filip <feela@network.cz>
        !          14596: Date:   Wed Jun 23 21:34:26 2004 +0000
        !          14597: 
        !          14598:     P->magic used just in LOCAL_DEBUG mode
        !          14599: 
        !          14600: commit 09e4117cc19dd94efbdad6edde9bc7d715a58a9a
        !          14601: Author: Ondrej Filip <feela@network.cz>
        !          14602: Date:   Fri Jun 18 12:54:53 2004 +0000
        !          14603: 
        !          14604:     sk_write bugfix for BSD.
        !          14605: 
        !          14606: commit b4d8a0c280d34e6164a88d0e2f9ebf16fd5a1d68
        !          14607: Author: Ondrej Filip <feela@network.cz>
        !          14608: Date:   Wed Jun 16 23:01:49 2004 +0000
        !          14609: 
        !          14610:     Some cisco routers send shorter ospf messages in larger packets.
        !          14611:     Well it's strange, but, actually it's correct.
        !          14612: 
        !          14613: commit 1a61882d370e6aef99ebc11d6bbc4e9dc48c6b95
        !          14614: Author: Ondrej Filip <feela@network.cz>
        !          14615: Date:   Fri Jun 11 09:36:50 2004 +0000
        !          14616: 
        !          14617:     Better routing table calculation. We are ready to work with
        !          14618:     multiple OSPF areas.
        !          14619: 
        !          14620: commit b1f7229ad7d0b10fcc1fde6645c8b8ebbb3644a6
        !          14621: Author: Ondrej Filip <feela@network.cz>
        !          14622: Date:   Fri Jun 11 09:34:48 2004 +0000
        !          14623: 
        !          14624:     Better adjacency building, some minor bugfixes.
        !          14625: 
        !          14626: commit 9a4b87905d727a518af04c16b8d7b603404098b7
        !          14627: Author: Ondrej Filip <feela@network.cz>
        !          14628: Date:   Fri Jun 11 09:06:08 2004 +0000
        !          14629: 
        !          14630:     Deleted RTS_OSPF_BOUNDARY
        !          14631: 
        !          14632: commit 8bf684eca2de6ffd9ba797cad485e36db0b9548f
        !          14633: Author: Ondrej Filip <feela@network.cz>
        !          14634: Date:   Fri Jun 11 09:05:06 2004 +0000
        !          14635: 
        !          14636:     RTS_OSPF_BONDARY is nonsense, RTS_OSPF_IA must have smaller id than RTS_OSPF_EXT
        !          14637: 
        !          14638: commit 7df86c25fc6c871795265faebe02bf4dcecdd190
        !          14639: Author: Ondrej Filip <feela@network.cz>
        !          14640: Date:   Wed Jun 9 12:39:49 2004 +0000
        !          14641: 
        !          14642:     Better checking of configuration.
        !          14643: 
        !          14644: commit b7e9c74cba36ed6932dbc30a4b9b0b9f9a06dba5
        !          14645: Author: Ondrej Filip <feela@network.cz>
        !          14646: Date:   Mon Jun 7 16:51:23 2004 +0000
        !          14647: 
        !          14648:     Used parameter can be marked as unused. :-) Thanx MJ.
        !          14649: 
        !          14650: commit e02652a7d2e1f9bb599dbf9fa5862f03f4188efa
        !          14651: Author: Ondrej Filip <feela@network.cz>
        !          14652: Date:   Mon Jun 7 16:42:48 2004 +0000
        !          14653: 
        !          14654:     Bugfix in RT calculation.
        !          14655: 
        !          14656: commit 6721e2862bf69d3af7dd643cd9f442b76e134d5b
        !          14657: Author: Ondrej Filip <feela@network.cz>
        !          14658: Date:   Mon Jun 7 14:38:35 2004 +0000
        !          14659: 
        !          14660:     Build and run both IPv4 and IPv6.
        !          14661: 
        !          14662: commit ff61673427370c71d0a5f2d0d838f00ff46bbda1
        !          14663: Author: Ondrej Filip <feela@network.cz>
        !          14664: Date:   Mon Jun 7 14:37:29 2004 +0000
        !          14665: 
        !          14666:     Delete automate*cache.
        !          14667: 
        !          14668: commit bf1b1b605b26202466f58b0572db5918acf8cf22
        !          14669: Author: Ondrej Filip <feela@network.cz>
        !          14670: Date:   Mon Jun 7 13:07:12 2004 +0000
        !          14671: 
        !          14672:     Let's go for release.
        !          14673: 
        !          14674: commit 541cbe97633281b273ade8045b77834a5b6a1db4
        !          14675: Author: Ondrej Filip <feela@network.cz>
        !          14676: Date:   Mon Jun 7 12:52:32 2004 +0000
        !          14677: 
        !          14678:     It was too verbose.
        !          14679: 
        !          14680: commit c90ac711bc5d1989dcb093088c74d062b43e9914
        !          14681: Author: Ondrej Filip <feela@network.cz>
        !          14682: Date:   Mon Jun 7 10:42:24 2004 +0000
        !          14683: 
        !          14684:     Cleanup in show route import <p>.
        !          14685: 
        !          14686: commit 282997f21e6d40c840433128b198a19e9fdf41fb
        !          14687: Author: Ondrej Filip <feela@network.cz>
        !          14688: Date:   Mon Jun 7 10:00:29 2004 +0000
        !          14689: 
        !          14690:     Some new warnings eliminated.
        !          14691: 
        !          14692: commit 19d9e3033661b49cd4e4771166c45db2f1f24805
        !          14693: Author: Ondrej Filip <feela@network.cz>
        !          14694: Date:   Mon Jun 7 09:52:15 2004 +0000
        !          14695: 
        !          14696:     Marked unused parameters as unused.
        !          14697: 
        !          14698: commit fb257e43fc23f9e0455444ef67c4be0dae22a713
        !          14699: Author: Ondrej Filip <feela@network.cz>
        !          14700: Date:   Mon Jun 7 09:09:14 2004 +0000
        !          14701: 
        !          14702:     Deleted some unused code.
        !          14703: 
        !          14704: commit 5e3436d20ffdd95a164ffcb82f584fad76fb94e7
        !          14705: Author: Ondrej Filip <feela@network.cz>
        !          14706: Date:   Sun Jun 6 19:53:52 2004 +0000
        !          14707: 
        !          14708:     Cleanup in packet.c. Deleted unused parameters.
        !          14709: 
        !          14710: commit d5d9693ce90c190ca7358b4ac71b9d034603a3ae
        !          14711: Author: Ondrej Filip <feela@network.cz>
        !          14712: Date:   Sun Jun 6 18:45:08 2004 +0000
        !          14713: 
        !          14714:     Deleted unused parameters.
        !          14715: 
        !          14716: commit e677d04aeb19e26da30e6a3ae94ad6e183d7af8e
        !          14717: Author: Ondrej Filip <feela@network.cz>
        !          14718: Date:   Sun Jun 6 17:20:16 2004 +0000
        !          14719: 
        !          14720:     RPM is now able to build IPv4 and IPv6 bird.
        !          14721: 
        !          14722: commit 41c8976e29bbf2986b063d1a8c5c8b386fae500e
        !          14723: Author: Ondrej Filip <feela@network.cz>
        !          14724: Date:   Sun Jun 6 17:05:25 2004 +0000
        !          14725: 
        !          14726:     Test old instance of BIRD.
        !          14727: 
        !          14728: commit cd09226078471cf9a2db4e755fbd5f6f137137c9
        !          14729: Author: Ondrej Filip <feela@network.cz>
        !          14730: Date:   Sun Jun 6 17:03:56 2004 +0000
        !          14731: 
        !          14732:     Be sure, that ospf_area is aged before routing table calculation.
        !          14733: 
        !          14734: commit 933bfdde2a0bc4e31e74a3f9e03174b0287c03fb
        !          14735: Author: Ondrej Filip <feela@network.cz>
        !          14736: Date:   Sun Jun 6 16:14:57 2004 +0000
        !          14737: 
        !          14738:     Keep al lSAs invalidated.
        !          14739: 
        !          14740: commit 54a2178fd4c16189e7e0140c0a885b2cd6d2025e
        !          14741: Author: Ondrej Filip <feela@network.cz>
        !          14742: Date:   Sun Jun 6 16:05:14 2004 +0000
        !          14743: 
        !          14744:     TODO updated.
        !          14745: 
        !          14746: commit b8f17cf1923ff5894b6689479f7fb7d008b8ce44
        !          14747: Author: Ondrej Filip <feela@network.cz>
        !          14748: Date:   Sun Jun 6 16:00:09 2004 +0000
        !          14749: 
        !          14750:     Small cleanup, indentation and preparation for multiple areas routing table calculation.
        !          14751: 
        !          14752: commit d631698ec8a63270f7ca9bc069508d1313a08f92
        !          14753: Author: Ondrej Filip <feela@network.cz>
        !          14754: Date:   Sun Jun 6 14:27:11 2004 +0000
        !          14755: 
        !          14756:     Indentation.
        !          14757: 
        !          14758: commit d8d553cadfecab2a2f3d8a69624b5a743bd97ce3
        !          14759: Author: Ondrej Filip <feela@network.cz>
        !          14760: Date:   Sun Jun 6 14:25:55 2004 +0000
        !          14761: 
        !          14762:     This warning is stupid.
        !          14763: 
        !          14764: commit 2e10a170fe70e405b5d6cb2cb53cd9a15de25b73
        !          14765: Author: Ondrej Filip <feela@network.cz>
        !          14766: Date:   Sun Jun 6 09:37:54 2004 +0000
        !          14767: 
        !          14768:     Indentation.
        !          14769: 
        !          14770: commit 66261211a9c9abd5e1591f0875d16da1e3975fcb
        !          14771: Author: Ondrej Filip <feela@network.cz>
        !          14772: Date:   Sun Jun 6 09:13:37 2004 +0000
        !          14773: 
        !          14774:     Struct area_net changed.
        !          14775: 
        !          14776: commit b9ed99f738c10c0576a9ab8a70b028a92d0d74a7
        !          14777: Author: Ondrej Filip <feela@network.cz>
        !          14778: Date:   Sun Jun 6 08:55:33 2004 +0000
        !          14779: 
        !          14780:     Cleanup in iface.c
        !          14781: 
        !          14782: commit a5918961f3a62c55857f811f712f861fa3d35d4f
        !          14783: Author: Ondrej Filip <feela@network.cz>
        !          14784: Date:   Sun Jun 6 08:12:42 2004 +0000
        !          14785: 
        !          14786:     Be more verbose in troubles.
        !          14787: 
        !          14788: commit 66004c91a89479abd3df89404afff62c5d60d4c3
        !          14789: Author: Ondrej Filip <feela@network.cz>
        !          14790: Date:   Sat Jun 5 15:02:52 2004 +0000
        !          14791: 
        !          14792:     Set size of the buffers. (Thanx MJ.)
        !          14793: 
        !          14794: commit 9831e5916f6956377739f948869d377b091f5c92
        !          14795: Author: Martin Mares <mj@ucw.cz>
        !          14796: Date:   Sat Jun 5 09:58:23 2004 +0000
        !          14797: 
        !          14798:     Staticized lots of local functions.
        !          14799: 
        !          14800: commit 598b984d1f04ea71fc04bc89f390f230a3960680
        !          14801: Author: Martin Mares <mj@ucw.cz>
        !          14802: Date:   Sat Jun 5 09:58:06 2004 +0000
        !          14803: 
        !          14804:     One less unused variable.
        !          14805: 
        !          14806: commit 2f6de49f8c4d9c7ebd12554d386037e5b063beda
        !          14807: Author: Martin Mares <mj@ucw.cz>
        !          14808: Date:   Sat Jun 5 09:57:49 2004 +0000
        !          14809: 
        !          14810:     Better prototypes.
        !          14811: 
        !          14812: commit 54c411f6afeafb88649c565d252ab0245266eeee
        !          14813: Author: Martin Mares <mj@ucw.cz>
        !          14814: Date:   Sat Jun 5 09:57:35 2004 +0000
        !          14815: 
        !          14816:     Add more warnings if --enable-warnings is turned on. (probably requires
        !          14817:     gcc-3.0 or newer, but I hope it's OK)
        !          14818: 
        !          14819: commit 189dab54a211d2d92148d2aae7130df3a080e7c8
        !          14820: Author: Martin Mares <mj@ucw.cz>
        !          14821: Date:   Sat Jun 5 09:29:38 2004 +0000
        !          14822: 
        !          14823:     `defaut' should be `default'.
        !          14824: 
        !          14825: commit 1512813e95a7edd2fad2834221dc1cb79aab6406
        !          14826: Author: Martin Mares <mj@ucw.cz>
        !          14827: Date:   Sat Jun 5 09:28:17 2004 +0000
        !          14828: 
        !          14829:     ... and a whole bunch of unused parameters and variables in ospf.
        !          14830: 
        !          14831: commit c91fc9b6064e988e7526ecedd6b9e25f0204c4b7
        !          14832: Author: Martin Mares <mj@ucw.cz>
        !          14833: Date:   Sat Jun 5 09:27:49 2004 +0000
        !          14834: 
        !          14835:     ... and in rip (there are even unused functions!).
        !          14836: 
        !          14837: commit 662faa4afc4d2f29bb884d0c7ad0aca9fc7de7c9
        !          14838: Author: Martin Mares <mj@ucw.cz>
        !          14839: Date:   Sat Jun 5 09:27:35 2004 +0000
        !          14840: 
        !          14841:     ... in pipe.
        !          14842: 
        !          14843: commit e21423bab8a7cfc1cf5d13ab77ebebfae8ce156e
        !          14844: Author: Martin Mares <mj@ucw.cz>
        !          14845: Date:   Sat Jun 5 09:27:17 2004 +0000
        !          14846: 
        !          14847:     ... in BGP.
        !          14848: 
        !          14849: commit fab37e81971a08b550c6d63ff11f0bf34f0a9aa2
        !          14850: Author: Martin Mares <mj@ucw.cz>
        !          14851: Date:   Sat Jun 5 09:27:02 2004 +0000
        !          14852: 
        !          14853:     One more in the library.
        !          14854: 
        !          14855: commit 6ecd20605c62e91069ecd014374836d8392ae948
        !          14856: Author: Martin Mares <mj@ucw.cz>
        !          14857: Date:   Sat Jun 5 09:26:55 2004 +0000
        !          14858: 
        !          14859:     ... and in the filter.
        !          14860: 
        !          14861: commit d7390312d4e322e0dac3fefddd6033cb255933a4
        !          14862: Author: Martin Mares <mj@ucw.cz>
        !          14863: Date:   Sat Jun 5 09:26:48 2004 +0000
        !          14864: 
        !          14865:     Unused parameters in the client.
        !          14866: 
        !          14867: commit 6578a60493f9dbf83d6485ac99635094bef2af7d
        !          14868: Author: Martin Mares <mj@ucw.cz>
        !          14869: Date:   Sat Jun 5 09:11:07 2004 +0000
        !          14870: 
        !          14871:     Marked unused parameters in sysdep code as such.
        !          14872: 
        !          14873: commit 7c103b1ee17a274fa062fcf4b14234b48db8123a
        !          14874: Author: Martin Mares <mj@ucw.cz>
        !          14875: Date:   Sat Jun 5 09:10:56 2004 +0000
        !          14876: 
        !          14877:     Marked unused parameters in core code as such.
        !          14878: 
        !          14879: commit e98bc2ea9b957287e78bc51e3293fc48a49c26b2
        !          14880: Author: Martin Mares <mj@ucw.cz>
        !          14881: Date:   Sat Jun 5 09:05:12 2004 +0000
        !          14882: 
        !          14883:     Renamed log() to log_msg(), but still keeping the old name as a macro.
        !          14884:     This is done to avoid clashes with gcc-3.3 which has built-in logarithms :)
        !          14885: 
        !          14886: commit 5da8f82feb14512725e09664f6db96f03e3ece8f
        !          14887: Author: Martin Mares <mj@ucw.cz>
        !          14888: Date:   Sat Jun 5 09:01:12 2004 +0000
        !          14889: 
        !          14890:     A better comment.
        !          14891: 
        !          14892: commit c33d4cad9fbfb0b2a4b3ee699943d9955bcd9e3e
        !          14893: Author: Martin Mares <mj@ucw.cz>
        !          14894: Date:   Sat Jun 5 08:59:17 2004 +0000
        !          14895: 
        !          14896:     Moved the tests for socket existence here.
        !          14897:     
        !          14898:     BTW, where do you exactly set the new buffer sizes?
        !          14899: 
        !          14900: commit 4da25acb0ab964826f133025493a9b80d8bef509
        !          14901: Author: Martin Mares <mj@ucw.cz>
        !          14902: Date:   Sat Jun 5 08:56:43 2004 +0000
        !          14903: 
        !          14904:     Cleaned up sk_reallocate() and friends.
        !          14905:     Also, removed the `if (s)' test, because I believe that as the whole
        !          14906:     socket interface doesn't accent NULL pointers, sk_reallocate() shouldn't
        !          14907:     be the only exception.
        !          14908: 
        !          14909: commit c6bdc78befaf5ae9e5e3c58a8df1301d5cafd4e7
        !          14910: Author: Ondrej Filip <feela@network.cz>
        !          14911: Date:   Fri Jun 4 21:19:47 2004 +0000
        !          14912: 
        !          14913:     Be more verbose.
        !          14914: 
        !          14915: commit 6f3203fabf30b0e5ca7d41b4550efbc5df0b421a
        !          14916: Author: Ondrej Filip <feela@network.cz>
        !          14917: Date:   Fri Jun 4 21:05:43 2004 +0000
        !          14918: 
        !          14919:     cleanup in lsupd.c, indenting, "struct proto" removed...
        !          14920: 
        !          14921: commit 9b7de4c4d13a5701aac446627672e65fce9e1a9d
        !          14922: Author: Ondrej Filip <feela@network.cz>
        !          14923: Date:   Fri Jun 4 20:41:02 2004 +0000
        !          14924: 
        !          14925:     'struct proto' removed
        !          14926:     Finally, I found the bug reported by Andreas Steinmetz. FIXED.
        !          14927: 
        !          14928: commit 54467ed46b31e29215e50d32b0a757998de29793
        !          14929: Author: Ondrej Filip <feela@network.cz>
        !          14930: Date:   Fri Jun 4 19:53:36 2004 +0000
        !          14931: 
        !          14932:     Useless logs removed.
        !          14933: 
        !          14934: commit 551e30886d7ed156d3fe98cc9562ffa2c22e4ce3
        !          14935: Author: Ondrej Filip <feela@network.cz>
        !          14936: Date:   Fri Jun 4 19:21:19 2004 +0000
        !          14937: 
        !          14938:     Bugfix in last patch.
        !          14939: 
        !          14940: commit e7ef86a58cc5393ba764606b0ee6d760e6164f0c
        !          14941: Author: Ondrej Filip <feela@network.cz>
        !          14942: Date:   Fri Jun 4 18:51:29 2004 +0000
        !          14943: 
        !          14944:     OSPF is ready for changing MTU.
        !          14945: 
        !          14946: commit f158bb710b8be65b626f54399c8a5db8df9bd7b6
        !          14947: Author: Ondrej Filip <feela@network.cz>
        !          14948: Date:   Fri Jun 4 18:24:15 2004 +0000
        !          14949: 
        !          14950:     no comment
        !          14951: 
        !          14952: commit 12bed559ffaccc7093188722899e4ac85521777e
        !          14953: Author: Ondrej Filip <feela@network.cz>
        !          14954: Date:   Fri Jun 4 17:49:25 2004 +0000
        !          14955: 
        !          14956:     dbdes indent an minor changes.
        !          14957: 
        !          14958: commit 85305e5d8f7137dc5ce4572d72e80ad186792b37
        !          14959: Author: Ondrej Filip <feela@network.cz>
        !          14960: Date:   Fri Jun 4 17:32:38 2004 +0000
        !          14961: 
        !          14962:     typo in README
        !          14963: 
        !          14964: commit 874654076a9e3d2c36a248b3d3a4066dff76276b
        !          14965: Author: Ondrej Filip <feela@network.cz>
        !          14966: Date:   Fri Jun 4 17:31:03 2004 +0000
        !          14967: 
        !          14968:     better log() usage.
        !          14969: 
        !          14970: commit 27f49a2c3c2a86b4822ff1980d751666ed8cee97
        !          14971: Author: Ondrej Filip <feela@network.cz>
        !          14972: Date:   Fri Jun 4 17:28:41 2004 +0000
        !          14973: 
        !          14974:     lsreq.c indented and small 'struct proto' changes.
        !          14975: 
        !          14976: commit 77539c4471d4b3f19347d2efc99680f815e1c78a
        !          14977: Author: Ondrej Filip <feela@network.cz>
        !          14978: Date:   Fri Jun 4 17:12:27 2004 +0000
        !          14979: 
        !          14980:     hello.* reindented, code cleanup.
        !          14981: 
        !          14982: commit 8e15e048f2e14dcdd9915860feace487e4ae07d5
        !          14983: Author: Ondrej Filip <feela@network.cz>
        !          14984: Date:   Fri Jun 4 17:05:24 2004 +0000
        !          14985: 
        !          14986:     Deleted useles "struct proto" sending.
        !          14987: 
        !          14988: commit 7a03e29d5c7ff07c907ed0d4c4f1c226eba5941d
        !          14989: Author: Ondrej Filip <feela@network.cz>
        !          14990: Date:   Fri Jun 4 16:56:54 2004 +0000
        !          14991: 
        !          14992:     Better log() usage.
        !          14993: 
        !          14994: commit fb9bf6888c75adb88e5a8818161b89b207cf1f9f
        !          14995: Author: Ondrej Filip <feela@network.cz>
        !          14996: Date:   Fri Jun 4 16:55:53 2004 +0000
        !          14997: 
        !          14998:     Indented. No other change.
        !          14999: 
        !          15000: commit c76ba51a5fc7d61e18213f99d9c09502af0bc192
        !          15001: Author: Ondrej Filip <feela@network.cz>
        !          15002: Date:   Fri Jun 4 16:30:04 2004 +0000
        !          15003: 
        !          15004:     lsack.c cleaned. Better names for functions and
        !          15005:     DIRECT acks can be sent in one packet now.
        !          15006: 
        !          15007: commit 28de5133ecdcb5b45dc251123047164fbb940e50
        !          15008: Author: Ondrej Filip <feela@network.cz>
        !          15009: Date:   Fri Jun 4 15:45:35 2004 +0000
        !          15010: 
        !          15011:     ackd_timer_hook moded to neighbor.c
        !          15012: 
        !          15013: commit d03e8ce00b8fea374bbc06a4eb5254e911557e83
        !          15014: Author: Ondrej Filip <feela@network.cz>
        !          15015: Date:   Fri Jun 4 15:26:46 2004 +0000
        !          15016: 
        !          15017:     Fatal bug found. Sometimes BIRD did not originate router LSA. FIXED. :-)
        !          15018: 
        !          15019: commit b90f9c526e553f1c30b9b177fc72c382ab333fc7
        !          15020: Author: Ondrej Filip <feela@network.cz>
        !          15021: Date:   Fri Jun 4 14:23:58 2004 +0000
        !          15022: 
        !          15023:     Initialize iterator on the right place.
        !          15024: 
        !          15025: commit 18b40a40726bf6ec03e496a068faa8d173c27dd8
        !          15026: Author: Ondrej Filip <feela@network.cz>
        !          15027: Date:   Fri Jun 4 14:23:21 2004 +0000
        !          15028: 
        !          15029:     This can happen now.
        !          15030: 
        !          15031: commit f9fdabe4f68685e6244e88524b2526958c56e44d
        !          15032: Author: Ondrej Filip <feela@network.cz>
        !          15033: Date:   Fri Jun 4 14:22:30 2004 +0000
        !          15034: 
        !          15035:     Small reversing of previous patch.
        !          15036: 
        !          15037: commit 3df1e80464ce5e6cea1b9a9500d1adbfe59cd564
        !          15038: Author: Ondrej Filip <feela@network.cz>
        !          15039: Date:   Fri Jun 4 14:21:08 2004 +0000
        !          15040: 
        !          15041:     Don't repeat "Sheduling rt calc....."
        !          15042: 
        !          15043: commit d6c28f3ada7d2da8e762a1ed8e4fb70dfce2ca6f
        !          15044: Author: Ondrej Filip <feela@network.cz>
        !          15045: Date:   Fri Jun 4 14:03:30 2004 +0000
        !          15046: 
        !          15047:     Code and comments cleanup.
        !          15048: 
        !          15049: commit 39e517d47c6070dd81bb7d6f57358ea98e462f03
        !          15050: Author: Ondrej Filip <feela@network.cz>
        !          15051: Date:   Fri Jun 4 12:53:10 2004 +0000
        !          15052: 
        !          15053:     hello.c and hello.h cleaned up. No design changes.
        !          15054: 
        !          15055: commit 591656cdd5b13a4626dfb26e45dd02690cdb450c
        !          15056: Author: Ondrej Filip <feela@network.cz>
        !          15057: Date:   Thu Jun 3 08:18:49 2004 +0000
        !          15058: 
        !          15059:     Added source addr for multicast socket.
        !          15060: 
        !          15061: commit 7d72aadb8acfac16e9b637e6ebb5ce288ebf1d77
        !          15062: Author: Ondrej Filip <feela@network.cz>
        !          15063: Date:   Thu Jun 3 08:18:14 2004 +0000
        !          15064: 
        !          15065:     CONFIG_SKIP_MC_BIND added.
        !          15066:     BSD hates it, Linux needs it.
        !          15067: 
        !          15068: commit cb4dd4e2f78f806438bfb8163b783ac7b2f43b2d
        !          15069: Author: Ondrej Filip <feela@network.cz>
        !          15070: Date:   Wed Jun 2 15:14:49 2004 +0000
        !          15071: 
        !          15072:     Deleted useless rfree. (Socked was freed by cli_free())
        !          15073: 
        !          15074: commit 9b133458891724da2fd22f2a16ae19376e225ca0
        !          15075: Author: Ondrej Filip <feela@network.cz>
        !          15076: Date:   Wed Jun 2 09:14:03 2004 +0000
        !          15077: 
        !          15078:     Hotfix for router's parent without nexthop.
        !          15079:     It will probably work perfect, but I need to eliminate such situation.
        !          15080: 
        !          15081: commit f9625e9acabbdc5834f528e6fe1b87b8f4ce4968
        !          15082: Author: Ondrej Filip <feela@network.cz>
        !          15083: Date:   Tue Jun 1 14:06:25 2004 +0000
        !          15084: 
        !          15085:     Bugfix in external routes calculation.
        !          15086: 
        !          15087: commit 7048461df113b335b9cfc56c517bc5802ef7b6c8
        !          15088: Author: Ondrej Filip <feela@network.cz>
        !          15089: Date:   Tue Jun 1 13:58:39 2004 +0000
        !          15090: 
        !          15091:     Code clean up.
        !          15092: 
        !          15093: commit e8bf6c0766dba95c4b7ebb8b29dad31392f212b7
        !          15094: Author: Ondrej Filip <feela@network.cz>
        !          15095: Date:   Tue Jun 1 13:44:53 2004 +0000
        !          15096: 
        !          15097:     Easier cleanup of an interface.
        !          15098: 
        !          15099: commit c9f6cf8a05aba6a79bfb57120ca48adcf8e3949d
        !          15100: Author: Ondrej Filip <feela@network.cz>
        !          15101: Date:   Tue Jun 1 13:29:08 2004 +0000
        !          15102: 
        !          15103:     Don't free socket's resources.
        !          15104: 
        !          15105: commit 035f6acbfec1e06a207217ae81153b67ced995f3
        !          15106: Author: Ondrej Filip <feela@network.cz>
        !          15107: Date:   Tue Jun 1 13:12:10 2004 +0000
        !          15108: 
        !          15109:     Patch from Andreas Steinmetz <ast@domdv.de>
        !          15110: 
        !          15111: commit 8281ff201e1eebe35cb8e7716565361bed77a6cd
        !          15112: Author: Ondrej Filip <feela@network.cz>
        !          15113: Date:   Tue Jun 1 12:57:13 2004 +0000
        !          15114: 
        !          15115:     Reverting last patch.
        !          15116: 
        !          15117: commit 77772dbc6555dfb9aa76c812bcd1792ab503cbe1
        !          15118: Author: Ondrej Filip <feela@network.cz>
        !          15119: Date:   Tue Jun 1 10:55:10 2004 +0000
        !          15120: 
        !          15121:     Caching loopback interface.
        !          15122: 
        !          15123: commit a8bb459a3f8769501726ef25e696ea127014383f
        !          15124: Author: Ondrej Filip <feela@network.cz>
        !          15125: Date:   Tue Jun 1 10:53:30 2004 +0000
        !          15126: 
        !          15127:     log->DBG
        !          15128: 
        !          15129: commit 1554cc02826794007c113bc336ed574bb771343f
        !          15130: Author: Ondrej Filip <feela@network.cz>
        !          15131: Date:   Tue Jun 1 10:45:28 2004 +0000
        !          15132: 
        !          15133:     Minor changes caused by MJ's comment.
        !          15134: 
        !          15135: commit b613b9928bdb1df3bd541d318d7f9c1bf492dfbc
        !          15136: Author: Ondrej Filip <feela@network.cz>
        !          15137: Date:   Tue Jun 1 10:32:02 2004 +0000
        !          15138: 
        !          15139:     #ifdef CONFIG_UNIX_DONTROUTE added.
        !          15140: 
        !          15141: commit 7fdd338c3600aa4e7a0ae3d5ce270b5a1f8ccc0c
        !          15142: Author: Ondrej Filip <feela@network.cz>
        !          15143: Date:   Tue Jun 1 10:28:25 2004 +0000
        !          15144: 
        !          15145:     ALIGN -> BIRD_ALIGN
        !          15146: 
        !          15147: commit 22122d4d4c43c2c64a37aae597b4d439a6bfa268
        !          15148: Author: Ondrej Filip <feela@network.cz>
        !          15149: Date:   Tue Jun 1 10:10:09 2004 +0000
        !          15150: 
        !          15151:     Now, only one AC_OUTPUT is used.
        !          15152: 
        !          15153: commit 402a9fa78a9849dbbefcbea81cd9cf7c8ab87c22
        !          15154: Author: Ondrej Filip <feela@network.cz>
        !          15155: Date:   Tue Jun 1 09:10:11 2004 +0000
        !          15156: 
        !          15157:     Useles log()s deleted.
        !          15158: 
        !          15159: commit e85bd57a0e106c7ae3fc44dccf9bac89e2f9939e
        !          15160: Author: Ondrej Filip <feela@network.cz>
        !          15161: Date:   Tue Jun 1 09:07:16 2004 +0000
        !          15162: 
        !          15163:     bzero has 2 arguments.
        !          15164: 
        !          15165: commit b88a1d4040df6bcd49eefe1c2c1ba8fa66ad0d43
        !          15166: Author: Ondrej Filip <feela@network.cz>
        !          15167: Date:   Tue Jun 1 08:59:47 2004 +0000
        !          15168: 
        !          15169:     memset -> bzero
        !          15170: 
        !          15171: commit fa643be1cc6973923a46ac52a20ccec2ec5e3f18
        !          15172: Author: Martin Mares <mj@ucw.cz>
        !          15173: Date:   Mon May 31 22:24:42 2004 +0000
        !          15174: 
        !          15175:     Updated the distribution script.
        !          15176: 
        !          15177: commit bb68ad2fd34dc6ab8723ae1c9c37f9dc19ed85ea
        !          15178: Author: Martin Mares <mj@ucw.cz>
        !          15179: Date:   Mon May 31 22:22:21 2004 +0000
        !          15180: 
        !          15181:     Documented the pxlen parameter.
        !          15182: 
        !          15183: commit 3810eccf6bc5af413d883fd298d59e0d7bdb96ea
        !          15184: Author: Martin Mares <mj@ucw.cz>
        !          15185: Date:   Mon May 31 22:16:54 2004 +0000
        !          15186: 
        !          15187:     Added a simple utility for converting CVS log messages to a reasonable
        !          15188:     changelog format.
        !          15189: 
        !          15190: commit ea0ac8f69aec4eff8109eb3d74cc0ca5a330fa58
        !          15191: Author: Martin Mares <mj@ucw.cz>
        !          15192: Date:   Mon May 31 22:00:18 2004 +0000
        !          15193: 
        !          15194:     Move CLI socket to the newly created CLI's pool.
        !          15195:     
        !          15196:     (thanks to Andreas for the original idea)
        !          15197: 
        !          15198: commit 38a608c55af7654f23c9a16129ab6211aac3b7ab
        !          15199: Author: Martin Mares <mj@ucw.cz>
        !          15200: Date:   Mon May 31 21:48:19 2004 +0000
        !          15201: 
        !          15202:     Rewritten the I/O loop. All socket operations are now safe, meaning that
        !          15203:     you can delete the socket from anywhere in the hooks and nothing should break.
        !          15204:     Also, the receive/transmit buffers are now regular xmalloc()'ed buffers,
        !          15205:     not separate resources which would need shuffling around between pools.
        !          15206:     
        !          15207:     sk_close() is gone, use rfree() instead.
        !          15208: 
        !          15209: commit 206f59dfa8e59e32f4aef12dacb0804581b9f602
        !          15210: Author: Martin Mares <mj@ucw.cz>
        !          15211: Date:   Mon May 31 21:02:09 2004 +0000
        !          15212: 
        !          15213:     Added UNUSED.
        !          15214: 
        !          15215: commit 6a57bb311018570b6ee7beccafd2075108e346cb
        !          15216: Author: Martin Mares <mj@ucw.cz>
        !          15217: Date:   Mon May 31 20:57:38 2004 +0000
        !          15218: 
        !          15219:     Killed a couple of unused variables.
        !          15220:     
        !          15221:     We really should compile with warnings enabled.
        !          15222: 
        !          15223: commit d83faf8dc441259183d87c6669e76e4addc61b21
        !          15224: Author: Martin Mares <mj@ucw.cz>
        !          15225: Date:   Mon May 31 20:53:22 2004 +0000
        !          15226: 
        !          15227:     static declarations don't belong to includes. (And most of them were
        !          15228:     redundant anyway.)
        !          15229: 
        !          15230: commit 7deffd845a0f2bfe4cebbb01e0505314af32693a
        !          15231: Author: Martin Mares <mj@ucw.cz>
        !          15232: Date:   Mon May 31 20:51:45 2004 +0000
        !          15233: 
        !          15234:     Need <termios.h> for tcdrain().
        !          15235: 
        !          15236: commit 9f387e11a319ea55104c6e8362f9820bf1b00097
        !          15237: Author: Martin Mares <mj@ucw.cz>
        !          15238: Date:   Mon May 31 20:49:11 2004 +0000
        !          15239: 
        !          15240:     Make the check for <linux/rtnetlink.h> work with recent libc's.
        !          15241: 
        !          15242: commit 0757bcb728c8bd56fa03ea296862d62e05f6ba09
        !          15243: Author: Martin Mares <mj@ucw.cz>
        !          15244: Date:   Mon May 31 20:35:19 2004 +0000
        !          15245: 
        !          15246:     One space more.
        !          15247: 
        !          15248: commit 2cc37815ae1f194c5a0c51e5761377caea9cc164
        !          15249: Author: Martin Mares <mj@ucw.cz>
        !          15250: Date:   Mon May 31 18:47:19 2004 +0000
        !          15251: 
        !          15252:     Added rmove()  (by Andreas, tweaked by me).
        !          15253: 
        !          15254: commit 0077aab4f9041e4d05d2d6916edfb0e15738cb37
        !          15255: Author: Martin Mares <mj@ucw.cz>
        !          15256: Date:   Mon May 31 18:16:42 2004 +0000
        !          15257: 
        !          15258:     The code was broken for external /29 to /32 routes. Assuming that you
        !          15259:     have one machine publishing a route to 10.1.1.3/32 and another one
        !          15260:     publishing a route to 10.1.1.4/32. If the first machine went down the
        !          15261:     route to 10.1.1.4/32 was wrongly killed by the old code, leading either
        !          15262:     to missing routes or worse to bug()s like "Router parent does not have
        !          15263:     next hop" or just segfaults. The patch fixes this but in the long term a
        !          15264:     redesign is required here. Note that the patch doesn't worse the
        !          15265:     situation, instead it prevents the problems stated. The redesign is
        !          15266:     required to handle multiple routes to small subnets properly.
        !          15267:     
        !          15268:     (by Andreas)
        !          15269:     
        !          15270:     Feela, I think that this is at least a good temporary fix, but it's
        !          15271:     of course up to you to decide.
        !          15272: 
        !          15273: commit 4ef3dccfa112faddf79fed76a539353b705702b5
        !          15274: Author: Martin Mares <mj@ucw.cz>
        !          15275: Date:   Mon May 31 18:13:14 2004 +0000
        !          15276: 
        !          15277:     The OSPF authentication type was sent in host byte order instead of of
        !          15278:     network byte order thus breaking interoperability with other routing
        !          15279:     daemons on litte endian machines. The patch fixes this but note that
        !          15280:     this breaks compatability with older bird installations using OSPF and
        !          15281:     password authentication
        !          15282:     
        !          15283:     (Andreas)
        !          15284: 
        !          15285: commit 3cb96cd343196baabf847f5d670711162e66e298
        !          15286: Author: Martin Mares <mj@ucw.cz>
        !          15287: Date:   Mon May 31 18:11:16 2004 +0000
        !          15288: 
        !          15289:     The initial sequence number for RIP md5 authentication was always zero.
        !          15290:     Bad as when bird e.g. was running for two weeks and then restarted it
        !          15291:     would take another two weeks until the peers of this router would accept
        !          15292:     data again from this router, as the sequence number would be too low.
        !          15293:     Changed to use the the current system time as the starting sequence
        !          15294:     number which is a more sane start value.
        !          15295:     
        !          15296:     (by Andreas, cleaned up by me)
        !          15297: 
        !          15298: commit 277a34eff195fe39a63db59731f5f2c8d54abdb2
        !          15299: Author: Martin Mares <mj@ucw.cz>
        !          15300: Date:   Mon May 31 18:08:50 2004 +0000
        !          15301: 
        !          15302:     Small correction to va_start/va_end in cli_printf (va_end was missing).
        !          15303:     
        !          15304:     (Andreas)
        !          15305: 
        !          15306: commit 5f2a6a9ff324d846c86ffafb60ae5a4c01d06313
        !          15307: Author: Martin Mares <mj@ucw.cz>
        !          15308: Date:   Mon May 31 17:55:30 2004 +0000
        !          15309: 
        !          15310:     Fix handling on full pipe to client in bird. Prevent packet overflows
        !          15311:     for even only medium sized route table output. Fix a strange garbled
        !          15312:     output problem in the client. The latter seems to be caused by some
        !          15313:     library doing tcflush while there is still command output pending. So
        !          15314:     the best fix here is to do fflush and then tcdrain. Note that this
        !          15315:     problem occurs only under certain load situations and is not too easy to
        !          15316:     reproduce.
        !          15317:     
        !          15318:     (by Andreas)
        !          15319: 
        !          15320: commit a4ffe2739d1a3efb45f209b63b2b6faa558e43a9
        !          15321: Author: Martin Mares <mj@ucw.cz>
        !          15322: Date:   Mon May 31 17:53:02 2004 +0000
        !          15323: 
        !          15324:     Bird's control socket should be in /var/run and the convention for
        !          15325:     --localstatedir is /var. The control socket pathname creation is thus
        !          15326:     corrected here.
        !          15327:     
        !          15328:     (Andreas)
        !          15329: 
        !          15330: commit 03e3d184b2d8fac4c82408b1ac1738cb7af5680e
        !          15331: Author: Martin Mares <mj@ucw.cz>
        !          15332: Date:   Mon May 31 17:44:39 2004 +0000
        !          15333: 
        !          15334:     Fix bison input for current build tools, otherwise bison or the compiler
        !          15335:     will abort the build.
        !          15336:     
        !          15337:     (by Andreas)
        !          15338: 
        !          15339: commit 4a02013767ab05b9cf7567c09e5fad59c9bd1c10
        !          15340: Author: Martin Mares <mj@ucw.cz>
        !          15341: Date:   Mon May 31 17:42:38 2004 +0000
        !          15342: 
        !          15343:     Make RIP nolisten mode actually work. The socket is required for
        !          15344:     sending, the received data has to be discarded instead.
        !          15345:     
        !          15346:     (patch by Andreas Steinmetz modified by me)
        !          15347: 
        !          15348: commit 1bd897dd33a49bd03f661e84687f8bba25af2983
        !          15349: Author: Ondrej Filip <feela@network.cz>
        !          15350: Date:   Mon May 31 17:27:21 2004 +0000
        !          15351: 
        !          15352:     Changed of comments.
        !          15353: 
        !          15354: commit 10af3676ea4268452776acd7b06a95c72d71f2e0
        !          15355: Author: Ondrej Filip <feela@network.cz>
        !          15356: Date:   Mon May 31 17:16:47 2004 +0000
        !          15357: 
        !          15358:     Grrr, committing too fast.
        !          15359:     #include "alloca.h" -> #include "lib/alloca.h"
        !          15360: 
        !          15361: commit 7dbd4fd332bb614db858944da86b29c86d9b1d81
        !          15362: Author: Ondrej Filip <feela@network.cz>
        !          15363: Date:   Mon May 31 17:13:58 2004 +0000
        !          15364: 
        !          15365:     alloca.h added
        !          15366: 
        !          15367: commit 0e6eef620d4b838fc558711cd2d5572ec7a576c2
        !          15368: Author: Ondrej Filip <feela@network.cz>
        !          15369: Date:   Mon May 31 17:07:05 2004 +0000
        !          15370: 
        !          15371:     Use #include "alloca.h"
        !          15372: 
        !          15373: commit c222500d8e098f0504405724b56676a2efc0861f
        !          15374: Author: Ondrej Filip <feela@network.cz>
        !          15375: Date:   Mon May 31 17:00:22 2004 +0000
        !          15376: 
        !          15377:     Previous change was mistake.
        !          15378: 
        !          15379: commit 6f18235aad187ed9e2afbb166b34c5cc3765b430
        !          15380: Author: Ondrej Filip <feela@network.cz>
        !          15381: Date:   Mon May 31 16:42:12 2004 +0000
        !          15382: 
        !          15383:     Useless include deleted.
        !          15384: 
        !          15385: commit f54fa9e15dce42b8c80b7ea95ab2653cc5be4e4e
        !          15386: Author: Martin Mares <mj@ucw.cz>
        !          15387: Date:   Mon May 31 16:10:01 2004 +0000
        !          15388: 
        !          15389:     Updated copyright notices.
        !          15390:     
        !          15391:     Also testing whether syncmail works.
        !          15392: 
        !          15393: commit 73219ecfecbf2851e1a3b6c4a1084b2eaa6d159c
        !          15394: Author: Ondrej Filip <feela@network.cz>
        !          15395: Date:   Mon May 31 15:13:56 2004 +0000
        !          15396: 
        !          15397:     Delete autom4te.cache in 'make distclean'.
        !          15398: 
        !          15399: commit 6de62923120c1dba8461aed8aed95eff433fcf4a
        !          15400: Author: Ondrej Filip <feela@network.cz>
        !          15401: Date:   Mon May 31 15:08:29 2004 +0000
        !          15402: 
        !          15403:     Better readline checking.
        !          15404: 
        !          15405: commit 012279f395a7cb87a3085b6c4674777da7ee9661
        !          15406: Author: Ondrej Filip <feela@network.cz>
        !          15407: Date:   Mon May 31 13:59:03 2004 +0000
        !          15408: 
        !          15409:     Some include added.
        !          15410: 
        !          15411: commit d93fb7e6b9a1d2964bc926ca9ed7ab11f5003c1d
        !          15412: Author: Ondrej Filip <feela@network.cz>
        !          15413: Date:   Mon May 31 13:58:38 2004 +0000
        !          15414: 
        !          15415:     #ifndef ALIGN - it is defined on *BSD
        !          15416: 
        !          15417: commit a60277b9997a891fdc5d62e07ac96885c009f531
        !          15418: Author: Ondrej Filip <feela@network.cz>
        !          15419: Date:   Mon May 31 13:35:06 2004 +0000
        !          15420: 
        !          15421:     Added RTD_NONE /* Just for internal use */
        !          15422: 
        !          15423: commit 0c745adc8003ac816be15e2246fa4685e127d120
        !          15424: Author: Ondrej Filip <feela@network.cz>
        !          15425: Date:   Mon May 31 13:34:20 2004 +0000
        !          15426: 
        !          15427:     #ifdef ALLOCA_H
        !          15428: 
        !          15429: commit bd62eeca27aba7da34a65a8f039d1b011115ddca
        !          15430: Author: Ondrej Filip <feela@network.cz>
        !          15431: Date:   Mon May 31 13:32:58 2004 +0000
        !          15432: 
        !          15433:     Small change to compile client on FreeBSD.
        !          15434: 
        !          15435: commit b1a1fabac70201e9b05aeb9fd6af703f0fbffdb4
        !          15436: Author: Ondrej Filip <feela@network.cz>
        !          15437: Date:   Mon May 31 13:25:00 2004 +0000
        !          15438: 
        !          15439:     *BSD port added. (Tested on FreeBSD and NetBSD)
        !          15440: 
        !          15441: commit 781aa475aaa7503d4a86f0d4b8771cd027d30c04
        !          15442: Author: Ondrej Filip <feela@network.cz>
        !          15443: Date:   Mon May 31 13:22:49 2004 +0000
        !          15444: 
        !          15445:     Minor bug fix in neighbor state machine.
        !          15446: 
        !          15447: commit de259a41e3175d4080d5a33a39f0279308a25b56
        !          15448: Author: Ondrej Filip <feela@network.cz>
        !          15449: Date:   Mon May 31 10:38:44 2004 +0000
        !          15450: 
        !          15451:     Minor bug in configuration.
        !          15452: 
        !          15453: commit 7cb37e6fd2d9fb5723d6f680d0e064e4ba9c6091
        !          15454: Author: Ondrej Filip <feela@network.cz>
        !          15455: Date:   Mon May 31 10:26:18 2004 +0000
        !          15456: 
        !          15457:     Added some more test (alloca.h, sa_len) etc.
        !          15458:     Add AC_OUTPUT before AC_OUTPUT_COMMANDS
        !          15459: 
        !          15460: commit caeb02ea19b8b3b04bc9705d5270954bfc21cab6
        !          15461: Author: Ondrej Filip <feela@network.cz>
        !          15462: Date:   Wed May 19 12:30:58 2004 +0000
        !          15463: 
        !          15464:     Bug in DBDES receiving fixed.
        !          15465: 
        !          15466: commit 502ded521508a402910b2bf8f23f2e34f79f91cb
        !          15467: Author: Martin Mares <mj@ucw.cz>
        !          15468: Date:   Sat Dec 6 16:41:11 2003 +0000
        !          15469: 
        !          15470:     Fix reporting of RIP socket errors. Thanks to Eric Leblond for the patch.
        !          15471: 
        !          15472: commit 37299f1e442f5ca23fd9124d9645096c5a6f7536
        !          15473: Author: Ondrej Filip <feela@network.cz>
        !          15474: Date:   Tue Sep 30 17:05:55 2003 +0000
        !          15475: 
        !          15476:     OSPF was not able to be built stand-alone.
        !          15477: 
        !          15478: commit 00bd27a1cc8eee6df626a7441cc548e82bf42c4c
        !          15479: Author: Ondrej Filip <feela@network.cz>
        !          15480: Date:   Sun Sep 14 13:41:24 2003 +0000
        !          15481: 
        !          15482:     Endianity problem fixed. Thanx to Sörös József
        !          15483: 
        !          15484: commit 35a86ceb4082d8d31e6949f8d454eaa28c498a86
        !          15485: Author: Ondrej Filip <feela@network.cz>
        !          15486: Date:   Wed Sep 3 17:31:23 2003 +0000
        !          15487: 
        !          15488:     This prevents infinite loop when bird has more that 60 neighbors. Thanks to Rani Assaf
        !          15489: 
        !          15490: commit bf135bcb1feca7b9ee35342c239ed3a66415d854
        !          15491: Author: Ondrej Filip <feela@network.cz>
        !          15492: Date:   Mon Sep 1 08:46:07 2003 +0000
        !          15493: 
        !          15494:     Prepared for release 1.0.8.
        !          15495: 
        !          15496: commit c11007bc423188872d37e277fe4637094a40d90f
        !          15497: Author: Ondrej Filip <feela@network.cz>
        !          15498: Date:   Tue Aug 26 10:41:02 2003 +0000
        !          15499: 
        !          15500:     Endian-related bug fixes sent by Krzysztof Szuster <kszuster@polbox.com>
        !          15501: 
        !          15502: commit 1d1a3c1c2a72ef91b785f5ed08ca5ab3f001b14e
        !          15503: Author: Ondrej Filip <feela@network.cz>
        !          15504: Date:   Sat Aug 23 10:47:46 2003 +0000
        !          15505: 
        !          15506:     Minor OSPF changes for faster startup.
        !          15507: 
        !          15508: commit baa5dd6ccc14eb6bc43fad37a2bfe88ad190c0fa
        !          15509: Author: Ondrej Filip <feela@network.cz>
        !          15510: Date:   Sat Aug 23 10:42:41 2003 +0000
        !          15511: 
        !          15512:     Many spelling mistakes fixed.
        !          15513:     
        !          15514:     Thanks you Harry Moyes.
        !          15515: 
        !          15516: commit c197d44e1790ab1738cf9e438c2c91bd74e9b94e
        !          15517: Author: Martin Mares <mj@ucw.cz>
        !          15518: Date:   Wed Aug 13 22:07:55 2003 +0000
        !          15519: 
        !          15520:     This probably IS the memory leak we're looking for. Alien routes weren't
        !          15521:     correctly disposed of.
        !          15522: 
        !          15523: commit 13b75bacf7221eb655dcbed54e3c3605bea5169e
        !          15524: Author: Martin Mares <mj@ucw.cz>
        !          15525: Date:   Wed Aug 13 20:04:39 2003 +0000
        !          15526: 
        !          15527:     protocol->import_control() could potentially call rte_cow() as well.
        !          15528:     AFAIK it doesn't happen in any of our protocol, but better be sure.
        !          15529: 
        !          15530: commit 2adab6ae9cc586871a8854e51452839cb1dd1db0
        !          15531: Author: Martin Mares <mj@ucw.cz>
        !          15532: Date:   Wed Aug 13 19:31:22 2003 +0000
        !          15533: 
        !          15534:     This was a potential memory leak, but not the one Feela observed.
        !          15535:     
        !          15536:     This one could happen when an import filter of some protocol modified
        !          15537:     the rte (so that it would be rte_cow()ed) and later rejected it.
        !          15538: 
        !          15539: commit b77834b3f41e551adc045d23f387533d428349ae
        !          15540: Author: Martin Mares <mj@ucw.cz>
        !          15541: Date:   Sun Apr 6 21:36:35 2003 +0000
        !          15542: 
        !          15543:     Slept for a year :-)
        !          15544: 
        !          15545: commit c153ee91373438095ae6ec18e2dfb9f334d2dfe6
        !          15546: Author: Martin Mares <mj@ucw.cz>
        !          15547: Date:   Sun Apr 6 19:52:22 2003 +0000
        !          15548: 
        !          15549:     Nobody is perfect. Me twice :)
        !          15550: 
        !          15551: commit 8edd56bded8ffc7fabbce690133892de6dcd5f62
        !          15552: Author: Martin Mares <mj@ucw.cz>
        !          15553: Date:   Sun Apr 6 19:49:17 2003 +0000
        !          15554: 
        !          15555:     Oops, forgot to change some paths.
        !          15556: 
        !          15557: commit d02b7a738eb94d031b106319f3af259717c80fe0
        !          15558: Author: Martin Mares <mj@ucw.cz>
        !          15559: Date:   Sun Apr 6 19:49:02 2003 +0000
        !          15560: 
        !          15561:     More news.
        !          15562: 
        !          15563: commit f2c642e0e5c266f8b955cfa5aec785c3f96c5ed5
        !          15564: Author: Martin Mares <mj@ucw.cz>
        !          15565: Date:   Sun Apr 6 19:46:42 2003 +0000
        !          15566: 
        !          15567:     We're 1.0.6 now.
        !          15568: 
        !          15569: commit 0e41e34a231198498289e367b93b3e9b99d5eb2e
        !          15570: Author: Martin Mares <mj@ucw.cz>
        !          15571: Date:   Sun Apr 6 19:45:55 2003 +0000
        !          15572: 
        !          15573:     Avoid problems with copying a directory to itself.
        !          15574: 
        !          15575: commit f240a133b32db88c98ad5a7f9d72fdb909311af6
        !          15576: Author: Martin Mares <mj@ucw.cz>
        !          15577: Date:   Sun Apr 6 19:42:28 2003 +0000
        !          15578: 
        !          15579:     Releasing version 1.0.6.
        !          15580: 
        !          15581: commit 9c7631235ac174ebd33a3e04e07211b3ae8501f6
        !          15582: Author: Martin Mares <mj@ucw.cz>
        !          15583: Date:   Sun Apr 6 19:35:50 2003 +0000
        !          15584: 
        !          15585:     Updated the documentation building tools to work with a recent linuxdoc-tools package.
        !          15586:     
        !          15587:     Note that this is (and always was) a terrible hack and we really should
        !          15588:     replace it with something reasonable which wouldn't need changing every
        !          15589:     time linuxdoc-tools evolve.
        !          15590:     
        !          15591:     I also needed to include a patched version of LinuxDocTools.pm, because the
        !          15592:     original one explicitly refused to work with a non-linuxdoc DTD. The authors
        !          15593:     of linuxdoc recommend to use sgmltools-lite in such cases, but it would mean
        !          15594:     rewritting our formatting rules to the DSSSL language which I don't dare to
        !          15595:     speak about here :)
        !          15596: 
        !          15597: commit a9aa5887f3b9b43d9a3a5617ef9176da936ce35f
        !          15598: Author: Martin Mares <mj@ucw.cz>
        !          15599: Date:   Sun Apr 6 18:55:37 2003 +0000
        !          15600: 
        !          15601:     Added release history.
        !          15602: 
        !          15603: commit 8cf76fa8536e52a5c90d500ac1d74f49d87e905d
        !          15604: Author: Martin Mares <mj@ucw.cz>
        !          15605: Date:   Sun Apr 6 18:38:01 2003 +0000
        !          15606: 
        !          15607:     Bug fixes to authentication code by Eric Leblond <eleblond@init-sys.com>.
        !          15608: 
        !          15609: commit d85e1f0e2f389d273ff14e89faced390b76d842b
        !          15610: Author: Martin Mares <mj@ucw.cz>
        !          15611: Date:   Thu Feb 27 10:48:30 2003 +0000
        !          15612: 
        !          15613:     Prefix comparison bug (hopefully) fixed.
        !          15614: 
        !          15615: commit 6ea8ca1469a9c9150a4e0be9f8e6ab025eee990a
        !          15616: Author: Martin Mares <mj@ucw.cz>
        !          15617: Date:   Sun Feb 23 10:22:04 2003 +0000
        !          15618: 
        !          15619:     Updated a comment.
        !          15620: 
        !          15621: commit abf06173a3d84559dd26d2a78a1e5df9656a4d80
        !          15622: Author: Martin Mares <mj@ucw.cz>
        !          15623: Date:   Sat Feb 22 23:06:32 2003 +0000
        !          15624: 
        !          15625:     Current Linux kernels don't remember rtm_protocol for IPv6 routes and supply RTPROT_BOOT instead.
        !          15626:     Work around that.
        !          15627: 
        !          15628: commit 11d4474c17e76e9811dcb32f555fa1c6f3684fab
        !          15629: Author: Martin Mares <mj@ucw.cz>
        !          15630: Date:   Sat Feb 22 22:47:45 2003 +0000
        !          15631: 
        !          15632:     Better selection of link-local NLRI addresses, at least for our own
        !          15633:     address. Need to do it better for the other neighbors -- the current
        !          15634:     solution works only if they use the standard 64+64 global addresses
        !          15635:     and the interface identifier in lower 64 bits is the same as for the
        !          15636:     link-scope addresses.
        !          15637: 
        !          15638: commit 7b7a7b43a6915efbe9180f07cd1284a39efacf02
        !          15639: Author: Martin Mares <mj@ucw.cz>
        !          15640: Date:   Sat Feb 22 22:39:06 2003 +0000
        !          15641: 
        !          15642:     There can be multiple primary addresses with different scopes
        !          15643:     and only the highest scope one has IA_PRIMARY set, so report
        !          15644:     the remaining ones as "Unselected".
        !          15645: 
        !          15646: commit 8001948b43c9367e86473630f58527249d7da04f
        !          15647: Author: Martin Mares <mj@ucw.cz>
        !          15648: Date:   Sat Feb 22 22:38:15 2003 +0000
        !          15649: 
        !          15650:     Report link-scope addresses as well.
        !          15651: 
        !          15652: commit 8c92bf6a0ddc21f2fa19c195a73d43837f60fc23
        !          15653: Author: Martin Mares <mj@ucw.cz>
        !          15654: Date:   Sat Feb 22 10:40:35 2003 +0000
        !          15655: 
        !          15656:     Temporary fix for BGP protocol capability announcement for IPv6 mode.
        !          15657: 
        !          15658: commit 60a72ed49b36aea732d3584527040a7b3b0e72e0
        !          15659: Author: Martin Mares <mj@ucw.cz>
        !          15660: Date:   Sat Feb 22 10:25:22 2003 +0000
        !          15661: 
        !          15662:     Fixed length check miscalculation in IPv6 receive path.
        !          15663: 
        !          15664: commit 47f18ac39a313cf213b43320557239c5d0855a11
        !          15665: Author: Martin Mares <mj@ucw.cz>
        !          15666: Date:   Wed Nov 13 08:47:19 2002 +0000
        !          15667: 
        !          15668:     ABS should be a macro.
        !          15669: 
        !          15670: commit 7d875e094bbbb9d4b234e31fe08f31510ac1d7d0
        !          15671: Author: Martin Mares <mj@ucw.cz>
        !          15672: Date:   Wed Nov 13 08:47:06 2002 +0000
        !          15673: 
        !          15674:     Added missing includes.
        !          15675: 
        !          15676: commit de10a974f2e2e8a11b6a6852cd770c1096e1c25d
        !          15677: Author: Martin Mares <mj@ucw.cz>
        !          15678: Date:   Wed Nov 13 08:46:12 2002 +0000
        !          15679: 
        !          15680:     Added missing semicolons.
        !          15681: 
        !          15682: commit 59b96d7b4d8a055aa77917099b358cfc7b5e0731
        !          15683: Author: Martin Mares <mj@ucw.cz>
        !          15684: Date:   Wed Nov 13 08:45:24 2002 +0000
        !          15685: 
        !          15686:     Don't use obsolete functions which are no longer declared in the header.
        !          15687: 
        !          15688: commit a19cd811000902facceff5a30facf7dba9cb2095
        !          15689: Author: Martin Mares <mj@ucw.cz>
        !          15690: Date:   Wed Nov 13 08:30:56 2002 +0000
        !          15691: 
        !          15692:     Added missing #include and wondering how could it ever compile.
        !          15693: 
        !          15694: commit 19bd5c8e2c0fd47ff27668b8c45acc79f4d703b4
        !          15695: Author: Pavel Machek <pavel@ucw.cz>
        !          15696: Date:   Sat Sep 21 13:57:48 2002 +0000
        !          15697: 
        !          15698:     Password does not need to be null-terminated, do not print garbage in
        !          15699:     such case. Thanks to silvio@big.net.
        !          15700: 
        !          15701: commit 4ca0d0847e015bbecf6db3cec8f3ce57c2d8035c
        !          15702: Author: Ondrej Filip <feela@network.cz>
        !          15703: Date:   Wed Apr 3 15:41:05 2002 +0000
        !          15704: 
        !          15705:     Small typo fixed.
        !          15706: 
        !          15707: commit 53a50af50427e2fedc4bbfeca7a5934a798a3827
        !          15708: Author: Martin Mares <mj@ucw.cz>
        !          15709: Date:   Sun Mar 10 12:32:12 2002 +0000
        !          15710: 
        !          15711:     Applied Pavel's fix for broadcast/multicast mode.
        !          15712: 
        !          15713: commit e59e310e6435c6c72b585c6f4b5e6c9bbd006553
        !          15714: Author: Ondrej Filip <feela@network.cz>
        !          15715: Date:   Mon Mar 4 15:54:39 2002 +0000
        !          15716: 
        !          15717:     Age LSA DB after LSA origination and before routing table calculation.
        !          15718: 
        !          15719: commit 025b0e856a85dcae755e97922febc190145ba89c
        !          15720: Author: Ondrej Filip <feela@network.cz>
        !          15721: Date:   Mon Mar 4 15:52:40 2002 +0000
        !          15722: 
        !          15723:     New trace added.
        !          15724: 
        !          15725: commit b78696282de32a202a9bed304f8edf044833f36f
        !          15726: Author: Ondrej Filip <feela@network.cz>
        !          15727: Date:   Fri Dec 7 17:34:09 2001 +0000
        !          15728: 
        !          15729:     Bugfix in router importation.
        !          15730: 
        !          15731: commit 30c34a10797c2773a0b99e71b22f111ee2a7f980
        !          15732: Author: Ondrej Filip <feela@network.cz>
        !          15733: Date:   Fri Dec 7 17:10:49 2001 +0000
        !          15734: 
        !          15735:     Small bugfix in RIP documentation.
        !          15736: 
        !          15737: commit 8e32493c56a49f10a6949985d5b0bb4dbcbe204d
        !          15738: Author: Ondrej Filip <feela@network.cz>
        !          15739: Date:   Tue Aug 21 17:00:15 2001 +0000
        !          15740: 
        !          15741:     Removed some useless (hope!) code in next hop calculation.
        !          15742: 
        !          15743: commit 68db89a2ce35a96aef827f4e86c5dfd82842f9d7
        !          15744: Author: Ondrej Filip <feela@network.cz>
        !          15745: Date:   Tue Aug 21 16:44:57 2001 +0000
        !          15746: 
        !          15747:     Finally, next hop problem fixed.
        !          15748: 
        !          15749: commit 37da55168cdb0f562266eff4b821f6e576d93931
        !          15750: Author: Ondrej Filip <feela@network.cz>
        !          15751: Date:   Tue Aug 21 15:03:42 2001 +0000
        !          15752: 
        !          15753:     Useless trace.
        !          15754: 
        !          15755: commit e8ab16803065894497dd306c941b0815fac5b25a
        !          15756: Author: Ondrej Filip <feela@network.cz>
        !          15757: Date:   Tue Aug 21 15:00:29 2001 +0000
        !          15758: 
        !          15759:     Hope, bug in next hop calculation for stub routes fixed.
        !          15760: 
        !          15761: commit e43ae6330eaf349eafe6820465c85266eef80e07
        !          15762: Author: Martin Mares <mj@ucw.cz>
        !          15763: Date:   Sun Aug 19 11:15:24 2001 +0000
        !          15764: 
        !          15765:     Fix %<something>I format strings.
        !          15766: 
        !          15767: commit 30b773041c37d10649a16d5f28af00a25871aac7
        !          15768: Author: Martin Mares <mj@ucw.cz>
        !          15769: Date:   Sun Aug 19 11:11:44 2001 +0000
        !          15770: 
        !          15771:     IP address formatting now uses the same rules as formatting of strings
        !          15772:     with two exceptions:
        !          15773:     
        !          15774:        o  Any non-zero field width is automatically replaced by standard
        !          15775:           IP address width. This hides dependences on IPv4/IPv6.
        !          15776:        o  %#I generates hexadecimal form of the address.
        !          15777:     
        !          15778:     Therefore |%I| generates unpadded format, |%1I| full size flush-right,
        !          15779:     and |%-1I| full size flush-left format.
        !          15780: 
        !          15781: commit 16319aebd30da5161bed95d72094250228a7f61c
        !          15782: Author: Ondrej Filip <feela@network.cz>
        !          15783: Date:   Sun Aug 12 00:09:47 2001 +0000
        !          15784: 
        !          15785:     Dokumented switch network.
        !          15786: 
        !          15787: commit c926eee72471d8127ff833548b0ce1f8cb6de276
        !          15788: Author: Ondrej Filip <feela@network.cz>
        !          15789: Date:   Sun Aug 12 00:04:42 2001 +0000
        !          15790: 
        !          15791:     Area networks added into configuration.
        !          15792: 
        !          15793: commit b2bdb4065667f466575b831f4a3166bd309d9d14
        !          15794: Author: Ondrej Filip <feela@network.cz>
        !          15795: Date:   Sat Aug 11 16:22:29 2001 +0000
        !          15796: 
        !          15797:     Changed definition of stub area.
        !          15798: 
        !          15799: commit 85062e8a600cc7896b8bcaf3960bb782aa9f2ff0
        !          15800: Author: Ondrej Filip <feela@network.cz>
        !          15801: Date:   Sat Aug 11 14:40:51 2001 +0000
        !          15802: 
        !          15803:     Bugfix in B-bit setting in router LSA.
        !          15804: 
        !          15805: commit 78e2c6ccf16b41bc19a4cd69f959c8ae47e68b9d
        !          15806: Author: Ondrej Filip <feela@network.cz>
        !          15807: Date:   Sat Aug 11 14:01:54 2001 +0000
        !          15808: 
        !          15809:     I will not originate the same lsa before MINLSINTERVAL.
        !          15810: 
        !          15811: commit 5fc7c5c51344a8cc1fae2cc9077c2c331c1e419a
        !          15812: Author: Martin Mares <mj@ucw.cz>
        !          15813: Date:   Fri Aug 3 08:44:51 2001 +0000
        !          15814: 
        !          15815:     Don't loop forever when trying to skip an out-sequence netlink reply.
        !          15816: 
        !          15817: commit 24c00cb11915edb8c13dbc21f245a73fc34689ed
        !          15818: Author: Ondrej Filip <feela@network.cz>
        !          15819: Date:   Tue Jun 12 21:10:30 2001 +0000
        !          15820: 
        !          15821:     Install route into main routing table just if it's necessary.
        !          15822: 
        !          15823: commit c48b33292b6d39cdacd642565907c0d5b90adc68
        !          15824: Author: Ondrej Filip <feela@network.cz>
        !          15825: Date:   Sat Jun 9 15:13:38 2001 +0000
        !          15826: 
        !          15827:     Yes, 1.0.5 released.
        !          15828: 
        !          15829: commit 87c450dffcbcc76270c95b4c923838445cd6816b
        !          15830: Author: Ondrej Filip <feela@network.cz>
        !          15831: Date:   Sat Jun 9 14:56:01 2001 +0000
        !          15832: 
        !          15833:     Added comments.
        !          15834: 
        !          15835: commit e9d3c3aaea24724c285027154bd9f5ddef8394e0
        !          15836: Author: Ondrej Filip <feela@network.cz>
        !          15837: Date:   Sat Jun 9 14:55:10 2001 +0000
        !          15838: 
        !          15839:     Bug in next-hop calculation fixed. (For dual connected neighbors.)
        !          15840: 
        !          15841: commit ea31425a6191f0b3e181f8a1c7368fc4dfca24b4
        !          15842: Author: Ondrej Filip <feela@network.cz>
        !          15843: Date:   Mon Apr 9 19:15:03 2001 +0000
        !          15844: 
        !          15845:     Patch from David Rohleder <davro@ics.muni.cz> thanx.
        !          15846: 
        !          15847: commit 01b776e117d21ccfef996fd91c014c6e14a458a7
        !          15848: Author: Martin Mares <mj@ucw.cz>
        !          15849: Date:   Tue Mar 6 13:40:39 2001 +0000
        !          15850: 
        !          15851:     Fixed <time.h> vs. <sys/time.h> problems.
        !          15852: 
        !          15853: commit 27e993fb4ecc310a83da3a74b21b15c32c207a09
        !          15854: Author: Martin Mares <mj@ucw.cz>
        !          15855: Date:   Tue Feb 20 09:49:19 2001 +0000
        !          15856: 
        !          15857:     Fixed duplicity in log category numbering.
        !          15858:     
        !          15859:     Thanks to Zheng Yuan for spotting this.
        !          15860: 
        !          15861: commit 4d04187465fdeb3fb755b4d01ec640bbe0e36eb9
        !          15862: Author: Martin Mares <mj@ucw.cz>
        !          15863: Date:   Fri Jan 19 20:30:08 2001 +0000
        !          15864: 
        !          15865:     Added paper for my talk about BIRD at SLT 2001.
        !          15866: 
        !          15867: commit 0766e962e9a9539ceccd23090e5bb8e1301fce8c
        !          15868: Author: Martin Mares <mj@ucw.cz>
        !          15869: Date:   Wed Jan 17 08:32:28 2001 +0000
        !          15870: 
        !          15871:     Bug fix from Zheng Yuan <zyuan1@cig.mot.com>.
        !          15872: 
        !          15873: commit a2d01907c5b24bab78cc055fa23354597bd44a03
        !          15874: Author: Martin Mares <mj@ucw.cz>
        !          15875: Date:   Mon Jan 15 09:24:16 2001 +0000
        !          15876: 
        !          15877:     Added an explanatory comment.
        !          15878: 
        !          15879: commit 8c6ce98b9d9b5c4970e902cf667c1ffb64f04a62
        !          15880: Author: Martin Mares <mj@ucw.cz>
        !          15881: Date:   Mon Jan 8 11:13:01 2001 +0000
        !          15882: 
        !          15883:     Fixed infinite recursion in password_same.
        !          15884:     
        !          15885:     Pavel, please check.
        !          15886: 
        !          15887: commit 32749f493fdaea31f70d8586597febacd2c511d9
        !          15888: Author: Ondrej Filip <feela@network.cz>
        !          15889: Date:   Thu Dec 14 01:04:51 2000 +0000
        !          15890: 
        !          15891:     Hmm, nasty bug, LSUPD was not well flooded via PTP interfaces. :-(
        !          15892: 
        !          15893: commit 501c5bb03fabd3d5721cfd8c82298f729d79e7a3
        !          15894: Author: Ondrej Filip <feela@network.cz>
        !          15895: Date:   Tue Nov 21 23:47:51 2000 +0000
        !          15896: 
        !          15897:     Small bugfix in ext routes calculation.
        !          15898: 
        !          15899: commit a5096a1bdebe217eb0d04a95489562ac132f4552
        !          15900: Author: Ondrej Filip <feela@network.cz>
        !          15901: Date:   Wed Nov 8 22:46:54 2000 +0000
        !          15902: 
        !          15903:     Yet another nasty bugfix of iface_patts_equal().
        !          15904: 
        !          15905: commit 0639f7263a9a73cce6948cad23cd2d4858d36c5b
        !          15906: Author: Ondrej Filip <feela@network.cz>
        !          15907: Date:   Wed Nov 8 17:06:35 2000 +0000
        !          15908: 
        !          15909:     Bugfix in iface_patts_equal.
        !          15910:     When both patterns were NULL strcmp it sigfaulted.
        !          15911: 
        !          15912: commit 482bbc7396268fce66e8ecb59f248bc51229cdc9
        !          15913: Author: Ondrej Filip <feela@network.cz>
        !          15914: Date:   Sat Sep 9 19:21:01 2000 +0000
        !          15915: 
        !          15916:     Minor rpm changes to make RedHat happy.
        !          15917: 
        !          15918: commit 52fa3e386948b13b928ff9be778a7de62a00ceb3
        !          15919: Author: Ondrej Filip <feela@network.cz>
        !          15920: Date:   Mon Sep 4 21:21:34 2000 +0000
        !          15921: 
        !          15922:     Fixed many bugs in rt calculation and interface adding. Now it seems to be
        !          15923:     OK, I'm going to advertise 1.0.4.
        !          15924: 
        !          15925: commit b02e40111ea8d97bf1c3bfa25970ee0d828cd7bc
        !          15926: Author: Ondrej Filip <feela@network.cz>
        !          15927: Date:   Mon Sep 4 19:42:17 2000 +0000
        !          15928: 
        !          15929:     I allocate struct ifa before unlocking. So route exported to OSPF are correct.
        !          15930:     I work also with interfaces that have some problems with socket opening.
        !          15931:     I declare them as stub.
        !          15932: 
        !          15933: commit fdb19982020abeddf2d9eb73efae92ae2cc58d93
        !          15934: Author: Ondrej Filip <feela@network.cz>
        !          15935: Date:   Sun Sep 3 22:18:40 2000 +0000
        !          15936: 
        !          15937:     Serious bug in ext lsa origination found. Going for 1.0.4.
        !          15938: 
        !          15939: commit f02e4258b9bb7f823ddfbfb88284c868502b1433
        !          15940: Author: Ondrej Filip <feela@network.cz>
        !          15941: Date:   Sun Sep 3 18:27:21 2000 +0000
        !          15942: 
        !          15943:     Some misspells.
        !          15944: 
        !          15945: commit 43dff480efcc85bf32327b07c3c53c9c68cb3941
        !          15946: Author: Ondrej Filip <feela@network.cz>
        !          15947: Date:   Sun Sep 3 18:13:00 2000 +0000
        !          15948: 
        !          15949:     Version 1.0.3.
        !          15950: 
        !          15951: commit 19e930a9bbcc2dfdb87c8ada1a54ac4563a0cad6
        !          15952: Author: Ondrej Filip <feela@network.cz>
        !          15953: Date:   Sun Sep 3 17:53:12 2000 +0000
        !          15954: 
        !          15955:     Version 1.0.3 released.
        !          15956: 
        !          15957: commit f82e9bc3744f9ff5aa05d08a18fd03e46fb08b6f
        !          15958: Author: Ondrej Filip <feela@network.cz>
        !          15959: Date:   Sun Sep 3 16:21:14 2000 +0000
        !          15960: 
        !          15961:     Another atrey->atrey.karlin.mff.cuni.cz
        !          15962: 
        !          15963: commit 1e972b5524ff1ad28f4013632253a851c3559fc9
        !          15964: Author: Ondrej Filip <feela@network.cz>
        !          15965: Date:   Sun Sep 3 16:16:33 2000 +0000
        !          15966: 
        !          15967:     Log some unusual situation.
        !          15968: 
        !          15969: commit 76460860ece8ce43a42da7cb2342e57f553b646c
        !          15970: Author: Ondrej Filip <feela@network.cz>
        !          15971: Date:   Sun Sep 3 06:54:35 2000 +0000
        !          15972: 
        !          15973:     Small bugfix. (Use atrey.karlin.... instead of atrey.)
        !          15974: 
        !          15975: commit e3bc10fdc49266db827af4e4062e639862037eb6
        !          15976: Author: Ondrej Filip <feela@network.cz>
        !          15977: Date:   Sat Sep 2 08:54:40 2000 +0000
        !          15978: 
        !          15979:     Added stub interface. (Interface which is propagated to OSPF but
        !          15980:     it does not sends nor listens packets.)
        !          15981:     
        !          15982:     I added some new options, please look at it and look into doc if it's OK.
        !          15983: 
        !          15984: commit 5ddec4e6cfef8e5867d7440693894517f955e96f
        !          15985: Author: Ondrej Filip <feela@network.cz>
        !          15986: Date:   Sat Sep 2 07:58:05 2000 +0000
        !          15987: 
        !          15988:     Reconfigure poll interval.
        !          15989: 
        !          15990: commit 7cedbf217e8ce8a8669f31b1ee38e5f9ccb4eefd
        !          15991: Author: Ondrej Filip <feela@network.cz>
        !          15992: Date:   Sat Sep 2 00:15:07 2000 +0000
        !          15993: 
        !          15994:     Reconfiguration for new options.
        !          15995: 
        !          15996: commit e7e2878b744f415df9fcef291da67975da4dfc29
        !          15997: Author: Ondrej Filip <feela@network.cz>
        !          15998: Date:   Sat Sep 2 00:14:46 2000 +0000
        !          15999: 
        !          16000:     More examples.
        !          16001: 
        !          16002: commit a190e7200bf37ba834c776a28583bf897b4377f5
        !          16003: Author: Ondrej Filip <feela@network.cz>
        !          16004: Date:   Sat Sep 2 00:03:36 2000 +0000
        !          16005: 
        !          16006:     Added hellos on NBMA networks. (I don't violate RFC now.)
        !          16007: 
        !          16008: commit 94e2bbcc72f69edbcb3ce66ffa52998f374243c5
        !          16009: Author: Ondrej Filip <feela@network.cz>
        !          16010: Date:   Mon Aug 28 14:32:11 2000 +0000
        !          16011: 
        !          16012:     Better ospf metric explanation.
        !          16013: 
        !          16014: commit 5a063efeea11a80e865e9fa4b5e13c4ca8514b51
        !          16015: Author: Ondrej Filip <feela@network.cz>
        !          16016: Date:   Mon Aug 28 13:51:13 2000 +0000
        !          16017: 
        !          16018:     Bugfix in ext lsa importing.
        !          16019: 
        !          16020: commit 8b6b49239f409571486ae9589bcd57f706421517
        !          16021: Author: Ondrej Filip <feela@network.cz>
        !          16022: Date:   Fri Aug 25 12:26:03 2000 +0000
        !          16023: 
        !          16024:     Minor bug. It does not work on non RH systems. Thanx to
        !          16025:        Craig Bourne <cbourne@cbourne.com>
        !          16026: 
        !          16027: commit 6cf7e97abe05ee8943f8a2d300e1c46038b95df1
        !          16028: Author: Ondrej Filip <feela@network.cz>
        !          16029: Date:   Thu Aug 24 20:08:00 2000 +0000
        !          16030: 
        !          16031:     Added files for RPM building.
        !          16032: 
        !          16033: commit a24e3157628ade4c0c0c380094bec898b630b2ee
        !          16034: Author: Ondrej Filip <feela@network.cz>
        !          16035: Date:   Wed Aug 23 06:51:26 2000 +0000
        !          16036: 
        !          16037:     Released as version 1.0.2.
        !          16038: 
        !          16039: commit 9e2920824e13739a9169153f0164e6a4fe4adc1d
        !          16040: Author: Ondrej Filip <feela@network.cz>
        !          16041: Date:   Fri Aug 18 16:47:27 2000 +0000
        !          16042: 
        !          16043:     Typo.
        !          16044: 
        !          16045: commit f321a61f77262d33dd43d50136c8116ebf8139c6
        !          16046: Author: Ondrej Filip <feela@network.cz>
        !          16047: Date:   Fri Aug 18 16:44:37 2000 +0000
        !          16048: 
        !          16049:     Fixed bug in nex hop calculation of external routes.
        !          16050: 
        !          16051: commit 88aa2af7effa3752d033ccab5e18fb1303603585
        !          16052: Author: Ondrej Filip <feela@network.cz>
        !          16053: Date:   Fri Aug 18 16:36:54 2000 +0000
        !          16054: 
        !          16055:     Just formatting.
        !          16056: 
        !          16057: commit 28a6e1aa0ee17cee6aaad67d7433cb8038062582
        !          16058: Author: Ondrej Filip <feela@network.cz>
        !          16059: Date:   Thu Aug 17 19:42:52 2000 +0000
        !          16060: 
        !          16061:     Stupid bug in next hop calculation of external routes.
        !          16062: 
        !          16063: commit 1eec76077814fbe06879026809759dd5f5b8655f
        !          16064: Author: Ondrej Filip <feela@network.cz>
        !          16065: Date:   Wed Aug 16 20:18:19 2000 +0000
        !          16066: 
        !          16067:     Typo in rte_better.
        !          16068: 
        !          16069: commit 059fc1e94abcd658e9340313ffd080c5829ba8ef
        !          16070: Author: Ondrej Filip <feela@network.cz>
        !          16071: Date:   Wed Aug 16 19:37:04 2000 +0000
        !          16072: 
        !          16073:     My calculation of external routes violated rfc. :-(
        !          16074: 
        !          16075: commit d6a7e2fb8590660c00e984ff41d2e668d2ead69b
        !          16076: Author: Ondrej Filip <feela@network.cz>
        !          16077: Date:   Wed Aug 16 19:03:06 2000 +0000
        !          16078: 
        !          16079:     Bug in rte_better.
        !          16080: 
        !          16081: commit e7894eceded6ea1f757829a8845863c57660c9dd
        !          16082: Author: Martin Mares <mj@ucw.cz>
        !          16083: Date:   Mon Jun 26 20:02:30 2000 +0000
        !          16084: 
        !          16085:     Added slides for our presentation, but don't export them to the
        !          16086:     distribution tarball -- they are in Czech and therefore of no use
        !          16087:     to almost anybody :(
        !          16088: 
        !          16089: commit 2084109a3734227f0dcc21f3c8915a983ad9d586
        !          16090: Author: Martin Mares <mj@ucw.cz>
        !          16091: Date:   Wed Jun 21 22:11:29 2000 +0000
        !          16092: 
        !          16093:     Include CVS ChangeLog in the distribution
        !          16094: 
        !          16095: commit fc12a680b1102ae1b620180417ef8b0272b11bed
        !          16096: Author: Martin Mares <mj@ucw.cz>
        !          16097: Date:   Wed Jun 21 22:08:46 2000 +0000
        !          16098: 
        !          16099:     Released as version 1.0.1.
        !          16100: 
        !          16101: commit ad3907559c196ee39906d527ea4f3372beb6e6c5
        !          16102: Author: Pavel Machek <pavel@ucw.cz>
        !          16103: Date:   Wed Jun 21 19:40:46 2000 +0000
        !          16104: 
        !          16105:     RIP bugfix
        !          16106: 
        !          16107: commit 2836ce3951bbdda62c3dddd509669127f46e776d
        !          16108: Author: Martin Mares <mj@ucw.cz>
        !          16109: Date:   Wed Jun 21 09:58:09 2000 +0000
        !          16110: 
        !          16111:     Check broadcast address sanity before believing it.
        !          16112: 
        !          16113: commit bcbdcbb6ae7256e01165220bb3b2d5b72850f665
        !          16114: Author: Martin Mares <mj@ucw.cz>
        !          16115: Date:   Tue Jun 20 07:49:08 2000 +0000
        !          16116: 
        !          16117:     Don't accept incoming connections when the neighbor is not up.
        !          16118: 
        !          16119: commit f9eb8f7e066970d56a814128fd49170348a7fbd8
        !          16120: Author: Martin Mares <mj@ucw.cz>
        !          16121: Date:   Mon Jun 19 23:50:02 2000 +0000
        !          16122: 
        !          16123:     If compiled with --enable-debug, don't even try to log to syslog unless
        !          16124:     the user forces it in the config file.
        !          16125: 
        !          16126: commit 972fdb45323b75af254cfe6c912c52d3596a230a
        !          16127: Author: Ondrej Filip <feela@network.cz>
        !          16128: Date:   Mon Jun 19 15:12:50 2000 +0000
        !          16129: 
        !          16130:     Routing table calculation clean up.
        !          16131: 
        !          16132: commit ca00d4a13a7207da1ea3acf1f0e38ddc27669a4d
        !          16133: Author: Martin Mares <mj@ucw.cz>
        !          16134: Date:   Sun Jun 18 19:49:32 2000 +0000
        !          16135: 
        !          16136:     Fix numbering of routing tables in IPv6 version.
        !          16137: 
        !          16138: commit 4daf03e5138dea8e5c409ab20a07f35667caa89e
        !          16139: Author: Martin Mares <mj@ucw.cz>
        !          16140: Date:   Fri Jun 16 23:12:47 2000 +0000
        !          16141: 
        !          16142:     Use our own SUN_LEN if libc doesn't provide it.
        !          16143: 
        !          16144: commit 365211d5886ec59a543e9fbc2151d6218561c18c
        !          16145: Author: Ondrej Filip <feela@network.cz>
        !          16146: Date:   Tue Jun 13 19:03:41 2000 +0000
        !          16147: 
        !          16148:     Bugfix in logging.
        !          16149: 
        !          16150: commit dd44b2ce90950033c5c5419db67a1d53fb177f71
        !          16151: Author: Martin Mares <mj@ucw.cz>
        !          16152: Date:   Fri Jun 9 07:52:57 2000 +0000
        !          16153: 
        !          16154:     bird-1.0.0 has been released.
        !          16155: 
        !          16156: commit 5ddf4a58f9c4173acefa1df92ccd3da90230a863
        !          16157: Author: Martin Mares <mj@ucw.cz>
        !          16158: Date:   Fri Jun 9 07:32:57 2000 +0000
        !          16159: 
        !          16160:     During initialization, log to both syslog and stderr. When a configuration
        !          16161:     file has been read and it doesn't specify any logging, log to syslog only
        !          16162:     (if syslog is not available, then stderr).
        !          16163: 
        !          16164: commit 0b3bf4b1d898b4e438fe4959a63fc16211baff12
        !          16165: Author: Martin Mares <mj@ucw.cz>
        !          16166: Date:   Fri Jun 9 07:30:22 2000 +0000
        !          16167: 
        !          16168:     Use SUN_LEN() for length of UNIX domain addresses. This should fix problems
        !          16169:     with connection to clients on libc5 machines.
        !          16170: 
        !          16171: commit 0e376168c570507c8cb64b143eff0049442e201e
        !          16172: Author: Martin Mares <mj@ucw.cz>
        !          16173: Date:   Fri Jun 9 06:54:01 2000 +0000
        !          16174: 
        !          16175:     Shut up an uninitialized variable warning.
        !          16176: 
        !          16177: commit 1aa2a9c8351d6121124831f503306ff6869bbf39
        !          16178: Author: Martin Mares <mj@ucw.cz>
        !          16179: Date:   Fri Jun 9 06:49:43 2000 +0000
        !          16180: 
        !          16181:     Added a `What is missing' section.
        !          16182: 
        !          16183: commit 4386360bd9f71b159497ac3b671b4e3d117a6b73
        !          16184: Author: Martin Mares <mj@ucw.cz>
        !          16185: Date:   Fri Jun 9 06:46:58 2000 +0000
        !          16186: 
        !          16187:     Before building distribution tarballs, make distclean first.
        !          16188: 
        !          16189: commit 2d176ac5d22b08c25ac277821e3daef3a6f2ae23
        !          16190: Author: Martin Mares <mj@ucw.cz>
        !          16191: Date:   Fri Jun 9 06:45:48 2000 +0000
        !          16192: 
        !          16193:     Released as 1.0.0, but marked it as a BETA version.
        !          16194: 
        !          16195: commit 99955b54be850fad280a556ca80dc21374d2c5b7
        !          16196: Author: Martin Mares <mj@ucw.cz>
        !          16197: Date:   Fri Jun 9 06:31:43 2000 +0000
        !          16198: 
        !          16199:     Proper building and installation of documentation in the Makefiles.
        !          16200: 
        !          16201: commit a012cbb16f3d73ca7ffafe6f7933de7369e2ee48
        !          16202: Author: Ondrej Filip <feela@network.cz>
        !          16203: Date:   Thu Jun 8 19:16:21 2000 +0000
        !          16204: 
        !          16205:     Nasty bug in LSA refreshing. I didn't refesh my own copy! :-(
        !          16206: 
        !          16207: commit 135857e5777a4f1762fa6d948bb9d6b72e101c91
        !          16208: Author: Ondrej Filip <feela@network.cz>
        !          16209: Date:   Thu Jun 8 19:14:08 2000 +0000
        !          16210: 
        !          16211:     Acknoledge your own premature aged LSA.
        !          16212: 
        !          16213: commit 054a352475437d924e473c95b5d3ad01ae4ab161
        !          16214: Author: Ondrej Filip <feela@network.cz>
        !          16215: Date:   Thu Jun 8 19:02:31 2000 +0000
        !          16216: 
        !          16217:     Don't send dbdes before rtlsa origination.
        !          16218: 
        !          16219: commit 4bb18dd2daa1e13ab4f9aaff2ddc4875c4776559
        !          16220: Author: Pavel Machek <pavel@ucw.cz>
        !          16221: Date:   Thu Jun 8 16:57:41 2000 +0000
        !          16222: 
        !          16223:     Fix i_same for 'c' instruction.
        !          16224: 
        !          16225: commit 89e7de98e455071c5ff3796765fb6fd6860a63c6
        !          16226: Author: Martin Mares <mj@ucw.cz>
        !          16227: Date:   Thu Jun 8 15:44:52 2000 +0000
        !          16228: 
        !          16229:     Updated distribution README.
        !          16230: 
        !          16231: commit d4f72db31a512eafbb8aff4e5c1226fa59879382
        !          16232: Author: Martin Mares <mj@ucw.cz>
        !          16233: Date:   Thu Jun 8 15:22:06 2000 +0000
        !          16234: 
        !          16235:     When distcleaning, clean up doc as well.
        !          16236: 
        !          16237: commit 96264d4d2f22c652f6cef84ff6226352e1457cce
        !          16238: Author: Pavel Machek <pavel@ucw.cz>
        !          16239: Date:   Thu Jun 8 14:06:20 2000 +0000
        !          16240: 
        !          16241:     Final version of documentation (famous last words)
        !          16242: 
        !          16243: commit 66701947c43d34f89be59fe9845efd7c65f64454
        !          16244: Author: Martin Mares <mj@ucw.cz>
        !          16245: Date:   Thu Jun 8 12:56:59 2000 +0000
        !          16246: 
        !          16247:     Fixes.
        !          16248: 
        !          16249: commit 6567e6cf5081542dfeb2c1f2493873c4fabb012f
        !          16250: Author: Martin Mares <mj@ucw.cz>
        !          16251: Date:   Thu Jun 8 12:42:34 2000 +0000
        !          16252: 
        !          16253:     Missing parameters...
        !          16254: 
        !          16255: commit 1632f1fe32b9f13bf7746586bcbad70ffafe4697
        !          16256: Author: Pavel Machek <pavel@ucw.cz>
        !          16257: Date:   Thu Jun 8 12:38:16 2000 +0000
        !          16258: 
        !          16259:     More spellchecking and typographic changes.
        !          16260: 
        !          16261: commit 725270cb1da0672128675924844531e56c6ea64e
        !          16262: Author: Martin Mares <mj@ucw.cz>
        !          16263: Date:   Thu Jun 8 12:37:21 2000 +0000
        !          16264: 
        !          16265:     Fixes for the programmer's manual.
        !          16266: 
        !          16267: commit 8d56febe64769c19a06c2c0f3ff121d25eceaa5b
        !          16268: Author: Ondrej Filip <feela@network.cz>
        !          16269: Date:   Thu Jun 8 12:04:57 2000 +0000
        !          16270: 
        !          16271:     HASH_DEF_ORDER back to 6.
        !          16272: 
        !          16273: commit 2a56bb3bd66a9b52dd6c2e2626630b4eaa79d04b
        !          16274: Author: Martin Mares <mj@ucw.cz>
        !          16275: Date:   Thu Jun 8 11:05:19 2000 +0000
        !          16276: 
        !          16277:     Set margins.
        !          16278: 
        !          16279: commit 5a64ac70361e9dacfe155492cd52ae88eedcd75c
        !          16280: Author: Ondrej Filip <feela@network.cz>
        !          16281: Date:   Thu Jun 8 11:00:15 2000 +0000
        !          16282: 
        !          16283:     Introduction to configuration of OSPF.
        !          16284: 
        !          16285: commit c62d1c19a924668ccf5315ca8882ea041581e3bf
        !          16286: Author: Martin Mares <mj@ucw.cz>
        !          16287: Date:   Thu Jun 8 10:48:51 2000 +0000
        !          16288: 
        !          16289:     ... as well there.
        !          16290: 
        !          16291: commit 49569a8b53b7494b19344f5fc9cd659f68477ba4
        !          16292: Author: Martin Mares <mj@ucw.cz>
        !          16293: Date:   Thu Jun 8 10:48:35 2000 +0000
        !          16294: 
        !          16295:     Oops!  Configuration compiles now.
        !          16296: 
        !          16297: commit a460184532f36f75bc9727886faf07c2bde2d7f5
        !          16298: Author: Pavel Machek <pavel@ucw.cz>
        !          16299: Date:   Thu Jun 8 10:30:55 2000 +0000
        !          16300: 
        !          16301:     Tiny fixes.
        !          16302: 
        !          16303: commit 86598d87be6b572d3ca9731a72bc820889f5265c
        !          16304: Author: Martin Mares <mj@ucw.cz>
        !          16305: Date:   Thu Jun 8 10:27:01 2000 +0000
        !          16306: 
        !          16307:     Updated.
        !          16308: 
        !          16309: commit a5a947d4d8f86dd1180d76f0803402383df0dcab
        !          16310: Author: Pavel Machek <pavel@ucw.cz>
        !          16311: Date:   Thu Jun 8 10:26:19 2000 +0000
        !          16312: 
        !          16313:     Fixing error messages.
        !          16314: 
        !          16315: commit ca77641d0787be514cae6a622e26e6a58af11d12
        !          16316: Author: Pavel Machek <pavel@ucw.cz>
        !          16317: Date:   Thu Jun 8 10:25:56 2000 +0000
        !          16318: 
        !          16319:     Use `switch' for `disabled'.
        !          16320: 
        !          16321: commit ec423cc725d4b097e596dbadd84f3dea40deb0b8
        !          16322: Author: Martin Mares <mj@ucw.cz>
        !          16323: Date:   Thu Jun 8 10:25:02 2000 +0000
        !          16324: 
        !          16325:     Updated CLI helps.
        !          16326: 
        !          16327: commit 5a203dac615369806dc6eee0418ea39c597bea41
        !          16328: Author: Pavel Machek <pavel@ucw.cz>
        !          16329: Date:   Thu Jun 8 10:24:42 2000 +0000
        !          16330: 
        !          16331:     Docs updates.
        !          16332: 
        !          16333: commit b178d92a0ba1dc198f05dc8252c826e9bd62c5cf
        !          16334: Author: Pavel Machek <pavel@ucw.cz>
        !          16335: Date:   Thu Jun 8 08:24:32 2000 +0000
        !          16336: 
        !          16337:     Better messages
        !          16338: 
        !          16339: commit 099c017fca667bbb59cff65be2ac58c82f8fb3a8
        !          16340: Author: Ondrej Filip <feela@network.cz>
        !          16341: Date:   Thu Jun 8 02:28:04 2000 +0000
        !          16342: 
        !          16343:     Still some endianity bugs.
        !          16344: 
        !          16345: commit 59ba3342968fdd2a016b192559a64439281e25bf
        !          16346: Author: Ondrej Filip <feela@network.cz>
        !          16347: Date:   Thu Jun 8 02:04:45 2000 +0000
        !          16348: 
        !          16349:     I forgot some endianity operations.
        !          16350: 
        !          16351: commit 423230f2f1080c6a4f6d05b6d7705cfaee500f48
        !          16352: Author: Ondrej Filip <feela@network.cz>
        !          16353: Date:   Thu Jun 8 01:49:19 2000 +0000
        !          16354: 
        !          16355:     Ehm, my (B)DR election was based on router id, but RFC says ip!
        !          16356: 
        !          16357: commit 17e29574bcf0e03e3243a48e784b0248925cc5b4
        !          16358: Author: Ondrej Filip <feela@network.cz>
        !          16359: Date:   Wed Jun 7 23:48:33 2000 +0000
        !          16360: 
        !          16361:     Better algoritmus of LSA aging.
        !          16362: 
        !          16363: commit 25a3f3da7a2312e5ae21ada2aeccc412e2d1d867
        !          16364: Author: Ondrej Filip <feela@network.cz>
        !          16365: Date:   Wed Jun 7 23:34:43 2000 +0000
        !          16366: 
        !          16367:     I mark all LSA as in distance INFINITY in process of aging.
        !          16368:     I don't have to WALK twice through it.
        !          16369: 
        !          16370: commit 1186369bbd45ab901eccc313708cc20f9dbf0f42
        !          16371: Author: Ondrej Filip <feela@network.cz>
        !          16372: Date:   Wed Jun 7 23:23:37 2000 +0000
        !          16373: 
        !          16374:     Doc.
        !          16375: 
        !          16376: commit 37c3e558ab31a5e6088cef063dcd1e267238be74
        !          16377: Author: Ondrej Filip <feela@network.cz>
        !          16378: Date:   Wed Jun 7 23:05:32 2000 +0000
        !          16379: 
        !          16380:     Simple explanation, how LSA are kept in database.
        !          16381: 
        !          16382: commit 87f0d22ef84826f6dc6d0a1ae7ba8020b6e52573
        !          16383: Author: Ondrej Filip <feela@network.cz>
        !          16384: Date:   Wed Jun 7 22:57:59 2000 +0000
        !          16385: 
        !          16386:     Minor change.
        !          16387: 
        !          16388: commit c2553b1b3e1ff61e24b9435b897ef942abcec006
        !          16389: Author: Ondrej Filip <feela@network.cz>
        !          16390: Date:   Wed Jun 7 22:56:52 2000 +0000
        !          16391: 
        !          16392:     Minor changes.
        !          16393: 
        !          16394: commit eee9cefd8c13184e45878ce8e2ef12fcdece3ded
        !          16395: Author: Ondrej Filip <feela@network.cz>
        !          16396: Date:   Wed Jun 7 22:53:51 2000 +0000
        !          16397: 
        !          16398:     Doc
        !          16399: 
        !          16400: commit e9ab0b4212dc0939d782c991c86c362e09eb279f
        !          16401: Author: Ondrej Filip <feela@network.cz>
        !          16402: Date:   Wed Jun 7 22:31:47 2000 +0000
        !          16403: 
        !          16404:     Doc in lsalib.c + related minor changes.
        !          16405: 
        !          16406: commit d5e4b51865c9532a9b886e942d30bb64dc87a675
        !          16407: Author: Ondrej Filip <feela@network.cz>
        !          16408: Date:   Wed Jun 7 22:10:46 2000 +0000
        !          16409: 
        !          16410:     Doc
        !          16411: 
        !          16412: commit 351feeb51472602c83ec847f1feba10d68a5d57b
        !          16413: Author: Ondrej Filip <feela@network.cz>
        !          16414: Date:   Wed Jun 7 21:56:32 2000 +0000
        !          16415: 
        !          16416:     Doc.
        !          16417: 
        !          16418: commit b4af36e0d8eeb6a032b2ce2464aae76a04117827
        !          16419: Author: Ondrej Filip <feela@network.cz>
        !          16420: Date:   Wed Jun 7 21:50:16 2000 +0000
        !          16421: 
        !          16422:     Removed some FIXMEs simply deleting them.
        !          16423: 
        !          16424: commit 7ab3ff6a287d6adc8f1d371d9da1504de502c8a6
        !          16425: Author: Ondrej Filip <feela@network.cz>
        !          16426: Date:   Wed Jun 7 21:46:22 2000 +0000
        !          16427: 
        !          16428:     Doc in neighbor.c and some tiny changes related to.
        !          16429: 
        !          16430: commit cadbb827f99fc24da9227dce545aa1185bab7916
        !          16431: Author: Ondrej Filip <feela@network.cz>
        !          16432: Date:   Wed Jun 7 21:12:00 2000 +0000
        !          16433: 
        !          16434:     A copyright change.
        !          16435: 
        !          16436: commit 6f58dc64c9084aca66850b88d907cecf9b00c88d
        !          16437: Author: Ondrej Filip <feela@network.cz>
        !          16438: Date:   Wed Jun 7 20:50:08 2000 +0000
        !          16439: 
        !          16440:     Doc
        !          16441: 
        !          16442: commit 89755a86237c786878a2d0c5e527559c8a4c0b6d
        !          16443: Author: Ondrej Filip <feela@network.cz>
        !          16444: Date:   Wed Jun 7 20:30:27 2000 +0000
        !          16445: 
        !          16446:     Introdution into OSPF.
        !          16447: 
        !          16448: commit 64722c9852a8ea4bdc7db0304351850a8106300e
        !          16449: Author: Pavel Machek <pavel@ucw.cz>
        !          16450: Date:   Wed Jun 7 15:27:16 2000 +0000
        !          16451: 
        !          16452:     Added brief description of client features. Grammar really is not good place to write help from, so please check this.
        !          16453: 
        !          16454: commit 3e82b32d3637a3a3d2eb935dc7036b32bc3fecd4
        !          16455: Author: Pavel Machek <pavel@ucw.cz>
        !          16456: Date:   Wed Jun 7 14:45:55 2000 +0000
        !          16457: 
        !          16458:     Progdocs updates
        !          16459: 
        !          16460: commit 074a166d9441a2b03931751dbc181e0d462a9d7c
        !          16461: Author: Pavel Machek <pavel@ucw.cz>
        !          16462: Date:   Wed Jun 7 14:39:34 2000 +0000
        !          16463: 
        !          16464:     Better explanation for if/case, and RFC pointers for rip. Still searching for
        !          16465:     RIPv2 rfc number!
        !          16466: 
        !          16467: commit 8dcf2544996af34f3c3d71116844352427787324
        !          16468: Author: Pavel Machek <pavel@ucw.cz>
        !          16469: Date:   Wed Jun 7 14:16:11 2000 +0000
        !          16470: 
        !          16471:     Even better documentation of filters.
        !          16472: 
        !          16473: commit 7aa99d22bcabb48cfc737055942715d8efd47f6b
        !          16474: Author: Martin Mares <mj@ucw.cz>
        !          16475: Date:   Wed Jun 7 14:12:44 2000 +0000
        !          16476: 
        !          16477:     Updated.
        !          16478: 
        !          16479: commit f06a219a2445bc9ff86071fdbb9b97e51b412c31
        !          16480: Author: Ondrej Filip <feela@network.cz>
        !          16481: Date:   Wed Jun 7 14:12:13 2000 +0000
        !          16482: 
        !          16483:     Better explanation of OSPF attributes. But it's still not perfect.
        !          16484: 
        !          16485: commit 4e8ec66698e0e644f56c18b3f58393d9f5ae49a7
        !          16486: Author: Martin Mares <mj@ucw.cz>
        !          16487: Date:   Wed Jun 7 14:08:14 2000 +0000
        !          16488: 
        !          16489:     Spelling.
        !          16490: 
        !          16491: commit 07f29765a58ee72fc79d74b28dbfead24e0b5baf
        !          16492: Author: Pavel Machek <pavel@ucw.cz>
        !          16493: Date:   Wed Jun 7 14:06:37 2000 +0000
        !          16494: 
        !          16495:     RIPv6 now works.
        !          16496: 
        !          16497: commit 76c7efec63ffd2431ce5f6bd2299763f741ac37c
        !          16498: Author: Ondrej Filip <feela@network.cz>
        !          16499: Date:   Wed Jun 7 14:01:18 2000 +0000
        !          16500: 
        !          16501:     Better example for OSPF configuration.
        !          16502: 
        !          16503: commit 907503adb6d0b0763ff92266e2fbc522d77f5476
        !          16504: Author: Pavel Machek <pavel@ucw.cz>
        !          16505: Date:   Wed Jun 7 14:00:17 2000 +0000
        !          16506: 
        !          16507:     Comment fix.
        !          16508: 
        !          16509: commit 18b4d6bf278485f86ae5b636f3155fb36735ff1e
        !          16510: Author: Pavel Machek <pavel@ucw.cz>
        !          16511: Date:   Wed Jun 7 13:58:49 2000 +0000
        !          16512: 
        !          16513:     rip ipv6 bugfix
        !          16514: 
        !          16515: commit 3ca3e999ecf00cc6ab8a52a73a7ead26e83a75b7
        !          16516: Author: Martin Mares <mj@ucw.cz>
        !          16517: Date:   Wed Jun 7 13:54:24 2000 +0000
        !          16518: 
        !          16519:     Spelling and style corrections to the OSPF section.
        !          16520: 
        !          16521: commit 771ae456a5ff0e12379047b737da31b0be4059ea
        !          16522: Author: Pavel Machek <pavel@ucw.cz>
        !          16523: Date:   Wed Jun 7 13:54:06 2000 +0000
        !          16524: 
        !          16525:     Better progdocs for filters
        !          16526: 
        !          16527: commit fa6c2405e2bab551245e1af7ed19b550b8bbef79
        !          16528: Author: Ondrej Filip <feela@network.cz>
        !          16529: Date:   Wed Jun 7 13:46:13 2000 +0000
        !          16530: 
        !          16531:     Now I can change cost of interface without OSPF restart.
        !          16532: 
        !          16533: commit 6316555eea2b9b232a622fdb9aceaa4de1e23f59
        !          16534: Author: Martin Mares <mj@ucw.cz>
        !          16535: Date:   Wed Jun 7 13:32:10 2000 +0000
        !          16536: 
        !          16537:     Minor tagging fixes in OSPF docs.
        !          16538: 
        !          16539: commit 25696edb03e08f562d1993ae38ec9ae43942347d
        !          16540: Author: Pavel Machek <pavel@ucw.cz>
        !          16541: Date:   Wed Jun 7 13:30:02 2000 +0000
        !          16542: 
        !          16543:     Full list of possible values in attributes, better operators description.
        !          16544: 
        !          16545: commit 088bc8add198b27456269ca7e536d6bc77ca285b
        !          16546: Author: Ondrej Filip <feela@network.cz>
        !          16547: Date:   Wed Jun 7 13:28:54 2000 +0000
        !          16548: 
        !          16549:     Bugfix in <>.
        !          16550: 
        !          16551: commit 58f7d004fddd2cccdb019be59b6cc7a8abe50510
        !          16552: Author: Martin Mares <mj@ucw.cz>
        !          16553: Date:   Wed Jun 7 13:25:53 2000 +0000
        !          16554: 
        !          16555:     Fixes to the progdoc.
        !          16556: 
        !          16557: commit 38203d789a872077ec174a63a448568725e4715f
        !          16558: Author: Ondrej Filip <feela@network.cz>
        !          16559: Date:   Wed Jun 7 13:19:48 2000 +0000
        !          16560: 
        !          16561:     Originate rt lsa before sending first dbdes.
        !          16562: 
        !          16563: commit 0c69604c8d0c9618e6cc94c98da993439d90dde6
        !          16564: Author: Pavel Machek <pavel@ucw.cz>
        !          16565: Date:   Wed Jun 7 13:15:48 2000 +0000
        !          16566: 
        !          16567:     SGML syntax fix.
        !          16568: 
        !          16569: commit 8fd12e6b27e713b0b7b24f3f7d9efd57038b1be6
        !          16570: Author: Ondrej Filip <feela@network.cz>
        !          16571: Date:   Wed Jun 7 12:35:43 2000 +0000
        !          16572: 
        !          16573:     OSPF user documentation added.
        !          16574: 
        !          16575: commit 2e9b24211a523c754b9437d6b742d6df304d8aeb
        !          16576: Author: Martin Mares <mj@ucw.cz>
        !          16577: Date:   Wed Jun 7 12:29:08 2000 +0000
        !          16578: 
        !          16579:     Spelling fixes to progdoc.
        !          16580: 
        !          16581: commit e403aa89e50471eb6f2838117887b1207627ae3a
        !          16582: Author: Martin Mares <mj@ucw.cz>
        !          16583: Date:   Wed Jun 7 12:27:30 2000 +0000
        !          16584: 
        !          16585:     Updated TODO file.
        !          16586: 
        !          16587: commit cf0fca30353a9966c793647f7c9d10b0b56678a9
        !          16588: Author: Martin Mares <mj@ucw.cz>
        !          16589: Date:   Wed Jun 7 12:27:18 2000 +0000
        !          16590: 
        !          16591:     Added `progspell' target which runs ispell on the progdoc SGML file with
        !          16592:     all function, variable and structure names removed.
        !          16593: 
        !          16594: commit 1ae494a7e1fb7dde3ffc4e5dd7df31a1bf8dd6bf
        !          16595: Author: Martin Mares <mj@ucw.cz>
        !          16596: Date:   Wed Jun 7 11:55:36 2000 +0000
        !          16597: 
        !          16598:     Avoid SEGV's in tracing.
        !          16599: 
        !          16600: commit 8cd5c52fcb7d429f41601f7be114168cb2371072
        !          16601: Author: Ondrej Filip <feela@network.cz>
        !          16602: Date:   Wed Jun 7 01:19:16 2000 +0000
        !          16603: 
        !          16604:     Removed useless trace.
        !          16605: 
        !          16606: commit 3df89cefc19d08f621afac0ff485dba3591a39a0
        !          16607: Author: Ondrej Filip <feela@network.cz>
        !          16608: Date:   Wed Jun 7 01:18:36 2000 +0000
        !          16609: 
        !          16610:     #define SIZE_OF_IP_HEADER
        !          16611: 
        !          16612: commit bd457b8d2162034e03ac2bb62484d8b238fd556f
        !          16613: Author: Ondrej Filip <feela@network.cz>
        !          16614: Date:   Wed Jun 7 01:03:53 2000 +0000
        !          16615: 
        !          16616:     Some minor changes:
        !          16617:     Typo: transit delay!=transmit delay
        !          16618:     Zero checks etc.
        !          16619: 
        !          16620: commit edc34dc9121c188f7794d404fb112c8b162e968a
        !          16621: Author: Ondrej Filip <feela@network.cz>
        !          16622: Date:   Wed Jun 7 00:56:11 2000 +0000
        !          16623: 
        !          16624:     Reconfiguration hook.
        !          16625:     It will survive many timer and constat changes.
        !          16626: 
        !          16627: commit 1532a244da43b25fb78b7b3a67a344fa4ac542d4
        !          16628: Author: Pavel Machek <pavel@ucw.cz>
        !          16629: Date:   Tue Jun 6 20:54:05 2000 +0000
        !          16630: 
        !          16631:     mj's fixes to rip documentation.
        !          16632: 
        !          16633: commit a7c9f7c065907e310ce1954821f2a8fc61c0261b
        !          16634: Author: Pavel Machek <pavel@ucw.cz>
        !          16635: Date:   Tue Jun 6 20:35:59 2000 +0000
        !          16636: 
        !          16637:     Batch of mj's corrections (config + filters)
        !          16638: 
        !          16639: commit a63a9ce609864e6ba3e76a1c47fd6423b532dec1
        !          16640: Author: Ondrej Filip <feela@network.cz>
        !          16641: Date:   Tue Jun 6 12:50:02 2000 +0000
        !          16642: 
        !          16643:     Better dumping neighbors' states on PTP interface.
        !          16644: 
        !          16645: commit a00c7a18f561bf46533dac46ee56227ebdf1be08
        !          16646: Author: Martin Mares <mj@ucw.cz>
        !          16647: Date:   Tue Jun 6 11:58:25 2000 +0000
        !          16648: 
        !          16649:     Typos in Static section.
        !          16650: 
        !          16651: commit 02357f960e6a2946add25652c009fa8dfe847f68
        !          16652: Author: Pavel Machek <pavel@ucw.cz>
        !          16653: Date:   Tue Jun 6 11:53:22 2000 +0000
        !          16654: 
        !          16655:     Merged mj's changes, up-to "import filter".
        !          16656: 
        !          16657: commit 41ad16e2d5dc03f6620b94f8e531373788e11db9
        !          16658: Author: Ondrej Filip <feela@network.cz>
        !          16659: Date:   Tue Jun 6 11:50:48 2000 +0000
        !          16660: 
        !          16661:     Added IP protocols.
        !          16662: 
        !          16663: commit a852c139dc90febae40be055050ed30490d823b8
        !          16664: Author: Pavel Machek <pavel@ucw.cz>
        !          16665: Date:   Tue Jun 6 11:05:12 2000 +0000
        !          16666: 
        !          16667:     Don't let example overflow, and new chapter for "about routing tables".
        !          16668: 
        !          16669: commit ee4880c82fcefe61cccb8ec729905a2b19706d33
        !          16670: Author: Ondrej Filip <feela@network.cz>
        !          16671: Date:   Tue Jun 6 02:54:41 2000 +0000
        !          16672: 
        !          16673:     Some '\n' deleted.
        !          16674: 
        !          16675: commit 064b1d893243bc187980f53292414583ff3b4630
        !          16676: Author: Ondrej Filip <feela@network.cz>
        !          16677: Date:   Tue Jun 6 02:50:49 2000 +0000
        !          16678: 
        !          16679:     Tracing.
        !          16680: 
        !          16681: commit bd37f45c10be697403e59c957273d172b3d3ed8e
        !          16682: Author: Ondrej Filip <feela@network.cz>
        !          16683: Date:   Tue Jun 6 02:43:32 2000 +0000
        !          16684: 
        !          16685:     Deleted some debug()
        !          16686: 
        !          16687: commit abcbfd0400eeb514c63376b50d3948581c20ca4c
        !          16688: Author: Ondrej Filip <feela@network.cz>
        !          16689: Date:   Tue Jun 6 02:34:57 2000 +0000
        !          16690: 
        !          16691:     Tracing.
        !          16692: 
        !          16693: commit 531a48d8c5c168329640ccb21cd062dbb7b6f5a2
        !          16694: Author: Ondrej Filip <feela@network.cz>
        !          16695: Date:   Tue Jun 6 02:32:14 2000 +0000
        !          16696: 
        !          16697:     Tracing in LS ack.
        !          16698: 
        !          16699: commit 992705f65a9feb04ed0e918d06ad283928aca13a
        !          16700: Author: Ondrej Filip <feela@network.cz>
        !          16701: Date:   Tue Jun 6 02:27:08 2000 +0000
        !          16702: 
        !          16703:     Tracing in topology
        !          16704: 
        !          16705: commit d3995c498d92d7ce54fb2fcb6904e4e41f7588dc
        !          16706: Author: Ondrej Filip <feela@network.cz>
        !          16707: Date:   Tue Jun 6 02:16:39 2000 +0000
        !          16708: 
        !          16709:     Tracing in LSUPD.
        !          16710: 
        !          16711: commit f14032efdd87bca5c2839be01ffe66797976c7bc
        !          16712: Author: Ondrej Filip <feela@network.cz>
        !          16713: Date:   Tue Jun 6 02:09:58 2000 +0000
        !          16714: 
        !          16715:     First part of tracing.
        !          16716: 
        !          16717: commit 51cff78b2571e24963d3a81694f854605eb75eac
        !          16718: Author: Ondrej Filip <feela@network.cz>
        !          16719: Date:   Tue Jun 6 01:46:32 2000 +0000
        !          16720: 
        !          16721:     Allocate OSPF areas before interfaces.
        !          16722: 
        !          16723: commit c1824c4d4c7753246ba26d27c7a3b7be3006d46b
        !          16724: Author: Ondrej Filip <feela@network.cz>
        !          16725: Date:   Tue Jun 6 01:23:03 2000 +0000
        !          16726: 
        !          16727:     Simple autentication added.
        !          16728: 
        !          16729: commit fef1badfcfb0519cca10f3561e5cb79ef9f9e969
        !          16730: Author: Ondrej Filip <feela@network.cz>
        !          16731: Date:   Tue Jun 6 01:00:34 2000 +0000
        !          16732: 
        !          16733:     All die() renamed to bug().
        !          16734: 
        !          16735: commit 80787d418bd028f59e34ffb08c1c221992fe3b41
        !          16736: Author: Ondrej Filip <feela@network.cz>
        !          16737: Date:   Tue Jun 6 00:52:35 2000 +0000
        !          16738: 
        !          16739:     Dummy reconfigure added.
        !          16740: 
        !          16741: commit f8f1e1f110c3ff1aec03a9fa918257cf4d29e916
        !          16742: Author: Ondrej Filip <feela@network.cz>
        !          16743: Date:   Tue Jun 6 00:46:00 2000 +0000
        !          16744: 
        !          16745:     Interface locks added.
        !          16746: 
        !          16747: commit 7d68e18b414bbdef9a5472006e8674a3d74e5a00
        !          16748: Author: Ondrej Filip <feela@network.cz>
        !          16749: Date:   Tue Jun 6 00:21:06 2000 +0000
        !          16750: 
        !          16751:     Added NBMA into examples.
        !          16752: 
        !          16753: commit b131e163c292aac09dc7f73924de0fad6547743d
        !          16754: Author: Ondrej Filip <feela@network.cz>
        !          16755: Date:   Tue Jun 6 00:16:31 2000 +0000
        !          16756: 
        !          16757:     Some useles variable deleted.
        !          16758: 
        !          16759: commit 3301b9d1c57b4e76d32f1244e3da33012e70d20d
        !          16760: Author: Ondrej Filip <feela@network.cz>
        !          16761: Date:   Tue Jun 6 00:16:03 2000 +0000
        !          16762: 
        !          16763:     Some useless variable deleted.
        !          16764: 
        !          16765: commit eb436e16fd85340d3403a033ee86f973428a2f08
        !          16766: Author: Ondrej Filip <feela@network.cz>
        !          16767: Date:   Tue Jun 6 00:08:27 2000 +0000
        !          16768: 
        !          16769:     NBMA networks seems to work, but this should be better. :-)
        !          16770: 
        !          16771: commit e5b5d18c1c8b33e76e954c0696e056fc11701631
        !          16772: Author: Ondrej Filip <feela@network.cz>
        !          16773: Date:   Mon Jun 5 23:44:26 2000 +0000
        !          16774: 
        !          16775:     NBMA networks should work now.
        !          16776: 
        !          16777: commit 5c18880e35f668d33a993be5b2854547a08d9199
        !          16778: Author: Martin Mares <mj@ucw.cz>
        !          16779: Date:   Mon Jun 5 21:26:11 2000 +0000
        !          16780: 
        !          16781:     Avoid sentence containing a colon to start new doc subsection.
        !          16782: 
        !          16783: commit ab698fc57c9898790964df7f9f59329e1f8930ba
        !          16784: Author: Ondrej Filip <feela@network.cz>
        !          16785: Date:   Mon Jun 5 21:09:03 2000 +0000
        !          16786: 
        !          16787:     Added example of OSPF configuration.
        !          16788: 
        !          16789: commit a13eaf219acf5b90af09b914a2182e23d5812aee
        !          16790: Author: Martin Mares <mj@ucw.cz>
        !          16791: Date:   Mon Jun 5 21:02:57 2000 +0000
        !          16792: 
        !          16793:     Define element <progdoc> which initializes different formatting for the
        !          16794:     programmer's guide (\raggedbottom etc.).
        !          16795:     
        !          16796:     Also, omit "\usepackage{t1enc}", so that bullets work now.
        !          16797: 
        !          16798: commit 854128a5ed540f230933cdc2c787e94d2658647b
        !          16799: Author: Martin Mares <mj@ucw.cz>
        !          16800: Date:   Mon Jun 5 21:01:58 2000 +0000
        !          16801: 
        !          16802:     Don't print empty synopses of functions.
        !          16803: 
        !          16804: commit 3b580a23ad32e8445c419932d6f7715cdc2a0687
        !          16805: Author: Ondrej Filip <feela@network.cz>
        !          16806: Date:   Mon Jun 5 20:57:53 2000 +0000
        !          16807: 
        !          16808:     Bugfix in NET LSA flushing.
        !          16809:     Configuration now works! :-)
        !          16810:     Better "show ospf"
        !          16811:     Some minor bugfixes.
        !          16812: 
        !          16813: commit f1aa23d4b3949ccd7c86f9a4e87eda63149b5f6d
        !          16814: Author: Martin Mares <mj@ucw.cz>
        !          16815: Date:   Mon Jun 5 20:24:42 2000 +0000
        !          16816: 
        !          16817:     Minor tweaks of spacing.
        !          16818: 
        !          16819: commit 4bb9ce56bbf42ac09fc8293d8419835b6f178e83
        !          16820: Author: Ondrej Filip <feela@network.cz>
        !          16821: Date:   Mon Jun 5 19:45:06 2000 +0000
        !          16822: 
        !          16823:     Reset inactim timer if you receive any packet from neighbor.
        !          16824: 
        !          16825: commit 496c819f26f67593797f0b861e153399c1d63a86
        !          16826: Author: Ondrej Filip <feela@network.cz>
        !          16827: Date:   Mon Jun 5 19:35:48 2000 +0000
        !          16828: 
        !          16829:     Removed some FIXMEs by deleting them.
        !          16830: 
        !          16831: commit 3585d400e03a4e43def868b492df440ae52a29bb
        !          16832: Author: Ondrej Filip <feela@network.cz>
        !          16833: Date:   Mon Jun 5 19:31:55 2000 +0000
        !          16834: 
        !          16835:     Don't info about DR and BDR on non-MA networks.
        !          16836: 
        !          16837: commit 2debcb9eb0d76362003726ca8b0f5f43ee275dee
        !          16838: Author: Martin Mares <mj@ucw.cz>
        !          16839: Date:   Mon Jun 5 19:17:37 2000 +0000
        !          16840: 
        !          16841:     Move TeX trickery for typesetting of function descriptions to where
        !          16842:     it belongs.
        !          16843: 
        !          16844: commit fdb0c540a82d9732d4d1d36c83e186f36d756d08
        !          16845: Author: Ondrej Filip <feela@network.cz>
        !          16846: Date:   Mon Jun 5 19:12:22 2000 +0000
        !          16847: 
        !          16848:     PTP link in RTLSA was not announced correctly.
        !          16849: 
        !          16850: commit 1605f043aa65b2434eb29d994f622bd79d0f2be7
        !          16851: Author: Martin Mares <mj@ucw.cz>
        !          16852: Date:   Mon Jun 5 19:08:27 2000 +0000
        !          16853: 
        !          16854:     Avoid using style combinations such as italic typewriter font.
        !          16855: 
        !          16856: commit 8441f179253777b3e4bf3461ac847b33ddb098a4
        !          16857: Author: Martin Mares <mj@ucw.cz>
        !          16858: Date:   Mon Jun 5 18:40:25 2000 +0000
        !          16859: 
        !          16860:     Unless a filter specifies otherwise, all external routes have type 2
        !          16861:     metric 10000.
        !          16862: 
        !          16863: commit f8032bbdb150221e84f0bd7de825cf3e9f15aa66
        !          16864: Author: Martin Mares <mj@ucw.cz>
        !          16865: Date:   Mon Jun 5 18:32:51 2000 +0000
        !          16866: 
        !          16867:     Simplified the grammar and fixed several minor bugs (e.g., `INTERFACE "eth0" };'
        !          16868:     was a valid entry).
        !          16869: 
        !          16870: commit 44fc1888cf284d863c897b861942612acf36f52f
        !          16871: Author: Ondrej Filip <feela@network.cz>
        !          16872: Date:   Mon Jun 5 18:09:49 2000 +0000
        !          16873: 
        !          16874:     First calculate checksum and then send refreshed LSA!
        !          16875: 
        !          16876: commit aba5e89f9310bb33c7362b02108e640983ad0819
        !          16877: Author: Ondrej Filip <feela@network.cz>
        !          16878: Date:   Mon Jun 5 18:09:15 2000 +0000
        !          16879: 
        !          16880:     Better checksum checking.
        !          16881: 
        !          16882: commit 4c5f93d76bd0636407a185c175fe73411ae79a32
        !          16883: Author: Pavel Machek <pavel@ucw.cz>
        !          16884: Date:   Mon Jun 5 17:13:36 2000 +0000
        !          16885: 
        !          16886:     Better documentation. There are functions whose description is good when
        !          16887:     reading source but whose documentation does not belong to progdocs.
        !          16888: 
        !          16889: commit 22080a8640f268247a4cf74c9e76f958a05c4b69
        !          16890: Author: Pavel Machek <pavel@ucw.cz>
        !          16891: Date:   Mon Jun 5 16:42:54 2000 +0000
        !          16892: 
        !          16893:     Make rip example fit on page.
        !          16894: 
        !          16895: commit 8798c811762f463b662108643d7c4c869deb7f98
        !          16896: Author: Pavel Machek <pavel@ucw.cz>
        !          16897: Date:   Mon Jun 5 16:36:16 2000 +0000
        !          16898: 
        !          16899:     Docs updates:
        !          16900:     
        !          16901:     make prog.dvi
        !          16902:     
        !          16903:     do not overflow in .dvi
        !          16904:     
        !          16905:     include filter documentation in the system
        !          16906: 
        !          16907: commit eb2c99a132c87c5560edc77909edfab2df44f0a2
        !          16908: Author: Ondrej Filip <feela@network.cz>
        !          16909: Date:   Mon Jun 5 16:32:29 2000 +0000
        !          16910: 
        !          16911:     Yet another change, now flushing of net lsa seems to be perfect. :-)
        !          16912: 
        !          16913: commit b458ce83d7cdc507aa18e5fed2ab206847bc317e
        !          16914: Author: Martin Mares <mj@ucw.cz>
        !          16915: Date:   Mon Jun 5 16:19:27 2000 +0000
        !          16916: 
        !          16917:     Print out function synopsis as a part of the declaration.
        !          16918:     
        !          16919:     Also, reverted my previous hack for `&' and replaced it by just disabling
        !          16920:     the `& -> &amp;' conversions.
        !          16921: 
        !          16922: commit 2a5d7caa951d37c50d52ebef8ef269fa587dec5e
        !          16923: Author: Ondrej Filip <feela@network.cz>
        !          16924: Date:   Mon Jun 5 16:13:50 2000 +0000
        !          16925: 
        !          16926:     I calculated next hop of parent instead of actual LSA. :-(
        !          16927: 
        !          16928: commit 07b7100292fb87169ad5f18285927c39697f6998
        !          16929: Author: Ondrej Filip <feela@network.cz>
        !          16930: Date:   Mon Jun 5 15:44:11 2000 +0000
        !          16931: 
        !          16932:     Don;t send packet over downed interface.
        !          16933: 
        !          16934: commit 8b79c4ccd597b90222f57eb3dfadeb24f39db7bd
        !          16935: Author: Pavel Machek <pavel@ucw.cz>
        !          16936: Date:   Mon Jun 5 15:41:44 2000 +0000
        !          16937: 
        !          16938:     Add safety check.
        !          16939: 
        !          16940: commit 98da26a0a0ee9dd8f7030dcaf6f733adf8b8ad2c
        !          16941: Author: Pavel Machek <pavel@ucw.cz>
        !          16942: Date:   Mon Jun 5 15:41:29 2000 +0000
        !          16943: 
        !          16944:     Better error messages
        !          16945: 
        !          16946: commit 49222deffff154ad7c287efd4a6847cc545cda6b
        !          16947: Author: Ondrej Filip <feela@network.cz>
        !          16948: Date:   Mon Jun 5 15:06:26 2000 +0000
        !          16949: 
        !          16950:     Bug in comment. It didn't compile.
        !          16951: 
        !          16952: commit b093c328f5b352e3d059cb14cceed1e4daa1b9dc
        !          16953: Author: Pavel Machek <pavel@ucw.cz>
        !          16954: Date:   Mon Jun 5 12:52:57 2000 +0000
        !          16955: 
        !          16956:     Updates to both programmers and users doc
        !          16957: 
        !          16958: commit 73275d855dcc8a184bc19f3750c8775a59111260
        !          16959: Author: Martin Mares <mj@ucw.cz>
        !          16960: Date:   Mon Jun 5 12:49:04 2000 +0000
        !          16961: 
        !          16962:     Documented all the sysdeps (only briefly, I admit).
        !          16963:     
        !          16964:     Except for Filters, RIP and OSPF, the progdocs are complete.
        !          16965: 
        !          16966: commit 525fa2c1f0e955455bed3fdb397aceb1e6e69a57
        !          16967: Author: Martin Mares <mj@ucw.cz>
        !          16968: Date:   Mon Jun 5 12:19:12 2000 +0000
        !          16969: 
        !          16970:     Documented sockets, events and timers.
        !          16971: 
        !          16972: commit 10304bed435034cf8432b1c6262f7e7f0d84d49c
        !          16973: Author: Martin Mares <mj@ucw.cz>
        !          16974: Date:   Mon Jun 5 11:46:40 2000 +0000
        !          16975: 
        !          16976:     Split random number functions off io.c, so that they can be documented
        !          16977:     separately.
        !          16978: 
        !          16979: commit 5cc1e1f805934952f38ceb2ca6947c6d2e704937
        !          16980: Author: Martin Mares <mj@ucw.cz>
        !          16981: Date:   Mon Jun 5 11:41:41 2000 +0000
        !          16982: 
        !          16983:     Documented memory resources.
        !          16984: 
        !          16985: commit 9238b06a2c6faac8b16e990821c91affde4072c4
        !          16986: Author: Martin Mares <mj@ucw.cz>
        !          16987: Date:   Mon Jun 5 10:01:09 2000 +0000
        !          16988: 
        !          16989:     Spelling.
        !          16990: 
        !          16991: commit 42b3daa09cda8a4b80661177d3bf74b9258b0b88
        !          16992: Author: Martin Mares <mj@ucw.cz>
        !          16993: Date:   Mon Jun 5 09:51:24 2000 +0000
        !          16994: 
        !          16995:     Description of protocol module moved to where it belongs. If documentation
        !          16996:     of standard modules is stored in their source, such auxilliary files
        !          16997:     should be as well.
        !          16998: 
        !          16999: commit ac272c0067cc7f04e74f0418bc0c9ce63a657175
        !          17000: Author: Ondrej Filip <feela@network.cz>
        !          17001: Date:   Mon Jun 5 05:06:53 2000 +0000
        !          17002: 
        !          17003:     Bug in LSA origination.
        !          17004: 
        !          17005: commit dc2548d2ccc45722f0dcaa861dd3b45a397d2cac
        !          17006: Author: Ondrej Filip <feela@network.cz>
        !          17007: Date:   Mon Jun 5 05:06:22 2000 +0000
        !          17008: 
        !          17009:     Premature age LSA if you're NOT dr.
        !          17010: 
        !          17011: commit 88048fb3c970842a16c65b1566ba817871a04eb5
        !          17012: Author: Ondrej Filip <feela@network.cz>
        !          17013: Date:   Mon Jun 5 03:46:19 2000 +0000
        !          17014: 
        !          17015:     Small patch to better hash type=2 LSAs.
        !          17016: 
        !          17017: commit 273fd2c16475d3d1275a4fe17443c3ba2b93fbc4
        !          17018: Author: Ondrej Filip <feela@network.cz>
        !          17019: Date:   Mon Jun 5 02:23:20 2000 +0000
        !          17020: 
        !          17021:     Many bugfixes (I don't remember all of them):
        !          17022:     Added link ID calculation for external routes with same prefix but
        !          17023:        different mask.
        !          17024:     Bugfix in NET lsa origination.
        !          17025:     Bugfix in NET hashing.
        !          17026:     Bugfix in LSA installing.
        !          17027: 
        !          17028: commit 2d37d36c676e16b92ac38a60d3c269efeeaf07ac
        !          17029: Author: Martin Mares <mj@ucw.cz>
        !          17030: Date:   Sun Jun 4 20:06:42 2000 +0000
        !          17031: 
        !          17032:     Updated the TODO list with our last-minute stuff.
        !          17033:     
        !          17034:     Moved the rest to "Various ideas".
        !          17035: 
        !          17036: commit e24ddd9bef7e3d3490a8ee7667cd25069b40fe81
        !          17037: Author: Martin Mares <mj@ucw.cz>
        !          17038: Date:   Sun Jun 4 20:00:35 2000 +0000
        !          17039: 
        !          17040:     Don't set precedence and TTL for the dummy socket.
        !          17041: 
        !          17042: commit 13e9bac33fc99e71efddf1790ce1e7dfdc09dfa8
        !          17043: Author: Martin Mares <mj@ucw.cz>
        !          17044: Date:   Sun Jun 4 19:57:04 2000 +0000
        !          17045: 
        !          17046:     One more newline less... :)
        !          17047: 
        !          17048: commit df49d4e14b7c24f8ca958870fd1e9ddc84df1f1b
        !          17049: Author: Martin Mares <mj@ucw.cz>
        !          17050: Date:   Sun Jun 4 19:56:06 2000 +0000
        !          17051: 
        !          17052:     Removed lots of trailing newlines in log messages.
        !          17053:     
        !          17054:     Please note that the only calls which don't add newlines automatically
        !          17055:     (i.e., don't print a full line of output) are debug() and DBG().
        !          17056: 
        !          17057: commit 201187c55837587d8f88775cd957d9c8e423c254
        !          17058: Author: Martin Mares <mj@ucw.cz>
        !          17059: Date:   Sun Jun 4 19:55:11 2000 +0000
        !          17060: 
        !          17061:     debug -> DBG
        !          17062: 
        !          17063: commit bf3eb98eb829adc8bee4a210cfcefe29ba0524a1
        !          17064: Author: Martin Mares <mj@ucw.cz>
        !          17065: Date:   Sun Jun 4 19:30:55 2000 +0000
        !          17066: 
        !          17067:     Use nested scopes properly. Updated according to cf_define_symbol() changes.
        !          17068:     
        !          17069:     The rest of code doesn't need changing since it doesn't use nesting.
        !          17070: 
        !          17071: commit 04dc62a0116941d2f1510216539ae8c11c5f1cb3
        !          17072: Author: Martin Mares <mj@ucw.cz>
        !          17073: Date:   Sun Jun 4 19:30:13 2000 +0000
        !          17074: 
        !          17075:     Nested scopes could never have worked. My fault I wrote such a buggy code,
        !          17076:     Pavel's fault that he's never tested shadowing of declarations in the filters.
        !          17077:     
        !          17078:     cf_define_symbol() has been modified to check the scope of the symbol it's
        !          17079:     given and it if it's an already defined symbol, but in a different scope,
        !          17080:     a copy is created in the current scope and redefined to the new meaning,
        !          17081:     the consequence being that it cf_define_symbol() now returns the new symbol
        !          17082:     you need to use when assigning aux and aux2.
        !          17083: 
        !          17084: commit dab66519160042f1fb62a285e3a947233ce74e70
        !          17085: Author: Ondrej Filip <feela@network.cz>
        !          17086: Date:   Sun Jun 4 19:21:23 2000 +0000
        !          17087: 
        !          17088:     Install newer lsa even if nothing in its body change.
        !          17089: 
        !          17090: commit 67cc9135bfd515149ecca62f32026cd6e2a390b0
        !          17091: Author: Ondrej Filip <feela@network.cz>
        !          17092: Date:   Sun Jun 4 19:20:28 2000 +0000
        !          17093: 
        !          17094:     Many bugs in ext lsa origination.
        !          17095: 
        !          17096: commit ce8f0c083a5f46e001dff759e924910c415cfb48
        !          17097: Author: Ondrej Filip <feela@network.cz>
        !          17098: Date:   Sun Jun 4 19:19:36 2000 +0000
        !          17099: 
        !          17100:     Schedule RT calcualtion if you delete LSA by premature aging.
        !          17101: 
        !          17102: commit f7667ba1c4c7a35266ae5018b059a14a01f7f907
        !          17103: Author: Martin Mares <mj@ucw.cz>
        !          17104: Date:   Sun Jun 4 18:46:30 2000 +0000
        !          17105: 
        !          17106:     When cloning a rte and replacing its rta, remember to free the old one
        !          17107:     so that we don't leak memory. Thanks go to the resource tracking system
        !          17108:     for quickly discovering the source of leakages.
        !          17109: 
        !          17110: commit 7722938d63d206ebc0e1da732009e1e9f2cd9d72
        !          17111: Author: Martin Mares <mj@ucw.cz>
        !          17112: Date:   Sun Jun 4 18:34:39 2000 +0000
        !          17113: 
        !          17114:     Added library progdocs.
        !          17115: 
        !          17116: commit 102e3e0e0277e7b123c7c1ae3635c4a8fb55c900
        !          17117: Author: Ondrej Filip <feela@network.cz>
        !          17118: Date:   Sun Jun 4 17:51:52 2000 +0000
        !          17119: 
        !          17120:     Just to be sure, that rt calculation cannot start beforeorigination of rt LSA.
        !          17121: 
        !          17122: commit 83e50ffc472c8869d58a7d1da27846bd727a8cfd
        !          17123: Author: Ondrej Filip <feela@network.cz>
        !          17124: Date:   Sun Jun 4 17:33:15 2000 +0000
        !          17125: 
        !          17126:     Bug in debugging.
        !          17127: 
        !          17128: commit 71f7d043a6f03b5d5cd0701bb679b914b1bf47d1
        !          17129: Author: Ondrej Filip <feela@network.cz>
        !          17130: Date:   Sun Jun 4 17:10:52 2000 +0000
        !          17131: 
        !          17132:     :-) No bison does not have any comment to my code. :-)
        !          17133: 
        !          17134: commit 54e55169da71a6e6e2d8f9fbc0123297301217d7
        !          17135: Author: Martin Mares <mj@ucw.cz>
        !          17136: Date:   Sun Jun 4 17:06:18 2000 +0000
        !          17137: 
        !          17138:     BGP documented.
        !          17139: 
        !          17140: commit 3560cf8e0b68ce0cac5a9af2aadbc09d4f529e7c
        !          17141: Author: Ondrej Filip <feela@network.cz>
        !          17142: Date:   Sun Jun 4 16:36:57 2000 +0000
        !          17143: 
        !          17144:     Clean up.
        !          17145: 
        !          17146: commit e7811248685520ceff362b8bc7f090067ca42114
        !          17147: Author: Ondrej Filip <feela@network.cz>
        !          17148: Date:   Sun Jun 4 16:17:39 2000 +0000
        !          17149: 
        !          17150:     Another clean up.
        !          17151: 
        !          17152: commit 47f8e0c2169bba2dd209f1c7ed89f1d605d36b3e
        !          17153: Author: Martin Mares <mj@ucw.cz>
        !          17154: Date:   Sun Jun 4 16:16:08 2000 +0000
        !          17155: 
        !          17156:     Document.
        !          17157: 
        !          17158: commit 3b31c538333156770ddb74a7a27f271784745144
        !          17159: Author: Martin Mares <mj@ucw.cz>
        !          17160: Date:   Sun Jun 4 16:15:37 2000 +0000
        !          17161: 
        !          17162:     Documented all the trivial protocols.
        !          17163: 
        !          17164: commit 2a863dd6e18a43fe3de5b1f3651e816f6fc27bb1
        !          17165: Author: Ondrej Filip <feela@network.cz>
        !          17166: Date:   Sun Jun 4 16:12:01 2000 +0000
        !          17167: 
        !          17168:     Small change to make bison happy.
        !          17169: 
        !          17170: commit 58f9453776dff92b4ee4c81f6ca3601b6ee9f041
        !          17171: Author: Martin Mares <mj@ucw.cz>
        !          17172: Date:   Sun Jun 4 15:22:20 2000 +0000
        !          17173: 
        !          17174:     Moved parser docs to cf-lex.l, so that the parser compiles.
        !          17175: 
        !          17176: commit cdb898cfd40fe866a1835689814113075b7b5a67
        !          17177: Author: Martin Mares <mj@ucw.cz>
        !          17178: Date:   Sat Jun 3 18:23:27 2000 +0000
        !          17179: 
        !          17180:     Minor changes to the progdocs.
        !          17181: 
        !          17182: commit 06607335ef73bc0ffeb377a420e6438b531a4ea7
        !          17183: Author: Martin Mares <mj@ucw.cz>
        !          17184: Date:   Sat Jun 3 18:23:00 2000 +0000
        !          17185: 
        !          17186:     Documentation.
        !          17187: 
        !          17188: commit 899fc0abfe8400425860d0e9e4d6cc7fd338978c
        !          17189: Author: Martin Mares <mj@ucw.cz>
        !          17190: Date:   Sat Jun 3 18:22:43 2000 +0000
        !          17191: 
        !          17192:     `|' now works as it should.
        !          17193: 
        !          17194: commit 2e130b5cadb970b7f4f743e69cd459b5b42cf208
        !          17195: Author: Martin Mares <mj@ucw.cz>
        !          17196: Date:   Sat Jun 3 17:02:30 2000 +0000
        !          17197: 
        !          17198:     Recognize `|xxxx|' as verbatim text and typeset it using <tt>.
        !          17199: 
        !          17200: commit c0b2f6463fd7464ce6fe4d9dc67f37e61bface11
        !          17201: Author: Martin Mares <mj@ucw.cz>
        !          17202: Date:   Sat Jun 3 16:56:00 2000 +0000
        !          17203: 
        !          17204:     cf_symbol_class_name now recognizes SYM_IPA.
        !          17205: 
        !          17206: commit 3d675cdbe7287d3024d041ce4e28dacf7ca527cc
        !          17207: Author: Martin Mares <mj@ucw.cz>
        !          17208: Date:   Sat Jun 3 14:40:39 2000 +0000
        !          17209: 
        !          17210:     More documentation.
        !          17211: 
        !          17212: commit aaaff77605879ffd80f8980f06ea66329e9aaea8
        !          17213: Author: Ondrej Filip <feela@network.cz>
        !          17214: Date:   Sat Jun 3 09:50:31 2000 +0000
        !          17215: 
        !          17216:     More conf. items defined.
        !          17217: 
        !          17218: commit a789d814ddd8473fdb85bedb02014f6cb6435373
        !          17219: Author: Ondrej Filip <feela@network.cz>
        !          17220: Date:   Sat Jun 3 08:42:04 2000 +0000
        !          17221: 
        !          17222:     Multiple items in area {} :-)
        !          17223: 
        !          17224: commit 89d6782dd1a7775a292db3b2b622c8a48dbd757c
        !          17225: Author: Ondrej Filip <feela@network.cz>
        !          17226: Date:   Sat Jun 3 01:29:00 2000 +0000
        !          17227: 
        !          17228:     interface {} added.
        !          17229: 
        !          17230: commit b36a0a799c751864f65bc3384df301448b54f3bf
        !          17231: Author: Ondrej Filip <feela@network.cz>
        !          17232: Date:   Fri Jun 2 19:55:55 2000 +0000
        !          17233: 
        !          17234:     area {} added to config.
        !          17235: 
        !          17236: commit 7e602d5ea74206236373230a4620736370b3cc9c
        !          17237: Author: Martin Mares <mj@ucw.cz>
        !          17238: Date:   Fri Jun 2 17:42:21 2000 +0000
        !          17239: 
        !          17240:     Killed several bugs in kernel-doc. The most painful one was that it
        !          17241:     was unable to recognize structure markers `&'.
        !          17242: 
        !          17243: commit a7ed3e557fd1f8c4e56fef9a5238091181c01186
        !          17244: Author: Martin Mares <mj@ucw.cz>
        !          17245: Date:   Fri Jun 2 17:41:43 2000 +0000
        !          17246: 
        !          17247:     New TODO list.
        !          17248: 
        !          17249: commit ddbcb927f255ef4720e87b7f14339add37e705ce
        !          17250: Author: Martin Mares <mj@ucw.cz>
        !          17251: Date:   Fri Jun 2 17:24:11 2000 +0000
        !          17252: 
        !          17253:     Documented protocol hooks.
        !          17254: 
        !          17255: commit 371adba6deb0add48fd4d03d40d4e098590689fc
        !          17256: Author: Martin Mares <mj@ucw.cz>
        !          17257: Date:   Fri Jun 2 17:23:53 2000 +0000
        !          17258: 
        !          17259:     Use <chapt> for chapters, <sect> for sections and <sect1> for subsections.
        !          17260: 
        !          17261: commit 6cba2d5eeb522cbf6f1cc28c38fc2c445f41d1e6
        !          17262: Author: Martin Mares <mj@ucw.cz>
        !          17263: Date:   Fri Jun 2 17:22:43 2000 +0000
        !          17264: 
        !          17265:     Typographical enhancements. Now, the documentation is typeset using a modified
        !          17266:     book style.
        !          17267:     
        !          17268:     Please look at this version and tell me your opinion. Especially I don't feel
        !          17269:     happy about the spacing and (not) indenting of paragraphs.
        !          17270:     
        !          17271:     Also, I've removed things like "fax" and "letter" from the LaTeX mapping file.
        !          17272: 
        !          17273: commit 3fa5722defc340571a6518d5556b1e354f05ce18
        !          17274: Author: Ondrej Filip <feela@network.cz>
        !          17275: Date:   Fri Jun 2 15:05:41 2000 +0000
        !          17276: 
        !          17277:     First option into config added. :-)
        !          17278: 
        !          17279: commit 62924172aef9cf5308fd21d3ad5f6572b977c268
        !          17280: Author: Ondrej Filip <feela@network.cz>
        !          17281: Date:   Fri Jun 2 13:52:50 2000 +0000
        !          17282: 
        !          17283:     Flush LSA when receive aged one.
        !          17284: 
        !          17285: commit 3c6269b8fec71fa22d5b087cae0e9ef86ff2b351
        !          17286: Author: Martin Mares <mj@ucw.cz>
        !          17287: Date:   Fri Jun 2 13:42:36 2000 +0000
        !          17288: 
        !          17289:     Added documentation on protocols.
        !          17290:     
        !          17291:     Protocol hooks deserve an extra chapter (to come soon).
        !          17292: 
        !          17293: commit e4ba0ec1977e9925ec67f9442067e5ff7cb36111
        !          17294: Author: Ondrej Filip <feela@network.cz>
        !          17295: Date:   Fri Jun 2 13:27:34 2000 +0000
        !          17296: 
        !          17297:     Bugfix in receiving of aged LSA.
        !          17298: 
        !          17299: commit 9a8f20fc0fda1cf910fe8ca21e850ab1524c4355
        !          17300: Author: Martin Mares <mj@ucw.cz>
        !          17301: Date:   Fri Jun 2 12:41:25 2000 +0000
        !          17302: 
        !          17303:     Better description of the route distribution process.
        !          17304: 
        !          17305: commit 2eac33f774a2075cff3d28f7fdb36e0482e48f35
        !          17306: Author: Ondrej Filip <feela@network.cz>
        !          17307: Date:   Fri Jun 2 12:34:28 2000 +0000
        !          17308: 
        !          17309:     Better LSA Aging.
        !          17310: 
        !          17311: commit 3ce8c61000da58261750af2b6e60dbf2fca2abcf
        !          17312: Author: Martin Mares <mj@ucw.cz>
        !          17313: Date:   Fri Jun 2 12:29:55 2000 +0000
        !          17314: 
        !          17315:     Documentation on routing tables and route attributes.
        !          17316: 
        !          17317: commit 566a0eede7094519df07418116beeb7f3f976c7a
        !          17318: Author: Martin Mares <mj@ucw.cz>
        !          17319: Date:   Fri Jun 2 12:29:24 2000 +0000
        !          17320: 
        !          17321:     Removed rta_find() since nobody uses it and it's more convenient
        !          17322:     to use ea_find() directly.
        !          17323: 
        !          17324: commit ece612e12808325b1b7eb24d060a42343549238f
        !          17325: Author: Ondrej Filip <feela@network.cz>
        !          17326: Date:   Fri Jun 2 11:24:38 2000 +0000
        !          17327: 
        !          17328:     sh interface "iface" dumpped all.
        !          17329: 
        !          17330: commit 7a5582ac0045b80274de3183eca9b71eb52f2e6b
        !          17331: Author: Ondrej Filip <feela@network.cz>
        !          17332: Date:   Fri Jun 2 11:00:14 2000 +0000
        !          17333: 
        !          17334:     Better dumping, if I get strange lsack.
        !          17335: 
        !          17336: commit 3488634cba08aeda19a733f7c76aef7a54a4e0ec
        !          17337: Author: Ondrej Filip <feela@network.cz>
        !          17338: Date:   Fri Jun 2 10:21:02 2000 +0000
        !          17339: 
        !          17340:     Handle "show ospf *" even if protocol is down.
        !          17341: 
        !          17342: commit a489f0ce8ba44df0894a2bd102660fed1bed5ac6
        !          17343: Author: Ondrej Filip <feela@network.cz>
        !          17344: Date:   Fri Jun 2 09:57:22 2000 +0000
        !          17345: 
        !          17346:     Silly bug in sh interface. Now I test ALL interfaces. :-)
        !          17347: 
        !          17348: commit 489f800b45d6d2d1a1fc9b371a015563cea9722d
        !          17349: Author: Ondrej Filip <feela@network.cz>
        !          17350: Date:   Fri Jun 2 09:53:26 2000 +0000
        !          17351: 
        !          17352:     Speedup loading process.
        !          17353: 
        !          17354: commit 75317ab8e522b5dceb87b204e09d8ad919ac8558
        !          17355: Author: Martin Mares <mj@ucw.cz>
        !          17356: Date:   Fri Jun 2 09:51:26 2000 +0000
        !          17357: 
        !          17358:     Spelling fixes.
        !          17359: 
        !          17360: commit f8e2d916b6cbe42131bfefbc5a2cd0ddfaf8131b
        !          17361: Author: Martin Mares <mj@ucw.cz>
        !          17362: Date:   Fri Jun 2 09:46:35 2000 +0000
        !          17363: 
        !          17364:     Minor fixes.
        !          17365: 
        !          17366: commit 92e8be8c898932bf959e722acfbb33d154b8fcc4
        !          17367: Author: Ondrej Filip <feela@network.cz>
        !          17368: Date:   Fri Jun 2 09:42:24 2000 +0000
        !          17369: 
        !          17370:     Bugfix in lsreq receiving.
        !          17371: 
        !          17372: commit cd4fecb66affe468928abd87cadef4ff9a991d0b
        !          17373: Author: Martin Mares <mj@ucw.cz>
        !          17374: Date:   Fri Jun 2 09:35:17 2000 +0000
        !          17375: 
        !          17376:     Made it *compile* !!!
        !          17377: 
        !          17378: commit 64ba9f7bcc4bb3b53c0cab303c230855a1443a42
        !          17379: Author: Pavel Machek <pavel@ucw.cz>
        !          17380: Date:   Fri Jun 2 08:01:12 2000 +0000
        !          17381: 
        !          17382:     Do not try to divide by zero.
        !          17383: 
        !          17384: commit 326e33f521f7796cbdde4a36a67bb4c7ffd25c1b
        !          17385: Author: Pavel Machek <pavel@ucw.cz>
        !          17386: Date:   Fri Jun 2 07:59:26 2000 +0000
        !          17387: 
        !          17388:     Results of complete reading of documentation.
        !          17389: 
        !          17390: commit c4f0f0140863c743b1d63c3bc94cb8e85417a4ad
        !          17391: Author: Ondrej Filip <feela@network.cz>
        !          17392: Date:   Thu Jun 1 17:52:21 2000 +0000
        !          17393: 
        !          17394:     Added show ospf interface.
        !          17395:     show ospf neighbors now knows "<interface>".
        !          17396: 
        !          17397: commit 58740ed4c587a230bf1406eca52cbc84bcb1c5c3
        !          17398: Author: Martin Mares <mj@ucw.cz>
        !          17399: Date:   Thu Jun 1 17:12:19 2000 +0000
        !          17400: 
        !          17401:     Documentation.
        !          17402: 
        !          17403: commit 658d272bb635b5efeeed883dec5af9dddf12397f
        !          17404: Author: Martin Mares <mj@ucw.cz>
        !          17405: Date:   Thu Jun 1 17:11:10 2000 +0000
        !          17406: 
        !          17407:     Better handling of parameterless functions.
        !          17408: 
        !          17409: commit 725774926676352d2a065cbeb95a81b95bfcfa3e
        !          17410: Author: Ondrej Filip <feela@network.cz>
        !          17411: Date:   Thu Jun 1 16:45:10 2000 +0000
        !          17412: 
        !          17413:     Some other reply codes allocated.
        !          17414: 
        !          17415: commit 4ab4e9778f35f8a123ee6bbc2387b9870859b707
        !          17416: Author: Ondrej Filip <feela@network.cz>
        !          17417: Date:   Thu Jun 1 16:26:59 2000 +0000
        !          17418: 
        !          17419:     show ospf implemented.
        !          17420: 
        !          17421: commit cf318e3cd3206ad6a459a01e29e8494a100a67eb
        !          17422: Author: Martin Mares <mj@ucw.cz>
        !          17423: Date:   Thu Jun 1 16:17:29 2000 +0000
        !          17424: 
        !          17425:     Removed comments about workings of the old neighbor cache which are
        !          17426:     (1) obsolete and (2) replaced by the progdoc.
        !          17427: 
        !          17428: commit 1f495723c355b66383ab391fdba84aae7e9226eb
        !          17429: Author: Martin Mares <mj@ucw.cz>
        !          17430: Date:   Thu Jun 1 16:16:49 2000 +0000
        !          17431: 
        !          17432:     Documented.
        !          17433: 
        !          17434: commit ce4aca093a267da3dcd07b25f4390d393fd3c259
        !          17435: Author: Martin Mares <mj@ucw.cz>
        !          17436: Date:   Thu Jun 1 16:16:18 2000 +0000
        !          17437: 
        !          17438:     FIB documentation.
        !          17439:     
        !          17440:     I've changed the init callback type to a typedef to work around a bug
        !          17441:     in kernel-doc I'm too lazy to hunt now.
        !          17442: 
        !          17443: commit a783e259d8d710208280126177487cc790418515
        !          17444: Author: Ondrej Filip <feela@network.cz>
        !          17445: Date:   Thu Jun 1 15:53:06 2000 +0000
        !          17446: 
        !          17447:     Cisco-like "show ospf neighbors" implemented.
        !          17448: 
        !          17449: commit b594ad238692738352cd8827d71038a356b0d5a5
        !          17450: Author: Martin Mares <mj@ucw.cz>
        !          17451: Date:   Thu Jun 1 15:13:23 2000 +0000
        !          17452: 
        !          17453:     tm_format_reltime() works with both past and future timestamps.
        !          17454: 
        !          17455: commit c23f40b1458e448ec9e7c974a2c486f2eccff871
        !          17456: Author: Martin Mares <mj@ucw.cz>
        !          17457: Date:   Thu Jun 1 15:04:25 2000 +0000
        !          17458: 
        !          17459:     Use <funcsect> instead of <sect3>.
        !          17460: 
        !          17461: commit a9aa4c1ebb5ccdb2c6c7672267ad32670261a10b
        !          17462: Author: Martin Mares <mj@ucw.cz>
        !          17463: Date:   Thu Jun 1 13:13:49 2000 +0000
        !          17464: 
        !          17465:     Inactive sticky neighbors have no scope.
        !          17466: 
        !          17467: commit 23df5e4cf3b0ff10e7484fc5ca40cb5ea638078b
        !          17468: Author: Martin Mares <mj@ucw.cz>
        !          17469: Date:   Thu Jun 1 13:00:39 2000 +0000
        !          17470: 
        !          17471:     Print route tag in hexadecimal and omit it if it's zero.
        !          17472: 
        !          17473: commit bc00185e5a2d51d965465f117722fd4189437d24
        !          17474: Author: Martin Mares <mj@ucw.cz>
        !          17475: Date:   Thu Jun 1 13:00:19 2000 +0000
        !          17476: 
        !          17477:     Updated to new neighbor cache.
        !          17478: 
        !          17479: commit 491cd43b777e46a301ae2a8f5400acaeb28b8ca5
        !          17480: Author: Martin Mares <mj@ucw.cz>
        !          17481: Date:   Thu Jun 1 12:59:50 2000 +0000
        !          17482: 
        !          17483:     Updated RIP to new neighbor cache semantics. When presented with next hop
        !          17484:     equal to a local address, just ignore the route (as it is usually just an
        !          17485:     external route exported by us echoed by some RIP peer), when given an
        !          17486:     invalid next hop, moan to the log.
        !          17487: 
        !          17488: commit 4a91150175268d49a1c17131838e5afad925788b
        !          17489: Author: Martin Mares <mj@ucw.cz>
        !          17490: Date:   Thu Jun 1 12:58:41 2000 +0000
        !          17491: 
        !          17492:     Updated for new scope handling.
        !          17493:     
        !          17494:     Also, provide proper address scopes in struct ifa.
        !          17495: 
        !          17496: commit 0f32f2a65a086561fdfd31d4efdea839ec9ce573
        !          17497: Author: Martin Mares <mj@ucw.cz>
        !          17498: Date:   Thu Jun 1 12:58:04 2000 +0000
        !          17499: 
        !          17500:     Modified the neighbor cache to remember local addresses as well.
        !          17501:     
        !          17502:     neighbor->scope now contains proper address scope which is zero (SCOPE_HOST)
        !          17503:     for local addresses, higher (SCOPE_LINK, ..., SCOPE_UNIVERSE) for remote ones.
        !          17504: 
        !          17505: commit 56ca7acd3afd0df7928b3adfe4a8db8b29b89fb2
        !          17506: Author: Martin Mares <mj@ucw.cz>
        !          17507: Date:   Thu Jun 1 12:55:26 2000 +0000
        !          17508: 
        !          17509:     BGP: RFC 2842 has replaced the cap-draft.
        !          17510: 
        !          17511: commit df968040f6b0f9eb83aa9c9eb4b4d6dcee6a384a
        !          17512: Author: Ondrej Filip <feela@network.cz>
        !          17513: Date:   Thu Jun 1 12:17:08 2000 +0000
        !          17514: 
        !          17515:     Print tag unsigned rather then signed.
        !          17516: 
        !          17517: commit c52c7e764576fed027defa0c06a056f89912787a
        !          17518: Author: Ondrej Filip <feela@network.cz>
        !          17519: Date:   Thu Jun 1 12:08:14 2000 +0000
        !          17520: 
        !          17521:     Calculate checksum when reflooding (after min ls_refresh).
        !          17522: 
        !          17523: commit 5f4aee76a2e26a6947f47273d510edc524716a45
        !          17524: Author: Pavel Machek <pavel@ucw.cz>
        !          17525: Date:   Thu Jun 1 08:43:29 2000 +0000
        !          17526: 
        !          17527:     Added && and ||.
        !          17528: 
        !          17529: commit 1877dab21715eb23addb3391afbd8dbf571f833d
        !          17530: Author: Pavel Machek <pavel@ucw.cz>
        !          17531: Date:   Thu Jun 1 08:34:30 2000 +0000
        !          17532: 
        !          17533:     Allow
        !          17534:                    case net {
        !          17535:                            62.0.0.0/8+:
        !          17536:                            10.0.0.0/8+:
        !          17537:                            else: reject;
        !          17538:                    }
        !          17539: 
        !          17540: commit 1895e81e0532f732f501036402bbdd1825885cfd
        !          17541: Author: Pavel Machek <pavel@ucw.cz>
        !          17542: Date:   Thu Jun 1 08:32:49 2000 +0000
        !          17543: 
        !          17544:     Allow matching on enums:
        !          17545:     
        !          17546:             if !(scope ~ [ SCOPE_HOST, SCOPE_SITE ]) then {
        !          17547:                     print "Failed in test";
        !          17548:                     quitbird;
        !          17549:             }
        !          17550: 
        !          17551: commit 42542c56c23174bfaefb1b949b90ed72afbea8fd
        !          17552: Author: Ondrej Filip <feela@network.cz>
        !          17553: Date:   Thu Jun 1 00:32:08 2000 +0000
        !          17554: 
        !          17555:     Cleanup.
        !          17556: 
        !          17557: commit d27d0efe17a197ae41e25bc56526d5fc4ac4a93e
        !          17558: Author: Ondrej Filip <feela@network.cz>
        !          17559: Date:   Thu Jun 1 00:22:48 2000 +0000
        !          17560: 
        !          17561:     Very stuping bug. (I took me 4 hours to find it!)
        !          17562:     I just wrote "=!" instead of "!=". :-(((((((
        !          17563: 
        !          17564: commit 2983460bc0adabe357ba839972ea8d09c97c32a4
        !          17565: Author: Martin Mares <mj@ucw.cz>
        !          17566: Date:   Wed May 31 22:39:06 2000 +0000
        !          17567: 
        !          17568:     Both `help' command and the `unknown command' error message now tell
        !          17569:     the user to press `?' if he wants help.
        !          17570: 
        !          17571: commit 2f5e5ff9d6e91e7a3e478b316d6b2d23003ad80e
        !          17572: Author: Martin Mares <mj@ucw.cz>
        !          17573: Date:   Wed May 31 22:28:36 2000 +0000
        !          17574: 
        !          17575:     Before configuration file is read, log to _both_ syslog and stderr.
        !          17576: 
        !          17577: commit c184d9d0bdded559fb9d19accd17b88963e46669
        !          17578: Author: Pavel Machek <pavel@ucw.cz>
        !          17579: Date:   Wed May 31 21:51:04 2000 +0000
        !          17580: 
        !          17581:     Documentation update
        !          17582: 
        !          17583: commit 0b1cad81623e85f1f1b9ef3652cdc389641496e5
        !          17584: Author: Pavel Machek <pavel@ucw.cz>
        !          17585: Date:   Wed May 31 21:50:13 2000 +0000
        !          17586: 
        !          17587:     Complain when filter does not end in accept nor reject.
        !          17588: 
        !          17589: commit b5958826cc5fc75b5f99c51559d1ffedea5884b4
        !          17590: Author: Ondrej Filip <feela@network.cz>
        !          17591: Date:   Wed May 31 18:55:57 2000 +0000
        !          17592: 
        !          17593:     Ehm, some other "down" steps.
        !          17594: 
        !          17595: commit 3f6953a103b9a846625a0d51e30b6dc59eedc7f0
        !          17596: Author: Ondrej Filip <feela@network.cz>
        !          17597: Date:   Wed May 31 18:45:16 2000 +0000
        !          17598: 
        !          17599:     Some bugs in cleanup after iface down.
        !          17600: 
        !          17601: commit 489b21555e59d39d1c26dd3051f077c6f0a07c85
        !          17602: Author: Ondrej Filip <feela@network.cz>
        !          17603: Date:   Wed May 31 18:36:51 2000 +0000
        !          17604: 
        !          17605:     Why does not work "sk_close(sk);rfree(sk);"?
        !          17606: 
        !          17607: commit 46962be628c1bd1d9c2badeea181ff6f87f0cb29
        !          17608: Author: Ondrej Filip <feela@network.cz>
        !          17609: Date:   Wed May 31 18:31:53 2000 +0000
        !          17610: 
        !          17611:     Better debugging.
        !          17612:     Safe neigh_list deleting.
        !          17613: 
        !          17614: commit 3728267827e83bc095956b16256feae9e28adce7
        !          17615: Author: Ondrej Filip <feela@network.cz>
        !          17616: Date:   Wed May 31 18:21:42 2000 +0000
        !          17617: 
        !          17618:     And finally, Premature aging works. :-)
        !          17619: 
        !          17620: commit 31ee3d5f214666a4b2da328dc894a5a9089acc87
        !          17621: Author: Ondrej Filip <feela@network.cz>
        !          17622: Date:   Wed May 31 15:51:39 2000 +0000
        !          17623: 
        !          17624:     Another step to make premature aging better.
        !          17625: 
        !          17626: commit a9eeefd63ab7886bc2a5b8f0f7a2d1ec69a9c831
        !          17627: Author: Ondrej Filip <feela@network.cz>
        !          17628: Date:   Wed May 31 15:28:13 2000 +0000
        !          17629: 
        !          17630:     Warning destroyed. :-)
        !          17631: 
        !          17632: commit 82364f4db8fff969932989bfcc5be89c73b15174
        !          17633: Author: Ondrej Filip <feela@network.cz>
        !          17634: Date:   Wed May 31 15:24:29 2000 +0000
        !          17635: 
        !          17636:     Flood my LSA (if exists) after old one is flushed.
        !          17637: 
        !          17638: commit 0822995cb31b596d1fe9e8bb67f7e9d1c184694e
        !          17639: Author: Ondrej Filip <feela@network.cz>
        !          17640: Date:   Wed May 31 15:04:45 2000 +0000
        !          17641: 
        !          17642:     Set E2 metric for internal routes to LSINFINITY.
        !          17643: 
        !          17644: commit 9a04d0307e85913554122a2dd0397486b5ef702c
        !          17645: Author: Ondrej Filip <feela@network.cz>
        !          17646: Date:   Wed May 31 14:52:22 2000 +0000
        !          17647: 
        !          17648:     Delete _all_ ext routes from unreachable neighbor.
        !          17649: 
        !          17650: commit 528932368ac5c5ffe6ee3412fc8e9e1cb9cbd7db
        !          17651: Author: Ondrej Filip <feela@network.cz>
        !          17652: Date:   Wed May 31 14:43:42 2000 +0000
        !          17653: 
        !          17654:     Stuping bug in net LSA origination. Now, I should survive
        !          17655:     loss of my only neighbor.
        !          17656: 
        !          17657: commit 1c1f1b6c0a9012aaf0d3b94275895cb87b5ff695
        !          17658: Author: Martin Mares <mj@ucw.cz>
        !          17659: Date:   Wed May 31 14:27:49 2000 +0000
        !          17660: 
        !          17661:     This should be enough from the SGMLtools distribution to make the
        !          17662:     SGMLtools happy.
        !          17663:     
        !          17664:     The only symlink you need now is dist/birddoc -> dist/sgmltool. I'm
        !          17665:     convinced it could be avoided by renaming the directory instead, but I'd
        !          17666:     rather avoid it due to CVS pecularities.
        !          17667: 
        !          17668: commit 1885aa8ce33e6617d45dbc2f5ee2852bf5f72e88
        !          17669: Author: Martin Mares <mj@ucw.cz>
        !          17670: Date:   Wed May 31 14:25:27 2000 +0000
        !          17671: 
        !          17672:     Clean LaTeX .aux and .toc files as well.
        !          17673: 
        !          17674: commit fcdddff5f3f5c9f2a15377a9dd08f105a3b696a0
        !          17675: Author: Martin Mares <mj@ucw.cz>
        !          17676: Date:   Wed May 31 14:24:21 2000 +0000
        !          17677: 
        !          17678:     Formatting of progdoc works in both HTML and LaTeX. The LaTeX output
        !          17679:     still has somewhat weird spacing, but it will be hopefully easy
        !          17680:     to fix.
        !          17681: 
        !          17682: commit d1660fd3f38c29739ff36c86c6010d65fb90c608
        !          17683: Author: Ondrej Filip <feela@network.cz>
        !          17684: Date:   Wed May 31 14:21:56 2000 +0000
        !          17685: 
        !          17686:     Sort cleanup in aging.
        !          17687: 
        !          17688: commit 70a383198ae08bed395f2a083c1bea5b37447705
        !          17689: Author: Ondrej Filip <feela@network.cz>
        !          17690: Date:   Wed May 31 14:06:33 2000 +0000
        !          17691: 
        !          17692:     LSArt origination and routing table calculation is now not doing so
        !          17693:     often. Instead of calculation I just schedule it latter.
        !          17694: 
        !          17695: commit aa185265f1cb310c053edb1a3bde28b4dab94964
        !          17696: Author: Martin Mares <mj@ucw.cz>
        !          17697: Date:   Wed May 31 13:54:00 2000 +0000
        !          17698: 
        !          17699:     Updated headings and copyrights.
        !          17700: 
        !          17701: commit 38cf78a97a1541cf80a5b10c08ab25d564654516
        !          17702: Author: Martin Mares <mj@ucw.cz>
        !          17703: Date:   Wed May 31 13:30:58 2000 +0000
        !          17704: 
        !          17705:     Added the introduction chapter of progdoc.
        !          17706: 
        !          17707: commit 3caca73fd9c05121b9748793df5f1378af3a8ce5
        !          17708: Author: Martin Mares <mj@ucw.cz>
        !          17709: Date:   Wed May 31 13:30:29 2000 +0000
        !          17710: 
        !          17711:     Spelling check and update of LocalWords.
        !          17712: 
        !          17713: commit fc741dab27913b9c5f9a97642158b5011a9c4700
        !          17714: Author: Ondrej Filip <feela@network.cz>
        !          17715: Date:   Wed May 31 13:20:25 2000 +0000
        !          17716: 
        !          17717:     Handle better next hop in external LSA.
        !          17718: 
        !          17719: commit e0bbb7b7ef1aabbf037190225ebac11f7812ae84
        !          17720: Author: Ondrej Filip <feela@network.cz>
        !          17721: Date:   Wed May 31 12:52:12 2000 +0000
        !          17722: 
        !          17723:     Very ancient bug in (B)DR election, I didn't fill correctly my own IP.
        !          17724: 
        !          17725: commit a7a3a0a383a9dadcd93d876e7d9b43f870f20941
        !          17726: Author: Ondrej Filip <feela@network.cz>
        !          17727: Date:   Wed May 31 12:07:09 2000 +0000
        !          17728: 
        !          17729:     Added tagging of external LSA.
        !          17730: 
        !          17731: commit fec5bec0b5f0e114a635c99a731e922ce735ff81
        !          17732: Author: Martin Mares <mj@ucw.cz>
        !          17733: Date:   Wed May 31 11:36:21 2000 +0000
        !          17734: 
        !          17735:     Make documentation targets available from the top-level makefile as well,
        !          17736:     but not with separate object tree yet.
        !          17737: 
        !          17738: commit 46527a939e97a8a0d6d023ad7853e5e9a2df1ea9
        !          17739: Author: Martin Mares <mj@ucw.cz>
        !          17740: Date:   Wed May 31 11:35:47 2000 +0000
        !          17741: 
        !          17742:     Modified the Makefile to work in the source tree.
        !          17743:     
        !          17744:     From now, you can just `make userdocs' in doc, no need to use ugly scripts.
        !          17745:     
        !          17746:     Also, `make progdocs' builds the programmer's documentation in HTML,
        !          17747:     LaTeX version to come later.
        !          17748: 
        !          17749: commit fcb5f4a725c9edecca7d4646c633e42f66ab53b6
        !          17750: Author: Martin Mares <mj@ucw.cz>
        !          17751: Date:   Wed May 31 11:30:18 2000 +0000
        !          17752: 
        !          17753:     Updated all the Doc files to new format.
        !          17754: 
        !          17755: commit 6be13de762cebc9fc5f977e0e3423a9e2ae23a95
        !          17756: Author: Martin Mares <mj@ucw.cz>
        !          17757: Date:   Wed May 31 11:29:56 2000 +0000
        !          17758: 
        !          17759:     New progdoc script generating SGML output.
        !          17760: 
        !          17761: commit c9c3611734cfb8265586ad8447483cbba9727617
        !          17762: Author: Martin Mares <mj@ucw.cz>
        !          17763: Date:   Wed May 31 11:29:22 2000 +0000
        !          17764: 
        !          17765:     Added new output format `bird' which creates birddoc SGML.
        !          17766: 
        !          17767: commit 3fc259549595c952befbe589764ae0bc1ae82728
        !          17768: Author: Martin Mares <mj@ucw.cz>
        !          17769: Date:   Wed May 31 11:28:52 2000 +0000
        !          17770: 
        !          17771:     Added tags for markup of programmer's documentation.
        !          17772: 
        !          17773: commit c92795e934758a32472ebc5766ff0f61b1c1409c
        !          17774: Author: Martin Mares <mj@ucw.cz>
        !          17775: Date:   Wed May 31 11:28:07 2000 +0000
        !          17776: 
        !          17777:     Moved old TeX documents to old/ to make them not interfere with doc building.
        !          17778: 
        !          17779: commit a2a3ced83eea3919639adafbdacb7ec11011f9cb
        !          17780: Author: Martin Mares <mj@ucw.cz>
        !          17781: Date:   Wed May 31 10:07:27 2000 +0000
        !          17782: 
        !          17783:     Added Pipe documentation.
        !          17784: 
        !          17785: commit 0884f492232bb81366c04982bf4935307d273c26
        !          17786: Author: Ondrej Filip <feela@network.cz>
        !          17787: Date:   Tue May 30 23:29:23 2000 +0000
        !          17788: 
        !          17789:     Ehm, in had this in code: "break; i--;" :-(
        !          17790: 
        !          17791: commit 3b0b2cb61f4e9c3bfbb4770b941c5aba56d9e70e
        !          17792: Author: Martin Mares <mj@ucw.cz>
        !          17793: Date:   Tue May 30 22:48:14 2000 +0000
        !          17794: 
        !          17795:     IPv6: Absolutize link-scope addresses of incoming packets.
        !          17796:     
        !          17797:     IPv6 socket interface is hopefully right now.
        !          17798: 
        !          17799: commit cfa6ab0593a02c3d4d0d959c771f72430f1adf67
        !          17800: Author: Martin Mares <mj@ucw.cz>
        !          17801: Date:   Tue May 30 22:47:33 2000 +0000
        !          17802: 
        !          17803:     Added ipa_absolutize() which converts link-scope addresses to global scope
        !          17804:     ones according to prefix assigned to the corresponding interface.
        !          17805: 
        !          17806: commit 69a20d2effb651e475b8ab8b04ee1a04a76db07f
        !          17807: Author: Martin Mares <mj@ucw.cz>
        !          17808: Date:   Tue May 30 21:46:21 2000 +0000
        !          17809: 
        !          17810:     Recognize `!'.
        !          17811: 
        !          17812: commit 5919c66e8fdd87ee7e5c5a1e0ce01893e0ce103d
        !          17813: Author: Martin Mares <mj@ucw.cz>
        !          17814: Date:   Tue May 30 21:25:32 2000 +0000
        !          17815: 
        !          17816:     Route attributes for OSPF.
        !          17817: 
        !          17818: commit 2cec475b8fbaa6cb0865ceacd900ffb678818330
        !          17819: Author: Martin Mares <mj@ucw.cz>
        !          17820: Date:   Tue May 30 21:24:53 2000 +0000
        !          17821: 
        !          17822:     Removed several unused local variables.
        !          17823: 
        !          17824: commit 2f71123158973d770eee1dea64b46a4774bcf9a5
        !          17825: Author: Martin Mares <mj@ucw.cz>
        !          17826: Date:   Tue May 30 21:24:15 2000 +0000
        !          17827: 
        !          17828:     Killed bug in merging of dynamic attributes.
        !          17829: 
        !          17830: commit caab3bb374d2671982d068c0fb0aa6217691d5bd
        !          17831: Author: Martin Mares <mj@ucw.cz>
        !          17832: Date:   Tue May 30 21:23:49 2000 +0000
        !          17833: 
        !          17834:     Better formatting of protocol status.
        !          17835: 
        !          17836: commit 36032dedc619a39d45d6abe79d27110a98751ba9
        !          17837: Author: Pavel Machek <pavel@ucw.cz>
        !          17838: Date:   Tue May 30 19:20:02 2000 +0000
        !          17839: 
        !          17840:     Added section about client.
        !          17841: 
        !          17842: commit 3e8645560624ac70ccc6d5f96fabcdae0a87cf4d
        !          17843: Author: Ondrej Filip <feela@network.cz>
        !          17844: Date:   Tue May 30 18:21:51 2000 +0000
        !          17845: 
        !          17846:     Added \n in debug.
        !          17847: 
        !          17848: commit 7e1c7efae2762752ef897bfa215b299127412b66
        !          17849: Author: Ondrej Filip <feela@network.cz>
        !          17850: Date:   Tue May 30 17:57:06 2000 +0000
        !          17851: 
        !          17852:     Stupig bug in debugging.
        !          17853: 
        !          17854: commit 3dd8f983b649c83f50d44ca2093ab1f931eaba4d
        !          17855: Author: Ondrej Filip <feela@network.cz>
        !          17856: Date:   Tue May 30 17:51:22 2000 +0000
        !          17857: 
        !          17858:     You can decide if add LSA into lsrth during flood_lsa().
        !          17859: 
        !          17860: commit 3d410fdfa1a6fc20952cf94b39ebff197a3c065a
        !          17861: Author: Ondrej Filip <feela@network.cz>
        !          17862: Date:   Tue May 30 17:49:25 2000 +0000
        !          17863: 
        !          17864:     Reflood your old lsa.
        !          17865: 
        !          17866: commit 13b02be25a41d7a505f7a888f948220a15edcf8a
        !          17867: Author: Ondrej Filip <feela@network.cz>
        !          17868: Date:   Tue May 30 17:00:17 2000 +0000
        !          17869: 
        !          17870:     Don't run rt calculation twice.
        !          17871: 
        !          17872: commit b477a9a855f75486c2e03bb7b68faba7923bc511
        !          17873: Author: Ondrej Filip <feela@network.cz>
        !          17874: Date:   Tue May 30 16:49:48 2000 +0000
        !          17875: 
        !          17876:     Don't send empty LS upd. (And better debugging.)
        !          17877: 
        !          17878: commit e1e31816c4e6931465936afa39f5773cf4591b35
        !          17879: Author: Ondrej Filip <feela@network.cz>
        !          17880: Date:   Tue May 30 16:48:42 2000 +0000
        !          17881: 
        !          17882:     Aging delta changed. (Ehm, aging is very dirty I'll have to change it.)
        !          17883: 
        !          17884: commit 1b128de364e5a1931c1cc61b04c1e44960007025
        !          17885: Author: Ondrej Filip <feela@network.cz>
        !          17886: Date:   Tue May 30 16:13:59 2000 +0000
        !          17887: 
        !          17888:     Better shutdown.
        !          17889: 
        !          17890: commit 935ceabea43714e4abae7ecaac0f072e8a4ecb15
        !          17891: Author: Ondrej Filip <feela@network.cz>
        !          17892: Date:   Tue May 30 16:08:29 2000 +0000
        !          17893: 
        !          17894:     Don't send empty LS update.
        !          17895: 
        !          17896: commit a548a7e167d50587aac4549d32924c95dc329e99
        !          17897: Author: Ondrej Filip <feela@network.cz>
        !          17898: Date:   Tue May 30 15:05:47 2000 +0000
        !          17899: 
        !          17900:     Bug in direct ack (via update).
        !          17901: 
        !          17902: commit 4513280611d6c4e3409bf75139a9bd844843d462
        !          17903: Author: Ondrej Filip <feela@network.cz>
        !          17904: Date:   Tue May 30 15:04:52 2000 +0000
        !          17905: 
        !          17906:     Bug in socket closing.
        !          17907: 
        !          17908: commit ef6f26b417060f9ac6c26224469b909a0c3aa933
        !          17909: Author: Ondrej Filip <feela@network.cz>
        !          17910: Date:   Tue May 30 15:01:51 2000 +0000
        !          17911: 
        !          17912:     Bug in lsa comparision.
        !          17913: 
        !          17914: commit 2aa476a535c878a412bb732eae16d97848f07ff3
        !          17915: Author: Ondrej Filip <feela@network.cz>
        !          17916: Date:   Tue May 30 13:39:06 2000 +0000
        !          17917: 
        !          17918:     Yeah, the endianity bug found.
        !          17919: 
        !          17920: commit 76e2514328a71abd1ed37b9b32421d2ab924b4c0
        !          17921: Author: Ondrej Filip <feela@network.cz>
        !          17922: Date:   Tue May 30 13:25:47 2000 +0000
        !          17923: 
        !          17924:     Better dumping.
        !          17925: 
        !          17926: commit 7b099bf9a73b4a81f74d90fa8f413c9ebd85f384
        !          17927: Author: Pavel Machek <pavel@ucw.cz>
        !          17928: Date:   Tue May 30 11:50:17 2000 +0000
        !          17929: 
        !          17930:     Recovering after change linuxdoc->birddoc
        !          17931: 
        !          17932: commit 068b41272e8fbb81882a187dcef6d5f3d4e43ed2
        !          17933: Author: Pavel Machek <pavel@ucw.cz>
        !          17934: Date:   Tue May 30 11:27:42 2000 +0000
        !          17935: 
        !          17936:     Don't say too bad things about our concurence.
        !          17937: 
        !          17938: commit e9df1bb64786b24a230686310aeb4850b93fa5bb
        !          17939: Author: Pavel Machek <pavel@ucw.cz>
        !          17940: Date:   Tue May 30 11:23:47 2000 +0000
        !          17941: 
        !          17942:     Small change in working to make it obvious we are free software.
        !          17943: 
        !          17944: commit 1cb10462c33731817f61ffbdd2e42c538baf0e0f
        !          17945: Author: Pavel Machek <pavel@ucw.cz>
        !          17946: Date:   Tue May 30 11:22:12 2000 +0000
        !          17947: 
        !          17948:     Date removed.
        !          17949: 
        !          17950: commit f3b33928ce43794d499dc0e1fbbeb623572042d1
        !          17951: Author: Pavel Machek <pavel@ucw.cz>
        !          17952: Date:   Tue May 30 11:15:19 2000 +0000
        !          17953: 
        !          17954:     Tried to change garbagetime -> garbage time to be more consistent.
        !          17955: 
        !          17956: commit 24e1e2005b0728bfc404f248efb7d17b34cb0910
        !          17957: Author: Pavel Machek <pavel@ucw.cz>
        !          17958: Date:   Tue May 30 11:09:09 2000 +0000
        !          17959: 
        !          17960:     Another testbed for filters.
        !          17961: 
        !          17962: commit 04c3a83c60253d5c71500194a19160538c0da034
        !          17963: Author: Ondrej Filip <feela@network.cz>
        !          17964: Date:   Tue May 30 11:07:31 2000 +0000
        !          17965: 
        !          17966:     Better inicialisation.
        !          17967: 
        !          17968: commit 0dc4431cde1eeb06d9b4d7dbf18242919ce2811a
        !          17969: Author: Pavel Machek <pavel@ucw.cz>
        !          17970: Date:   Tue May 30 11:07:22 2000 +0000
        !          17971: 
        !          17972:     Access to all attributes we should be able to access seems to work.
        !          17973: 
        !          17974: commit 5970fcda8c4eb2cfe69c04d50429855c7c57bb6d
        !          17975: Author: Ondrej Filip <feela@network.cz>
        !          17976: Date:   Tue May 30 10:53:48 2000 +0000
        !          17977: 
        !          17978:     Some exchange between init() and start().
        !          17979: 
        !          17980: commit 26c09e1d25abff7fb88959dc6fbaa7ae5eb295ad
        !          17981: Author: Pavel Machek <pavel@ucw.cz>
        !          17982: Date:   Tue May 30 10:42:39 2000 +0000
        !          17983: 
        !          17984:     Added read-only access to all required fields in rta.
        !          17985: 
        !          17986: commit 2d6627a7a5e52f8314520f9aefd82040e24849cb
        !          17987: Author: Pavel Machek <pavel@ucw.cz>
        !          17988: Date:   Tue May 30 10:42:00 2000 +0000
        !          17989: 
        !          17990:     Fixed bug in RIP docs.
        !          17991: 
        !          17992: commit 73232f6b18222d73b38eae58e2c4c90062202709
        !          17993: Author: Ondrej Filip <feela@network.cz>
        !          17994: Date:   Tue May 30 10:36:57 2000 +0000
        !          17995: 
        !          17996:     Better rt dumping.
        !          17997: 
        !          17998: commit 2bdb5e0083b6f24d29d74bb5e62cd13d724ba54f
        !          17999: Author: Pavel Machek <pavel@ucw.cz>
        !          18000: Date:   Tue May 30 10:23:04 2000 +0000
        !          18001: 
        !          18002:     Cleaning static attributes
        !          18003: 
        !          18004: commit 05dbc97b13534eb886945d1f291aaba34238c99c
        !          18005: Author: Ondrej Filip <feela@network.cz>
        !          18006: Date:   Tue May 30 10:20:14 2000 +0000
        !          18007: 
        !          18008:     Bug in rt_notify.
        !          18009: 
        !          18010: commit fe613ecded2fca875a146e1c07713f131e85f7ff
        !          18011: Author: Pavel Machek <pavel@ucw.cz>
        !          18012: Date:   Tue May 30 10:13:32 2000 +0000
        !          18013: 
        !          18014:     Access to few more attributes is needed.
        !          18015: 
        !          18016: commit f7876c36602015dbf6d7aa3d73fda5ad1c2f6c5a
        !          18017: Author: Pavel Machek <pavel@ucw.cz>
        !          18018: Date:   Tue May 30 10:13:15 2000 +0000
        !          18019: 
        !          18020:     More todo in documentation.
        !          18021: 
        !          18022: commit 298f2530ec05ee86c52f2fbce306ac186a3f6dd8
        !          18023: Author: Pavel Machek <pavel@ucw.cz>
        !          18024: Date:   Tue May 30 10:13:02 2000 +0000
        !          18025: 
        !          18026:     Moved description of filters to programmers docs.
        !          18027: 
        !          18028: commit 9e85a5e6f26866a255577ff10786c12a64cba624
        !          18029: Author: Martin Mares <mj@ucw.cz>
        !          18030: Date:   Mon May 29 22:16:04 2000 +0000
        !          18031: 
        !          18032:     Delay user input whereever appropriate.
        !          18033: 
        !          18034: commit 4761efdb43aa128fa0326963d88debe8fb942c84
        !          18035: Author: Martin Mares <mj@ucw.cz>
        !          18036: Date:   Mon May 29 22:10:18 2000 +0000
        !          18037: 
        !          18038:     Tracing of CLI connections/commands can be now controlled
        !          18039:     by `debug commands <level>' in the configuration. Level 0 means
        !          18040:     no tracing, 1 means connections only, 2 includes all commands.
        !          18041: 
        !          18042: commit 26eee1c33ac90ccbc5753afac06d34980fade2b8
        !          18043: Author: Martin Mares <mj@ucw.cz>
        !          18044: Date:   Mon May 29 22:09:29 2000 +0000
        !          18045: 
        !          18046:     Updated TODO.
        !          18047: 
        !          18048: commit 7294f68b3b3474183434ae05b43a344f1bfce6db
        !          18049: Author: Martin Mares <mj@ucw.cz>
        !          18050: Date:   Mon May 29 22:08:04 2000 +0000
        !          18051: 
        !          18052:     `path metric' and `disable after error' are switches, not numeric clauses.
        !          18053: 
        !          18054: commit e67af42805c16093bb720a1bd04ad8932e86e49e
        !          18055: Author: Martin Mares <mj@ucw.cz>
        !          18056: Date:   Mon May 29 21:58:35 2000 +0000
        !          18057: 
        !          18058:     Support --version and --help.
        !          18059: 
        !          18060: commit 5459fac61f3a645c636bdf32c140f4d7083034d2
        !          18061: Author: Martin Mares <mj@ucw.cz>
        !          18062: Date:   Mon May 29 21:03:27 2000 +0000
        !          18063: 
        !          18064:     Added BGP documentation.
        !          18065: 
        !          18066: commit 56ab03c71f35c6c360b58b88f9e524c97714fdf6
        !          18067: Author: Martin Mares <mj@ucw.cz>
        !          18068: Date:   Mon May 29 13:47:18 2000 +0000
        !          18069: 
        !          18070:     Added introduction to BGP.
        !          18071: 
        !          18072: commit 0e4789c2c3a8f217f01a4e472c8dd45db609c34b
        !          18073: Author: Martin Mares <mj@ucw.cz>
        !          18074: Date:   Mon May 29 13:13:58 2000 +0000
        !          18075: 
        !          18076:     Added Kernel protocol documentation.
        !          18077: 
        !          18078: commit d9d41c60426ab1896bc689cd2a26c51f49e27e3a
        !          18079: Author: Martin Mares <mj@ucw.cz>
        !          18080: Date:   Mon May 29 12:46:27 2000 +0000
        !          18081: 
        !          18082:     Capitalize properly in Install section.
        !          18083:     
        !          18084:     BTW, what about configure options and similar things?
        !          18085: 
        !          18086: commit 4f88ac47c671af2221061b793fa495a78994e44a
        !          18087: Author: Pavel Machek <pavel@ucw.cz>
        !          18088: Date:   Mon May 29 12:23:49 2000 +0000
        !          18089: 
        !          18090:     Reduce number of chapters -- having subchapter for 2 lines of code looks ugly in output.
        !          18091: 
        !          18092: commit 0e694e041a99860454fe0a74eb83133d89896d62
        !          18093: Author: Martin Mares <mj@ucw.cz>
        !          18094: Date:   Mon May 29 12:18:30 2000 +0000
        !          18095: 
        !          18096:     Minor fixes as requested by Pavel.
        !          18097: 
        !          18098: commit 440439e3cc2ce7a9e6b36e6801f37c42cce1a729
        !          18099: Author: Pavel Machek <pavel@ucw.cz>
        !          18100: Date:   Mon May 29 12:05:56 2000 +0000
        !          18101: 
        !          18102:     Really short installation section added.
        !          18103: 
        !          18104: commit 04a22949d7f63d6979642e41ded0f61d7a477980
        !          18105: Author: Martin Mares <mj@ucw.cz>
        !          18106: Date:   Mon May 29 12:05:21 2000 +0000
        !          18107: 
        !          18108:     Renamed the DTD from linuxdoc to birddoc.
        !          18109:     
        !          18110:     Pavel, please check whether it builds in your environment as well.
        !          18111: 
        !          18112: commit 897cd7aa559033aae99281e569a5153a22a952f9
        !          18113: Author: Martin Mares <mj@ucw.cz>
        !          18114: Date:   Mon May 29 12:03:28 2000 +0000
        !          18115: 
        !          18116:     Tried to write a better introduction.
        !          18117: 
        !          18118: commit 9d8934891405348ad925d8421b673ea979f256eb
        !          18119: Author: Pavel Machek <pavel@ucw.cz>
        !          18120: Date:   Mon May 29 11:53:24 2000 +0000
        !          18121: 
        !          18122:     Docs updates.
        !          18123: 
        !          18124: commit 79a2b697e3c94a787d72db4ed85b78928d3240c2
        !          18125: Author: Martin Mares <mj@ucw.cz>
        !          18126: Date:   Mon May 29 11:30:25 2000 +0000
        !          18127: 
        !          18128:     Added description of Static, Device and Direct protocols.
        !          18129: 
        !          18130: commit 98627595fb4223991d60f809bbeac98cf34aabfb
        !          18131: Author: Pavel Machek <pavel@ucw.cz>
        !          18132: Date:   Mon May 29 11:22:43 2000 +0000
        !          18133: 
        !          18134:     Better description of how route is selected.
        !          18135: 
        !          18136: commit d247d261e55bec7fadfef89c39ca3257816af771
        !          18137: Author: Pavel Machek <pavel@ucw.cz>
        !          18138: Date:   Mon May 29 11:22:30 2000 +0000
        !          18139: 
        !          18140:     Info about client. (Mj, if you tell me that's trivial, what about you
        !          18141:     writing it?)
        !          18142: 
        !          18143: commit 2f647f3f9f51effbb63aee5bb2c45d054b7922e4
        !          18144: Author: Pavel Machek <pavel@ucw.cz>
        !          18145: Date:   Mon May 29 11:13:51 2000 +0000
        !          18146: 
        !          18147:     Added "what is router" to introduction.
        !          18148: 
        !          18149: commit 1b55b1a3640da3ec2b032dcea3f4f7cbdff82303
        !          18150: Author: Martin Mares <mj@ucw.cz>
        !          18151: Date:   Mon May 29 10:32:37 2000 +0000
        !          18152: 
        !          18153:     Spelling fixes.
        !          18154:     
        !          18155:     Added skeleton for subchapters on all the protocols. Each subchapter should
        !          18156:     contain:
        !          18157:     
        !          18158:        Introduction (brief intro to the protocol, where should it be used,
        !          18159:                references to the relevant standards)
        !          18160:        Configuration
        !          18161:        Attributes
        !          18162:        Example
        !          18163:     
        !          18164:     Added a more detailed description of RIP attributes.
        !          18165: 
        !          18166: commit e9d6b1d19fc35e611aa5a6020c0b531dee96d77d
        !          18167: Author: Ondrej Filip <feela@network.cz>
        !          18168: Date:   Sun May 28 20:11:56 2000 +0000
        !          18169: 
        !          18170:     Kosmetic change in debugging.
        !          18171: 
        !          18172: commit f7c0525edcffc6c85d0e526c4c9741b06fc521d2
        !          18173: Author: Ondrej Filip <feela@network.cz>
        !          18174: Date:   Sun May 28 19:16:04 2000 +0000
        !          18175: 
        !          18176:     get_route_info() added.
        !          18177: 
        !          18178: commit d150c6379c03a9df98ff5dd53a6442a10713b571
        !          18179: Author: Pavel Machek <pavel@ucw.cz>
        !          18180: Date:   Sun May 28 19:11:08 2000 +0000
        !          18181: 
        !          18182:     Documentation update.
        !          18183: 
        !          18184: commit cdc25e8db7bfb38a9aca71abc5c202c25f4b0732
        !          18185: Author: Ondrej Filip <feela@network.cz>
        !          18186: Date:   Sun May 28 19:07:39 2000 +0000
        !          18187: 
        !          18188:     To find out a type of route (external, inter/intra area)
        !          18189: 
        !          18190: commit 4414d9a57a0dae3da0e0e0d924bf8cab89070716
        !          18191: Author: Ondrej Filip <feela@network.cz>
        !          18192: Date:   Sun May 28 18:49:33 2000 +0000
        !          18193: 
        !          18194:     get_status() implemented.
        !          18195: 
        !          18196: commit d5f029df482e596ccdbac341f605f6f809229db1
        !          18197: Author: Ondrej Filip <feela@network.cz>
        !          18198: Date:   Sun May 28 18:34:20 2000 +0000
        !          18199: 
        !          18200:     Just added some debug().
        !          18201: 
        !          18202: commit 4bd28fb68e6e691aee87cec41f219224e2dd69dc
        !          18203: Author: Ondrej Filip <feela@network.cz>
        !          18204: Date:   Sat May 27 15:36:02 2000 +0000
        !          18205: 
        !          18206:     Better shutdown. (Flush my own router LSA and send 1WAY to every neighbor.)
        !          18207:     Ext LSA originating and flushing added.
        !          18208: 
        !          18209: commit e8085abaa76c32bb325e378dfe2851bc98602c1e
        !          18210: Author: Ondrej Filip <feela@network.cz>
        !          18211: Date:   Sat May 27 14:17:35 2000 +0000
        !          18212: 
        !          18213:     Originating of external LSA.
        !          18214: 
        !          18215: commit 2d5b999236c20d293006af0b4d94af7ae04dd2a7
        !          18216: Author: Ondrej Filip <feela@network.cz>
        !          18217: Date:   Fri May 26 19:04:18 2000 +0000
        !          18218: 
        !          18219:     Import control implemented.
        !          18220: 
        !          18221: commit 216fd83c4b213ea3774d2c536ae089ea1e81b443
        !          18222: Author: Pavel Machek <pavel@ucw.cz>
        !          18223: Date:   Thu May 25 16:28:08 2000 +0000
        !          18224: 
        !          18225:     Spell checking.
        !          18226: 
        !          18227: commit 9b24a6fb94049691075dfcdc00e2a0ae244c2325
        !          18228: Author: Pavel Machek <pavel@ucw.cz>
        !          18229: Date:   Thu May 25 16:17:54 2000 +0000
        !          18230: 
        !          18231:     Text version generated from lynx looks as ugly as hell, sgml is much better
        !          18232:     at generating nice output. Unfortunately, sgml output contains a^ha highlight
        !          18233:     some printers do not like.
        !          18234: 
        !          18235: commit d26524fa0c06f6716d5e226b18d7d4770924c6d4
        !          18236: Author: Pavel Machek <pavel@ucw.cz>
        !          18237: Date:   Thu May 25 15:28:24 2000 +0000
        !          18238: 
        !          18239:     Add section about routing tables.
        !          18240: 
        !          18241: commit ad9074e9ba2f2c1fa7e681b5f79f9049e5c640f8
        !          18242: Author: Pavel Machek <pavel@ucw.cz>
        !          18243: Date:   Thu May 25 15:20:40 2000 +0000
        !          18244: 
        !          18245:     Cleaned up warnings.
        !          18246: 
        !          18247: commit 69477cad708235f2ab79796dc62c06d3c879111c
        !          18248: Author: Pavel Machek <pavel@ucw.cz>
        !          18249: Date:   Thu May 25 15:11:13 2000 +0000
        !          18250: 
        !          18251:     Add section about utility functions in filters
        !          18252: 
        !          18253: commit 4a5bb2bf1bbbb7d2bba7776af481a13a58ec39ae
        !          18254: Author: Pavel Machek <pavel@ucw.cz>
        !          18255: Date:   Thu May 25 15:01:08 2000 +0000
        !          18256: 
        !          18257:     Description of types needed for BGP.
        !          18258: 
        !          18259: commit 9a09a64bb4160a5bb79cdf91bd95b7f77966f62e
        !          18260: Author: Pavel Machek <pavel@ucw.cz>
        !          18261: Date:   Thu May 25 14:58:38 2000 +0000
        !          18262: 
        !          18263:     Use ? in path matching to avoid /* trap.
        !          18264: 
        !          18265: commit ba1dda495ad29cd86260533828ce38c7d327f045
        !          18266: Author: Pavel Machek <pavel@ucw.cz>
        !          18267: Date:   Thu May 25 14:50:46 2000 +0000
        !          18268: 
        !          18269:     SGML correctness fix.
        !          18270: 
        !          18271: commit 0e5373fd823d174d0cdd7820fc94cdbe4b0db5a3
        !          18272: Author: Pavel Machek <pavel@ucw.cz>
        !          18273: Date:   Thu May 25 12:33:42 2000 +0000
        !          18274: 
        !          18275:     Some more documentation, plus minor fixes.
        !          18276: 
        !          18277: commit 72282e2a1b52552eadd61a86659119db8478427d
        !          18278: Author: Pavel Machek <pavel@ucw.cz>
        !          18279: Date:   Thu May 25 12:33:15 2000 +0000
        !          18280: 
        !          18281:     Fixed comment not to be misleading.
        !          18282: 
        !          18283: commit 416e3ee4b07d9ed30ada45eee736d877efe139db
        !          18284: Author: Martin Mares <mj@ucw.cz>
        !          18285: Date:   Sat May 20 11:00:14 2000 +0000
        !          18286: 
        !          18287:     Get Linux version from <linux/version.h>, not `uname -r`.
        !          18288: 
        !          18289: commit 2eca3b3a9ce8ea405f81cb1dbf55b79d3b2d3c18
        !          18290: Author: Martin Mares <mj@ucw.cz>
        !          18291: Date:   Fri May 19 19:49:33 2000 +0000
        !          18292: 
        !          18293:     Routing table garbage collector gets really called.
        !          18294: 
        !          18295: commit 0ba8a6147d2a6ca4611c9e87e6b9d640d94966b4
        !          18296: Author: Martin Mares <mj@ucw.cz>
        !          18297: Date:   Fri May 19 19:40:12 2000 +0000
        !          18298: 
        !          18299:     Fixed a very nasty bug in FIB iterators.
        !          18300: 
        !          18301: commit d2a7c0e9b2b51287cca6bf9f9ef513cbe29d4dbd
        !          18302: Author: Martin Mares <mj@ucw.cz>
        !          18303: Date:   Fri May 19 18:05:19 2000 +0000
        !          18304: 
        !          18305:     Don't print trace messages about null updates.
        !          18306: 
        !          18307: commit 3ced9b349daeb64357136311e436401c246d7777
        !          18308: Author: Martin Mares <mj@ucw.cz>
        !          18309: Date:   Fri May 19 18:05:01 2000 +0000
        !          18310: 
        !          18311:     Fixed freeing of non-embedded extended attributes.
        !          18312: 
        !          18313: commit 075898dea7ee73b49462af3d3ab0269fd46afcc4
        !          18314: Author: Martin Mares <mj@ucw.cz>
        !          18315: Date:   Fri May 19 18:03:53 2000 +0000
        !          18316: 
        !          18317:     No more problems when protocols gets disabled during feeding.
        !          18318: 
        !          18319: commit dc6405d27e1ecedf6289039c7b3ed94c50683b2d
        !          18320: Author: Martin Mares <mj@ucw.cz>
        !          18321: Date:   Fri May 19 17:21:42 2000 +0000
        !          18322: 
        !          18323:     Latest changes by Pavel have removed the error messages printed after
        !          18324:     unsuccessful socket open, but replaced them by segmentatio fault!
        !          18325:     
        !          18326:     Grrrrrrrrr.
        !          18327: 
        !          18328: commit e66e6c2119e9de2f8012e587eafe752723706265
        !          18329: Author: Pavel Machek <pavel@ucw.cz>
        !          18330: Date:   Fri May 19 16:57:40 2000 +0000
        !          18331: 
        !          18332:     If community list is not defined, act as it is empty.
        !          18333: 
        !          18334: commit 9511a483b1b735d8bf9f671d494b363da5719ecc
        !          18335: Author: Pavel Machek <pavel@ucw.cz>
        !          18336: Date:   Fri May 19 16:44:25 2000 +0000
        !          18337: 
        !          18338:     Less error messages in case sk_open fails.
        !          18339: 
        !          18340: commit eb4097e4e47db23403c4050b43ea5136ffbe4b41
        !          18341: Author: Pavel Machek <pavel@ucw.cz>
        !          18342: Date:   Fri May 19 16:22:53 2000 +0000
        !          18343: 
        !          18344:     Added name of protocol to messages being logged.
        !          18345: 
        !          18346: commit af0b25d20d1476d81696fb0241a815fb45168f53
        !          18347: Author: Pavel Machek <pavel@ucw.cz>
        !          18348: Date:   Fri May 19 15:59:21 2000 +0000
        !          18349: 
        !          18350:     More updates.
        !          18351: 
        !          18352: commit 242352b7a7f1b181b6e42dc77b998005d3f07c78
        !          18353: Author: Pavel Machek <pavel@ucw.cz>
        !          18354: Date:   Fri May 19 14:13:49 2000 +0000
        !          18355: 
        !          18356:     Improve docs of log statment, improve markup.
        !          18357: 
        !          18358: commit 8af8a87375f3a609583866a5f50487baebe38e2e
        !          18359: Author: Pavel Machek <pavel@ucw.cz>
        !          18360: Date:   Fri May 19 14:05:55 2000 +0000
        !          18361: 
        !          18362:     Descriptive lists rendered better in TeX.
        !          18363: 
        !          18364: commit a0dd1c74334fa22588f9d1c8cb73013f1940b974
        !          18365: Author: Pavel Machek <pavel@ucw.cz>
        !          18366: Date:   Fri May 19 13:58:39 2000 +0000
        !          18367: 
        !          18368:     Some spellchecking, and use right tags for right things.
        !          18369: 
        !          18370: commit 5e88d7302599b7ac521624c77adf0b3c72601670
        !          18371: Author: Martin Mares <mj@ucw.cz>
        !          18372: Date:   Fri May 19 11:01:41 2000 +0000
        !          18373: 
        !          18374:     BGP now reports originating AS and origin type in get_route_info().
        !          18375: 
        !          18376: commit f49528a3dfa034415527824cbbd0762f3829f0cd
        !          18377: Author: Martin Mares <mj@ucw.cz>
        !          18378: Date:   Fri May 19 11:01:06 2000 +0000
        !          18379: 
        !          18380:     Added as_path_get_first().
        !          18381: 
        !          18382: commit f7ad556f2017075abaef659bf018a0ce215b13b3
        !          18383: Author: Martin Mares <mj@ucw.cz>
        !          18384: Date:   Fri May 19 11:00:47 2000 +0000
        !          18385: 
        !          18386:     Commented out the `inserting entry which is already there' message since
        !          18387:     it's pretty normal: during feeding of the protocol, a new route can appear
        !          18388:     which will be announced normally and then repeated by the feeding process.
        !          18389: 
        !          18390: commit 76dfda9e74580b6c07206b7afbbdafeea36ad08f
        !          18391: Author: Martin Mares <mj@ucw.cz>
        !          18392: Date:   Fri May 19 10:59:47 2000 +0000
        !          18393: 
        !          18394:     Fixed a buglet in asynchronous feeding and increased maximum number
        !          18395:     of routes allowed per feeding phase.
        !          18396: 
        !          18397: commit ac5d801217b4b85a5f716ace25f7f9ac48dfee0f
        !          18398: Author: Martin Mares <mj@ucw.cz>
        !          18399: Date:   Fri May 19 10:46:26 2000 +0000
        !          18400: 
        !          18401:     Asynchronous feeding of protocols.
        !          18402: 
        !          18403: commit 0850ce22d76c80c4f6a10fd0139d4cc903716bfa
        !          18404: Author: Ondrej Filip <feela@network.cz>
        !          18405: Date:   Wed May 17 21:20:47 2000 +0000
        !          18406: 
        !          18407:     Smal debug bugfix.
        !          18408: 
        !          18409: commit 6d5e703dc9ac387d72005f3b5da82e80275d5fc6
        !          18410: Author: Pavel Machek <pavel@ucw.cz>
        !          18411: Date:   Wed May 17 20:23:05 2000 +0000
        !          18412: 
        !          18413:     Minor cleaning
        !          18414: 
        !          18415: commit 00c1f79a79281c16beec132d945db480daca958d
        !          18416: Author: Ondrej Filip <feela@network.cz>
        !          18417: Date:   Wed May 17 20:01:25 2000 +0000
        !          18418: 
        !          18419:     rte_same implemented.
        !          18420: 
        !          18421: commit bbd76b421a1975560084e50669db9cacd61d2b58
        !          18422: Author: Ondrej Filip <feela@network.cz>
        !          18423: Date:   Wed May 17 19:27:51 2000 +0000
        !          18424: 
        !          18425:     rte_better implemented.
        !          18426: 
        !          18427: commit 9f0d45d634ac38d54ed92c5726fbaed65850e15f
        !          18428: Author: Pavel Machek <pavel@ucw.cz>
        !          18429: Date:   Wed May 17 12:14:05 2000 +0000
        !          18430: 
        !          18431:     Finished cleanng up mess: multiplication reinstalled.
        !          18432: 
        !          18433: commit 4ee2178935b1f4cdd465e290c13f6580901cec8d
        !          18434: Author: Ondrej Filip <feela@network.cz>
        !          18435: Date:   Wed May 17 00:28:45 2000 +0000
        !          18436: 
        !          18437:     Don't die, if you receive strange LSA.
        !          18438: 
        !          18439: commit 7f6b3cf247c0df8d10e9ed29a5ff6a6af5e1cf8f
        !          18440: Author: Ondrej Filip <feela@network.cz>
        !          18441: Date:   Wed May 17 00:28:11 2000 +0000
        !          18442: 
        !          18443:     Typo in comment.
        !          18444: 
        !          18445: commit 18a0c0bb763d918f3a06bfeb2be2b1051a7f4629
        !          18446: Author: Ondrej Filip <feela@network.cz>
        !          18447: Date:   Tue May 16 23:59:38 2000 +0000
        !          18448: 
        !          18449:     Downing of interface should work.
        !          18450: 
        !          18451: commit 8fb0c2c298fbfa133cf783a1547bc3b1c84fe466
        !          18452: Author: Ondrej Filip <feela@network.cz>
        !          18453: Date:   Tue May 16 23:24:50 2000 +0000
        !          18454: 
        !          18455:     Calculation of external routes finally works.
        !          18456: 
        !          18457: commit 31834faaf3ab055242e3a9998a37029b56f54d8a
        !          18458: Author: Ondrej Filip <feela@network.cz>
        !          18459: Date:   Tue May 16 22:43:30 2000 +0000
        !          18460: 
        !          18461:     Ehmm, removed 'if(1 || ...' so I can test the second part .
        !          18462: 
        !          18463: commit b1c9d871614874092e397ae505799be82284713d
        !          18464: Author: Martin Mares <mj@ucw.cz>
        !          18465: Date:   Tue May 16 22:37:53 2000 +0000
        !          18466: 
        !          18467:     Fixed the horrible mess Pavel has created with his last commit.
        !          18468: 
        !          18469: commit 508c36ab7981a8e50d1235c2c443491e4b04aa01
        !          18470: Author: Ondrej Filip <feela@network.cz>
        !          18471: Date:   Tue May 16 22:34:49 2000 +0000
        !          18472: 
        !          18473:     Routing table calculation for ext LSAs having next-hop=!0.0.0.0
        !          18474: 
        !          18475: commit a96a979d5b2b3a7ef02d878e9598d3268cb4c8a7
        !          18476: Author: Pavel Machek <pavel@ucw.cz>
        !          18477: Date:   Tue May 16 18:50:51 2000 +0000
        !          18478: 
        !          18479:     Line numbers for runtime errors (what's wrong with cvs? I could not
        !          18480:     commit this from home)
        !          18481: 
        !          18482: commit 7581b81bd7a77b5baebbd43833c00574d543c62e
        !          18483: Author: Pavel Machek <pavel@ucw.cz>
        !          18484: Date:   Tue May 16 18:47:06 2000 +0000
        !          18485: 
        !          18486:     More additions to documentation and spellchecking.
        !          18487: 
        !          18488: commit e5a47266d0d6b8614c5199ea513de029b35552b0
        !          18489: Author: Martin Mares <mj@ucw.cz>
        !          18490: Date:   Tue May 16 15:08:52 2000 +0000
        !          18491: 
        !          18492:     Turned off LOCAL_DEBUG.
        !          18493: 
        !          18494: commit e79671a72ccd392debcce1cdc05e46747eaf37e2
        !          18495: Author: Martin Mares <mj@ucw.cz>
        !          18496: Date:   Tue May 16 15:08:43 2000 +0000
        !          18497: 
        !          18498:     Fixed incorrect error message about router ID syntax.
        !          18499: 
        !          18500: commit 5b846de6a6361b3c8aac84438e7b332c972f2a08
        !          18501: Author: Pavel Machek <pavel@ucw.cz>
        !          18502: Date:   Tue May 16 15:05:05 2000 +0000
        !          18503: 
        !          18504:     Interface dummy is too strange for me... but psst, that's secret.
        !          18505: 
        !          18506: commit be77b6890c5f6b956553c0432554e5912a30528f
        !          18507: Author: Martin Mares <mj@ucw.cz>
        !          18508: Date:   Tue May 16 15:02:33 2000 +0000
        !          18509: 
        !          18510:     Poisoning: take there...
        !          18511: 
        !          18512: commit d6796e7b546bd0a28b85666a95eda039eabc5c5f
        !          18513: Author: Pavel Machek <pavel@ucw.cz>
        !          18514: Date:   Tue May 16 15:02:27 2000 +0000
        !          18515: 
        !          18516:     Don't segfault when someone adds passwords.
        !          18517: 
        !          18518: commit 2f2663bdb735ca155c32b0e12da814e62bbf9e9d
        !          18519: Author: Pavel Machek <pavel@ucw.cz>
        !          18520: Date:   Tue May 16 15:00:15 2000 +0000
        !          18521: 
        !          18522:     Password same now actually works
        !          18523: 
        !          18524: commit 898fdd85dc4568816ac0436c1b012f2fb35ef3e4
        !          18525: Author: Pavel Machek <pavel@ucw.cz>
        !          18526: Date:   Tue May 16 14:58:06 2000 +0000
        !          18527: 
        !          18528:     Rip should now reconfigure itself only if needed.
        !          18529: 
        !          18530: commit 60de3356ab9b1996a84e3ba2865176a078b6d0ca
        !          18531: Author: Pavel Machek <pavel@ucw.cz>
        !          18532: Date:   Tue May 16 14:24:33 2000 +0000
        !          18533: 
        !          18534:     Resolved shift/reduce conflict
        !          18535: 
        !          18536: commit e2f4f275646d21de363c32ff3c8fb4f492f07c04
        !          18537: Author: Martin Mares <mj@ucw.cz>
        !          18538: Date:   Tue May 16 13:53:44 2000 +0000
        !          18539: 
        !          18540:     Oops, the poison was too deadly...
        !          18541: 
        !          18542: commit b8e60d3562277762ec372424482b22c024e657d6
        !          18543: Author: Martin Mares <mj@ucw.cz>
        !          18544: Date:   Tue May 16 13:51:31 2000 +0000
        !          18545: 
        !          18546:     Added poisoning of free'd objects when we're debugging.
        !          18547: 
        !          18548: commit df9f0fb30a7046872eff21624a315d5fd56e938f
        !          18549: Author: Martin Mares <mj@ucw.cz>
        !          18550: Date:   Tue May 16 13:43:26 2000 +0000
        !          18551: 
        !          18552:     Don't log state changes if nothing user-visible has changed.
        !          18553: 
        !          18554: commit f990fc61e0dd13ae90c9bbff811736dfd52988b0
        !          18555: Author: Martin Mares <mj@ucw.cz>
        !          18556: Date:   Tue May 16 13:36:38 2000 +0000
        !          18557: 
        !          18558:     When in persist mode, don't delete routes from kernel tables even if
        !          18559:     they cease to exist in our routing tables due to protocols having shut down.
        !          18560: 
        !          18561: commit c5a06f65ee20328b8d0f2276287e223e4fd4a595
        !          18562: Author: Pavel Machek <pavel@ucw.cz>
        !          18563: Date:   Mon May 15 12:27:45 2000 +0000
        !          18564: 
        !          18565:     Allow other operations than +.
        !          18566: 
        !          18567: commit f4ab23174688920e44bb4cae6e8b4f280a066e28
        !          18568: Author: Martin Mares <mj@ucw.cz>
        !          18569: Date:   Mon May 15 12:19:28 2000 +0000
        !          18570: 
        !          18571:     bgp_get_status: If protocol is down, don't print BGP state.
        !          18572: 
        !          18573: commit cbfd671f114a96095f021662ad1cf0eaa6d089c1
        !          18574: Author: Pavel Machek <pavel@ucw.cz>
        !          18575: Date:   Mon May 15 12:19:26 2000 +0000
        !          18576: 
        !          18577:     Allow accessing defined symbols.
        !          18578: 
        !          18579: commit cc590a11a7a285463dff89d0bd677d0762dd8e45
        !          18580: Author: Martin Mares <mj@ucw.cz>
        !          18581: Date:   Mon May 15 12:15:18 2000 +0000
        !          18582: 
        !          18583:     Changed syntax of expressions. Each `expr' can be now either a numeric literal
        !          18584:     or a symbol or parenthesised filter expression.
        !          18585: 
        !          18586: commit 6be662d917822e9a23b0abd613e170c1d42bfdbe
        !          18587: Author: Pavel Machek <pavel@ucw.cz>
        !          18588: Date:   Mon May 15 12:07:09 2000 +0000
        !          18589: 
        !          18590:     Use new eval mechanism for testing filters.
        !          18591: 
        !          18592: commit e3f2d5fce3e339bb34f14d7b2569c1bd43b741ba
        !          18593: Author: Martin Mares <mj@ucw.cz>
        !          18594: Date:   Mon May 15 11:48:23 2000 +0000
        !          18595: 
        !          18596:     Cleanup of configuration.
        !          18597:     
        !          18598:     o  Use `expr' instead of `NUM' and `ipa' instead of `IPA',
        !          18599:        so that defined symbols work everywhere.
        !          18600:     o  `define' now accepts both numbers and IP addresses.
        !          18601:     o  Renamed `ipa' in filters to `fipa'.
        !          18602:     
        !          18603:     Pavel, please update filters to accept define'd symbols as well.
        !          18604: 
        !          18605: commit 3b1c523d79763b22e0fe06862ff349fd94e816b1
        !          18606: Author: Martin Mares <mj@ucw.cz>
        !          18607: Date:   Mon May 15 10:53:56 2000 +0000
        !          18608: 
        !          18609:     Got rid of startup functions and filters_postconfig().
        !          18610:     
        !          18611:     By the way, how do you expect pointers to fit in an int?
        !          18612: 
        !          18613: commit 1c20608e02109ef0839e0168d100c75f0cc65fd9
        !          18614: Author: Martin Mares <mj@ucw.cz>
        !          18615: Date:   Mon May 15 10:49:38 2000 +0000
        !          18616: 
        !          18617:     Added f_eval_int() and EVAL configuration command.
        !          18618: 
        !          18619: commit 9449c91ab2eb962b17989125c712f805f82a092b
        !          18620: Author: Martin Mares <mj@ucw.cz>
        !          18621: Date:   Sat May 13 11:42:42 2000 +0000
        !          18622: 
        !          18623:     Added `show route for <prefix-or-ipa>' which looks up route leading to
        !          18624:     given network.
        !          18625: 
        !          18626: commit 56d6c530eba46dde7280d6743fea7e750f2d5635
        !          18627: Author: Martin Mares <mj@ucw.cz>
        !          18628: Date:   Sat May 13 11:42:06 2000 +0000
        !          18629: 
        !          18630:     Added fib_route() which does (although very slow) lookup of longest-match
        !          18631:     routing in a FIB.
        !          18632: 
        !          18633: commit d3abfbc68d7f921b2547b39a6baa9bee6c89b78d
        !          18634: Author: Martin Mares <mj@ucw.cz>
        !          18635: Date:   Sat May 13 11:41:26 2000 +0000
        !          18636: 
        !          18637:     Added prefix_or_ipa.
        !          18638: 
        !          18639: commit 758458be054ebdf4cd77620faf214f2b491a49dc
        !          18640: Author: Martin Mares <mj@ucw.cz>
        !          18641: Date:   Sat May 13 11:17:49 2000 +0000
        !          18642: 
        !          18643:     Unified parsing of prefixes.
        !          18644:     
        !          18645:     Had to rename `prefix' in filters to `fprefix'.
        !          18646: 
        !          18647: commit 02bd064ab76f163313261dad5c273cb376be2a75
        !          18648: Author: Martin Mares <mj@ucw.cz>
        !          18649: Date:   Sat May 13 11:02:02 2000 +0000
        !          18650: 
        !          18651:     Adapted to new rt_notify semantics.
        !          18652: 
        !          18653: commit e4bfafa1008918cf904ede023feb18fa4cb7d524
        !          18654: Author: Martin Mares <mj@ucw.cz>
        !          18655: Date:   Sat May 13 11:01:41 2000 +0000
        !          18656: 
        !          18657:     Manual enable/disable works right.
        !          18658: 
        !          18659: commit 08f0290a1ebf94624c4eb4cbcb10e2b35a846432
        !          18660: Author: Martin Mares <mj@ucw.cz>
        !          18661: Date:   Sat May 13 11:00:37 2000 +0000
        !          18662: 
        !          18663:     Changed semantics of the rt_update hook. The attribute list we pass now
        !          18664:     contains all attributes, not just the temporary ones. This avoids having
        !          18665:     to merge the lists inside protocols or doing searches on both of them.
        !          18666:     
        !          18667:     Also, do filtering of routes properly. (I'd like to avoid it, but it's
        !          18668:     needed at least in the krt protocol.)
        !          18669: 
        !          18670: commit bfd7117846271a5e54271ee5248addd7e10ad021
        !          18671: Author: Pavel Machek <pavel@ucw.cz>
        !          18672: Date:   Fri May 12 10:57:36 2000 +0000
        !          18673: 
        !          18674:     Documentation fixes suggested by mj
        !          18675: 
        !          18676: commit 7e681ef3603862829c3bbf6b5c81c69c34faeb81
        !          18677: Author: Ondrej Filip <feela@network.cz>
        !          18678: Date:   Fri May 12 00:22:43 2000 +0000
        !          18679: 
        !          18680:     Calculation of external routes works. :-)
        !          18681: 
        !          18682: commit be2bb403414b2d8cd608b710a29992b2c8a4c8b0
        !          18683: Author: Ondrej Filip <feela@network.cz>
        !          18684: Date:   Thu May 11 22:02:53 2000 +0000
        !          18685: 
        !          18686:     Minor changes.
        !          18687: 
        !          18688: commit 5da1f935374b2e0435b67cc4d867369d522e62ff
        !          18689: Author: Ondrej Filip <feela@network.cz>
        !          18690: Date:   Thu May 11 22:00:55 2000 +0000
        !          18691: 
        !          18692:     Bugfix in flooding. (bad size)
        !          18693:     Better debugging.
        !          18694:     More robust in receiving.
        !          18695: 
        !          18696: commit c8d1f3feb2e2ca12aee76b1ce907dfff31c1012b
        !          18697: Author: Ondrej Filip <feela@network.cz>
        !          18698: Date:   Thu May 11 22:00:16 2000 +0000
        !          18699: 
        !          18700:     Better debugging.
        !          18701:     More robust.
        !          18702: 
        !          18703: commit 7a42e6ce899ceec7329212b9ceca4f15387fc280
        !          18704: Author: Ondrej Filip <feela@network.cz>
        !          18705: Date:   Thu May 11 17:14:57 2000 +0000
        !          18706: 
        !          18707:     Bugfix in network LSA originating.
        !          18708: 
        !          18709: commit 67edcf392f74e1c79ea521d583df7ca365caea0b
        !          18710: Author: Martin Mares <mj@ucw.cz>
        !          18711: Date:   Thu May 11 16:55:26 2000 +0000
        !          18712: 
        !          18713:     Updated README, generating the first alpha release.
        !          18714: 
        !          18715: commit 0e5aa966cca94152363b2d8e9c1b316c04d90adb
        !          18716: Author: Martin Mares <mj@ucw.cz>
        !          18717: Date:   Thu May 11 16:30:56 2000 +0000
        !          18718: 
        !          18719:     Multicast problems should be gone, although the fix is Linux only and we'll
        !          18720:     need to figure out something better when working on new ports.
        !          18721: 
        !          18722: commit 28323d9ddbdcfa35c6dec139da4eefca584b143e
        !          18723: Author: Martin Mares <mj@ucw.cz>
        !          18724: Date:   Thu May 11 15:05:13 2000 +0000
        !          18725: 
        !          18726:     Several minor RIP changes (Pavel, please check as usually):
        !          18727:     
        !          18728:        o  Use FIB_ITERATE_INIT instead of calling the function fit_init()
        !          18729:           which is explictly marked as private in route.h.
        !          18730:        o  When printing trace messages, don't spit out protocol name twice.
        !          18731:        o  Some messages are a bit more verbose.
        !          18732:        o  Added a bunch of FIXME's.
        !          18733:        o  When running in broadcast mode, don't forget to bind the local
        !          18734:           end of the socket to the same broadcast address, so that we don't
        !          18735:           get the broadcasts looped back via different interface. I'm just
        !          18736:           going to look up the same problem for multicasts.
        !          18737: 
        !          18738: commit 109c2f6cf350069c12abb7d182da6458ff56c1c7
        !          18739: Author: Martin Mares <mj@ucw.cz>
        !          18740: Date:   Thu May 11 12:30:06 2000 +0000
        !          18741: 
        !          18742:     If a broadcast address is missing, go fake one.
        !          18743: 
        !          18744: commit 2138d3b4d84058338ad4010eff8da62afa6531ab
        !          18745: Author: Martin Mares <mj@ucw.cz>
        !          18746: Date:   Thu May 11 12:20:07 2000 +0000
        !          18747: 
        !          18748:     Use correct flags for the LOCAL_PREF attribute.
        !          18749:     
        !          18750:     When an invalid attribute is found, copy the entire attribute to the data
        !          18751:     section of the NOTIFICATION message.
        !          18752: 
        !          18753: commit 6e06e6eef098859da95ff56a8ee9b4c75467901a
        !          18754: Author: Pavel Machek <pavel@ucw.cz>
        !          18755: Date:   Thu May 11 12:00:35 2000 +0000
        !          18756: 
        !          18757:     Critical files from linuxdoc1 distribution checked in.
        !          18758: 
        !          18759: commit 0e7a720a1c8119912c00edf893702857c0d39d04
        !          18760: Author: Pavel Machek <pavel@ucw.cz>
        !          18761: Date:   Thu May 11 11:54:03 2000 +0000
        !          18762: 
        !          18763:     Use <m> instead of <i> in bird.sgml, fix url references.
        !          18764: 
        !          18765: commit 7692aad10c22a58a6f83d82fc0b11db94cc777f9
        !          18766: Author: Pavel Machek <pavel@ucw.cz>
        !          18767: Date:   Thu May 11 10:47:33 2000 +0000
        !          18768: 
        !          18769:     Don't include Rules: they are not needed and break stand-alone make of documentation.
        !          18770: 
        !          18771: commit ec21aecfddde3be2b061850a050108265dfbf194
        !          18772: Author: Pavel Machek <pavel@ucw.cz>
        !          18773: Date:   Thu May 11 10:33:18 2000 +0000
        !          18774: 
        !          18775:     Fixed nasty segfault in rip.
        !          18776: 
        !          18777: commit 10f5c47d2e3d9fdeb2dd4ade1d09a1e06b53a7f6
        !          18778: Author: Pavel Machek <pavel@ucw.cz>
        !          18779: Date:   Thu May 11 09:41:16 2000 +0000
        !          18780: 
        !          18781:     Some more paranoia into rip_insert and rip_delete
        !          18782: 
        !          18783: commit 94d1a6c9dc9ac578cb88428462ab41f113ca4e23
        !          18784: Author: Pavel Machek <pavel@ucw.cz>
        !          18785: Date:   Thu May 11 09:36:55 2000 +0000
        !          18786: 
        !          18787:     Unused variable killed.
        !          18788: 
        !          18789: commit 394920a09c6163d2b98896802526c79c82f52d20
        !          18790: Author: Ondrej Filip <feela@network.cz>
        !          18791: Date:   Wed May 10 23:42:37 2000 +0000
        !          18792: 
        !          18793:     Test better lsa size.
        !          18794: 
        !          18795: commit 31dca4353460b7a8bfb272e63ceac46deb3a6944
        !          18796: Author: Ondrej Filip <feela@network.cz>
        !          18797: Date:   Wed May 10 23:42:13 2000 +0000
        !          18798: 
        !          18799:     Be more verbose.
        !          18800: 
        !          18801: commit 74ac7cdb1afe1e23a130b290f4a366268073f62c
        !          18802: Author: Ondrej Filip <feela@network.cz>
        !          18803: Date:   Wed May 10 23:41:52 2000 +0000
        !          18804: 
        !          18805:     Bugfix in (B)DR election.
        !          18806: 
        !          18807: commit ff73f1d63d2d1e49737ea2471dc5cb92e9591847
        !          18808: Author: Ondrej Filip <feela@network.cz>
        !          18809: Date:   Wed May 10 23:41:18 2000 +0000
        !          18810: 
        !          18811:     More robust tests in packet receiving.
        !          18812: 
        !          18813: commit 13741548a6a75479577ea991bad1e38a4fba6320
        !          18814: Author: Ondrej Filip <feela@network.cz>
        !          18815: Date:   Wed May 10 15:04:21 2000 +0000
        !          18816: 
        !          18817:     Some better lsa checking added.
        !          18818: 
        !          18819: commit a9c41c854802d1a8d44e666548423589022111c8
        !          18820: Author: Ondrej Filip <feela@network.cz>
        !          18821: Date:   Wed May 10 14:29:00 2000 +0000
        !          18822: 
        !          18823:     Out dump deleted.
        !          18824: 
        !          18825: commit 2a41c8d9fcd2907a531c7306e174f51218486d57
        !          18826: Author: Pavel Machek <pavel@ucw.cz>
        !          18827: Date:   Wed May 10 13:42:50 2000 +0000
        !          18828: 
        !          18829:     use password_same utility function
        !          18830: 
        !          18831: commit 45a48e2de21cbf1a48c6f478ed068e48f20f918b
        !          18832: Author: Pavel Machek <pavel@ucw.cz>
        !          18833: Date:   Wed May 10 13:42:46 2000 +0000
        !          18834: 
        !          18835:     password_same utility function
        !          18836: 
        !          18837: commit a3f657ac764ff38a5829f27a0dccbf6220043a1a
        !          18838: Author: Ondrej Filip <feela@network.cz>
        !          18839: Date:   Wed May 10 13:35:49 2000 +0000
        !          18840: 
        !          18841:     Ever test possibility of forming of adjacency.
        !          18842: 
        !          18843: commit 3e474192745e7e92d27cad7ffa16a8395e884cf2
        !          18844: Author: Pavel Machek <pavel@ucw.cz>
        !          18845: Date:   Wed May 10 13:23:21 2000 +0000
        !          18846: 
        !          18847:     Inlined metric and mode into struct rip_interface to make reconfig
        !          18848:     work.
        !          18849:     
        !          18850:     reconfigure is conservative but should work.
        !          18851: 
        !          18852: commit 30aa02d70df2275d2289d9b736d879b9951bcaee
        !          18853: Author: Pavel Machek <pavel@ucw.cz>
        !          18854: Date:   Wed May 10 13:05:39 2000 +0000
        !          18855: 
        !          18856:     rip_reconfigure done right
        !          18857: 
        !          18858: commit b8524e9be4f1d15f4cd2cd365d7842eff8d5a499
        !          18859: Author: Pavel Machek <pavel@ucw.cz>
        !          18860: Date:   Wed May 10 12:48:06 2000 +0000
        !          18861: 
        !          18862:     ipa_same does not exist.
        !          18863: 
        !          18864: commit 0bff946c0a29469b669939813e5a2861c1f010fb
        !          18865: Author: Pavel Machek <pavel@ucw.cz>
        !          18866: Date:   Wed May 10 12:46:47 2000 +0000
        !          18867: 
        !          18868:     Nicer messages from rip.
        !          18869: 
        !          18870: commit 6f3849774ffe35e445e33ba03f041c1a84ba35f1
        !          18871: Author: Pavel Machek <pavel@ucw.cz>
        !          18872: Date:   Wed May 10 12:38:05 2000 +0000
        !          18873: 
        !          18874:     Use ea_get_int instead of ea_find.
        !          18875: 
        !          18876: commit c7e46aae66861ce282e9b1a0140fa422763094ce
        !          18877: Author: Ondrej Filip <feela@network.cz>
        !          18878: Date:   Wed May 10 12:37:43 2000 +0000
        !          18879: 
        !          18880:     Destroying of neighbor moved from 'hello' to 'neighbor' and
        !          18881:     improved.
        !          18882: 
        !          18883: commit 7f5f44bb9248f05f397617f3874feef26bbb0b0b
        !          18884: Author: Pavel Machek <pavel@ucw.cz>
        !          18885: Date:   Wed May 10 12:32:45 2000 +0000
        !          18886: 
        !          18887:     Reconfigure hook copied from bgp.
        !          18888: 
        !          18889: commit 84a1305437ddd893771c43d1a9bff32260a56789
        !          18890: Author: Pavel Machek <pavel@ucw.cz>
        !          18891: Date:   Wed May 10 12:26:09 2000 +0000
        !          18892: 
        !          18893:     Send first udpate sooner.
        !          18894: 
        !          18895: commit 14758d87c48e9d829f58ace0736b0c5b3c7dc6ae
        !          18896: Author: Pavel Machek <pavel@ucw.cz>
        !          18897: Date:   Wed May 10 12:23:06 2000 +0000
        !          18898: 
        !          18899:     Only announce change to main routing table if it is better than current.
        !          18900: 
        !          18901: commit 353f3261385267fd07b634284989a760fc37b79d
        !          18902: Author: Ondrej Filip <feela@network.cz>
        !          18903: Date:   Wed May 10 12:22:00 2000 +0000
        !          18904: 
        !          18905:     Better dumping.
        !          18906: 
        !          18907: commit 5e50f0a0289517e64e026cb27e886d49e6044aca
        !          18908: Author: Pavel Machek <pavel@ucw.cz>
        !          18909: Date:   Wed May 10 11:57:56 2000 +0000
        !          18910: 
        !          18911:     Don't touch used memory.
        !          18912: 
        !          18913: commit e8bd039da8de22de85bd135617b4a8ce9c979585
        !          18914: Author: Ondrej Filip <feela@network.cz>
        !          18915: Date:   Wed May 10 11:52:39 2000 +0000
        !          18916: 
        !          18917:     Bugfix in ip_addr endianity.
        !          18918: 
        !          18919: commit be3b6dc574c26ab3292fb2ceb94809242bea3d79
        !          18920: Author: Pavel Machek <pavel@ucw.cz>
        !          18921: Date:   Wed May 10 11:48:34 2000 +0000
        !          18922: 
        !          18923:     Killed unused variable.
        !          18924: 
        !          18925: commit 28950169e7ac82ceb9a6d72fe2789714b4073eb2
        !          18926: Author: Ondrej Filip <feela@network.cz>
        !          18927: Date:   Wed May 10 11:48:21 2000 +0000
        !          18928: 
        !          18929:     Bug in (B)DR election fixed.
        !          18930: 
        !          18931: commit d9f89e011498ec54006a026d9e0dd963db663ab0
        !          18932: Author: Pavel Machek <pavel@ucw.cz>
        !          18933: Date:   Wed May 10 11:40:30 2000 +0000
        !          18934: 
        !          18935:     You can now say "mode multicast".
        !          18936: 
        !          18937: commit 65a9c57175b60048d5501b2c951d5e46b3909fcb
        !          18938: Author: Ondrej Filip <feela@network.cz>
        !          18939: Date:   Wed May 10 11:22:08 2000 +0000
        !          18940: 
        !          18941:     Change u32 to ip_addr in ext lsa.
        !          18942: 
        !          18943: commit aa1e082c6779505e9ca24ba9f9d6cdfd4c647b06
        !          18944: Author: Ondrej Filip <feela@network.cz>
        !          18945: Date:   Wed May 10 10:47:17 2000 +0000
        !          18946: 
        !          18947:     Calculation of external routes.
        !          18948: 
        !          18949: commit 4bfe4e8551722533cc99c776b3b70818ef59bf24
        !          18950: Author: Pavel Machek <pavel@ucw.cz>
        !          18951: Date:   Wed May 10 06:56:42 2000 +0000
        !          18952: 
        !          18953:     Fix segfaults by using new ea_get_int.
        !          18954: 
        !          18955: commit c0100454cf37833d23fdb9d24412de659f683c12
        !          18956: Author: Pavel Machek <pavel@ucw.cz>
        !          18957: Date:   Wed May 10 06:54:40 2000 +0000
        !          18958: 
        !          18959:     Added more convient interface for ea_find.
        !          18960:     
        !          18961:     What is special about int default;? Compiler chokes on that!
        !          18962: 
        !          18963: commit fe95ab68164f0c9f18e65f7965ac4d93b24bef97
        !          18964: Author: Ondrej Filip <feela@network.cz>
        !          18965: Date:   Tue May 9 21:52:58 2000 +0000
        !          18966: 
        !          18967:     FIXME's removed by deleting them. :-)
        !          18968: 
        !          18969: commit 32fa4a5a461eb1af4146d9985663d90fcddd9697
        !          18970: Author: Ondrej Filip <feela@network.cz>
        !          18971: Date:   Tue May 9 21:06:48 2000 +0000
        !          18972: 
        !          18973:     Premature aging of self-originated LSA received in flooding.
        !          18974: 
        !          18975: commit 3b8b1bd03709d2fa2eab8ec81321717e3b58dcaf
        !          18976: Author: Ondrej Filip <feela@network.cz>
        !          18977: Date:   Tue May 9 19:38:34 2000 +0000
        !          18978: 
        !          18979:     Better dumping.
        !          18980: 
        !          18981: commit a3ae6246c29ecceefc1e867c7b5f73a5b3c857c9
        !          18982: Author: Ondrej Filip <feela@network.cz>
        !          18983: Date:   Tue May 9 19:38:16 2000 +0000
        !          18984: 
        !          18985:     Bugfix in lsrt slist adding.
        !          18986: 
        !          18987: commit b224ca32cfb5268db4984b5a640ab8a73852059b
        !          18988: Author: Ondrej Filip <feela@network.cz>
        !          18989: Date:   Tue May 9 19:36:32 2000 +0000
        !          18990: 
        !          18991:     Flushing of old LSAs added.
        !          18992: 
        !          18993: commit 850fda2518d6e91ca8e126ff91adad62fd507276
        !          18994: Author: Ondrej Filip <feela@network.cz>
        !          18995: Date:   Tue May 9 18:35:57 2000 +0000
        !          18996: 
        !          18997:     Backup seen is not called so often.
        !          18998: 
        !          18999: commit cd22a62b3ce3aa4cf8985337657ec9750176aa49
        !          19000: Author: Ondrej Filip <feela@network.cz>
        !          19001: Date:   Tue May 9 18:20:39 2000 +0000
        !          19002: 
        !          19003:     Don't send flushed LSAs.
        !          19004: 
        !          19005: commit 9669362f0577dbda0d7b9495d0c2fec11fa866f1
        !          19006: Author: Ondrej Filip <feela@network.cz>
        !          19007: Date:   Tue May 9 18:17:34 2000 +0000
        !          19008: 
        !          19009:     Many bugfixes. (I added one entry twice to slist.)
        !          19010:     Debug cleanup.
        !          19011:     Retransmiting of unacknolegded LSAs
        !          19012: 
        !          19013: commit 5f743d969739d6dca12b51561baac3131e160429
        !          19014: Author: Ondrej Filip <feela@network.cz>
        !          19015: Date:   Tue May 9 13:56:47 2000 +0000
        !          19016: 
        !          19017:     Many bugfixes. Actually, how could this ever work? :-)
        !          19018: 
        !          19019: commit 5d608eba1636e307624300fdd47b9024be92d39a
        !          19020: Author: Ondrej Filip <feela@network.cz>
        !          19021: Date:   Tue May 9 12:31:38 2000 +0000
        !          19022: 
        !          19023:     Bug fix in sending updates.
        !          19024: 
        !          19025: commit 0e1b949be7f71d038e871dac159b424e76978bff
        !          19026: Author: Ondrej Filip <feela@network.cz>
        !          19027: Date:   Tue May 9 12:18:41 2000 +0000
        !          19028: 
        !          19029:     Bugfix in testing of possibility of adjacency.
        !          19030: 
        !          19031: commit 432996f40fceb58cd5ee5026eb4f7018ef6af1ef
        !          19032: Author: Ondrej Filip <feela@network.cz>
        !          19033: Date:   Tue May 9 12:03:57 2000 +0000
        !          19034: 
        !          19035:     Better dumping.
        !          19036: 
        !          19037: commit 54ac9d2e03c6ae44b4e183c9bcf963196218c477
        !          19038: Author: Ondrej Filip <feela@network.cz>
        !          19039: Date:   Tue May 9 12:02:48 2000 +0000
        !          19040: 
        !          19041:     Bugfix in hello.
        !          19042: 
        !          19043: commit 4057093fa40248c5b607039481576a6c5e4e902b
        !          19044: Author: Ondrej Filip <feela@network.cz>
        !          19045: Date:   Tue May 9 11:52:44 2000 +0000
        !          19046: 
        !          19047:     Small cleanup.
        !          19048: 
        !          19049: commit 551d44438275e9ebc9e7590814f413ac7d0cccd6
        !          19050: Author: Ondrej Filip <feela@network.cz>
        !          19051: Date:   Tue May 9 11:29:52 2000 +0000
        !          19052: 
        !          19053:     Sorry, it didn't compile. :-(
        !          19054: 
        !          19055: commit b29c620f90d429b868038984a5427470f00aebac
        !          19056: Author: Ondrej Filip <feela@network.cz>
        !          19057: Date:   Tue May 9 11:27:31 2000 +0000
        !          19058: 
        !          19059:     Another bugfix in neighbor state machine.
        !          19060: 
        !          19061: commit 279a3b76d193944431a992a1ac43543fe15ab903
        !          19062: Author: Ondrej Filip <feela@network.cz>
        !          19063: Date:   Tue May 9 10:47:10 2000 +0000
        !          19064: 
        !          19065:     Small bug in neighbor state machine.
        !          19066: 
        !          19067: commit fafe44b651f68d0a588cac94ddada8a1270adb97
        !          19068: Author: Ondrej Filip <feela@network.cz>
        !          19069: Date:   Tue May 9 00:03:08 2000 +0000
        !          19070: 
        !          19071:     Just added declaration of AS Ext routes calculation.
        !          19072: 
        !          19073: commit 43e75f38e7b8716efb3729ee56fd4a879e03c1dc
        !          19074: Author: Ondrej Filip <feela@network.cz>
        !          19075: Date:   Mon May 8 23:46:31 2000 +0000
        !          19076: 
        !          19077:     Do not stop lsrr_timer in FULL state. Use it for retransmition.
        !          19078: 
        !          19079: commit ed4a53c6a5685d04fe2b0cceda83860324f4892c
        !          19080: Author: Ondrej Filip <feela@network.cz>
        !          19081: Date:   Mon May 8 22:50:37 2000 +0000
        !          19082: 
        !          19083:     Some changes in debugging.
        !          19084: 
        !          19085: commit 9bacea42112216e604bd55e3027e019e131304dd
        !          19086: Author: Ondrej Filip <feela@network.cz>
        !          19087: Date:   Mon May 8 22:49:58 2000 +0000
        !          19088: 
        !          19089:     Fixed some FIXME's by deleting them. :-)
        !          19090: 
        !          19091: commit 8a3049f6f139622c6976502d931c746449a1fe48
        !          19092: Author: Ondrej Filip <feela@network.cz>
        !          19093: Date:   Mon May 8 22:42:56 2000 +0000
        !          19094: 
        !          19095:     Useless '\n' in log()
        !          19096: 
        !          19097: commit eae4fcf2539703d0dbd47e29ab24be29e0ddc2ff
        !          19098: Author: Ondrej Filip <feela@network.cz>
        !          19099: Date:   Mon May 8 22:40:55 2000 +0000
        !          19100: 
        !          19101:     Stopping RXMT timer when going to lower state than EXSTART.
        !          19102: 
        !          19103: commit d8033f2238922f3c63c247e924f1e31659d821ef
        !          19104: Author: Martin Mares <mj@ucw.cz>
        !          19105: Date:   Mon May 8 22:37:16 2000 +0000
        !          19106: 
        !          19107:     Generated first public alpha release.
        !          19108:     
        !          19109:     Unless you object, I'll announce it today (9.5.) at noon.
        !          19110: 
        !          19111: commit 8aecbf160adb15eef3f66d750745928f66f8a310
        !          19112: Author: Martin Mares <mj@ucw.cz>
        !          19113: Date:   Mon May 8 22:33:50 2000 +0000
        !          19114: 
        !          19115:     New example config.
        !          19116: 
        !          19117: commit c976342828d5de3d16b59d623f4f7fb03f52acc9
        !          19118: Author: Martin Mares <mj@ucw.cz>
        !          19119: Date:   Mon May 8 22:33:38 2000 +0000
        !          19120: 
        !          19121:     Implemented debugging function rlookup() which you can call from gdb
        !          19122:     to see what resource does the address given as a parameter belong to.
        !          19123: 
        !          19124: commit 0521e4f68490d5ef5cc6ba6b2b4e4edf7cf6aa1a
        !          19125: Author: Martin Mares <mj@ucw.cz>
        !          19126: Date:   Mon May 8 22:33:02 2000 +0000
        !          19127: 
        !          19128:     rt_prune: Don't kill routes from protocols in FS_FEEDING state. If debugging,
        !          19129:     call fib_check() on the table's fib.
        !          19130: 
        !          19131: commit c09d1e8df2d5d1ebfb4ce3dfbe93347a83acd99d
        !          19132: Author: Martin Mares <mj@ucw.cz>
        !          19133: Date:   Mon May 8 22:32:17 2000 +0000
        !          19134: 
        !          19135:     KEEPALIVE TIME ought to set keepalive time, not connect retry time :)
        !          19136: 
        !          19137: commit 5ff0a270cb411d423a78ed13604a5f2b25d4b289
        !          19138: Author: Martin Mares <mj@ucw.cz>
        !          19139: Date:   Mon May 8 22:31:58 2000 +0000
        !          19140: 
        !          19141:     In non-debug mode, set default logging to syslog only, not stderr.
        !          19142: 
        !          19143: commit 4524331a3d758106f4ffa6a54a60aeae45341789
        !          19144: Author: Martin Mares <mj@ucw.cz>
        !          19145: Date:   Mon May 8 22:31:34 2000 +0000
        !          19146: 
        !          19147:     Fixed type in daemonization code.
        !          19148: 
        !          19149: commit fc0ca2d8e1ab6a71a81f5f12c04f02d670d22348
        !          19150: Author: Ondrej Filip <feela@network.cz>
        !          19151: Date:   Mon May 8 22:28:42 2000 +0000
        !          19152: 
        !          19153:     Typo in debug.
        !          19154: 
        !          19155: commit a6fdf9c6ac58e2d95d84c58102af8d5f3a70958a
        !          19156: Author: Ondrej Filip <feela@network.cz>
        !          19157: Date:   Mon May 8 22:27:25 2000 +0000
        !          19158: 
        !          19159:     Grrr, useless debug.
        !          19160: 
        !          19161: commit 5ee479aac9e488e15245905c598e778eb787dfe1
        !          19162: Author: Ondrej Filip <feela@network.cz>
        !          19163: Date:   Mon May 8 22:26:11 2000 +0000
        !          19164: 
        !          19165:     Small typo.
        !          19166: 
        !          19167: commit 0ebb8b64f384d57889271389abe9b8926dde7af8
        !          19168: Author: Ondrej Filip <feela@network.cz>
        !          19169: Date:   Mon May 8 22:24:22 2000 +0000
        !          19170: 
        !          19171:     Bugfix in new neighbor allocation.
        !          19172: 
        !          19173: commit 77fbd315dfa2dd6b8252cf13386d8b8480234bcc
        !          19174: Author: Ondrej Filip <feela@network.cz>
        !          19175: Date:   Mon May 8 22:10:10 2000 +0000
        !          19176: 
        !          19177:     Better debug output.
        !          19178: 
        !          19179: commit b57a45b81a74c091bbc71966a7c6aacebaf34e57
        !          19180: Author: Ondrej Filip <feela@network.cz>
        !          19181: Date:   Mon May 8 22:03:29 2000 +0000
        !          19182: 
        !          19183:     Next hop calculation improved. (I ignored stub networks advertised by my
        !          19184:     neighbors.
        !          19185: 
        !          19186: commit 158b99c912ef5c5cef22fd3e343341cbb52eb105
        !          19187: Author: Ondrej Filip <feela@network.cz>
        !          19188: Date:   Mon May 8 22:02:45 2000 +0000
        !          19189: 
        !          19190:     Better logging. (%d->%I)
        !          19191: 
        !          19192: commit 8abbde02d46830168b79a1df6c18c3ffaea49b9e
        !          19193: Author: Martin Mares <mj@ucw.cz>
        !          19194: Date:   Mon May 8 19:11:49 2000 +0000
        !          19195: 
        !          19196:     Several simplifications of the fib iterators.
        !          19197: 
        !          19198: commit 0bcba21e893efb9853a68b04674e4bde9da5a1b8
        !          19199: Author: Martin Mares <mj@ucw.cz>
        !          19200: Date:   Mon May 8 19:10:36 2000 +0000
        !          19201: 
        !          19202:     When not debugging, daemonize automatically.
        !          19203: 
        !          19204: commit 33a368ad594822239bfbaa2eab50c76171e09b9e
        !          19205: Author: Martin Mares <mj@ucw.cz>
        !          19206: Date:   Mon May 8 14:58:00 2000 +0000
        !          19207: 
        !          19208:     Implemented `show route count' which is `show route stats' with
        !          19209:     exception that it doesn't print the routes themselves.
        !          19210: 
        !          19211: commit 0c3588bf5e43936ea0f1e630dea500912b598c60
        !          19212: Author: Martin Mares <mj@ucw.cz>
        !          19213: Date:   Mon May 8 14:53:22 2000 +0000
        !          19214: 
        !          19215:     Don't crash when the socket gets closed between updates.
        !          19216:     
        !          19217:     Also, this time not only update `remains', but update it right :)
        !          19218: 
        !          19219: commit 6b5ab87581ba496ad0a9c12ef66f1372e1459685
        !          19220: Author: Martin Mares <mj@ucw.cz>
        !          19221: Date:   Mon May 8 14:51:57 2000 +0000
        !          19222: 
        !          19223:     Added `--disable-memcheck' switch which avoids linking of efence/dmalloc,
        !          19224:     so that we can run in debugging mode with large routing tables.
        !          19225: 
        !          19226: commit e48dae3ed70daf52ad93c4fdc73270ab1510661f
        !          19227: Author: Martin Mares <mj@ucw.cz>
        !          19228: Date:   Mon May 8 14:51:26 2000 +0000
        !          19229: 
        !          19230:     Stop feeding the protocol if it suddenly shuts down.
        !          19231: 
        !          19232: commit 9ff8f334edec974b16497e1e74172977e0fff221
        !          19233: Author: Martin Mares <mj@ucw.cz>
        !          19234: Date:   Mon May 8 14:32:19 2000 +0000
        !          19235: 
        !          19236:     Update `remains' counter correctly.
        !          19237: 
        !          19238: commit d69e5ff2ad8b552c22770e4c85bd7c5afafe2816
        !          19239: Author: Martin Mares <mj@ucw.cz>
        !          19240: Date:   Mon May 8 14:29:30 2000 +0000
        !          19241: 
        !          19242:     Use PATH_CONTROL_SOCKET instead of tacking on "bird.ctl" manually.
        !          19243: 
        !          19244: commit cd44b466515578583d46dcb1a0abdae6e658a166
        !          19245: Author: Martin Mares <mj@ucw.cz>
        !          19246: Date:   Mon May 8 14:24:19 2000 +0000
        !          19247: 
        !          19248:     Forgot to add a spiky comment :)
        !          19249: 
        !          19250: commit f9254d2349c7e2e3c110f7850e402d1c11624940
        !          19251: Author: Martin Mares <mj@ucw.cz>
        !          19252: Date:   Mon May 8 14:19:47 2000 +0000
        !          19253: 
        !          19254:     Autoconf is *evil*. The sysconfdir and similar variables are unusable in
        !          19255:     C includes as they contain substitutions specific to make.
        !          19256:     
        !          19257:     Worked around by creating sysconf/paths.h which is created from
        !          19258:     the Makefile instead of by the configure script.
        !          19259: 
        !          19260: commit 0bf7386b33fecac40be43f8db5b0ba0356123fd2
        !          19261: Author: Martin Mares <mj@ucw.cz>
        !          19262: Date:   Mon May 8 14:18:33 2000 +0000
        !          19263: 
        !          19264:     Updated TODO.
        !          19265: 
        !          19266: commit c0760ab0fc880778f23c71a7874aa38f90e28925
        !          19267: Author: Martin Mares <mj@ucw.cz>
        !          19268: Date:   Mon May 8 13:56:11 2000 +0000
        !          19269: 
        !          19270:     Debugging compilation is no longer default. This means that the configuration
        !          19271:     file is expected in $prefix/etc etc.
        !          19272:     
        !          19273:     Use --enable-debug to request debugging.
        !          19274: 
        !          19275: commit d8508f70b0325cd283bc1551c455cdc3aab011fe
        !          19276: Author: Martin Mares <mj@ucw.cz>
        !          19277: Date:   Mon May 8 13:54:59 2000 +0000
        !          19278: 
        !          19279:     `make install' now works.
        !          19280: 
        !          19281: commit 93d6bf38a6c07b8281e11280d5cdbb721d19f7c8
        !          19282: Author: Martin Mares <mj@ucw.cz>
        !          19283: Date:   Mon May 8 13:26:30 2000 +0000
        !          19284: 
        !          19285:     The bgp_list is gone. Incomming connections are now handled in a much
        !          19286:     more straightforward manner by scanning the active configuration for
        !          19287:     matching protocols.
        !          19288: 
        !          19289: commit 5d86aefb6c4a8e298ee79dc9cbf7c07196d56b5b
        !          19290: Author: Martin Mares <mj@ucw.cz>
        !          19291: Date:   Mon May 8 13:12:14 2000 +0000
        !          19292: 
        !          19293:     Really free attributes.
        !          19294: 
        !          19295: commit 818ff1e2b7b8eb8e707608e76ead94e5c6bd442c
        !          19296: Author: Martin Mares <mj@ucw.cz>
        !          19297: Date:   Mon May 8 12:38:00 2000 +0000
        !          19298: 
        !          19299:     When reporting a bug(), call abort() instead of exit(), so that we
        !          19300:     can analyse the core.
        !          19301: 
        !          19302: commit c304392e65a3d6554e97bce00146fe5f2bcb64b1
        !          19303: Author: Martin Mares <mj@ucw.cz>
        !          19304: Date:   Mon May 8 12:37:39 2000 +0000
        !          19305: 
        !          19306:     Some less socket error messages.
        !          19307: 
        !          19308: commit 507eea4c8b4c52a5ddf232bc180a7a42cf29f074
        !          19309: Author: Martin Mares <mj@ucw.cz>
        !          19310: Date:   Mon May 8 12:37:24 2000 +0000
        !          19311: 
        !          19312:     Don't generate corrupted packets when sending only route deletes.
        !          19313: 
        !          19314: commit 9cbf43eb8a7e0186144e95d7b244e0c69b0e9189
        !          19315: Author: Martin Mares <mj@ucw.cz>
        !          19316: Date:   Mon May 8 12:09:10 2000 +0000
        !          19317: 
        !          19318:     Don't report refused connections.
        !          19319: 
        !          19320: commit b6c9d8eb2e255b65f29efd1acfd35a4277b3bf14
        !          19321: Author: Martin Mares <mj@ucw.cz>
        !          19322: Date:   Mon May 8 12:05:55 2000 +0000
        !          19323: 
        !          19324:     Removed the `async' switch which was used for debugging only anyway.
        !          19325:     
        !          19326:     Don't moan when netlink reports lost packets.
        !          19327: 
        !          19328: commit d0126f0bf0098104cd99fedd61a4bdbe7f7b3f1f
        !          19329: Author: Martin Mares <mj@ucw.cz>
        !          19330: Date:   Mon May 8 11:40:30 2000 +0000
        !          19331: 
        !          19332:     bugs_in_attr_cache_hashing--;
        !          19333: 
        !          19334: commit 79681f4a19d0eca6e40d919a387099f5646f29bc
        !          19335: Author: Martin Mares <mj@ucw.cz>
        !          19336: Date:   Mon May 8 11:04:22 2000 +0000
        !          19337: 
        !          19338:     Link the instance to the global BGP list as soon as possible.
        !          19339: 
        !          19340: commit 94e935d8a2e02f18e3731624720e8f84be5e9f15
        !          19341: Author: Martin Mares <mj@ucw.cz>
        !          19342: Date:   Mon May 8 11:02:53 2000 +0000
        !          19343: 
        !          19344:     Incoming buffer must be at least 8KB long.
        !          19345: 
        !          19346: commit 916c8c0abacfd5ba93353fec9dba84a81845c95e
        !          19347: Author: Martin Mares <mj@ucw.cz>
        !          19348: Date:   Mon May 8 10:40:00 2000 +0000
        !          19349: 
        !          19350:     Use preferences properly.
        !          19351: 
        !          19352: commit 1151401e2b8b4434bbd1419ff33a48f2848d600d
        !          19353: Author: Martin Mares <mj@ucw.cz>
        !          19354: Date:   Mon May 8 10:38:51 2000 +0000
        !          19355: 
        !          19356:     Don't crash when reporting deleted routes.
        !          19357:     
        !          19358:     Set preferences correctly.
        !          19359: 
        !          19360: commit 92ef4fa719058af80a9dbb39e3d2fbd9314e8a1a
        !          19361: Author: Martin Mares <mj@ucw.cz>
        !          19362: Date:   Mon May 8 10:38:25 2000 +0000
        !          19363: 
        !          19364:     Preference is a configurable parameter.
        !          19365: 
        !          19366: commit 0117d004945afdfb6cc9a62db4561cd4eddee24a
        !          19367: Author: Martin Mares <mj@ucw.cz>
        !          19368: Date:   Mon May 8 10:37:45 2000 +0000
        !          19369: 
        !          19370:     Fixed `show route primary'.
        !          19371: 
        !          19372: commit 18c031fae8945409b0ff1139d88092ba19ec2780
        !          19373: Author: Martin Mares <mj@ucw.cz>
        !          19374: Date:   Mon May 8 10:13:59 2000 +0000
        !          19375: 
        !          19376:     Debugged printing and pruning of neighbor cache entries.
        !          19377: 
        !          19378: commit 0d3070824da904bd0f3f576b353b738bfa15a53a
        !          19379: Author: Martin Mares <mj@ucw.cz>
        !          19380: Date:   Sun May 7 11:32:34 2000 +0000
        !          19381: 
        !          19382:     Don't count networks with no routes (they are not displayed at all and
        !          19383:     will be removed during the next garbage collection pass).
        !          19384: 
        !          19385: commit 23693958aa95edf5baaeaa5baa55725dc4895681
        !          19386: Author: Martin Mares <mj@ucw.cz>
        !          19387: Date:   Sun May 7 11:28:59 2000 +0000
        !          19388: 
        !          19389:     Implemented `show route <...> stats'.
        !          19390: 
        !          19391: commit 6998bb9ee345a0e8b558fc87133f1c2a442b7096
        !          19392: Author: Martin Mares <mj@ucw.cz>
        !          19393: Date:   Sun May 7 11:28:34 2000 +0000
        !          19394: 
        !          19395:     Squashed one bug in fib_rehash().  No more routes disappearing as if struct
        !          19396:     by a lightning :)
        !          19397: 
        !          19398: commit 891cec854f84674317fa152b71254fc52d893826
        !          19399: Author: Martin Mares <mj@ucw.cz>
        !          19400: Date:   Sun May 7 11:27:23 2000 +0000
        !          19401: 
        !          19402:     Killed one more reference to RTS_RIP_EXT.
        !          19403: 
        !          19404: commit acfce55c8637988954543c60597cd2f1525ba6ec
        !          19405: Author: Martin Mares <mj@ucw.cz>
        !          19406: Date:   Sun May 7 10:41:45 2000 +0000
        !          19407: 
        !          19408:     Setup of incoming connection is now a separate function.
        !          19409: 
        !          19410: commit ce1da96ee7efc9310f138e4234495557cdef59e2
        !          19411: Author: Martin Mares <mj@ucw.cz>
        !          19412: Date:   Sat May 6 22:57:39 2000 +0000
        !          19413: 
        !          19414:     Added commands `show route protocol <p>' and `show route import <p>' which
        !          19415:     show the routing table as exported to the protocol given resp. as returned
        !          19416:     from its import control hook.
        !          19417:     
        !          19418:     To get handling of filtered extended attributes right (even in the old
        !          19419:     `show route where <filter>' command), the get_route_info hook gets an
        !          19420:     attribute list and all protocol specific rte attributes are contained
        !          19421:     there as temporary ones. Updated RIP to do that.
        !          19422:     
        !          19423:     Added ea_append() which joins two ea_list's.
        !          19424: 
        !          19425: commit 84f070020500de40e69e6d00df9d41ecc90a3b23
        !          19426: Author: Martin Mares <mj@ucw.cz>
        !          19427: Date:   Sat May 6 21:46:09 2000 +0000
        !          19428: 
        !          19429:     IPv6 support compiles on both glibc 2.0 and 2.1.
        !          19430: 
        !          19431: commit 498c33395f99743206088770c441222c76493378
        !          19432: Author: Martin Mares <mj@ucw.cz>
        !          19433: Date:   Sat May 6 21:42:19 2000 +0000
        !          19434: 
        !          19435:     Cosmetic fixes.
        !          19436: 
        !          19437: commit 0b7610985cd44435ab40dd2e78646f400db908c5
        !          19438: Author: Martin Mares <mj@ucw.cz>
        !          19439: Date:   Sat May 6 21:31:41 2000 +0000
        !          19440: 
        !          19441:     Fixed silly bug in previous commit.
        !          19442: 
        !          19443: commit 67be5b23cd80646c2aa5a9c6a3d373ceecb275b6
        !          19444: Author: Martin Mares <mj@ucw.cz>
        !          19445: Date:   Sat May 6 21:21:19 2000 +0000
        !          19446: 
        !          19447:     When rte_update is called for an identical route, don't announce anything.
        !          19448:     
        !          19449:     Please implement the rte_same hook in your protocols. It should just
        !          19450:     compare your metrics stored directly in rte, the rest is done by the core.
        !          19451: 
        !          19452: commit ab1129c1bdea41ff06fd21390cde5667d07f6e65
        !          19453: Author: Martin Mares <mj@ucw.cz>
        !          19454: Date:   Fri May 5 17:17:42 2000 +0000
        !          19455: 
        !          19456:     Added skeleton Doc files for the whole developer's documentation.
        !          19457: 
        !          19458: commit b177724896b75159dbc8e203ac0e5a134229ae90
        !          19459: Author: Martin Mares <mj@ucw.cz>
        !          19460: Date:   Fri May 5 17:15:56 2000 +0000
        !          19461: 
        !          19462:     Connected the `doc' subtree to global makefiles.
        !          19463:     
        !          19464:     All documentation is built in obj/doc (resp. doc/ if you do a stand-alone build).
        !          19465:     
        !          19466:     Use `make docs' to make the whole documentation or `make userdocs' resp.
        !          19467:     `make progdocs' for user manual resp. developer's guide.
        !          19468: 
        !          19469: commit c7d7794bb9a71be58d06c6c9ea67943d3e33a566
        !          19470: Author: Martin Mares <mj@ucw.cz>
        !          19471: Date:   Fri May 5 17:14:44 2000 +0000
        !          19472: 
        !          19473:     Added a tool for processing of developer documentation.
        !          19474:     
        !          19475:     Everything is controlled by Doc files in source directories (see the
        !          19476:     corresponding programmer's manual entry for the format and look
        !          19477:     at Doc and lib/Doc for an example).
        !          19478:     
        !          19479:     Currently it generates HTML indices and calls kernel-doc to generate
        !          19480:     per-section HTML files.
        !          19481: 
        !          19482: commit 249d238c14cafa812db02ea3090b34c58b183cf6
        !          19483: Author: Pavel Machek <pavel@ucw.cz>
        !          19484: Date:   Fri May 5 09:39:08 2000 +0000
        !          19485: 
        !          19486:     First attempt at documenting configuration.
        !          19487: 
        !          19488: commit beaf86e13c6b9595bc979b5ed9669e3e43f793cd
        !          19489: Author: Martin Mares <mj@ucw.cz>
        !          19490: Date:   Thu May 4 21:23:10 2000 +0000
        !          19491: 
        !          19492:     Removed RTS_RIP_EXT.
        !          19493: 
        !          19494: commit 9a220cabbc28a4e54f814aa5d596696a15e6544d
        !          19495: Author: Martin Mares <mj@ucw.cz>
        !          19496: Date:   Thu May 4 20:52:28 2000 +0000
        !          19497: 
        !          19498:     #ifdef out lots of debugging information.
        !          19499:     
        !          19500:     The long resource/routing table dump printed upon startup is gone now
        !          19501:     and if you wish to see it, just send bird SIGUSR1 or use the `debug'
        !          19502:     commands.
        !          19503: 
        !          19504: commit b3acb10632ce9fa492a92ced1e533f0bf5edee21
        !          19505: Author: Martin Mares <mj@ucw.cz>
        !          19506: Date:   Thu May 4 20:49:45 2000 +0000
        !          19507: 
        !          19508:     Updated.
        !          19509: 
        !          19510: commit 2a149b18cca3b20063be398e8098dfa8e1e2705d
        !          19511: Author: Martin Mares <mj@ucw.cz>
        !          19512: Date:   Thu May 4 20:38:44 2000 +0000
        !          19513: 
        !          19514:     Unused variables in IPv6 code.
        !          19515: 
        !          19516: commit 93a786cb034fdd18b8131a16a6ea3d1cd9bd00de
        !          19517: Author: Martin Mares <mj@ucw.cz>
        !          19518: Date:   Thu May 4 20:30:36 2000 +0000
        !          19519: 
        !          19520:     Removed a lot of unused variables.
        !          19521:     
        !          19522:     Please try compiling your code with --enable-warnings to see them. (The
        !          19523:     unused parameter warnings are usually bogus, the unused variable ones
        !          19524:     are very useful, but gcc is unable to control them separately.)
        !          19525: 
        !          19526: commit c817b9916f1134f687ba53220d607e6e193cf651
        !          19527: Author: Martin Mares <mj@ucw.cz>
        !          19528: Date:   Thu May 4 20:18:46 2000 +0000
        !          19529: 
        !          19530:     Added --enable-ipv6 which tells configure to select the right configuration
        !          19531:     for IPv6 automatically.
        !          19532:     
        !          19533:     Added --enable-warnings which turns off some more warnings.
        !          19534:     
        !          19535:     Default protocol list now depends on --enable-ipv6.
        !          19536: 
        !          19537: commit 9b63e3a58afe17b98eb7722e352984574846c22c
        !          19538: Author: Pavel Machek <pavel@ucw.cz>
        !          19539: Date:   Thu May 4 20:08:34 2000 +0000
        !          19540: 
        !          19541:     Spelling fixes.
        !          19542: 
        !          19543: commit cf3d6470d7c8d401b162516ed7446c1d3866d5d3
        !          19544: Author: Martin Mares <mj@ucw.cz>
        !          19545: Date:   Thu May 4 20:02:56 2000 +0000
        !          19546: 
        !          19547:     IPv6 BGP support finished.  Also simplified the BGP stuff a bit.
        !          19548: 
        !          19549: commit 6db8c5a63b341d0913afa44457a93a8e83529fb2
        !          19550: Author: Martin Mares <mj@ucw.cz>
        !          19551: Date:   Thu May 4 20:02:19 2000 +0000
        !          19552: 
        !          19553:     pxlen works even in IPv6 mode.
        !          19554: 
        !          19555: commit 5dc4b0aae20ef7e6b862af29a3135e018147ce97
        !          19556: Author: Pavel Machek <pavel@ucw.cz>
        !          19557: Date:   Thu May 4 10:03:53 2000 +0000
        !          19558: 
        !          19559:     Display examples more nicely
        !          19560: 
        !          19561: commit 1d9622e10ddc3baf2cd4f81bc2fa95593b4d3e85
        !          19562: Author: Martin Mares <mj@ucw.cz>
        !          19563: Date:   Thu May 4 09:08:28 2000 +0000
        !          19564: 
        !          19565:     Switched off LOCAL_DEBUG.
        !          19566: 
        !          19567: commit 1c1da87b271ee3db0045f31612d99894531ada54
        !          19568: Author: Martin Mares <mj@ucw.cz>
        !          19569: Date:   Thu May 4 09:03:31 2000 +0000
        !          19570: 
        !          19571:     Receive-only IPv6 BGP.
        !          19572: 
        !          19573: commit d345cda5a1cea03a09e5a37c999e88c5177c8a9e
        !          19574: Author: Ondrej Filip <feela@network.cz>
        !          19575: Date:   Thu May 4 01:23:03 2000 +0000
        !          19576: 
        !          19577:     Bugfix in Network lsa originating
        !          19578:     Bugfix in ntohlsab() and htonlsab()
        !          19579:     For calculating of rt I use my own fib. I delete routes! ;-)
        !          19580: 
        !          19581: commit 9e48d717cf681dcc3cfaaee4358b5c6fa3aa409e
        !          19582: Author: Ondrej Filip <feela@network.cz>
        !          19583: Date:   Wed May 3 22:36:12 2000 +0000
        !          19584: 
        !          19585:     Test for "flushing" added.
        !          19586: 
        !          19587: commit a02c6c184b513fe1886c86533e696045e960515b
        !          19588: Author: Ondrej Filip <feela@network.cz>
        !          19589: Date:   Wed May 3 22:23:41 2000 +0000
        !          19590: 
        !          19591:     Cleanup of code. Some arguments of functions were useless.
        !          19592: 
        !          19593: commit ad5453b540b3c9d7430dcff9a3674d9db8ab999c
        !          19594: Author: Ondrej Filip <feela@network.cz>
        !          19595: Date:   Wed May 3 22:12:33 2000 +0000
        !          19596: 
        !          19597:     Testing if I can flush LSA from database.
        !          19598: 
        !          19599: commit 9bc1808a27b35499d2438d731ade6d2cba8aa355
        !          19600: Author: Ondrej Filip <feela@network.cz>
        !          19601: Date:   Wed May 3 00:08:48 2000 +0000
        !          19602: 
        !          19603:     Better rt and net originating.
        !          19604: 
        !          19605: commit 0bf2f2039e1fc95fe0fa3ee231711212f1f2b128
        !          19606: Author: Ondrej Filip <feela@network.cz>
        !          19607: Date:   Tue May 2 23:09:44 2000 +0000
        !          19608: 
        !          19609:     Originating of network LSA.
        !          19610: 
        !          19611: commit 92bbd812e332c9948d737e95526c571ff371d394
        !          19612: Author: Ondrej Filip <feela@network.cz>
        !          19613: Date:   Tue May 2 22:34:35 2000 +0000
        !          19614: 
        !          19615:     OSPF added to default protocols.
        !          19616: 
        !          19617: commit 249fdef7a10ce507bd224ad9be48a86f09d8f21c
        !          19618: Author: Ondrej Filip <feela@network.cz>
        !          19619: Date:   Tue May 2 22:31:48 2000 +0000
        !          19620: 
        !          19621:     Adding InfTransDelay for outgoing lsa.
        !          19622: 
        !          19623: commit c45f48fba5a0904f9c3512c3b42c38183fef348b
        !          19624: Author: Ondrej Filip <feela@network.cz>
        !          19625: Date:   Tue May 2 22:19:41 2000 +0000
        !          19626: 
        !          19627:     Aging of lsa database added.
        !          19628: 
        !          19629: commit a92847e78fabd637938f324c78d5eb41538a5692
        !          19630: Author: Ondrej Filip <feela@network.cz>
        !          19631: Date:   Tue May 2 19:27:57 2000 +0000
        !          19632: 
        !          19633:     Route calculation for stub networks.
        !          19634: 
        !          19635: commit 53943a002265d8e2b6a887eaa497a01840675693
        !          19636: Author: Martin Mares <mj@ucw.cz>
        !          19637: Date:   Tue May 2 16:10:04 2000 +0000
        !          19638: 
        !          19639:     Defined format specifier `%M' which behaves as `%m', but takes the
        !          19640:     error code as an argument.
        !          19641:     
        !          19642:     Use it in socket hooks where we really shouldn't rely on errno containing
        !          19643:     the right value or even existing.
        !          19644: 
        !          19645: commit 85368cd4b7244535f6ce56a27f6d22ddfa2bf4e6
        !          19646: Author: Martin Mares <mj@ucw.cz>
        !          19647: Date:   Tue May 2 16:07:41 2000 +0000
        !          19648: 
        !          19649:     Full protocol tracing.
        !          19650: 
        !          19651: commit 85a291ff3055f0b10ffc199138c67305f5b3fc98
        !          19652: Author: Martin Mares <mj@ucw.cz>
        !          19653: Date:   Tue May 2 15:21:51 2000 +0000
        !          19654: 
        !          19655:     IPv6 address classification fixes.
        !          19656: 
        !          19657: commit d1a74339d4edb717fbe98d412bd5e4ad03bb20a2
        !          19658: Author: Martin Mares <mj@ucw.cz>
        !          19659: Date:   Tue May 2 12:51:39 2000 +0000
        !          19660: 
        !          19661:     Handle redistribution of unknown attributes correctly.
        !          19662: 
        !          19663: commit 85195f1a53eb350cd32ecba69c208dbece6fb776
        !          19664: Author: Ondrej Filip <feela@network.cz>
        !          19665: Date:   Sun Apr 30 22:14:31 2000 +0000
        !          19666: 
        !          19667:     Many small changes and bug fixes. Routing table calculation works.
        !          19668:     I'm waiting for rt lookup to add stub networks.
        !          19669: 
        !          19670: commit 2337ade7546254eb48a22a1e195cc7999e684d21
        !          19671: Author: Pavel Machek <pavel@ucw.cz>
        !          19672: Date:   Sun Apr 30 18:47:48 2000 +0000
        !          19673: 
        !          19674:     Moved documentation to top of file, where it belongs.
        !          19675: 
        !          19676: commit c6c56264361e102691fe42134ab585f631f83898
        !          19677: Author: Ondrej Filip <feela@network.cz>
        !          19678: Date:   Sun Apr 30 11:31:05 2000 +0000
        !          19679: 
        !          19680:     Sync with nest's rt table and some minor improvements.
        !          19681: 
        !          19682: commit e80e9d0da5d737b7f6e65358067f62a6ac85f4fe
        !          19683: Author: Ondrej Filip <feela@network.cz>
        !          19684: Date:   Sun Apr 30 09:32:41 2000 +0000
        !          19685: 
        !          19686:     RT calculation strongly simplified. Now, I don't need any
        !          19687:     memory allocation. :-)
        !          19688: 
        !          19689: commit 8c62d6e3b631d58f46d87c36826cb29f8dadeb15
        !          19690: Author: Pavel Machek <pavel@ucw.cz>
        !          19691: Date:   Sat Apr 29 17:48:38 2000 +0000
        !          19692: 
        !          19693:     Minor documentation update.
        !          19694: 
        !          19695: commit 468f2347fc0ea3e0eb6513ccd0433d0b48f2c739
        !          19696: Author: Ondrej Filip <feela@network.cz>
        !          19697: Date:   Sat Apr 29 15:57:14 2000 +0000
        !          19698: 
        !          19699:     Calculating of nexts hop(s) added.
        !          19700: 
        !          19701: commit 9c1a55deeeb5aa5cd2f18b109fabb50947c308ab
        !          19702: Author: Pavel Machek <pavel@ucw.cz>
        !          19703: Date:   Sat Apr 29 15:45:30 2000 +0000
        !          19704: 
        !          19705:     IpV6 now actually compiles.
        !          19706:     
        !          19707:     Mj, could you provide example of static config for ipv6 that is _not_
        !          19708:     rejected by checks? I tried this and got rejected.
        !          19709:     
        !          19710:        route 62:168::/32 via 62:169::;
        !          19711:        route 1:2::/32 via 1:3::;
        !          19712: 
        !          19713: commit 46cdc7e20faaf922431a157bcb0f82a45b7aa2d2
        !          19714: Author: Martin Mares <mj@ucw.cz>
        !          19715: Date:   Fri Apr 28 15:15:36 2000 +0000
        !          19716: 
        !          19717:     Updated TODO.
        !          19718: 
        !          19719: commit cea636640005c9ee9b628ce07a2d467c132941fe
        !          19720: Author: Martin Mares <mj@ucw.cz>
        !          19721: Date:   Fri Apr 28 15:13:29 2000 +0000
        !          19722: 
        !          19723:     The `bgp_origin' attribute is now an enum.
        !          19724: 
        !          19725: commit a412f01ea84709b9af0113acc5aa2ce3dad1d292
        !          19726: Author: Martin Mares <mj@ucw.cz>
        !          19727: Date:   Fri Apr 28 15:12:03 2000 +0000
        !          19728: 
        !          19729:     Include CF_HDR section in keywords.h as well, so that protocol symbols
        !          19730:     can be used in definition of ENUM's.
        !          19731: 
        !          19732: commit 2edb31b097018be00f29cb7647432c4c2c8b99ba
        !          19733: Author: Martin Mares <mj@ucw.cz>
        !          19734: Date:   Fri Apr 28 15:11:10 2000 +0000
        !          19735: 
        !          19736:     Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
        !          19737:     C declarations etc.).
        !          19738: 
        !          19739: commit decc99fbbdba3394a5c611e2914b4d74aa6742a9
        !          19740: Author: Pavel Machek <pavel@ucw.cz>
        !          19741: Date:   Fri Apr 28 10:15:57 2000 +0000
        !          19742: 
        !          19743:     Killed fixme: I already fixed it.
        !          19744: 
        !          19745: commit a769a180d77b88fbfc77cae3e895a320007f6e30
        !          19746: Author: Pavel Machek <pavel@ucw.cz>
        !          19747: Date:   Fri Apr 28 10:14:59 2000 +0000
        !          19748: 
        !          19749:     Provide rip_get_attr, how do I test it?
        !          19750: 
        !          19751: commit 6c0a7174af459d62a52e97d15da29528169a68f9
        !          19752: Author: Pavel Machek <pavel@ucw.cz>
        !          19753: Date:   Fri Apr 28 09:55:52 2000 +0000
        !          19754: 
        !          19755:     Add sample documentation to rip.
        !          19756: 
        !          19757: commit e83b42deb4405729d9f53448bdbcea05e7d15e8f
        !          19758: Author: Pavel Machek <pavel@ucw.cz>
        !          19759: Date:   Fri Apr 28 09:55:36 2000 +0000
        !          19760: 
        !          19761:     Include proto/rip/rip.c in documentation system.
        !          19762: 
        !          19763: commit ff95080f9272c4a0123ab05dff608a43cf3c15b7
        !          19764: Author: Pavel Machek <pavel@ucw.cz>
        !          19765: Date:   Fri Apr 28 09:48:28 2000 +0000
        !          19766: 
        !          19767:     Cleanup of dead code + example documentation for two functions.
        !          19768: 
        !          19769: commit 602b1445e3bfa24b1ce9cd1d148e4aa5cb742cf4
        !          19770: Author: Pavel Machek <pavel@ucw.cz>
        !          19771: Date:   Fri Apr 28 09:48:01 2000 +0000
        !          19772: 
        !          19773:     Documentation-generating tool taken from linux-2.3.99-pre6, and
        !          19774:     makefile to actually use it.
        !          19775: 
        !          19776: commit f94557dec5714f8415aa9e74615b5c821f45808f
        !          19777: Author: Martin Mares <mj@ucw.cz>
        !          19778: Date:   Thu Apr 27 22:40:19 2000 +0000
        !          19779: 
        !          19780:     Some more fixes for attributeless UPDATEs.
        !          19781: 
        !          19782: commit f75e3bbc01f2b711d1a2479eddd9ea35f8cfff47
        !          19783: Author: Martin Mares <mj@ucw.cz>
        !          19784: Date:   Thu Apr 27 22:35:08 2000 +0000
        !          19785: 
        !          19786:     Fixed a couple of nasty CLI bugs which were triggered on long or multi-part
        !          19787:     outputs. It took a whole evening to hunt them down, but now the CLI seems
        !          19788:     to work fine.
        !          19789:     
        !          19790:     Now I run three BGP connections with several thousand routes!
        !          19791: 
        !          19792: commit 54896cbdba42a2ccd83c7f23c8ba14bed37a8b73
        !          19793: Author: Martin Mares <mj@ucw.cz>
        !          19794: Date:   Thu Apr 27 22:31:11 2000 +0000
        !          19795: 
        !          19796:     Path attribute can be missing if we process a packet with empty NLRI section.
        !          19797: 
        !          19798: commit 8f6accb5bb26d534576e086894c107387f67906a
        !          19799: Author: Martin Mares <mj@ucw.cz>
        !          19800: Date:   Thu Apr 27 22:28:49 2000 +0000
        !          19801: 
        !          19802:     Event handlers no longer return re-queue flag. Instead of using it, just
        !          19803:     call ev_schedule() on the same handler which should work perfectly now.
        !          19804: 
        !          19805: commit 987de54578ce4053d737c64ea924a32f46a441a7
        !          19806: Author: Martin Mares <mj@ucw.cz>
        !          19807: Date:   Thu Apr 27 19:44:27 2000 +0000
        !          19808: 
        !          19809:     Fixed stupid bug in as_path_format().
        !          19810: 
        !          19811: commit 9165888ad24bdefed6a705219c767558d5091cec
        !          19812: Author: Martin Mares <mj@ucw.cz>
        !          19813: Date:   Thu Apr 27 19:41:10 2000 +0000
        !          19814: 
        !          19815:     Handle connect errors correctly.
        !          19816: 
        !          19817: commit 2add26dfa9c1da1e7fd6248de593c60cf0eba9ca
        !          19818: Author: Ondrej Filip <feela@network.cz>
        !          19819: Date:   Wed Apr 26 20:16:36 2000 +0000
        !          19820: 
        !          19821:     Stub networks done.
        !          19822: 
        !          19823: commit 5904a51266d82482392bad5d6d17a3be54c65596
        !          19824: Author: Ondrej Filip <feela@network.cz>
        !          19825: Date:   Wed Apr 26 14:03:56 2000 +0000
        !          19826: 
        !          19827:     Nets are used before routers.
        !          19828: 
        !          19829: commit 5db9bae28676d743f53636d74997c85039d09278
        !          19830: Author: Martin Mares <mj@ucw.cz>
        !          19831: Date:   Wed Apr 26 13:26:31 2000 +0000
        !          19832: 
        !          19833:     IBGP fixes.
        !          19834: 
        !          19835: commit e1ddd9937759bc22b7241e48400d17840a101d9d
        !          19836: Author: Martin Mares <mj@ucw.cz>
        !          19837: Date:   Wed Apr 26 13:26:11 2000 +0000
        !          19838: 
        !          19839:     Changed handling of incoming connections, so that we can send data
        !          19840:     from the send hook without worrying about existence of socket buffers.
        !          19841:     
        !          19842:     Also, don't forget to copy peer addresses.
        !          19843: 
        !          19844: commit dfa9a53a66e5747ddbeedfa0a47fa2ca9fc93b99
        !          19845: Author: Ondrej Filip <feela@network.cz>
        !          19846: Date:   Wed Apr 26 12:54:23 2000 +0000
        !          19847: 
        !          19848:     Routing table calculation. Dijkstra done.
        !          19849: 
        !          19850: commit 0cadd5f531a82578ea6323f730cf8204b755895f
        !          19851: Author: Martin Mares <mj@ucw.cz>
        !          19852: Date:   Wed Apr 26 12:33:37 2000 +0000
        !          19853: 
        !          19854:     Removed several FIXME's.
        !          19855: 
        !          19856: commit dbf3939a53192c093f9f367edb15bf613126e347
        !          19857: Author: Martin Mares <mj@ucw.cz>
        !          19858: Date:   Wed Apr 26 12:32:07 2000 +0000
        !          19859: 
        !          19860:     Better formatting of router ID's.
        !          19861: 
        !          19862: commit ebd3720f8335cecd671382c23fe61f03b7e2acaa
        !          19863: Author: Martin Mares <mj@ucw.cz>
        !          19864: Date:   Wed Apr 26 12:30:41 2000 +0000
        !          19865: 
        !          19866:     Fixed several bugs in protocol state machine.  Reconfigurations and
        !          19867:     restarts of BGP seem to work now.
        !          19868: 
        !          19869: commit c010f4cb3771536fc62e534549e22c725285bbd2
        !          19870: Author: Pavel Machek <pavel@ucw.cz>
        !          19871: Date:   Wed Apr 26 11:33:03 2000 +0000
        !          19872: 
        !          19873:     Use right address for ripv6.
        !          19874: 
        !          19875: commit 7f704c06d86c58985e964e05df57d14b92e0cd05
        !          19876: Author: Pavel Machek <pavel@ucw.cz>
        !          19877: Date:   Wed Apr 26 11:07:57 2000 +0000
        !          19878: 
        !          19879:     Cleanup in preparation for ipv6.
        !          19880: 
        !          19881: commit b0c9c21c2926921843bbbade72e65831280906a8
        !          19882: Author: Pavel Machek <pavel@ucw.cz>
        !          19883: Date:   Wed Apr 26 09:38:07 2000 +0000
        !          19884: 
        !          19885:     Small cleanup.
        !          19886: 
        !          19887: commit 98347659463cb68cbd751148e19c62cfb109a32b
        !          19888: Author: Pavel Machek <pavel@ucw.cz>
        !          19889: Date:   Wed Apr 26 09:37:07 2000 +0000
        !          19890: 
        !          19891:     Whitespace changes.
        !          19892: 
        !          19893: commit 2e5a8735f4be2c2514ae3a67960ea4ac3f06e364
        !          19894: Author: Pavel Machek <pavel@ucw.cz>
        !          19895: Date:   Wed Apr 26 09:36:47 2000 +0000
        !          19896: 
        !          19897:     filter_same should now work with path masks.
        !          19898: 
        !          19899: commit f71bded6e97a3eeb4dc58458d042cbe1af631380
        !          19900: Author: Pavel Machek <pavel@ucw.cz>
        !          19901: Date:   Wed Apr 26 09:30:12 2000 +0000
        !          19902: 
        !          19903:     Bugfix in i_same (comparing of paths still does not work).
        !          19904: 
        !          19905: commit 7a86a8b08db03f002a672d1e8a6481ad52114d1e
        !          19906: Author: Pavel Machek <pavel@ucw.cz>
        !          19907: Date:   Wed Apr 26 08:03:50 2000 +0000
        !          19908: 
        !          19909:     Added code for testing filters.
        !          19910: 
        !          19911: commit 471bd6c30bb0d172699ea7af8f8b9356c8fe48b3
        !          19912: Author: Pavel Machek <pavel@ucw.cz>
        !          19913: Date:   Wed Apr 26 07:47:47 2000 +0000
        !          19914: 
        !          19915:     Marked place where new enums belong.
        !          19916: 
        !          19917: commit 94d9dfa47a14609e7057f26614b4094dddc8439d
        !          19918: Author: Pavel Machek <pavel@ucw.cz>
        !          19919: Date:   Wed Apr 26 07:31:45 2000 +0000
        !          19920: 
        !          19921:     Startup renamed to __startup: it is internal function and mj already
        !          19922:     uses word startup in other context.
        !          19923: 
        !          19924: commit 6fd766c17eedf4897e2dff712f0e06bb84dd3d8a
        !          19925: Author: Martin Mares <mj@ucw.cz>
        !          19926: Date:   Tue Apr 25 23:08:31 2000 +0000
        !          19927: 
        !          19928:     Implemented automatic restart after error with all the timers needed.
        !          19929: 
        !          19930: commit 8573314326a36cc8c9aa1755e7ad6c51617015c8
        !          19931: Author: Martin Mares <mj@ucw.cz>
        !          19932: Date:   Tue Apr 25 23:08:03 2000 +0000
        !          19933: 
        !          19934:     Avoid printing of error messages on Cease notifications.
        !          19935: 
        !          19936: commit 00c0c18aea40dd39efc275e24ad9d5e12a873a32
        !          19937: Author: Martin Mares <mj@ucw.cz>
        !          19938: Date:   Tue Apr 25 23:07:47 2000 +0000
        !          19939: 
        !          19940:     Allow sk_close(NULL).
        !          19941: 
        !          19942: commit b3155b3399d84bb2dae8441171aa73236d790048
        !          19943: Author: Martin Mares <mj@ucw.cz>
        !          19944: Date:   Tue Apr 25 22:01:19 2000 +0000
        !          19945: 
        !          19946:     Randomize timers properly.
        !          19947: 
        !          19948: commit 42532f084640645cfde9af7c0aa69a36b1de91ad
        !          19949: Author: Martin Mares <mj@ucw.cz>
        !          19950: Date:   Tue Apr 25 21:58:17 2000 +0000
        !          19951: 
        !          19952:     Support dynamic reconfiguration.
        !          19953: 
        !          19954: commit 41b26cfb552a4a441490779344326ff85819252b
        !          19955: Author: Martin Mares <mj@ucw.cz>
        !          19956: Date:   Tue Apr 25 21:56:46 2000 +0000
        !          19957: 
        !          19958:     Don't forget to set filter pointers in struct proto when reconfiguring.
        !          19959: 
        !          19960: commit 99f70c78e11f99f73a142ffcb8b65bd142c0a36c
        !          19961: Author: Martin Mares <mj@ucw.cz>
        !          19962: Date:   Tue Apr 25 21:31:15 2000 +0000
        !          19963: 
        !          19964:     Use the same attribute names as in filters.
        !          19965: 
        !          19966: commit 684c25d98fbfd7cc9275f401d8d451135615af8d
        !          19967: Author: Martin Mares <mj@ucw.cz>
        !          19968: Date:   Tue Apr 25 21:21:52 2000 +0000
        !          19969: 
        !          19970:     When sending BGP attributes, re-create the flags, so that attributes
        !          19971:     added by filters which get the flags wrong are fixed automagically.
        !          19972: 
        !          19973: commit efcece2da3054d9a0e5b5d2233549b3323428023
        !          19974: Author: Martin Mares <mj@ucw.cz>
        !          19975: Date:   Tue Apr 25 21:13:25 2000 +0000
        !          19976: 
        !          19977:     Better reporting of both local and remote errors.
        !          19978: 
        !          19979: commit a47a01083b6ff9196f39136d68ed32ac70b31d15
        !          19980: Author: Martin Mares <mj@ucw.cz>
        !          19981: Date:   Tue Apr 25 13:32:17 2000 +0000
        !          19982: 
        !          19983:     Real parsing of BGP OPEN options including capability
        !          19984:     negotiation.
        !          19985: 
        !          19986: commit 8b258e4e659cd8bacf0f7e3997d30b43561ac3e6
        !          19987: Author: Martin Mares <mj@ucw.cz>
        !          19988: Date:   Fri Apr 21 13:01:28 2000 +0000
        !          19989: 
        !          19990:     LOCAL_PREF is now always present and exported over all ibgp connections [draft]
        !          19991:     
        !          19992:     Allow setting of address of the local end of the TCP connection.
        !          19993:     
        !          19994:     Several bug fixes.
        !          19995: 
        !          19996: commit 2a9e064d7b41ae6e944dd9fbcb18b89e8fda0dba
        !          19997: Author: Martin Mares <mj@ucw.cz>
        !          19998: Date:   Fri Apr 21 12:25:35 2000 +0000
        !          19999: 
        !          20000:     If no NLRI's are present in an UPDATE message, parse the attributes, but
        !          20001:     don't check presence of mandatory attributes. [draft-09]
        !          20002: 
        !          20003: commit f380aa60faa41872b78155f899518b25933d18b9
        !          20004: Author: Martin Mares <mj@ucw.cz>
        !          20005: Date:   Thu Apr 20 23:05:41 2000 +0000
        !          20006: 
        !          20007:     IPv6 compiles with glibc 2.1.
        !          20008: 
        !          20009: commit f33c6c66020da3b10b27fba5585d20702b173c6f
        !          20010: Author: Martin Mares <mj@ucw.cz>
        !          20011: Date:   Thu Apr 20 22:55:32 2000 +0000
        !          20012: 
        !          20013:     Use xmalloc() instead of malloc().
        !          20014: 
        !          20015: commit 7787ace61ae41060e599ce52e8f0017750d350da
        !          20016: Author: Martin Mares <mj@ucw.cz>
        !          20017: Date:   Thu Apr 20 22:54:22 2000 +0000
        !          20018: 
        !          20019:     Synced to draft-ietf-idr-bgp4-09.
        !          20020: 
        !          20021: commit 9bc6ab404190db53c9c9dbc183f6fc6fa3e704fb
        !          20022: Author: Martin Mares <mj@ucw.cz>
        !          20023: Date:   Thu Apr 20 22:34:50 2000 +0000
        !          20024: 
        !          20025:     Fixed reporting of unknown options.
        !          20026: 
        !          20027: commit 7d6eebae3b87cac2d09fd5201b603d4fd969fe06
        !          20028: Author: Pavel Machek <pavel@ucw.cz>
        !          20029: Date:   Thu Apr 20 10:25:51 2000 +0000
        !          20030: 
        !          20031:     Create syntax sugar for add/delete/prepend, so xyzzy.prepend(123) is
        !          20032:     possible. That means that milestone 3 was reached.
        !          20033: 
        !          20034: commit 77f37ae0994774f6402499e0a79287d85afa6edf
        !          20035: Author: Pavel Machek <pavel@ucw.cz>
        !          20036: Date:   Thu Apr 20 10:24:41 2000 +0000
        !          20037: 
        !          20038:     Test new syntax of add() and delete().
        !          20039: 
        !          20040: commit 5f532adde20300ecab63d3e521fb0dfbfb33df2b
        !          20041: Author: Martin Mares <mj@ucw.cz>
        !          20042: Date:   Wed Apr 19 13:54:35 2000 +0000
        !          20043: 
        !          20044:     Temporarily ignore unknown options.
        !          20045: 
        !          20046: commit f381cdce5225c0652bf9182ac40a1a54436c9692
        !          20047: Author: Martin Mares <mj@ucw.cz>
        !          20048: Date:   Wed Apr 19 13:54:17 2000 +0000
        !          20049: 
        !          20050:     The ATOMIC_AGGREGATE parameter is optional transitive.
        !          20051: 
        !          20052: commit e0d6a7bda446d96dc3d56f65afed1872f20407cb
        !          20053: Author: Martin Mares <mj@ucw.cz>
        !          20054: Date:   Wed Apr 19 13:28:56 2000 +0000
        !          20055: 
        !          20056:     Delay fetching of router ID.
        !          20057: 
        !          20058: commit 035044b1d946c50efd4b59a8869198a0300c8151
        !          20059: Author: Martin Mares <mj@ucw.cz>
        !          20060: Date:   Wed Apr 19 12:51:14 2000 +0000
        !          20061: 
        !          20062:     Select the right source address and don't check port numbers.
        !          20063: 
        !          20064: commit 85c92555efcd67d2671a8aef1bf7c3f4acc2b21d
        !          20065: Author: Ondrej Filip <feela@network.cz>
        !          20066: Date:   Tue Apr 18 22:11:05 2000 +0000
        !          20067: 
        !          20068:     Grr, another patch to make it compile.
        !          20069: 
        !          20070: commit 740d16d972d8e2accdb7a2f92048de302c9e966c
        !          20071: Author: Ondrej Filip <feela@network.cz>
        !          20072: Date:   Tue Apr 18 22:07:58 2000 +0000
        !          20073: 
        !          20074:     Another ack bugfix. (Bad test for MIN_LS_ARRIVAL.)
        !          20075: 
        !          20076: commit 84228eee273e2a689f4479d9a91f6b0a32c19b44
        !          20077: Author: Ondrej Filip <feela@network.cz>
        !          20078: Date:   Tue Apr 18 21:40:11 2000 +0000
        !          20079: 
        !          20080:     LS ack bugfix. (I didn't remove LSA from LSret hash.)
        !          20081: 
        !          20082: commit 19fc4c763e745d56c8d80d04d6813766c1cfa04a
        !          20083: Author: Ondrej Filip <feela@network.cz>
        !          20084: Date:   Tue Apr 18 21:13:56 2000 +0000
        !          20085: 
        !          20086:     LS ack.
        !          20087: 
        !          20088: commit 26116eac93b51c503f5448d9f583847a51bef68d
        !          20089: Author: Ondrej Filip <feela@network.cz>
        !          20090: Date:   Tue Apr 18 20:34:19 2000 +0000
        !          20091: 
        !          20092:     Better LS Ack dumping.
        !          20093: 
        !          20094: commit 48f5a61f694faceb7cdc41e291f0da9411000c45
        !          20095: Author: Ondrej Filip <feela@network.cz>
        !          20096: Date:   Tue Apr 18 19:56:43 2000 +0000
        !          20097: 
        !          20098:     Bugfix in neighbor dumping.
        !          20099: 
        !          20100: commit 9eada7ca03c6c4111e759b0910a1a654a7f3216e
        !          20101: Author: Ondrej Filip <feela@network.cz>
        !          20102: Date:   Tue Apr 18 19:44:16 2000 +0000
        !          20103: 
        !          20104:     Fixed the serious bug in LSack.
        !          20105:     Oh, I'm an idiot. I sent LSACK, but in header was LSUPD. :-(
        !          20106: 
        !          20107: commit 9eea604769662479891020b5a0fb282faa6dc36f
        !          20108: Author: Ondrej Filip <feela@network.cz>
        !          20109: Date:   Tue Apr 18 19:31:42 2000 +0000
        !          20110: 
        !          20111:     Multicast open socket for (B)DR bugfix.
        !          20112: 
        !          20113: commit 79f036ef6e9b2204528a41079c59a3a9ae9d50f5
        !          20114: Author: Ondrej Filip <feela@network.cz>
        !          20115: Date:   Tue Apr 18 19:22:49 2000 +0000
        !          20116: 
        !          20117:     Dump changes.
        !          20118: 
        !          20119: commit 4472402551a1cc8d760a4e980fdcd7a417e0796a
        !          20120: Author: Ondrej Filip <feela@network.cz>
        !          20121: Date:   Tue Apr 18 18:29:50 2000 +0000
        !          20122: 
        !          20123:     Many %u changer into %I.
        !          20124: 
        !          20125: commit 89929e9daad0df36a289e7ae7d70dbc648c3b6b3
        !          20126: Author: Ondrej Filip <feela@network.cz>
        !          20127: Date:   Tue Apr 18 18:21:10 2000 +0000
        !          20128: 
        !          20129:     Many %u changed into %I and dump cleanup.
        !          20130: 
        !          20131: commit 1508ee8b537aceba98d3af619ba0cded4d2fce9d
        !          20132: Author: Ondrej Filip <feela@network.cz>
        !          20133: Date:   Tue Apr 18 18:01:26 2000 +0000
        !          20134: 
        !          20135:     Iface chstate run only if something really change.
        !          20136: 
        !          20137: commit dd100e40c60811324b450ef7c078f0e992b2ded6
        !          20138: Author: Ondrej Filip <feela@network.cz>
        !          20139: Date:   Tue Apr 18 17:58:16 2000 +0000
        !          20140: 
        !          20141:     Better dumping in neighbor chstate.
        !          20142: 
        !          20143: commit 8914e37dc028c89488d07556a511d8b49d38856f
        !          20144: Author: Ondrej Filip <feela@network.cz>
        !          20145: Date:   Tue Apr 18 17:54:06 2000 +0000
        !          20146: 
        !          20147:     Better chstate dumping.
        !          20148: 
        !          20149: commit 284c43ff66e8b5879945d2c4e1a285354bd38ddf
        !          20150: Author: Ondrej Filip <feela@network.cz>
        !          20151: Date:   Tue Apr 18 17:36:46 2000 +0000
        !          20152: 
        !          20153:     Sending of ACK disabled, since I'll find bug.
        !          20154: 
        !          20155: commit 023f5e86eba76a79dd90d5a4546ae8b200ccf023
        !          20156: Author: Ondrej Filip <feela@network.cz>
        !          20157: Date:   Tue Apr 18 17:00:56 2000 +0000
        !          20158: 
        !          20159:     Another LSack update. It's still NOT correct and it surely
        !          20160:     kills gated or Cyclades OSPF implementation. :-)
        !          20161: 
        !          20162: commit 67315ef64e3655c65cfab032d637fe29d3cf91b2
        !          20163: Author: Ondrej Filip <feela@network.cz>
        !          20164: Date:   Tue Apr 18 01:06:16 2000 +0000
        !          20165: 
        !          20166:     Some lsack work. There is something very worng. :-( It locked my network.
        !          20167: 
        !          20168: commit 2a0925948de20bd391d2c27a08ffdf2b4350e5c3
        !          20169: Author: Ondrej Filip <feela@network.cz>
        !          20170: Date:   Mon Apr 17 21:10:40 2000 +0000
        !          20171: 
        !          20172:     Listening on AllDRouters for DR and BACKUP added.
        !          20173: 
        !          20174: commit 38130b863ffcab6b45484e4e5f1eca1dd933bb1a
        !          20175: Author: Ondrej Filip <feela@network.cz>
        !          20176: Date:   Mon Apr 17 20:42:42 2000 +0000
        !          20177: 
        !          20178:     Small change in LSA originating.
        !          20179: 
        !          20180: commit 52276996063bc4a0fbcb642f5075df1cde7ce684
        !          20181: Author: Pavel Machek <pavel@ucw.cz>
        !          20182: Date:   Mon Apr 17 16:51:28 2000 +0000
        !          20183: 
        !          20184:     Few bugs removed from sgml, makefile added.
        !          20185: 
        !          20186: commit f9b8bcca4eb1fdd8067a66a845b585af61335e3c
        !          20187: Author: Pavel Machek <pavel@ucw.cz>
        !          20188: Date:   Mon Apr 17 16:49:05 2000 +0000
        !          20189: 
        !          20190:     Bird.html will now be autogenerated.
        !          20191: 
        !          20192: commit d37f899ba4e88b56a824fd44e7d81455c099bcba
        !          20193: Author: Pavel Machek <pavel@ucw.cz>
        !          20194: Date:   Mon Apr 17 16:48:22 2000 +0000
        !          20195: 
        !          20196:     First version of sgml documentation
        !          20197: 
        !          20198: commit 0150e5211adabcbde55a76506f0f1a5901214b52
        !          20199: Author: Pavel Machek <pavel@ucw.cz>
        !          20200: Date:   Mon Apr 17 14:12:02 2000 +0000
        !          20201: 
        !          20202:     Cleaned up mess with types in e,a and e,S. Dynamic attributes should
        !          20203:     now work.
        !          20204: 
        !          20205: commit 74a7da482b1a537aaa97b4b5d6f6815887150f26
        !          20206: Author: Martin Mares <mj@ucw.cz>
        !          20207: Date:   Mon Apr 17 13:41:50 2000 +0000
        !          20208: 
        !          20209:     Adding of dynamic attributes is hopefully correct now.
        !          20210: 
        !          20211: commit 8f10985e1ef77c7d44c8912cf92f99e5c4502cbd
        !          20212: Author: Martin Mares <mj@ucw.cz>
        !          20213: Date:   Mon Apr 17 13:14:48 2000 +0000
        !          20214: 
        !          20215:     Added BGP to the default list of protocols we build.
        !          20216: 
        !          20217: commit bd2d8190dd79645174beeef1a306c8df53db3b60
        !          20218: Author: Martin Mares <mj@ucw.cz>
        !          20219: Date:   Mon Apr 17 13:13:08 2000 +0000
        !          20220: 
        !          20221:     Honor standard communities (no_export, no_advertise, no_export_subconfed)
        !          20222:     when exporting routes.
        !          20223: 
        !          20224: commit 56a2bed46bf7713cd773b0fd0c097bcfc6345cc1
        !          20225: Author: Martin Mares <mj@ucw.cz>
        !          20226: Date:   Mon Apr 17 12:46:07 2000 +0000
        !          20227: 
        !          20228:     Don't import/export MED and LOCAL_PREF on external links.
        !          20229:     Added real comparison of BGP routes (inspired by the Cisco one).
        !          20230:     Default local preference and default MED are now settable.
        !          20231:     Defined filter keywords for all BGP attributes we know.
        !          20232: 
        !          20233: commit 3bbc4ad6ad63d55b1d7845b53865963db79c2e16
        !          20234: Author: Pavel Machek <pavel@ucw.cz>
        !          20235: Date:   Mon Apr 17 12:40:38 2000 +0000
        !          20236: 
        !          20237:     Special hack for atomic_aggr.
        !          20238: 
        !          20239: commit 708711c37306d6bc3a83935a4d4065814d9c4215
        !          20240: Author: Pavel Machek <pavel@ucw.cz>
        !          20241: Date:   Mon Apr 17 12:38:24 2000 +0000
        !          20242: 
        !          20243:     Community lists can be now accessed as dynamical attributes. Mj:
        !          20244:     please create such dynamic atribute for bgp.
        !          20245: 
        !          20246: commit 913ce95b083b2d61e498c63fce3e8f2d5b974cfb
        !          20247: Author: Pavel Machek <pavel@ucw.cz>
        !          20248: Date:   Mon Apr 17 11:52:32 2000 +0000
        !          20249: 
        !          20250:     EAF_ORIGINATED done right.
        !          20251: 
        !          20252: commit 700bbe60fb941534937ad11ca71968224889fa87
        !          20253: Author: Martin Mares <mj@ucw.cz>
        !          20254: Date:   Mon Apr 17 11:49:41 2000 +0000
        !          20255: 
        !          20256:     The previous fix for spacing was (a) totally out of context, (b) wrong.
        !          20257:     Please *read* the code when trying to change it.
        !          20258:     
        !          20259:     Also killed a couple of type clashes.
        !          20260: 
        !          20261: commit 2bd2de0188f6a0c1c9482cfc15e35c2b1b81c81a
        !          20262: Author: Pavel Machek <pavel@ucw.cz>
        !          20263: Date:   Mon Apr 17 11:49:21 2000 +0000
        !          20264: 
        !          20265:     pair ~ community list matching works.
        !          20266: 
        !          20267: commit 5a2455886db55ae2d1eb8934c7686b4f6586f83c
        !          20268: Author: Pavel Machek <pavel@ucw.cz>
        !          20269: Date:   Mon Apr 17 11:42:34 2000 +0000
        !          20270: 
        !          20271:     Put space between entries so they are separated.
        !          20272:     
        !          20273:     FIXME: should use format as in filters.
        !          20274: 
        !          20275: commit 4444ed2b26ae07dabbcc3e511798e2d7df3a2846
        !          20276: Author: Pavel Machek <pavel@ucw.cz>
        !          20277: Date:   Mon Apr 17 11:42:08 2000 +0000
        !          20278: 
        !          20279:     It is good idea to separate entries in list _somehow_. Adding/deleting
        !          20280:     to community lists from filters now works.
        !          20281: 
        !          20282: commit 991c36b509ad5bb96b4a28d0ec53813628e393a4
        !          20283: Author: Pavel Machek <pavel@ucw.cz>
        !          20284: Date:   Mon Apr 17 11:37:05 2000 +0000
        !          20285: 
        !          20286:     Use EAF_ORIGINATED as mj wanted. mj: check this!
        !          20287: 
        !          20288: commit 9c400ec9dd0ee74f1f350ead87dcd7366dbab7b1
        !          20289: Author: Pavel Machek <pavel@ucw.cz>
        !          20290: Date:   Mon Apr 17 11:34:38 2000 +0000
        !          20291: 
        !          20292:     Int sets moved to core. It is now possible to have variable of type clist.
        !          20293: 
        !          20294: commit e3558ab14ee60c8c9792bc3ed54d9f0c3eaa8ea8
        !          20295: Author: Martin Mares <mj@ucw.cz>
        !          20296: Date:   Mon Apr 17 11:25:15 2000 +0000
        !          20297: 
        !          20298:     Normalize community sets when exporting.
        !          20299:     
        !          20300:     Set PARTIAL bits correctly.
        !          20301: 
        !          20302: commit 51a183af78a330cca46f12dcbff79bb045c4c854
        !          20303: Author: Martin Mares <mj@ucw.cz>
        !          20304: Date:   Mon Apr 17 11:23:05 2000 +0000
        !          20305: 
        !          20306:     Define EAF_ORIGINATED and propagate it properly when merging attribute lists.
        !          20307: 
        !          20308: commit 4b03f64b341db7b73eedc00bc5321fedf349a236
        !          20309: Author: Martin Mares <mj@ucw.cz>
        !          20310: Date:   Mon Apr 17 11:22:24 2000 +0000
        !          20311: 
        !          20312:     Aesthetical tweaks (asterisk spells `asterisk' etc.)
        !          20313: 
        !          20314: commit 159fa4cea9fb8f36db8335755248e0fac81fb050
        !          20315: Author: Pavel Machek <pavel@ucw.cz>
        !          20316: Date:   Mon Apr 17 11:20:00 2000 +0000
        !          20317: 
        !          20318:     Finish moving of path matching. Use int_set_print from core for
        !          20319:     printing community lists.
        !          20320: 
        !          20321: commit 2a40efa5e6252eb5a5dbe5e82dcd9c67ad7838a9
        !          20322: Author: Pavel Machek <pavel@ucw.cz>
        !          20323: Date:   Mon Apr 17 11:11:33 2000 +0000
        !          20324: 
        !          20325:     as_path_match moved to a-path.c
        !          20326: 
        !          20327: commit 684c6f5a0e134426159be7dbd514271aea9f4d3d
        !          20328: Author: Pavel Machek <pavel@ucw.cz>
        !          20329: Date:   Mon Apr 17 11:06:39 2000 +0000
        !          20330: 
        !          20331:     Path_getlen moved to nest and length was made callable from filters.
        !          20332: 
        !          20333: commit ecd25633bdc3e491a0eca44c63c158eeff388f13
        !          20334: Author: Pavel Machek <pavel@ucw.cz>
        !          20335: Date:   Mon Apr 17 10:54:01 2000 +0000
        !          20336: 
        !          20337:     Use printing routine from nest/ instead of our own.
        !          20338: 
        !          20339: commit 4b641bab521c4fbabf931c3eac7704e8e2cab298
        !          20340: Author: Pavel Machek <pavel@ucw.cz>
        !          20341: Date:   Mon Apr 17 10:50:03 2000 +0000
        !          20342: 
        !          20343:     Path matching now actually works, including / * 1 2 3 * /.
        !          20344: 
        !          20345: commit e399b6f6ad91e6f94081dfe694740451100c7a7f
        !          20346: Author: Pavel Machek <pavel@ucw.cz>
        !          20347: Date:   Mon Apr 17 10:42:28 2000 +0000
        !          20348: 
        !          20349:     Path and path matching seem to work, now.
        !          20350: 
        !          20351: commit 1ed2fe960929081065e75a7fb4322f28a76c508b
        !          20352: Author: Martin Mares <mj@ucw.cz>
        !          20353: Date:   Mon Apr 17 10:19:15 2000 +0000
        !          20354: 
        !          20355:     Send and receive communities.
        !          20356: 
        !          20357: commit c6add07fa6ca8366fbdcfcd9bc2872c129378366
        !          20358: Author: Martin Mares <mj@ucw.cz>
        !          20359: Date:   Mon Apr 17 10:18:55 2000 +0000
        !          20360: 
        !          20361:     Printing of AS paths and community sets.
        !          20362: 
        !          20363: commit afc54517db6946e9cfb62bbdc855954316152c62
        !          20364: Author: Pavel Machek <pavel@ucw.cz>
        !          20365: Date:   Mon Apr 17 10:16:47 2000 +0000
        !          20366: 
        !          20367:     Prepend and creation of empty path should work, but it has strange
        !          20368:     syntax for now.
        !          20369: 
        !          20370: commit f421cfdd80cfce7d1ec4759c603e47071eb028f8
        !          20371: Author: Martin Mares <mj@ucw.cz>
        !          20372: Date:   Mon Apr 17 09:37:31 2000 +0000
        !          20373: 
        !          20374:     Sending of update messages works!
        !          20375: 
        !          20376: commit c0668f36967ce651e452a476b786b7604038a556
        !          20377: Author: Martin Mares <mj@ucw.cz>
        !          20378: Date:   Mon Apr 17 07:53:29 2000 +0000
        !          20379: 
        !          20380:     Created nest/a-path.c and a-set.c which should contain general operations
        !          20381:     on AS paths and community sets.
        !          20382:     
        !          20383:     Moved as_path_prepend() there.
        !          20384:     
        !          20385:     Pavel, please move the other functions as well.
        !          20386: 
        !          20387: commit ebff007f08965d83dba5840ee02171d09ac2598d
        !          20388: Author: Ondrej Filip <feela@network.cz>
        !          20389: Date:   Wed Apr 12 15:37:52 2000 +0000
        !          20390: 
        !          20391:     LSack receiving bugfix.
        !          20392: 
        !          20393: commit 4bf41ac8b1d7edb4754c579b714d1c71dc421b4e
        !          20394: Author: Ondrej Filip <feela@network.cz>
        !          20395: Date:   Wed Apr 12 15:20:13 2000 +0000
        !          20396: 
        !          20397:     LS Ack receiving done.
        !          20398: 
        !          20399: commit 58313b24c8e31f02f242b7d090b54aab8295ce04
        !          20400: Author: Ondrej Filip <feela@network.cz>
        !          20401: Date:   Wed Apr 12 14:49:20 2000 +0000
        !          20402: 
        !          20403:     Stupid "+1"-bug fixed.
        !          20404: 
        !          20405: commit c8f685cb9d88e447d6057f92bcbb1e0df441ca35
        !          20406: Author: Martin Mares <mj@ucw.cz>
        !          20407: Date:   Wed Apr 12 14:14:47 2000 +0000
        !          20408: 
        !          20409:     Made last Pavel's changes compile.
        !          20410: 
        !          20411: commit 0a40e97328180576577da26a5ce8933f616d84f1
        !          20412: Author: Pavel Machek <pavel@ucw.cz>
        !          20413: Date:   Wed Apr 12 14:12:37 2000 +0000
        !          20414: 
        !          20415:     as_path_prepend is usable outside bgp.
        !          20416: 
        !          20417: commit c2b28c99103a643dd29ad48152999d6dac7722fe
        !          20418: Author: Martin Mares <mj@ucw.cz>
        !          20419: Date:   Wed Apr 12 14:09:26 2000 +0000
        !          20420: 
        !          20421:     Real bucket lists.
        !          20422: 
        !          20423: commit a2d157463accf02e2db9fd3dd174b7e46dae8938
        !          20424: Author: Pavel Machek <pavel@ucw.cz>
        !          20425: Date:   Wed Apr 12 14:05:37 2000 +0000
        !          20426: 
        !          20427:     One less shift/reduce conflict.
        !          20428: 
        !          20429: commit ac7a2145ccd5cfc54788b0218cc253e3b1721b76
        !          20430: Author: Pavel Machek <pavel@ucw.cz>
        !          20431: Date:   Wed Apr 12 14:02:04 2000 +0000
        !          20432: 
        !          20433:     f_new_dynamic_attr gets third argument, type as filters know it.
        !          20434: 
        !          20435: commit 12d5677aa3e6217edc7d5508ac3dbbf87edc8624
        !          20436: Author: Martin Mares <mj@ucw.cz>
        !          20437: Date:   Wed Apr 12 13:56:04 2000 +0000
        !          20438: 
        !          20439:     Define BGP_PATH.
        !          20440: 
        !          20441: commit 2803c9ddbeca3ece264e618b3a63669e25f4dd85
        !          20442: Author: Martin Mares <mj@ucw.cz>
        !          20443: Date:   Wed Apr 12 13:55:53 2000 +0000
        !          20444: 
        !          20445:     Minor updates by Pavel.
        !          20446: 
        !          20447: commit 66d573d4903801c45011de36b6b593f1cde9ea73
        !          20448: Author: Martin Mares <mj@ucw.cz>
        !          20449: Date:   Wed Apr 12 13:55:30 2000 +0000
        !          20450: 
        !          20451:     Attribute type hack.
        !          20452: 
        !          20453: commit 10a53608860724c47596948f2fd426d4eca8224d
        !          20454: Author: Pavel Machek <pavel@ucw.cz>
        !          20455: Date:   Wed Apr 12 13:31:39 2000 +0000
        !          20456: 
        !          20457:     Filters now know type path. It is possible to declare variable of type
        !          20458:     path, but it is not possible to write constant of type path.
        !          20459:     
        !          20460:     It should be possible to print paths and match them.
        !          20461: 
        !          20462: commit 775063494694d247b340bb1145e509e31af27802
        !          20463: Author: Martin Mares <mj@ucw.cz>
        !          20464: Date:   Wed Apr 12 13:21:23 2000 +0000
        !          20465: 
        !          20466:     Introduced `ARRAY_SIZE' macro to replace all the sizeof(a)/sizeof(*a) constructs.
        !          20467: 
        !          20468: commit dcab78904794156483878b4b8cd924e30a71bcdd
        !          20469: Author: Pavel Machek <pavel@ucw.cz>
        !          20470: Date:   Wed Apr 12 13:07:53 2000 +0000
        !          20471: 
        !          20472:     Renamed f_path to f_path_mask -- which is what it really is. Use
        !          20473:     linklist instead of array of signed integers for path mask.
        !          20474: 
        !          20475: commit c3edb89ec141355de58fbade353d4b2182c62c1e
        !          20476: Author: Pavel Machek <pavel@ucw.cz>
        !          20477: Date:   Wed Apr 12 12:49:53 2000 +0000
        !          20478: 
        !          20479:     Path masks are needed for filters.
        !          20480: 
        !          20481: commit 77de68825caae7a9cb1275b0020e49fa9cb27e29
        !          20482: Author: Pavel Machek <pavel@ucw.cz>
        !          20483: Date:   Wed Apr 12 12:10:37 2000 +0000
        !          20484: 
        !          20485:     BGP_PATH masks now actually work as data type.
        !          20486: 
        !          20487: commit 78c6217c1e9f8a46026cecf6a6369b72d5d883b0
        !          20488: Author: Pavel Machek <pavel@ucw.cz>
        !          20489: Date:   Wed Apr 12 10:34:45 2000 +0000
        !          20490: 
        !          20491:     Path printing is now much nicer: not having to put it backward
        !          20492:     simplifies it. (Sorry for previous commit, cvs is naughty).
        !          20493: 
        !          20494: commit f7d534cf2e8932869b049bd64677bb0a67e362c1
        !          20495: Author: Pavel Machek <pavel@ucw.cz>
        !          20496: Date:   Wed Apr 12 10:34:02 2000 +0000
        !          20497: 
        !          20498:     Path printing is now much nicer.
        !          20499: 
        !          20500: commit b475c543b420b65bac90992df99a0fe6c9da7c88
        !          20501: Author: Martin Mares <mj@ucw.cz>
        !          20502: Date:   Mon Apr 10 22:08:32 2000 +0000
        !          20503: 
        !          20504:     Fix comments.
        !          20505: 
        !          20506: commit 9196e9f8f951f7cbd372b9243dd10fc761f2fbe6
        !          20507: Author: Pavel Machek <pavel@ucw.cz>
        !          20508: Date:   Mon Apr 10 16:36:40 2000 +0000
        !          20509: 
        !          20510:     Commit fixes.
        !          20511: 
        !          20512: commit 7f77e2500218c197ba56a473d587dedda7309029
        !          20513: Author: Pavel Machek <pavel@ucw.cz>
        !          20514: Date:   Mon Apr 10 15:07:43 2000 +0000
        !          20515: 
        !          20516:     Functions for matching paths added, tested lightly.
        !          20517:     
        !          20518:     Functions for working with community lists added, they compile.
        !          20519:     
        !          20520:     This should not be definitive place for this stuff.
        !          20521: 
        !          20522: commit 73e03bce66e3e8d167f00813d942ef35bfd105e2
        !          20523: Author: Pavel Machek <pavel@ucw.cz>
        !          20524: Date:   Mon Apr 10 14:45:00 2000 +0000
        !          20525: 
        !          20526:     As usuall, most important info was missing.
        !          20527: 
        !          20528: commit ae8f5584990ce3bfb5b0bec2f7a1c052e45860df
        !          20529: Author: Martin Mares <mj@ucw.cz>
        !          20530: Date:   Mon Apr 10 12:39:51 2000 +0000
        !          20531: 
        !          20532:     Implemented outgoing attribute cache.
        !          20533: 
        !          20534: commit 6f57dcc07cdf54133bd57aeaec7446f59f2c91cd
        !          20535: Author: Martin Mares <mj@ucw.cz>
        !          20536: Date:   Mon Apr 10 12:39:29 2000 +0000
        !          20537: 
        !          20538:     Export ea_same() and ea_hash().
        !          20539: 
        !          20540: commit f2cb1d708dc5de4167a3dc12b50001391d01f5f0
        !          20541: Author: Martin Mares <mj@ucw.cz>
        !          20542: Date:   Mon Apr 10 12:38:15 2000 +0000
        !          20543: 
        !          20544:     Dropped CPU_NEEDS_ALIGN_* as unaligned.h no longer uses them.
        !          20545: 
        !          20546: commit 48e842cc98b1436da57c8682c6c8414ba379ed7c
        !          20547: Author: Martin Mares <mj@ucw.cz>
        !          20548: Date:   Mon Apr 10 11:21:40 2000 +0000
        !          20549: 
        !          20550:     Use neighbor cache to track direct route to the peer or multihop destination.
        !          20551:     
        !          20552:     Calculate next_hop properly based on the local address we get from the
        !          20553:     neighbor entry.
        !          20554: 
        !          20555: commit 287111fed1c8e9eb135df1108ea747e02b30e9e9
        !          20556: Author: Martin Mares <mj@ucw.cz>
        !          20557: Date:   Mon Apr 10 10:40:00 2000 +0000
        !          20558: 
        !          20559:     Fix stupid bug in neighbor cache.
        !          20560: 
        !          20561: commit ef2c708dfac4c8b4b5ab0ed8b71842da5c7ab3d7
        !          20562: Author: Martin Mares <mj@ucw.cz>
        !          20563: Date:   Sun Apr 9 22:05:02 2000 +0000
        !          20564: 
        !          20565:     More BGP progress...
        !          20566:     
        !          20567:     For Pavel: You can use bgp_path_prepend() for prepending AS numbers to AS paths.
        !          20568: 
        !          20569: commit d3feceff105fbcee7a9976812156aea7517c44e6
        !          20570: Author: Martin Mares <mj@ucw.cz>
        !          20571: Date:   Sun Apr 9 22:04:12 2000 +0000
        !          20572: 
        !          20573:     BGP doesn't need any inline attributes.
        !          20574: 
        !          20575: commit 3d0ea3a7c3e3b14bd0b9602d6b14518c907d8789
        !          20576: Author: Pavel Machek <pavel@ucw.cz>
        !          20577: Date:   Fri Apr 7 09:02:17 2000 +0000
        !          20578: 
        !          20579:     Fix of comment.
        !          20580: 
        !          20581: commit 2c971094ebf73c2a2cfc5927095a0c6fd3c15836
        !          20582: Author: Ondrej Filip <feela@network.cz>
        !          20583: Date:   Wed Apr 5 00:51:25 2000 +0000
        !          20584: 
        !          20585:     LSA flooding done.
        !          20586: 
        !          20587: commit 10000b96a89d1ab4425e29164c3694aa26622b1c
        !          20588: Author: Ondrej Filip <feela@network.cz>
        !          20589: Date:   Tue Apr 4 22:27:19 2000 +0000
        !          20590: 
        !          20591:     Small clean up. (Duplicate #defines.)
        !          20592: 
        !          20593: commit f1f7faceb445fdfa2b2a013b791882afd68ae421
        !          20594: Author: Ondrej Filip <feela@network.cz>
        !          20595: Date:   Tue Apr 4 22:22:08 2000 +0000
        !          20596: 
        !          20597:     "Bug in hashing" fixed. Ehm it was bug in lsrql node removing.
        !          20598: 
        !          20599: commit d8852b362c015db38abf180888e77900f35089de
        !          20600: Author: Ondrej Filip <feela@network.cz>
        !          20601: Date:   Tue Apr 4 15:55:55 2000 +0000
        !          20602: 
        !          20603:     LSupdate processing improved. Now there is some bug in hashing. :-(
        !          20604: 
        !          20605: commit 921a93f2176723d235989efe882050c0265bea84
        !          20606: Author: Ondrej Filip <feela@network.cz>
        !          20607: Date:   Tue Apr 4 00:32:17 2000 +0000
        !          20608: 
        !          20609:     Flooding work continues.
        !          20610: 
        !          20611: commit 8496b2e41a81f8281da0e0c3e4bbb72a57d3bf21
        !          20612: Author: Ondrej Filip <feela@network.cz>
        !          20613: Date:   Mon Apr 3 22:31:07 2000 +0000
        !          20614: 
        !          20615:     Minor change in area list. Now I use MJ's lists.
        !          20616: 
        !          20617: commit 394acced118df7360e480920c65ca260c5b8c44f
        !          20618: Author: Ondrej Filip <feela@network.cz>
        !          20619: Date:   Sun Apr 2 20:41:33 2000 +0000
        !          20620: 
        !          20621:     Work on lsupdates continues. Some checksum cleanup.
        !          20622: 
        !          20623: commit db9fb727699a6244afcff28dcc2320a3e66ee269
        !          20624: Author: Ondrej Filip <feela@network.cz>
        !          20625: Date:   Sun Apr 2 19:04:23 2000 +0000
        !          20626: 
        !          20627:     lsa_cmp moved into lsalib.c
        !          20628: 
        !          20629: commit 10be74da202b20a7d502724ef8e7a9787b7eba0a
        !          20630: Author: Martin Mares <mj@ucw.cz>
        !          20631: Date:   Sat Apr 1 10:21:11 2000 +0000
        !          20632: 
        !          20633:     Formatting of dynamic attributes (except for paths and communities which
        !          20634:     will be added soon).
        !          20635: 
        !          20636: commit dad177d7e045ed07181da02ccd619f8f943a5c80
        !          20637: Author: Martin Mares <mj@ucw.cz>
        !          20638: Date:   Sat Apr 1 10:20:12 2000 +0000
        !          20639: 
        !          20640:     RIP: Set attribute class.
        !          20641: 
        !          20642: commit 3991d84e8fa9118a43149d4d3304726eb786bd46
        !          20643: Author: Martin Mares <mj@ucw.cz>
        !          20644: Date:   Sat Apr 1 10:19:47 2000 +0000
        !          20645: 
        !          20646:     Changed initialization of protocol list -- now we call proto_build() instead
        !          20647:     of calling the protocols manually.
        !          20648:     
        !          20649:     Implemented printing of dynamic attributes in `show route all'.
        !          20650:     
        !          20651:     Each protocol can now register its own attribute class (protocol->attr_class,
        !          20652:     set to EAP_xxx) and also a callback for naming and formatting of attributes.
        !          20653:     The callback can return one of the following results:
        !          20654:     
        !          20655:        GA_UNKNOWN      Attribute not recognized.
        !          20656:        GA_NAME         Attribute name recognized and put to the buffer,
        !          20657:                        generic code should format the value.
        !          20658:        GA_FULL         Both attribute name and value put to the buffer.
        !          20659:     
        !          20660:     Please update protocols generating dynamic attributes to provide
        !          20661:     the attr_class and formatting hook.
        !          20662: 
        !          20663: commit f8809249906811683e7e8d2a7b8cdcccde86742a
        !          20664: Author: Martin Mares <mj@ucw.cz>
        !          20665: Date:   Sat Apr 1 09:17:33 2000 +0000
        !          20666: 
        !          20667:     BGP now handles incoming routes (IPv4 only).
        !          20668: 
        !          20669: commit 85810613993913831822b84ab7a9792a88fc7a8f
        !          20670: Author: Martin Mares <mj@ucw.cz>
        !          20671: Date:   Sat Apr 1 09:16:42 2000 +0000
        !          20672: 
        !          20673:     When tracing, always print incoming part of the trace before the outgoing one.
        !          20674:     
        !          20675:     Avoid buffer overflows in `show routes' command.
        !          20676: 
        !          20677: commit 798df5b1ab6b497d8d9d6d51764f5aef4eb2d567
        !          20678: Author: Martin Mares <mj@ucw.cz>
        !          20679: Date:   Sat Apr 1 09:15:55 2000 +0000
        !          20680: 
        !          20681:     When processing ACCEPT/REJECT carrying no message, don't print
        !          20682:     trailing newline.
        !          20683:     
        !          20684:     I hope the fix is correct, but please check.
        !          20685: 
        !          20686: commit b157361533412de2123787a412e6e463c0b2f13a
        !          20687: Author: Martin Mares <mj@ucw.cz>
        !          20688: Date:   Sat Apr 1 09:15:10 2000 +0000
        !          20689: 
        !          20690:     SOURCE should really refer to rta->source, not rta->gw.
        !          20691:     
        !          20692:     Please check that all rta attributes are available, I guess that at
        !          20693:     least rta->dest is missing.
        !          20694: 
        !          20695: commit 499cb346f6fb29f9157e12942484c8b4362597c3
        !          20696: Author: Ondrej Filip <feela@network.cz>
        !          20697: Date:   Sat Apr 1 02:45:49 2000 +0000
        !          20698: 
        !          20699:     LSA checksum works. But it's very uneficient on little endian systems.
        !          20700: 
        !          20701: commit ac4b4683aee8e5aa566b0b5f99bd940bc10d9b71
        !          20702: Author: Martin Mares <mj@ucw.cz>
        !          20703: Date:   Fri Mar 31 23:40:00 2000 +0000
        !          20704: 
        !          20705:     Removal of useless includes continues...
        !          20706: 
        !          20707: commit 3cf4a2e2b03d00adce703cd1dc961eea77b7a57b
        !          20708: Author: Martin Mares <mj@ucw.cz>
        !          20709: Date:   Fri Mar 31 23:35:59 2000 +0000
        !          20710: 
        !          20711:     Removed lots of superfluous includes.
        !          20712:     
        !          20713:     Use debug() instead of printf().
        !          20714: 
        !          20715: commit a37410cbddfadca651c795e9817f66c54374a943
        !          20716: Author: Martin Mares <mj@ucw.cz>
        !          20717: Date:   Fri Mar 31 23:33:03 2000 +0000
        !          20718: 
        !          20719:     Use bsprintf() instead of sprintf().
        !          20720: 
        !          20721: commit 221135d6bf256c85b4aeb08881d6262f6eaadff4
        !          20722: Author: Martin Mares <mj@ucw.cz>
        !          20723: Date:   Fri Mar 31 23:30:21 2000 +0000
        !          20724: 
        !          20725:     Include "lib/string.h" instead of <string.h>. It should give us bzero()
        !          20726:     and other non-portable functions on all systems.
        !          20727: 
        !          20728: commit c00d31befab5a7e932231f7a8050547c72c94631
        !          20729: Author: Martin Mares <mj@ucw.cz>
        !          20730: Date:   Fri Mar 31 23:21:37 2000 +0000
        !          20731: 
        !          20732:     Parsing of BGP attributes.
        !          20733: 
        !          20734: commit 08732b71784b640aebbea88d4452f4c5987d0a09
        !          20735: Author: Martin Mares <mj@ucw.cz>
        !          20736: Date:   Fri Mar 31 23:21:19 2000 +0000
        !          20737: 
        !          20738:     Fixed bug in processing of dynamic attributes.
        !          20739: 
        !          20740: commit 65e55e9cca38828980123ea64fe203d799a20810
        !          20741: Author: Ondrej Filip <feela@network.cz>
        !          20742: Date:   Fri Mar 31 01:40:12 2000 +0000
        !          20743: 
        !          20744:     Checksum changes. Bug is still NOT fixed. :-(
        !          20745: 
        !          20746: commit 9f940976d10e6295f78adf4afb1868a7ed6cac73
        !          20747: Author: Ondrej Filip <feela@network.cz>
        !          20748: Date:   Fri Mar 31 01:14:41 2000 +0000
        !          20749: 
        !          20750:     Some bug fixes. LSA checksum is still bad. I'll fix it later.
        !          20751: 
        !          20752: commit f45fd3164bf2f9342e12e867f8d68c7fc77d3177
        !          20753: Author: Ondrej Filip <feela@network.cz>
        !          20754: Date:   Fri Mar 31 00:21:41 2000 +0000
        !          20755: 
        !          20756:     Sending of lspd as responce to lsreq done.
        !          20757: 
        !          20758: commit 14a7921c83f0ecfc8793b3a38e4ac16ae9bd75d3
        !          20759: Author: Ondrej Filip <feela@network.cz>
        !          20760: Date:   Thu Mar 30 20:18:51 2000 +0000
        !          20761: 
        !          20762:     LSA structure changes. (Len added.)
        !          20763: 
        !          20764: commit de769e24c01ff0c4aa573d9b4cec833dcae182d2
        !          20765: Author: Ondrej Filip <feela@network.cz>
        !          20766: Date:   Thu Mar 30 20:00:42 2000 +0000
        !          20767: 
        !          20768:     Skeleton structures and files added.
        !          20769: 
        !          20770: commit 95eb1dba3ffe810bd876546ca4580af3bccdf181
        !          20771: Author: Ondrej Filip <feela@network.cz>
        !          20772: Date:   Thu Mar 30 19:37:26 2000 +0000
        !          20773: 
        !          20774:     Add hashing to link state request list.
        !          20775: 
        !          20776: commit 76915ec9798a2c067ef05c6fb94cea58af12128e
        !          20777: Author: Ondrej Filip <feela@network.cz>
        !          20778: Date:   Thu Mar 30 19:21:17 2000 +0000
        !          20779: 
        !          20780:     Minor changes.
        !          20781: 
        !          20782: commit 973399ae2c21b41983a35fe71657fb41351d99e6
        !          20783: Author: Martin Mares <mj@ucw.cz>
        !          20784: Date:   Thu Mar 30 18:44:23 2000 +0000
        !          20785: 
        !          20786:     Basic analysis of UPDATE packets.
        !          20787: 
        !          20788: commit b552ecc4d7ddb1b960aa26b96ebea95a3af72043
        !          20789: Author: Martin Mares <mj@ucw.cz>
        !          20790: Date:   Thu Mar 30 17:39:48 2000 +0000
        !          20791: 
        !          20792:     Connection state machine works.
        !          20793: 
        !          20794: commit ce0603a6eda81b97d6db021c91b86cb4c920eb04
        !          20795: Author: Ondrej Filip <feela@network.cz>
        !          20796: Date:   Thu Mar 30 16:22:58 2000 +0000
        !          20797: 
        !          20798:     Better list manipulation.
        !          20799: 
        !          20800: commit 3fdbafb6f49946f15d0c10d311dd35479bf6c0f1
        !          20801: Author: Martin Mares <mj@ucw.cz>
        !          20802: Date:   Thu Mar 30 10:44:20 2000 +0000
        !          20803: 
        !          20804:     More BGP. This time it connects, but the state machine still isn't complete.
        !          20805: 
        !          20806: commit 320f41735795b51c51a9f5c976a2335a9ec96e32
        !          20807: Author: Martin Mares <mj@ucw.cz>
        !          20808: Date:   Thu Mar 30 10:43:37 2000 +0000
        !          20809: 
        !          20810:     Defined sk_close() which closes the socket safely even if called from
        !          20811:     socket hook. Replaces the SK_DELETED hack.
        !          20812:     
        !          20813:     Squashed a couple of bugs in handling of TCP sockets.
        !          20814: 
        !          20815: commit 3a6337ecb2f6e5c8454a8416214c60432611aaa6
        !          20816: Author: Martin Mares <mj@ucw.cz>
        !          20817: Date:   Thu Mar 30 08:50:46 2000 +0000
        !          20818: 
        !          20819:     Use FF_FORCE_TMPATTR where appropriate.
        !          20820: 
        !          20821: commit 3076b5aedc1d348413276b361806053e80dca7c6
        !          20822: Author: Martin Mares <mj@ucw.cz>
        !          20823: Date:   Thu Mar 30 08:50:30 2000 +0000
        !          20824: 
        !          20825:     Renamed FF_OUTGOING to FF_FORCE_TMPATTR which much better fits the semantics.
        !          20826:     
        !          20827:     Call rte_cow() instead of rte_do_cow(), so that COW works properly.
        !          20828:     
        !          20829:     Stripped "\n" off several (de)bug messages.
        !          20830: 
        !          20831: commit 6d2b32114feadb283cb988daa7ed80142aa8c4d1
        !          20832: Author: Ondrej Filip <feela@network.cz>
        !          20833: Date:   Thu Mar 30 00:18:59 2000 +0000
        !          20834: 
        !          20835:     LSreq initial work.
        !          20836: 
        !          20837: commit 3ee2310c5dccebe2b63098ab478b5b1d61e4fcb2
        !          20838: Author: Martin Mares <mj@ucw.cz>
        !          20839: Date:   Wed Mar 29 22:57:46 2000 +0000
        !          20840: 
        !          20841:     Avoid conflicts with libraries defining their own xmalloc by defining
        !          20842:     xmalloc to bird_xmalloc internally.
        !          20843: 
        !          20844: commit 2560c8860eeed2e352c394aec920a4f696563e6c
        !          20845: Author: Ondrej Filip <feela@network.cz>
        !          20846: Date:   Wed Mar 29 17:51:40 2000 +0000
        !          20847: 
        !          20848:     Slave bug fix.
        !          20849: 
        !          20850: commit 910e557b47f52bf38aa923a69249670d71befc02
        !          20851: Author: Ondrej Filip <feela@network.cz>
        !          20852: Date:   Wed Mar 29 17:18:06 2000 +0000
        !          20853: 
        !          20854:     Many changes in dbdes sending & receiving. EXDONE caused.
        !          20855: 
        !          20856: commit 315648af8ed75c91e0dd82748a933963b9e0c4ec
        !          20857: Author: Ondrej Filip <feela@network.cz>
        !          20858: Date:   Wed Mar 29 13:02:58 2000 +0000
        !          20859: 
        !          20860:     RXMT timer handling bug fix.
        !          20861: 
        !          20862: commit 3fba20968816a9dbd4565fd6806f29d72d73f638
        !          20863: Author: Ondrej Filip <feela@network.cz>
        !          20864: Date:   Wed Mar 29 12:47:07 2000 +0000
        !          20865: 
        !          20866:     Some FIXME added.
        !          20867: 
        !          20868: commit 96501dfe5f6fd7a2837aee910c78f147e54e4f0b
        !          20869: Author: Ondrej Filip <feela@network.cz>
        !          20870: Date:   Wed Mar 29 12:45:37 2000 +0000
        !          20871: 
        !          20872:     Sending of DBdes bug fixed.
        !          20873: 
        !          20874: commit 04c6319a630e9e18bc45da5e5b1c1f11d726c261
        !          20875: Author: Ondrej Filip <feela@network.cz>
        !          20876: Date:   Wed Mar 29 12:32:25 2000 +0000
        !          20877: 
        !          20878:     IMMS reverted to bits. Outgoing packets dumping added.
        !          20879:     Cisco does not set inteface MTU. Hmm....
        !          20880: 
        !          20881: commit 0a06a9b8b3dbd59c850303c49eea97c12e1ac0ff
        !          20882: Author: Pavel Machek <pavel@ucw.cz>
        !          20883: Date:   Wed Mar 29 09:02:00 2000 +0000
        !          20884: 
        !          20885:     f_run gets one more parameter to distinguish between in and out modes.
        !          20886: 
        !          20887: commit 8d2e3eba92e339f0635e0cb2fbfb49482b26295a
        !          20888: Author: Pavel Machek <pavel@ucw.cz>
        !          20889: Date:   Wed Mar 29 08:58:06 2000 +0000
        !          20890: 
        !          20891:     Cross-protocol issues solved better
        !          20892: 
        !          20893: commit 963ea03d872db30e1a0d0216e488b1960590af2d
        !          20894: Author: Ondrej Filip <feela@network.cz>
        !          20895: Date:   Wed Mar 29 00:34:28 2000 +0000
        !          20896: 
        !          20897:     DBdes sending/receiving changes.
        !          20898: 
        !          20899: commit d0031c5ee94b29b7a5419a0504c160e424d970b0
        !          20900: Author: Pavel Machek <pavel@ucw.cz>
        !          20901: Date:   Mon Mar 27 12:21:11 2000 +0000
        !          20902: 
        !          20903:     Use neigh_connected_to in rip, and behave more correctly
        !          20904:     w.r.t. whotoldme and nexthop.
        !          20905: 
        !          20906: commit 200accf396b869267fd707b56afddb27d8479acc
        !          20907: Author: Martin Mares <mj@ucw.cz>
        !          20908: Date:   Mon Mar 27 12:16:37 2000 +0000
        !          20909: 
        !          20910:     if_connected() is again private.
        !          20911:     
        !          20912:     Introduced neigh_connected_to() to serve the same purpose efficiently.
        !          20913: 
        !          20914: commit 6480dd08803bc46bcd19b466ac6c499699d17448
        !          20915: Author: Pavel Machek <pavel@ucw.cz>
        !          20916: Date:   Sun Mar 26 21:31:57 2000 +0000
        !          20917: 
        !          20918:     I broke compilation. Sorry.
        !          20919: 
        !          20920: commit 8c86f96fa6f783326455f8a8d88a242cd8dd9f1b
        !          20921: Author: Pavel Machek <pavel@ucw.cz>
        !          20922: Date:   Sun Mar 26 18:01:27 2000 +0000
        !          20923: 
        !          20924:     Split horizont done right.
        !          20925:     
        !          20926:     Locks done better.
        !          20927: 
        !          20928: commit 697711be2cf6b5da140b8c12c301affa53488021
        !          20929: Author: Pavel Machek <pavel@ucw.cz>
        !          20930: Date:   Sun Mar 26 18:00:45 2000 +0000
        !          20931: 
        !          20932:     if_connected is usefull outside of neighbour cache.
        !          20933: 
        !          20934: commit 9ee07ca53fd94ad72b7cb2776cc15f13a026a910
        !          20935: Author: Pavel Machek <pavel@ucw.cz>
        !          20936: Date:   Fri Mar 24 10:08:20 2000 +0000
        !          20937: 
        !          20938:     FIXME was actually already resolved
        !          20939: 
        !          20940: commit 772f489932cf24d7a408835ac67f7b4f4d85a1eb
        !          20941: Author: Pavel Machek <pavel@ucw.cz>
        !          20942: Date:   Thu Mar 23 12:08:40 2000 +0000
        !          20943: 
        !          20944:     Minor change to make code more readable.
        !          20945: 
        !          20946: commit ff8ed6328595c77e8b0ed3ed4cea3fb4d9bb141d
        !          20947: Author: Pavel Machek <pavel@ucw.cz>
        !          20948: Date:   Wed Mar 22 14:26:03 2000 +0000
        !          20949: 
        !          20950:     Rip now tries to lock interface.
        !          20951:     
        !          20952:     Fixed fatal errors which caused segfault at startup.
        !          20953:     
        !          20954:     Fixed fatal errors in rip which caused it not to send more than first
        !          20955:     update.
        !          20956: 
        !          20957: commit ba4466701aed032f947272dead47b3abc7bb7a3f
        !          20958: Author: Pavel Machek <pavel@ucw.cz>
        !          20959: Date:   Wed Mar 22 14:23:40 2000 +0000
        !          20960: 
        !          20961:     Format of dates changed, so rip authentication is now commented out.
        !          20962: 
        !          20963: commit 72a6ef11fe6589d0f4d5158c207ff8a0669becc3
        !          20964: Author: Martin Mares <mj@ucw.cz>
        !          20965: Date:   Tue Mar 21 15:53:50 2000 +0000
        !          20966: 
        !          20967:     Construction of BGP packets.
        !          20968: 
        !          20969: commit a8f944cb6e6c75c1aac2500ccf1f3905c4c3fd7a
        !          20970: Author: Martin Mares <mj@ucw.cz>
        !          20971: Date:   Tue Mar 21 15:51:30 2000 +0000
        !          20972: 
        !          20973:     Wrote real version of unaligned data access functions (needed for BGP).
        !          20974: 
        !          20975: commit c01e37416d09a92bf838250a15fe99fdc48bc010
        !          20976: Author: Martin Mares <mj@ucw.cz>
        !          20977: Date:   Mon Mar 20 21:50:17 2000 +0000
        !          20978: 
        !          20979:     Started work on BGP. Wrote main part of the connection handling code.
        !          20980: 
        !          20981: commit 1cf716f0751ce1d146d6d5114cb36686844d4817
        !          20982: Author: Martin Mares <mj@ucw.cz>
        !          20983: Date:   Mon Mar 20 21:49:21 2000 +0000
        !          20984: 
        !          20985:     Handle EINPROGRESS properly.
        !          20986:     
        !          20987:     Set IP_DONTROUTE sockopt only if sk->ttl == 1.
        !          20988: 
        !          20989: commit 267a2c0ebd980c16c1cf01044b0ee44095f34b9e
        !          20990: Author: Martin Mares <mj@ucw.cz>
        !          20991: Date:   Mon Mar 20 20:52:18 2000 +0000
        !          20992: 
        !          20993:     Added missing newline in debug output.
        !          20994: 
        !          20995: commit ca97b489de8cca61d1affa49983b7cdc1c81cf96
        !          20996: Author: Martin Mares <mj@ucw.cz>
        !          20997: Date:   Mon Mar 20 18:45:03 2000 +0000
        !          20998: 
        !          20999:     Define new data types for BGP.
        !          21000: 
        !          21001: commit 2638249d34cc7f600fba25edd29538c00a3aca31
        !          21002: Author: Martin Mares <mj@ucw.cz>
        !          21003: Date:   Sun Mar 19 22:09:07 2000 +0000
        !          21004: 
        !          21005:     Bare skeleton of the BGP.
        !          21006: 
        !          21007: commit 349e21bb0bb7584fb18c19859d876893c3130947
        !          21008: Author: Martin Mares <mj@ucw.cz>
        !          21009: Date:   Sun Mar 19 21:59:24 2000 +0000
        !          21010: 
        !          21011:     Protocol tracing: Don't dump core on filtered out routes.
        !          21012: 
        !          21013: commit 856b87d1e4c44608df5debd8e4246a3c4026bbcb
        !          21014: Author: Pavel Machek <pavel@ucw.cz>
        !          21015: Date:   Mon Mar 13 13:31:00 2000 +0000
        !          21016: 
        !          21017:     Cleanup, mostly debugging messages.
        !          21018: 
        !          21019: commit abf2be7d0cabc3c8c021b6f6784cf63610571715
        !          21020: Author: Martin Mares <mj@ucw.cz>
        !          21021: Date:   Sun Mar 12 23:04:04 2000 +0000
        !          21022: 
        !          21023:     Add internal commands of the client to the command list.
        !          21024: 
        !          21025: commit 971b2310ae4d367d608e34e9465ad5d2c65e505d
        !          21026: Author: Martin Mares <mj@ucw.cz>
        !          21027: Date:   Sun Mar 12 22:55:09 2000 +0000
        !          21028: 
        !          21029:     Commands which failed expansions are to be stored to history, too.
        !          21030: 
        !          21031: commit f098e072bec8d5858afbf713635217ea84c7e45d
        !          21032: Author: Martin Mares <mj@ucw.cz>
        !          21033: Date:   Sun Mar 12 22:53:05 2000 +0000
        !          21034: 
        !          21035:     Fixed a bunch of FIXME's by removing them :)
        !          21036: 
        !          21037: commit 432709027680d7791b325b2c2116c658eba21c8d
        !          21038: Author: Martin Mares <mj@ucw.cz>
        !          21039: Date:   Sun Mar 12 22:44:54 2000 +0000
        !          21040: 
        !          21041:     Made `show status' show uptime and time of last reconfiguration.
        !          21042: 
        !          21043: commit 7a88832e78cbc18db109c091d74f6d27284cff44
        !          21044: Author: Martin Mares <mj@ucw.cz>
        !          21045: Date:   Sun Mar 12 22:43:13 2000 +0000
        !          21046: 
        !          21047:     Added tm_format_datetime().
        !          21048: 
        !          21049: commit 81ce667b7b7c38e109984602cf4e5ecbec80f7f1
        !          21050: Author: Martin Mares <mj@ucw.cz>
        !          21051: Date:   Sun Mar 12 22:40:07 2000 +0000
        !          21052: 
        !          21053:     Don't crash when filter_same() gets called on FILTER_ACCEPT or FILTER_REJECT.
        !          21054: 
        !          21055: commit a92bebe0ec3545b1f99909d20224977aa6da1827
        !          21056: Author: Martin Mares <mj@ucw.cz>
        !          21057: Date:   Sun Mar 12 21:58:51 2000 +0000
        !          21058: 
        !          21059:     Yet another LOCAL_DEBUG turned off.
        !          21060: 
        !          21061: commit 832fa033b7ecacf3225d7aa8c86e30484a07d946
        !          21062: Author: Martin Mares <mj@ucw.cz>
        !          21063: Date:   Sun Mar 12 21:54:39 2000 +0000
        !          21064: 
        !          21065:     Cleaned up debugging in kernel syncer.  Netlink has still LOCAL_DEBUG
        !          21066:     turned on, but after some testing I'll gag it.
        !          21067: 
        !          21068: commit e68dd11c43ebec527da69da7b093ae90ef6d6ea9
        !          21069: Author: Martin Mares <mj@ucw.cz>
        !          21070: Date:   Sun Mar 12 21:47:25 2000 +0000
        !          21071: 
        !          21072:     Use do { } while(0) instead of empty DBG if not debugging.
        !          21073: 
        !          21074: commit 6b9fa320806ce8a734d865ebcb8052ba0e50c527
        !          21075: Author: Martin Mares <mj@ucw.cz>
        !          21076: Date:   Sun Mar 12 21:01:38 2000 +0000
        !          21077: 
        !          21078:     Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
        !          21079:     several debug() calls converted to DBG().
        !          21080: 
        !          21081: commit 6a9f28b0b9254ba21c36126d6f10388815840001
        !          21082: Author: Martin Mares <mj@ucw.cz>
        !          21083: Date:   Sun Mar 12 20:50:35 2000 +0000
        !          21084: 
        !          21085:     Added tracing of interface events.
        !          21086: 
        !          21087: commit b0a47440e33e7a270205130b01d59faadb6b6726
        !          21088: Author: Martin Mares <mj@ucw.cz>
        !          21089: Date:   Sun Mar 12 20:49:08 2000 +0000
        !          21090: 
        !          21091:     Oops, got `<' and `>' markers in trace output reversed.
        !          21092: 
        !          21093: commit cfd46ee4c5b0d3689f8f9d094a68bc4b732cd0af
        !          21094: Author: Martin Mares <mj@ucw.cz>
        !          21095: Date:   Sun Mar 12 20:30:53 2000 +0000
        !          21096: 
        !          21097:     Added debugging of communication between protocols and routing tables.
        !          21098:     Just ask for "debug routes" if you want to see the routes and "debug filters"
        !          21099:     if you want even the rejected ones.
        !          21100: 
        !          21101: commit c8d5ffafb7c7e644048691221ca9d56ec68925a0
        !          21102: Author: Pavel Machek <pavel@ucw.cz>
        !          21103: Date:   Fri Mar 10 20:21:12 2000 +0000
        !          21104: 
        !          21105:     Fix <=, >=, !=
        !          21106: 
        !          21107: commit ce17d4c165cadb09d391e34cda1b796a125ef012
        !          21108: Author: Ondrej Filip <feela@network.cz>
        !          21109: Date:   Thu Mar 9 22:38:05 2000 +0000
        !          21110: 
        !          21111:     LSA DB is completely redesigned. Now it should be faster and it needs
        !          21112:     less memory.
        !          21113: 
        !          21114: commit af834f8630eb0078c723fb9b0af053dba6725d5e
        !          21115: Author: Pavel Machek <pavel@ucw.cz>
        !          21116: Date:   Thu Mar 9 16:38:51 2000 +0000
        !          21117: 
        !          21118:     Categorized TRACE() messages in rip
        !          21119: 
        !          21120: commit cb822c0777657703e546bc99a7e5b646abe83d3f
        !          21121: Author: Pavel Machek <pavel@ucw.cz>
        !          21122: Date:   Thu Mar 9 15:12:41 2000 +0000
        !          21123: 
        !          21124:     Rip tracing: still need config hunk to set p->debug.
        !          21125: 
        !          21126: commit 38466dbdacc706d7a6abcf348c448bd9f8fb01d4
        !          21127: Author: Pavel Machek <pavel@ucw.cz>
        !          21128: Date:   Thu Mar 9 14:59:10 2000 +0000
        !          21129: 
        !          21130:     log() classes done right
        !          21131: 
        !          21132: commit 995e5894cd9872603bc7c0ffd79fef96e4839006
        !          21133: Author: Pavel Machek <pavel@ucw.cz>
        !          21134: Date:   Thu Mar 9 14:47:43 2000 +0000
        !          21135: 
        !          21136:     1 less shift/reduce conflict
        !          21137:     
        !          21138:     print now takes arguments separated by ,
        !          21139:     
        !          21140:     [ 1.2.3.0/24 .. 3.4.5.0/8 ] is now forbidden
        !          21141:     
        !          21142:     [ 1.2.3.0/8 ] now actually works
        !          21143: 
        !          21144: commit e4a73dbfcbb24a6a01ca960b641ce29d5045b3ba
        !          21145: Author: Pavel Machek <pavel@ucw.cz>
        !          21146: Date:   Thu Mar 9 13:21:40 2000 +0000
        !          21147: 
        !          21148:     CONST() is now gone
        !          21149: 
        !          21150: commit 30147b89ff3a389ad40096505f3d1a5ba1705736
        !          21151: Author: Ondrej Filip <feela@network.cz>
        !          21152: Date:   Wed Mar 8 12:50:28 2000 +0000
        !          21153: 
        !          21154:     Sending of DBDes. (Checksum and length calculation NOT done.)
        !          21155: 
        !          21156: commit 839380d7ecd133531ead2403c6dbc74950dad13c
        !          21157: Author: Martin Mares <mj@ucw.cz>
        !          21158: Date:   Tue Mar 7 21:50:21 2000 +0000
        !          21159: 
        !          21160:     Added debugging of protocol state transitions.
        !          21161: 
        !          21162: commit f30b86f9d5004a3e159c385269e76efc71b1566a
        !          21163: Author: Martin Mares <mj@ucw.cz>
        !          21164: Date:   Tue Mar 7 21:50:03 2000 +0000
        !          21165: 
        !          21166:     Added configuration of default protocol debugging flags.
        !          21167: 
        !          21168: commit 3eb0b586ca93b1d0d34f935cac8524e02f708126
        !          21169: Author: Martin Mares <mj@ucw.cz>
        !          21170: Date:   Tue Mar 7 21:04:36 2000 +0000
        !          21171: 
        !          21172:     No longer echoes commands before sending them.
        !          21173: 
        !          21174: commit 3cbfcafecdf4f3dd1b201e0adf849f9959284c87
        !          21175: Author: Martin Mares <mj@ucw.cz>
        !          21176: Date:   Tue Mar 7 21:04:14 2000 +0000
        !          21177: 
        !          21178:     DBG calls debug() if defined(LOCAL_DEBUG) || defined(GLOBAL_DEBUG).
        !          21179: 
        !          21180: commit 96d8e3bff242d5c9d0eb75fa04a21f6c09d8dbcf
        !          21181: Author: Martin Mares <mj@ucw.cz>
        !          21182: Date:   Tue Mar 7 20:49:48 2000 +0000
        !          21183: 
        !          21184:     Added protocol debugging flags (protocol.h: D_xxx), parsing of them
        !          21185:     in configuration files and commands for manipulating them.
        !          21186:     
        !          21187:     Current debug message policy:
        !          21188:     
        !          21189:        o  D_STATES, D_ROUTES and D_FILTERS are handled in generic code.
        !          21190:        o  Other debug flags should be handled in the protocols and whenever
        !          21191:           the flag is set, the corresponding messages should be printed
        !          21192:           using calls to log(L_TRACE, ...), each message prefixed with
        !          21193:           the name of the protocol instance. These messages should cover
        !          21194:           the whole normal operation of the protocol and should be useful
        !          21195:           for an administrator trying to understand what does the protocol
        !          21196:           behave on his network or who is attempting to diagnose network
        !          21197:           problems. If your messages don't fit to the categories I've defined,
        !          21198:           feel free to add your own ones (by adding them to protocol.h
        !          21199:           and on two places in nest/config.Y), but please try to keep the
        !          21200:           categories as general as possible (i.e., not tied to your protocol).
        !          21201:        o  Internal debug messages not interesting even to an experienced
        !          21202:           user should be printed by calling DBG() which is either void or
        !          21203:           a call to debug() depending on setting of the LOCAL_DEBUG symbol
        !          21204:           at the top of your source.
        !          21205:        o  Dump functions (proto->dump etc.) should call debug() to print
        !          21206:           their messages.
        !          21207:        o  If you are doing any internal consistency checks, use ASSERT
        !          21208:           or bug().
        !          21209:        o  Nobody shall ever call printf() or any other stdio functions.
        !          21210:     
        !          21211:     Also please try to log any protocol errors you encounter and tag them
        !          21212:     with the appropriate message category (usually L_REMOTE or L_AUTH). Always
        !          21213:     carefully check contents of any message field you receive and verify all
        !          21214:     IP addresses you work with (by calling ipa_classify() or by using the
        !          21215:     neighbour cache if you want to check direct connectedness as well).
        !          21216: 
        !          21217: commit c801e1fbabee49838287a9e96814d3d0bf84ffa2
        !          21218: Author: Martin Mares <mj@ucw.cz>
        !          21219: Date:   Tue Mar 7 20:09:35 2000 +0000
        !          21220: 
        !          21221:     Renamed command `shutdown' to `down', so that `s' can be used as an
        !          21222:     abbreviation for `show'.
        !          21223: 
        !          21224: commit 3549667925d04fa6a46ea35f56a9d3c741634d6a
        !          21225: Author: Martin Mares <mj@ucw.cz>
        !          21226: Date:   Sun Mar 5 22:48:30 2000 +0000
        !          21227: 
        !          21228:     Implemented real slab allocator. If you suspect it from being buggy,
        !          21229:     just #define FAKE_SLAB at the top of lib/slab.c to bypass it.
        !          21230: 
        !          21231: commit 9f4929e749d945c727f245ed7ef30c557124c352
        !          21232: Author: Martin Mares <mj@ucw.cz>
        !          21233: Date:   Sat Mar 4 22:30:44 2000 +0000
        !          21234: 
        !          21235:     Renamed EAF_INLINE to EAF_TEMP to make the name reflect the real meaning.
        !          21236: 
        !          21237: commit b9626ec6eaf299b889f52d017d025f356b43371a
        !          21238: Author: Martin Mares <mj@ucw.cz>
        !          21239: Date:   Sat Mar 4 22:21:06 2000 +0000
        !          21240: 
        !          21241:     Garbage collector events and counters are now per table and one day
        !          21242:     they can be made configurable if it turns out to be useful.
        !          21243: 
        !          21244: commit 16c07e3d519b87a2166a513dd4edd8dab3bc3d19
        !          21245: Author: Martin Mares <mj@ucw.cz>
        !          21246: Date:   Sat Mar 4 21:27:57 2000 +0000
        !          21247: 
        !          21248:     Removed bogus comment.
        !          21249: 
        !          21250: commit 54fb7701a21693eb7a51342eb98d663dd7324e8a
        !          21251: Author: Martin Mares <mj@ucw.cz>
        !          21252: Date:   Sat Mar 4 21:26:35 2000 +0000
        !          21253: 
        !          21254:     Fixed display of short continued messages in verbose mode.
        !          21255: 
        !          21256: commit c7814f01fc5fb51ae4054833ea8074ab9bcc86de
        !          21257: Author: Martin Mares <mj@ucw.cz>
        !          21258: Date:   Sat Mar 4 21:26:19 2000 +0000
        !          21259: 
        !          21260:     Enabled short continuations.
        !          21261: 
        !          21262: commit a58dad62383855ad1a60d4ec5406c38d24874506
        !          21263: Author: Martin Mares <mj@ucw.cz>
        !          21264: Date:   Sat Mar 4 21:19:10 2000 +0000
        !          21265: 
        !          21266:     Please *think* when defining operator priorities.
        !          21267:     
        !          21268:     (-: num_of_parser_conflicts -= 42 :-)
        !          21269: 
        !          21270: commit ee76a92a80a0241421f57fe332c251255d2af4f8
        !          21271: Author: Martin Mares <mj@ucw.cz>
        !          21272: Date:   Sat Mar 4 21:09:14 2000 +0000
        !          21273: 
        !          21274:     Implemented real attribute cache.
        !          21275: 
        !          21276: commit d4d7562806b7306d6e5ed9b759906e264b743dc5
        !          21277: Author: Pavel Machek <pavel@ucw.cz>
        !          21278: Date:   Thu Mar 2 22:23:18 2000 +0000
        !          21279: 
        !          21280:     Avoid being exponential, do not allow ! =
        !          21281: 
        !          21282: commit c8518ae136d94dc9576531a311947ba13213aea0
        !          21283: Author: Martin Mares <mj@ucw.cz>
        !          21284: Date:   Wed Mar 1 15:05:43 2000 +0000
        !          21285: 
        !          21286:     Removed RTF_EXTERIOR and RTF_TAGGED (unused).
        !          21287: 
        !          21288: commit 85053fce04a2cba09332a6eb667f09f9c4182392
        !          21289: Author: Martin Mares <mj@ucw.cz>
        !          21290: Date:   Wed Mar 1 14:51:47 2000 +0000
        !          21291: 
        !          21292:     Reimplemented neighbor cache. Now uses real hashing.
        !          21293: 
        !          21294: commit 7293c5dd8175aac4650cb48c68c7dd278a74371e
        !          21295: Author: Martin Mares <mj@ucw.cz>
        !          21296: Date:   Wed Mar 1 14:49:07 2000 +0000
        !          21297: 
        !          21298:     Added proto->hash_key which contains randomly generated hash key used
        !          21299:     for calculation of hash functions depending on proto.
        !          21300: 
        !          21301: commit 62ab789de5f5ace97a93fce551469f0229ba8c92
        !          21302: Author: Pavel Machek <pavel@ucw.cz>
        !          21303: Date:   Wed Mar 1 14:42:59 2000 +0000
        !          21304: 
        !          21305:     Added type parameter to f_new_dynamic_attr.
        !          21306: 
        !          21307: commit 31e79264a21df1acdbfbb66af40e05073b115a2c
        !          21308: Author: Pavel Machek <pavel@ucw.cz>
        !          21309: Date:   Wed Mar 1 14:31:31 2000 +0000
        !          21310: 
        !          21311:     tmp_attrs fixed.
        !          21312:     
        !          21313:     I do not know if it is right since mj ingores talk once started :-(.
        !          21314: 
        !          21315: commit 4ebbbd4079cbf6295367b9c7a555c1b668fa0d8c
        !          21316: Author: Martin Mares <mj@ucw.cz>
        !          21317: Date:   Wed Mar 1 12:15:20 2000 +0000
        !          21318: 
        !          21319:     Changed comments regarding hash function.
        !          21320: 
        !          21321: commit 14a6c2a705fce9143e721b8da167dcbaa053c936
        !          21322: Author: Martin Mares <mj@ucw.cz>
        !          21323: Date:   Wed Mar 1 12:03:43 2000 +0000
        !          21324: 
        !          21325:     IP_PREC_INTERNET_CONTROL for IPv6 (see the comment).
        !          21326: 
        !          21327: commit 4c1b4e1a582ea8d13943c46ad87588d5743439cb
        !          21328: Author: Martin Mares <mj@ucw.cz>
        !          21329: Date:   Wed Mar 1 11:48:11 2000 +0000
        !          21330: 
        !          21331:     If the user has specified identical preferences for instances of different
        !          21332:     protocols, break the tie by comparing addresses, so we keep the ordering
        !          21333:     unambiguous.
        !          21334: 
        !          21335: commit aee539f241dd233eb9e716e11ee2c449ab482a75
        !          21336: Author: Martin Mares <mj@ucw.cz>
        !          21337: Date:   Wed Mar 1 11:42:13 2000 +0000
        !          21338: 
        !          21339:     Made `datetime' more user friendly. Now it should be a quoted string
        !          21340:     of type "dd-mm-yyyy".
        !          21341: 
        !          21342: commit db1326aa5e39711d88d305ac08a0afa137ab77f0
        !          21343: Author: Martin Mares <mj@ucw.cz>
        !          21344: Date:   Wed Mar 1 11:32:23 2000 +0000
        !          21345: 
        !          21346:     Dynamic attributes are now declared in per-protocol grammar files instead
        !          21347:     of filter/config.Y. Bird now compiles even if you disable RIP.
        !          21348:     
        !          21349:     Removed RTA and IMPOSSIBLE tokens (unused).
        !          21350:     
        !          21351:     Removed superfluous comment in filter.h.
        !          21352:     
        !          21353:     I've tried to do my best, but Pavel, please check these changes.
        !          21354: 
        !          21355: commit 2ca3d9a8fc25be6f7d41d8a6ff50a70612c11c93
        !          21356: Author: Martin Mares <mj@ucw.cz>
        !          21357: Date:   Wed Mar 1 11:30:16 2000 +0000
        !          21358: 
        !          21359:     Defined INVALID_TOKEN which is a token guaranteed to be never generated.
        !          21360: 
        !          21361: commit d07bab399735ee80205637f8e180e7595e0c0a67
        !          21362: Author: Martin Mares <mj@ucw.cz>
        !          21363: Date:   Wed Mar 1 11:29:30 2000 +0000
        !          21364: 
        !          21365:     ipa_opposite hack is not applicable in IPv6.
        !          21366: 
        !          21367: commit ef0883a12fc699fbcef61f56fe8445f5e2ac1bb7
        !          21368: Author: Martin Mares <mj@ucw.cz>
        !          21369: Date:   Tue Feb 29 23:20:55 2000 +0000
        !          21370: 
        !          21371:     Adapted RIP to new interface flags. Pavel, please verify it's right.
        !          21372: 
        !          21373: commit 6a636392d33627944df9d5a9573932cdc0bf6da5
        !          21374: Author: Martin Mares <mj@ucw.cz>
        !          21375: Date:   Tue Feb 29 23:19:52 2000 +0000
        !          21376: 
        !          21377:     Rewrote interface type detection logic. The `unnumbered' flag is now per
        !          21378:     address, not per interface (hence it's ifa->flags & IA_UNNUMBERED) and
        !          21379:     should be set reliably. IF_MULTIACCESS should be fixed now, but it isn't
        !          21380:     wise to rely on it on interfaces configured with /30 prefix.
        !          21381: 
        !          21382: commit e69e4ed9349ee28262fe74f70e7e52c181d5d098
        !          21383: Author: Martin Mares <mj@ucw.cz>
        !          21384: Date:   Sun Feb 27 22:00:19 2000 +0000
        !          21385: 
        !          21386:     Support expansion of command abbreviations.
        !          21387:     
        !          21388:     Client considered finished (modulo bugs).
        !          21389: 
        !          21390: commit de30342f97490e3a3626c4a5fbf3352d1d0aa9c8
        !          21391: Author: Ondrej Filip <feela@network.cz>
        !          21392: Date:   Fri Feb 25 19:19:41 2000 +0000
        !          21393: 
        !          21394:     Router LSA & area adding.
        !          21395: 
        !          21396: commit b786df7035f43bb5eb4f7bca980e3bf684e527b7
        !          21397: Author: Ondrej Filip <feela@network.cz>
        !          21398: Date:   Fri Feb 25 14:26:54 2000 +0000
        !          21399: 
        !          21400:     Memory allocation in ospf_area changed.
        !          21401: 
        !          21402: commit 2d496d2028e1283384f1c9d243f96eb59c42297e
        !          21403: Author: Pavel Machek <pavel@ucw.cz>
        !          21404: Date:   Fri Feb 25 11:15:26 2000 +0000
        !          21405: 
        !          21406:     Get rid of 'ab'-s, added return to functions.
        !          21407: 
        !          21408: commit df0cf75dc849f5182d75328f4d4189a2d6048b57
        !          21409: Author: Martin Mares <mj@ucw.cz>
        !          21410: Date:   Thu Feb 24 18:46:24 2000 +0000
        !          21411: 
        !          21412:     Hmmm, libreadline 2.1 seems to be the oldest version we work with.
        !          21413: 
        !          21414: commit 1d4ba6583afa5e6d4118aca0d0a645342d575b68
        !          21415: Author: Martin Mares <mj@ucw.cz>
        !          21416: Date:   Thu Feb 24 18:43:23 2000 +0000
        !          21417: 
        !          21418:     Moan loudly if libreadline is an old version which doesn't support
        !          21419:     callbacks.
        !          21420: 
        !          21421: commit ab56f6b16fd9401565a066122be3231dccd24fb6
        !          21422: Author: Ondrej Filip <feela@network.cz>
        !          21423: Date:   Thu Feb 24 00:26:10 2000 +0000
        !          21424: 
        !          21425:     Area work and router LSA starts when interface goes up.
        !          21426: 
        !          21427: commit ea28da044af9a35407724ba091d9a823c1cfe7e7
        !          21428: Author: Ondrej Filip <feela@network.cz>
        !          21429: Date:   Wed Feb 23 23:23:19 2000 +0000
        !          21430: 
        !          21431:     Small change for debugging.
        !          21432: 
        !          21433: commit 91808fffc22e37b6d558f22db911ad0a3277d694
        !          21434: Author: Ondrej Filip <feela@network.cz>
        !          21435: Date:   Wed Feb 23 23:14:18 2000 +0000
        !          21436: 
        !          21437:     Structures for router LSA added.
        !          21438: 
        !          21439: commit 6fa948d6c5abd0620836f66c654354ce38936f3a
        !          21440: Author: Ondrej Filip <feela@network.cz>
        !          21441: Date:   Wed Feb 23 23:13:27 2000 +0000
        !          21442: 
        !          21443:     Better debugging.
        !          21444: 
        !          21445: commit e6fcf113eca687d4dd888ef41033114ec8be82b9
        !          21446: Author: Ondrej Filip <feela@network.cz>
        !          21447: Date:   Wed Feb 23 23:13:10 2000 +0000
        !          21448: 
        !          21449:     Better debuging.
        !          21450: 
        !          21451: commit fae0396ea4fd9d2530086eef77b8a11b6640d640
        !          21452: Author: Martin Mares <mj@ucw.cz>
        !          21453: Date:   Thu Feb 17 23:37:16 2000 +0000
        !          21454: 
        !          21455:     Completion works. Unfortunately, we have to access a couple of internal
        !          21456:     symbols of libreadline :-(
        !          21457: 
        !          21458: commit 0223d4fff11badc03470b4320fa9dfe28afd1bed
        !          21459: Author: Martin Mares <mj@ucw.cz>
        !          21460: Date:   Thu Feb 17 22:00:13 2000 +0000
        !          21461: 
        !          21462:     Client: Online help works (Cisco style: just press `?' at the end of a line).
        !          21463: 
        !          21464: commit c51f132d582632037b4ef064fbd32d785af245fc
        !          21465: Author: Martin Mares <mj@ucw.cz>
        !          21466: Date:   Tue Feb 15 12:18:37 2000 +0000
        !          21467: 
        !          21468:     First usable version of the client. No command completion and similar nifty
        !          21469:     features yet, but it works.
        !          21470: 
        !          21471: commit 973304bc2b274ffaa6e27612256f6cea4a3a40c1
        !          21472: Author: Martin Mares <mj@ucw.cz>
        !          21473: Date:   Mon Feb 14 17:32:50 2000 +0000
        !          21474: 
        !          21475:     Don't make dependencies in client directory if the client is not
        !          21476:     configured in.
        !          21477: 
        !          21478: commit 4bf6de87379a3458b59275373b9e88611baabb88
        !          21479: Author: Ondrej Filip <feela@network.cz>
        !          21480: Date:   Tue Feb 8 22:43:10 2000 +0000
        !          21481: 
        !          21482:     Hash table structure redesigned.
        !          21483: 
        !          21484: commit 316d7bd7d16ea7ea26831bb7100dd0ac3c63084e
        !          21485: Author: Ondrej Filip <feela@network.cz>
        !          21486: Date:   Tue Feb 8 22:13:12 2000 +0000
        !          21487: 
        !          21488:     Other LS struct added.
        !          21489: 
        !          21490: commit d3cb698053e14b3d35750d92389c34b71503bfc6
        !          21491: Author: Ondrej Filip <feela@network.cz>
        !          21492: Date:   Tue Feb 8 19:24:22 2000 +0000
        !          21493: 
        !          21494:     LSA type changed from u16 to u8.
        !          21495: 
        !          21496: commit c7b915d68c9475ba3a23c99ec7f796ec0a53978b
        !          21497: Author: Ondrej Filip <feela@network.cz>
        !          21498: Date:   Tue Feb 8 19:12:42 2000 +0000
        !          21499: 
        !          21500:     Malloc() changed to cfg_alloc().
        !          21501: 
        !          21502: commit 9a4037d40891321a2f091cb1f1003bb1ee725136
        !          21503: Author: Pavel Machek <pavel@ucw.cz>
        !          21504: Date:   Mon Jan 31 17:44:22 2000 +0000
        !          21505: 
        !          21506:     filter_same() implemented. Don't bet on it, yet.
        !          21507: 
        !          21508: commit 70844a6a46305080d7ada79936fb272beb411cf4
        !          21509: Author: Pavel Machek <pavel@ucw.cz>
        !          21510: Date:   Wed Jan 26 21:28:53 2000 +0000
        !          21511: 
        !          21512:     Updated docs about filters, and added fixme.
        !          21513: 
        !          21514: commit bd215f8bab7e0d94fa482b47ff8d5971cd5ab799
        !          21515: Author: Pavel Machek <pavel@ucw.cz>
        !          21516: Date:   Wed Jan 26 14:12:18 2000 +0000
        !          21517: 
        !          21518:     Do not send empty packets in rip.
        !          21519: 
        !          21520: commit 8660913ba83d66491caf407a7e6eb16a4eeda2d0
        !          21521: Author: Pavel Machek <pavel@ucw.cz>
        !          21522: Date:   Wed Jan 26 12:07:18 2000 +0000
        !          21523: 
        !          21524:     Output made prettier.
        !          21525: 
        !          21526: commit 7211be1cffdee84fd15e8b6b2a07a644948f1455
        !          21527: Author: Martin Mares <mj@ucw.cz>
        !          21528: Date:   Thu Jan 20 13:13:30 2000 +0000
        !          21529: 
        !          21530:     Configure, link and use the readline library.
        !          21531: 
        !          21532: commit 9fac310d1a4e46f4bcc70177e59cbf93763ef479
        !          21533: Author: Martin Mares <mj@ucw.cz>
        !          21534: Date:   Wed Jan 19 15:07:00 2000 +0000
        !          21535: 
        !          21536:     Put client on a stony ground. The whole client is going to be system-specific
        !          21537:     (the current version UNIX-specific) anyway, so it's useless to try splitting it
        !          21538:     to sysdep and generic part. Instead of this, configure script decides (based on
        !          21539:     system type and user's wish) what (if any) client should be built and what
        !          21540:     autoconfiguration it requires. Also, the client provides its own die/bug/...
        !          21541:     functions.
        !          21542: 
        !          21543: commit f50b9e48b93e3f69423a0e6e5fef273ba2022958
        !          21544: Author: Martin Mares <mj@ucw.cz>
        !          21545: Date:   Wed Jan 19 14:37:56 2000 +0000
        !          21546: 
        !          21547:     Generate a list of all commands and their help texts for the client to use.
        !          21548: 
        !          21549: commit 4b87e256eba51a8711c24fbae501ac7975b4ecd3
        !          21550: Author: Martin Mares <mj@ucw.cz>
        !          21551: Date:   Wed Jan 19 12:30:19 2000 +0000
        !          21552: 
        !          21553:     Split off general commands to cmds.c.
        !          21554:     
        !          21555:     Added `show symbols' command which dumps whole symbol table together
        !          21556:     with symbol types etc.
        !          21557: 
        !          21558: commit f5ad9f87a389c1167a8468d0190bcf6d3cc33cf6
        !          21559: Author: Martin Mares <mj@ucw.cz>
        !          21560: Date:   Wed Jan 19 11:52:32 2000 +0000
        !          21561: 
        !          21562:     Killed a couple of bugs in the neighbor cache.
        !          21563:     
        !          21564:     Manual disable/enable/restart/shutdown/reconfiguration of protocols
        !          21565:     no longer hangs on loops in neighbor lists :)
        !          21566: 
        !          21567: commit 3ea1ba632b3cdb5005a9339fd5e74d5f93631a48
        !          21568: Author: Martin Mares <mj@ucw.cz>
        !          21569: Date:   Tue Jan 18 11:01:03 2000 +0000
        !          21570: 
        !          21571:     Killed protocol->priority. Protocol startup should be clean and hack-free now.
        !          21572:     It seems everything still works (except for disable/enable/restart which hangs
        !          21573:     sometimes, but it's another story).
        !          21574: 
        !          21575: commit 54aaa89ada2d048c64a5afd58844bc395b1a3cfe
        !          21576: Author: Martin Mares <mj@ucw.cz>
        !          21577: Date:   Tue Jan 18 10:42:45 2000 +0000
        !          21578: 
        !          21579:     protocol->startup_counter no longer exists.
        !          21580: 
        !          21581: commit aa8761de9471dbe28149d990bdbc851c744f4e2b
        !          21582: Author: Martin Mares <mj@ucw.cz>
        !          21583: Date:   Tue Jan 18 10:39:30 2000 +0000
        !          21584: 
        !          21585:     Kernel route syncer now supports dynamic reconfiguration. Also it doesn't
        !          21586:     depend on the startup counter hack now and uses a zero-time timer instead
        !          21587:     to make itself scheduled after normal protocol startup.
        !          21588: 
        !          21589: commit fb89b1a4ced5f3d847ecbc1d4b86a0cb47564ef7
        !          21590: Author: Martin Mares <mj@ucw.cz>
        !          21591: Date:   Mon Jan 17 12:40:00 2000 +0000
        !          21592: 
        !          21593:     Removed point-to-point tunnel hack as it breaks ordinary PtP interfaces.
        !          21594:     I'll find a better solution soon.
        !          21595: 
        !          21596: commit 295ae16d4ddf4b714e716a0a1537f40c54f1119c
        !          21597: Author: Martin Mares <mj@ucw.cz>
        !          21598: Date:   Mon Jan 17 12:38:50 2000 +0000
        !          21599: 
        !          21600:     Static protocol supports full dynamic reconfiguration.
        !          21601: 
        !          21602: commit 471cc0be651a8db7068a65963ecfd4cc45f97ab1
        !          21603: Author: Martin Mares <mj@ucw.cz>
        !          21604: Date:   Mon Jan 17 12:38:07 2000 +0000
        !          21605: 
        !          21606:     Moved initlialization of protocol lists to global init. Argh.
        !          21607: 
        !          21608: commit d272fe22dddcb5c293d6aac18d36e3e3e66406a5
        !          21609: Author: Martin Mares <mj@ucw.cz>
        !          21610: Date:   Mon Jan 17 11:52:50 2000 +0000
        !          21611: 
        !          21612:     Separated `official protocol names' used in status dumps from name templates
        !          21613:     used for automatic generation of instance names.
        !          21614:     
        !          21615:        protocol->name is the official name
        !          21616:        protocol->template is the name template (usually "name%d"),
        !          21617:                should be all lowercase.
        !          21618:     
        !          21619:     Updated all protocols to define the templates, checked that their configuration
        !          21620:     grammar includes proto_name which generates the name and interns it in the
        !          21621:     symbol table.
        !          21622: 
        !          21623: commit f7fcb752520759ab3aed274ca608e8e6f96665c8
        !          21624: Author: Martin Mares <mj@ucw.cz>
        !          21625: Date:   Mon Jan 17 11:17:33 2000 +0000
        !          21626: 
        !          21627:     Reconfiguration for device protocol.
        !          21628: 
        !          21629: commit 0ec90e9fc6f6bec2d0b64f6b9711a6d3edb4bd52
        !          21630: Author: Martin Mares <mj@ucw.cz>
        !          21631: Date:   Mon Jan 17 00:20:45 2000 +0000
        !          21632: 
        !          21633:     Pipe protocol supports reconfiguration.
        !          21634: 
        !          21635: commit 88dc89f9918f524d9ca143d409c261a4a8230555
        !          21636: Author: Martin Mares <mj@ucw.cz>
        !          21637: Date:   Mon Jan 17 00:20:17 2000 +0000
        !          21638: 
        !          21639:     Device protocol supports reconfiguration.
        !          21640: 
        !          21641: commit 26368f656c2398acc4d3ed55879d2f371cecf75b
        !          21642: Author: Martin Mares <mj@ucw.cz>
        !          21643: Date:   Mon Jan 17 00:19:58 2000 +0000
        !          21644: 
        !          21645:     Don't forget changing proto->name to point to name in new configuration
        !          21646:     (to avoid the name being freed with the old config).
        !          21647:     
        !          21648:     Also remember to add proto_pipe to protocol_list.
        !          21649: 
        !          21650: commit ca0edc53956ecd493055ba1625754ee75d58a9c7
        !          21651: Author: Martin Mares <mj@ucw.cz>
        !          21652: Date:   Sun Jan 16 23:36:53 2000 +0000
        !          21653: 
        !          21654:     When a quoted string is encountered, don't forget to copy it to the
        !          21655:     config pool before passing it to the parser.
        !          21656: 
        !          21657: commit 99278e10421a2e6703e77f91e6ef436eaf660405
        !          21658: Author: Martin Mares <mj@ucw.cz>
        !          21659: Date:   Sun Jan 16 23:36:19 2000 +0000
        !          21660: 
        !          21661:     Wording changes.
        !          21662: 
        !          21663: commit f14a4becbe77cfb3c2e4243d6fc383b0acd8956f
        !          21664: Author: Martin Mares <mj@ucw.cz>
        !          21665: Date:   Sun Jan 16 23:30:06 2000 +0000
        !          21666: 
        !          21667:     Reworked proto lists -- each proto is now in two lists: the global one
        !          21668:     (proto_list) and per-type one (original lists). A lot of things simplified.
        !          21669:     
        !          21670:     Implemented `disable', `enable' and `restart' CLI commands.
        !          21671: 
        !          21672: commit 30a6108cccac93048440113211df2eed1fb541b1
        !          21673: Author: Martin Mares <mj@ucw.cz>
        !          21674: Date:   Sun Jan 16 17:49:32 2000 +0000
        !          21675: 
        !          21676:     Added filter_same() for comparision of two filters.
        !          21677:     
        !          21678:     Pavel, please implement this as soon as possible.
        !          21679: 
        !          21680: commit bf8558bc9cab35f31bccd6a55e51f121370765c4
        !          21681: Author: Martin Mares <mj@ucw.cz>
        !          21682: Date:   Sun Jan 16 17:40:26 2000 +0000
        !          21683: 
        !          21684:     Converted shutdown to a kind of reconfiguration, it's no more handled
        !          21685:     as a exception in protocol state machines. Introduced a `shutdown'
        !          21686:     CLI command. Killed few reconfiguration bugs.
        !          21687: 
        !          21688: commit ebc793a5f552bb676014f771d81c074b7dd4345d
        !          21689: Author: Martin Mares <mj@ucw.cz>
        !          21690: Date:   Sun Jan 16 17:39:16 2000 +0000
        !          21691: 
        !          21692:     No more problems when events get scheduled during event processing.
        !          21693: 
        !          21694: commit 50fe90edf3deab409ea7887c131bfe6ce89fa556
        !          21695: Author: Martin Mares <mj@ucw.cz>
        !          21696: Date:   Sun Jan 16 16:44:50 2000 +0000
        !          21697: 
        !          21698:     First attempt on dynamic reconfiguration. There are still lots of bugs
        !          21699:     and problems to solve, but the hardest part works.
        !          21700: 
        !          21701: commit 394aec8fdd112a81da1e2f6f0e09ee74256dc24e
        !          21702: Author: Martin Mares <mj@ucw.cz>
        !          21703: Date:   Sun Jan 16 16:40:57 2000 +0000
        !          21704: 
        !          21705:     Don't forget to set proto->min_scope = SCOPE_HOST.
        !          21706: 
        !          21707: commit 150875747813977ddf12474fa10a771090586402
        !          21708: Author: Ondrej Filip <feela@network.cz>
        !          21709: Date:   Wed Jan 5 00:03:47 2000 +0000
        !          21710: 
        !          21711:     Preparing for building LS databaze. Huh, why is it so complicated? :-(
        !          21712:     
        !          21713:     Adding definition of some constants.
        !          21714: 
        !          21715: commit 7a7c1d9f34b95263d3bc100dec6cf3b94f1a9802
        !          21716: Author: Pavel Machek <pavel@ucw.cz>
        !          21717: Date:   Mon Dec 20 19:14:06 1999 +0000
        !          21718: 
        !          21719:     Few more entries for bird documentation
        !          21720: 
        !          21721: commit c8c0f62444a048e9d0986463ee1bfcdfc06df7c8
        !          21722: Author: Pavel Machek <pavel@ucw.cz>
        !          21723: Date:   Sat Dec 18 20:41:19 1999 +0000
        !          21724: 
        !          21725:     This is first version of documentation. Be sure to take a close look
        !          21726:     at it, and it would be very nice if you wrote at least introductions
        !          21727:     to your chapters...
        !          21728: 
        !          21729: commit 60d7d10e6f19483545760f2241312758dd72a2ad
        !          21730: Author: Pavel Machek <pavel@ucw.cz>
        !          21731: Date:   Sat Dec 18 20:39:53 1999 +0000
        !          21732: 
        !          21733:     Added fixme.
        !          21734: 
        !          21735: commit 476e10842503b51331a7994b6e25c91b20eb8e71
        !          21736: Author: Martin Mares <mj@ucw.cz>
        !          21737: Date:   Thu Dec 16 13:51:43 1999 +0000
        !          21738: 
        !          21739:     Minor cleanups.
        !          21740: 
        !          21741: commit e693ddff874890a9e5c990f6ca75d2e2358d065a
        !          21742: Author: Martin Mares <mj@ucw.cz>
        !          21743: Date:   Thu Dec 16 13:23:32 1999 +0000
        !          21744: 
        !          21745:     Handle cases when SIOCGIFINDEX is defined, but doesn't work (new glibc
        !          21746:     with 2.0 kernels).
        !          21747: 
        !          21748: commit 3f996d46df3cf1bdbefe0b0b0f5245c76b12756b
        !          21749: Author: Martin Mares <mj@ucw.cz>
        !          21750: Date:   Thu Dec 16 13:14:32 1999 +0000
        !          21751: 
        !          21752:     Added missing semicolon.
        !          21753:     
        !          21754:     rip.h compiles in IPv6 mode, rip.c still doesn't.
        !          21755: 
        !          21756: commit a2867cd957c9282d47440a1f42a6b823f5c9e4b2
        !          21757: Author: Martin Mares <mj@ucw.cz>
        !          21758: Date:   Thu Dec 16 13:14:02 1999 +0000
        !          21759: 
        !          21760:     Better order of includes.
        !          21761:     
        !          21762:     set_inaddr() moved to sysio.h.
        !          21763: 
        !          21764: commit 12a9d139eecea7e7fb5e73e82a2531c70894d4c8
        !          21765: Author: Martin Mares <mj@ucw.cz>
        !          21766: Date:   Thu Dec 16 13:13:22 1999 +0000
        !          21767: 
        !          21768:     ipv6_compare() accepts non-lvalue arguments as well. This makes filters
        !          21769:     compile with IPv6.
        !          21770: 
        !          21771: commit 67ece6df42b20ecc524cf3e5c14e8b541afec860
        !          21772: Author: Martin Mares <mj@ucw.cz>
        !          21773: Date:   Thu Dec 16 13:06:13 1999 +0000
        !          21774: 
        !          21775:     Tried to clean up multicast handling. Now we don't try to guess
        !          21776:     multicast abilities depending on definedness of symbols and use hard-wired
        !          21777:     system-dependent configuration defines instead.
        !          21778:     
        !          21779:     Please test whereever you can.
        !          21780: 
        !          21781: commit ccdc33975648647270bf33511ec5bbab4d634634
        !          21782: Author: Martin Mares <mj@ucw.cz>
        !          21783: Date:   Thu Dec 16 12:59:09 1999 +0000
        !          21784: 
        !          21785:     Avoid touching F_MODIFY, it no longer exists.
        !          21786: 
        !          21787: commit 6aea8905c4f0c2b0da6061b445894496e473145d
        !          21788: Author: Martin Mares <mj@ucw.cz>
        !          21789: Date:   Thu Dec 16 12:18:33 1999 +0000
        !          21790: 
        !          21791:     TODO entries and FIXME's.
        !          21792: 
        !          21793: commit d46ffc97ffc9ae753f999614bb69033b1f44df6d
        !          21794: Author: Martin Mares <mj@ucw.cz>
        !          21795: Date:   Thu Dec 16 12:18:19 1999 +0000
        !          21796: 
        !          21797:     Kicked off F_MODIFY (not generated nor used)
        !          21798: 
        !          21799: commit f545d38707bf01aa9db3915d782a547f89f92c1d
        !          21800: Author: Martin Mares <mj@ucw.cz>
        !          21801: Date:   Thu Dec 9 18:54:20 1999 +0000
        !          21802: 
        !          21803:     Added universal locking mechanism which will solve problems
        !          21804:     with protocols wanting to use the same port on the same interface
        !          21805:     during reconfiguration time.
        !          21806:     
        !          21807:     How to use locks: In the if_notify hook, just order locks for the
        !          21808:     interfaces you want to work with and do the real socket opening after the
        !          21809:     lock hook function gets called. When you stop using the socket, close
        !          21810:     it and rfree() the lock.
        !          21811:     
        !          21812:     Please update your protocols to use the new locking mechanism.
        !          21813: 
        !          21814: commit 30bc402ebb324749f9468f8ff196545bb0a58442
        !          21815: Author: Martin Mares <mj@ucw.cz>
        !          21816: Date:   Wed Dec 8 15:12:54 1999 +0000
        !          21817: 
        !          21818:     Temporary work-arounds for multicast problems. Needs further investigation.
        !          21819: 
        !          21820: commit 0da472d7e867e31c49fccc4ee45df3ef47c29c9b
        !          21821: Author: Martin Mares <mj@ucw.cz>
        !          21822: Date:   Wed Dec 8 14:16:13 1999 +0000
        !          21823: 
        !          21824:     Except for special protocols (nowadays only the kernel syncer), don't
        !          21825:     export host and link scope routes.
        !          21826: 
        !          21827: commit dff1f5791794102e4e6880516545145c5036873f
        !          21828: Author: Pavel Machek <pavel@ucw.cz>
        !          21829: Date:   Wed Dec 8 13:33:44 1999 +0000
        !          21830: 
        !          21831:     Added hooks for show route.
        !          21832:     Fixed passing metrics around routing tables.
        !          21833: 
        !          21834: commit dc82daaa9b0d88dca8684a7a766b253853ee7023
        !          21835: Author: Martin Mares <mj@ucw.cz>
        !          21836: Date:   Wed Dec 8 13:20:19 1999 +0000
        !          21837: 
        !          21838:     - Path to control socket is selectable via command-line option.
        !          21839:     - die() when control socket open failed.
        !          21840: 
        !          21841: commit 4d4de35f002e3d7a780462b834f01eeb0f70239a
        !          21842: Author: Pavel Machek <pavel@ucw.cz>
        !          21843: Date:   Wed Dec 8 12:51:45 1999 +0000
        !          21844: 
        !          21845:     Fix timing and fix endianity in metrics.
        !          21846: 
        !          21847: commit 2e18b87dcf5d4029d11bc46b37d601aae4f97174
        !          21848: Author: Pavel Machek <pavel@ucw.cz>
        !          21849: Date:   Wed Dec 8 12:51:26 1999 +0000
        !          21850: 
        !          21851:     Disallow rta.net syntax.
        !          21852: 
        !          21853: commit 3df563fa4c3c0acca181ce09dbb05452720e90e8
        !          21854: Author: Pavel Machek <pavel@ucw.cz>
        !          21855: Date:   Wed Dec 8 12:51:15 1999 +0000
        !          21856: 
        !          21857:     Put rip options into config file.
        !          21858: 
        !          21859: commit 9b47eb8530263b5ebd4a41f9ef3dab982775fc44
        !          21860: Author: Pavel Machek <pavel@ucw.cz>
        !          21861: Date:   Wed Dec 8 12:50:57 1999 +0000
        !          21862: 
        !          21863:     Make bird.conf that does not crash machine when you run bird as root.
        !          21864: 
        !          21865: commit 6c14255dd666c362f19f193a41a31f66310a34ea
        !          21866: Author: Pavel Machek <pavel@ucw.cz>
        !          21867: Date:   Wed Dec 8 10:15:51 1999 +0000
        !          21868: 
        !          21869:     Make rta. syntax optional.
        !          21870: 
        !          21871: commit febe526303996d48a667cd077f5703ca91f43219
        !          21872: Author: Pavel Machek <pavel@ucw.cz>
        !          21873: Date:   Wed Dec 8 10:15:40 1999 +0000
        !          21874: 
        !          21875:     Separated bird.conf and bird.conf for testing filters.
        !          21876: 
        !          21877: commit f78056fb2cf4554d5dcc50b5e0e79bc09ae825cf
        !          21878: Author: Martin Mares <mj@ucw.cz>
        !          21879: Date:   Mon Dec 6 13:51:04 1999 +0000
        !          21880: 
        !          21881:     Allow logging to stderr as well.
        !          21882: 
        !          21883: commit 4ab5331c6370ba83dc7b228f9a94ccc1c64a973e
        !          21884: Author: Martin Mares <mj@ucw.cz>
        !          21885: Date:   Mon Dec 6 13:50:50 1999 +0000
        !          21886: 
        !          21887:     Added type `g' for void (general) pointer.
        !          21888: 
        !          21889: commit a0c37b45e59f024fc24b65ffbaf2c9e0f1996938
        !          21890: Author: Martin Mares <mj@ucw.cz>
        !          21891: Date:   Mon Dec 6 13:45:56 1999 +0000
        !          21892: 
        !          21893:     Logging is now configurable. You can define multiple log outputs (to both
        !          21894:     files and syslog) and assign lists of message categories to each of them.
        !          21895: 
        !          21896: commit 7c0cc76ed76100ef8492f13eeec1e061d52b9be0
        !          21897: Author: Martin Mares <mj@ucw.cz>
        !          21898: Date:   Mon Dec 6 13:44:45 1999 +0000
        !          21899: 
        !          21900:     Moved initialization of protocol list to proto.c.
        !          21901:     
        !          21902:     Added sysdep configuration hooks.
        !          21903: 
        !          21904: commit a9c986f98116fef5c35d956e7a867be0735f3268
        !          21905: Author: Martin Mares <mj@ucw.cz>
        !          21906: Date:   Mon Dec 6 13:43:47 1999 +0000
        !          21907: 
        !          21908:     Added tracked_fopen() which is a fopen registered in resource database.
        !          21909:     Will be used for log files.
        !          21910: 
        !          21911: commit 34350a52700955d50895058d01b5407aea970e9b
        !          21912: Author: Martin Mares <mj@ucw.cz>
        !          21913: Date:   Mon Dec 6 12:34:45 1999 +0000
        !          21914: 
        !          21915:     Implemented echoing of log messages to CLI connections. Just try `echo all'.
        !          21916: 
        !          21917: commit f3792601dfe85c3017c984a6de5722d0e9da8a16
        !          21918: Author: Martin Mares <mj@ucw.cz>
        !          21919: Date:   Sat Dec 4 23:28:56 1999 +0000
        !          21920: 
        !          21921:     Don't forget to send an OK reply after dumping debug information.
        !          21922: 
        !          21923: commit 305a01f57bd97906000c36bb154d63bc90012ef7
        !          21924: Author: Martin Mares <mj@ucw.cz>
        !          21925: Date:   Sat Dec 4 23:17:29 1999 +0000
        !          21926: 
        !          21927:     Added DEBUG commands.
        !          21928:     
        !          21929:     Removed CLI tests, real commands now serve as much better examples.
        !          21930: 
        !          21931: commit feed82267663c6826da896309de180417bd0b39f
        !          21932: Author: Martin Mares <mj@ucw.cz>
        !          21933: Date:   Fri Dec 3 11:41:23 1999 +0000
        !          21934: 
        !          21935:     Implemented `show static'. It's a relatively good example of how to write
        !          21936:     show commands for other protocols.
        !          21937: 
        !          21938: commit 02c1fbddd462fecc6887a44ef67202870bcae7be
        !          21939: Author: Martin Mares <mj@ucw.cz>
        !          21940: Date:   Fri Dec 3 11:40:45 1999 +0000
        !          21941: 
        !          21942:     Added proto_get_named() to be used in CLI commands to get protocol instance
        !          21943:     of a given protocol with optionally given name. See `show static' for an
        !          21944:     example.
        !          21945: 
        !          21946: commit 28e01f85c65c536837227829f645818dfa6a2652
        !          21947: Author: Martin Mares <mj@ucw.cz>
        !          21948: Date:   Fri Dec 3 11:10:50 1999 +0000
        !          21949: 
        !          21950:     Renamed SHOW PROTOCOLS VERBOSE to SHOW PROTOCOLS ALL to be consistent
        !          21951:     with the other commands.
        !          21952: 
        !          21953: commit 430da60fa29196cf8715e09e1d81c7ea0b672f05
        !          21954: Author: Martin Mares <mj@ucw.cz>
        !          21955: Date:   Thu Dec 2 14:04:44 1999 +0000
        !          21956: 
        !          21957:     Implemented `show route where <condition>' command.
        !          21958:     
        !          21959:     Pavel, please check my addition to filter/config.Y.
        !          21960: 
        !          21961: commit f2c6c80a2422b87a2947b7324ad14309198d64a4
        !          21962: Author: Martin Mares <mj@ucw.cz>
        !          21963: Date:   Thu Dec 2 14:03:25 1999 +0000
        !          21964: 
        !          21965:     I tried to turn on the YYERROR_VERBOSE switch, but bison is buggy as hell,
        !          21966:     so it doesn't even compile. Turned it again off and added a comment on it.
        !          21967: 
        !          21968: commit efe51e38632dd7875af6789536be9ccfefd758c9
        !          21969: Author: Martin Mares <mj@ucw.cz>
        !          21970: Date:   Thu Dec 2 12:04:39 1999 +0000
        !          21971: 
        !          21972:     Avoid `default rule can be matched' warning in CLI state.
        !          21973: 
        !          21974: commit 9c3726afd2edabf42f11f21cf787061db6c5a33a
        !          21975: Author: Martin Mares <mj@ucw.cz>
        !          21976: Date:   Wed Dec 1 15:17:24 1999 +0000
        !          21977: 
        !          21978:     Updated TODO file.
        !          21979: 
        !          21980: commit 730f2e2c8c29b3461caa096fa514cbf71f84e51b
        !          21981: Author: Martin Mares <mj@ucw.cz>
        !          21982: Date:   Wed Dec 1 15:10:21 1999 +0000
        !          21983: 
        !          21984:     Added dumping of routing tables (`show route'). This includes filtering.
        !          21985: 
        !          21986: commit 04a60c689aeb10fafa9919bcff5f8391e0f3a158
        !          21987: Author: Martin Mares <mj@ucw.cz>
        !          21988: Date:   Wed Dec 1 15:08:32 1999 +0000
        !          21989: 
        !          21990:     Added get_route_info and show_route_data hooks to struct protocol.
        !          21991:     Please implement them.
        !          21992: 
        !          21993: commit f611f0ee824a6b363dc675e8f6ac963f20e7d007
        !          21994: Author: Martin Mares <mj@ucw.cz>
        !          21995: Date:   Wed Dec 1 15:07:56 1999 +0000
        !          21996: 
        !          21997:     Reset temporary parser data before parsing, not afterwards. This enables
        !          21998:     deferred CLI command handlers to store their temporary data in the CLI
        !          21999:     parsing pool.
        !          22000: 
        !          22001: commit 2ad6dcdb2c949904643eabbbf6d0029045e8ea45
        !          22002: Author: Martin Mares <mj@ucw.cz>
        !          22003: Date:   Wed Dec 1 15:07:06 1999 +0000
        !          22004: 
        !          22005:     Make ACCEPT/REJECT actually return the result...
        !          22006: 
        !          22007: commit e7f76bae8ccfe405ce3032aaa3a5e9228e5feb98
        !          22008: Author: Pavel Machek <pavel@ucw.cz>
        !          22009: Date:   Wed Dec 1 13:44:42 1999 +0000
        !          22010: 
        !          22011:     Stupid bug (essentially while(1) loop) occuring sometimes during start
        !          22012:     of bird fixed.
        !          22013: 
        !          22014: commit 7e1f99719e01af86006bc5c9b9a472516ec85a2c
        !          22015: Author: Pavel Machek <pavel@ucw.cz>
        !          22016: Date:   Wed Dec 1 12:54:23 1999 +0000
        !          22017: 
        !          22018:     accept should behave as return, not running any commands after it.
        !          22019: 
        !          22020: commit 639e62855495fcf461c177373d8f5eb0d5d87332
        !          22021: Author: Pavel Machek <pavel@ucw.cz>
        !          22022: Date:   Wed Dec 1 12:52:57 1999 +0000
        !          22023: 
        !          22024:     Actually check sequence numbers.
        !          22025: 
        !          22026: commit 3daf783f95790682025ef03ac5b2f486943e6214
        !          22027: Author: Martin Mares <mj@ucw.cz>
        !          22028: Date:   Wed Dec 1 12:01:41 1999 +0000
        !          22029: 
        !          22030:     Implemented get_status for the pipe protocol (reports name of the other
        !          22031:     side of the pipe).
        !          22032:     
        !          22033:     Please do so for your protocols as well.
        !          22034: 
        !          22035: commit 9685deb910c9e7400915209c1924e100b1feb5d5
        !          22036: Author: Martin Mares <mj@ucw.cz>
        !          22037: Date:   Wed Dec 1 12:00:15 1999 +0000
        !          22038: 
        !          22039:     `show protocols' now shows time of last state change and protocol-dependent
        !          22040:     status information (obtained via newly introduced hook protocol->get_status).
        !          22041: 
        !          22042: commit 5954dcfab74c8d8a2774f259c9940c1d87e76518
        !          22043: Author: Martin Mares <mj@ucw.cz>
        !          22044: Date:   Wed Dec 1 11:59:24 1999 +0000
        !          22045: 
        !          22046:     Introduced new protocol-dependent integer field `aux' to struct neighbor.
        !          22047: 
        !          22048: commit afa8937ac8433a7cb430a14f7613e8d0555f1149
        !          22049: Author: Martin Mares <mj@ucw.cz>
        !          22050: Date:   Wed Dec 1 11:59:00 1999 +0000
        !          22051: 
        !          22052:     Added tm_format_reltime() for formatting of relative time quantities.
        !          22053: 
        !          22054: commit 6781e5213b3c910317a68aaee7ee53e81ee93948
        !          22055: Author: Pavel Machek <pavel@ucw.cz>
        !          22056: Date:   Wed Dec 1 11:39:58 1999 +0000
        !          22057: 
        !          22058:     FIXME's cleaned up: I have actually fixed things without killing
        !          22059:     comments.
        !          22060:     
        !          22061:     There are no urgent FIXME's in filters. Perhaps we should start with
        !          22062:     documentation?
        !          22063: 
        !          22064: commit f2ed663aea02ac38621ecfe91cd1f37f4a56dc4d
        !          22065: Author: Martin Mares <mj@ucw.cz>
        !          22066: Date:   Wed Dec 1 10:28:39 1999 +0000
        !          22067: 
        !          22068:     Use linux-22 configuration with all 2.2.x and 2.3.x kernels. This means
        !          22069:     you need to have your kernel compiled with netlink routing messages enabled.
        !          22070:     If it doesn't work for you, use --with-sysconfig=linux-21 and let me know
        !          22071:     what's going wrong.
        !          22072: 
        !          22073: commit 1d2664a4d4455470e0b6c7fc50d232283e39e1e0
        !          22074: Author: Martin Mares <mj@ucw.cz>
        !          22075: Date:   Tue Nov 30 14:04:09 1999 +0000
        !          22076: 
        !          22077:     Remember protocol instance in proto_config and use that for
        !          22078:     `show protocols <name>'.
        !          22079: 
        !          22080: commit c9aae7f47fd7ad71b80cbc86c01a26c504ba08d0
        !          22081: Author: Martin Mares <mj@ucw.cz>
        !          22082: Date:   Tue Nov 30 14:03:36 1999 +0000
        !          22083: 
        !          22084:     Lexer supports fallback symbol tables and uses them to recognize
        !          22085:     symbols from global config when parsing CLI commands.
        !          22086:     
        !          22087:     cf_lex_init_tables() is now called automatically inside the lexer.
        !          22088: 
        !          22089: commit f0474f207061151183bb85d59f09422e7bb7e2ee
        !          22090: Author: Martin Mares <mj@ucw.cz>
        !          22091: Date:   Tue Nov 30 14:02:27 1999 +0000
        !          22092: 
        !          22093:     Use TIME_INFINITY for initialization of password entries instead
        !          22094:     of 2000000000 (BTW who wrote that???)
        !          22095: 
        !          22096: commit 487d1afa523706d8b0caec63492f4a2b6cef3bce
        !          22097: Author: Martin Mares <mj@ucw.cz>
        !          22098: Date:   Tue Nov 30 14:01:39 1999 +0000
        !          22099: 
        !          22100:     Moved TIME_INFINITY to timer.h, so that it's publicly available.
        !          22101: 
        !          22102: commit 0d3e6bceeeec4ebf007e02374f799cd1fb21f20c
        !          22103: Author: Martin Mares <mj@ucw.cz>
        !          22104: Date:   Tue Nov 30 12:57:14 1999 +0000
        !          22105: 
        !          22106:     `show interfaces' and `show protocols' works.
        !          22107: 
        !          22108: commit 10b5baaef32076369b06b4318cc61e6fa11e5493
        !          22109: Author: Martin Mares <mj@ucw.cz>
        !          22110: Date:   Tue Nov 30 12:56:52 1999 +0000
        !          22111: 
        !          22112:     Don't use continuation shortcuts until real client is written.
        !          22113: 
        !          22114: commit 163b2073465b1d2f90d23832456e79463fdec308
        !          22115: Author: Ondrej Filip <feela@network.cz>
        !          22116: Date:   Tue Nov 30 10:35:26 1999 +0000
        !          22117: 
        !          22118:     Inicialisation of Topology Graph (TG).
        !          22119: 
        !          22120: commit ae97b946e99bef043613d210489a926fe4807ec1
        !          22121: Author: Martin Mares <mj@ucw.cz>
        !          22122: Date:   Thu Nov 25 15:35:30 1999 +0000
        !          22123: 
        !          22124:     Added few basic commands: show status, show interfaces [summary],
        !          22125:     show protocols (incomplete).
        !          22126: 
        !          22127: commit 35793769273f7286aafa0455547d1d7cfeef3931
        !          22128: Author: Martin Mares <mj@ucw.cz>
        !          22129: Date:   Thu Nov 25 15:34:51 1999 +0000
        !          22130: 
        !          22131:     cli_msg() moved to cli.h, so that it can be used outside the parser.
        !          22132: 
        !          22133: commit ea32afb765381e642a525409a8f6cdff99aa0225
        !          22134: Author: Martin Mares <mj@ucw.cz>
        !          22135: Date:   Thu Nov 25 15:34:20 1999 +0000
        !          22136: 
        !          22137:     Added ip_scope_text() for translating of scopes to strings.
        !          22138: 
        !          22139: commit 1a509a6310cb2a5211bf3ac9fd963f06d9109cb1
        !          22140: Author: Pavel Machek <pavel@ucw.cz>
        !          22141: Date:   Thu Nov 25 15:03:12 1999 +0000
        !          22142: 
        !          22143:     md5 authentication seems to work.
        !          22144: 
        !          22145: commit d3702d57fd5357e9a11ada6c46769a79da8e547a
        !          22146: Author: Pavel Machek <pavel@ucw.cz>
        !          22147: Date:   Thu Nov 25 14:54:08 1999 +0000
        !          22148: 
        !          22149:     Bugfixes: select right password for password authentication, do not
        !          22150:     try to process authentication blocks as datablocks, make it possible
        !          22151:     to add data at end of packet. Password authentication should actually work.
        !          22152: 
        !          22153: commit 4aa885a53c479c774aab5befe55a1714b89cdc9e
        !          22154: Author: Pavel Machek <pavel@ucw.cz>
        !          22155: Date:   Thu Nov 25 13:42:49 1999 +0000
        !          22156: 
        !          22157:     Filters: fix rta access to use ->aux field.
        !          22158: 
        !          22159: commit 7e61cac325aae2628d668673f60853608e072e66
        !          22160: Author: Pavel Machek <pavel@ucw.cz>
        !          22161: Date:   Thu Nov 25 13:38:25 1999 +0000
        !          22162: 
        !          22163:     Triggered updates should now actually work. Fixed metric=16 -> time it
        !          22164:     out logic.
        !          22165: 
        !          22166: commit 774f149959030b66faca7a97dfb4d1703a84e0d7
        !          22167: Author: Pavel Machek <pavel@ucw.cz>
        !          22168: Date:   Thu Nov 25 12:01:45 1999 +0000
        !          22169: 
        !          22170:     Fix timeouts. Triggered updates are not done, yet.
        !          22171: 
        !          22172: commit 455ca441d99184e1514415bd7acb25f82d01366e
        !          22173: Author: Pavel Machek <pavel@ucw.cz>
        !          22174: Date:   Wed Nov 24 12:16:31 1999 +0000
        !          22175: 
        !          22176:     Check that prefixes are really prefixes + fix config file to
        !          22177:     comply. (:-( 1.2.3.4/8 looks nicer than 1.0.0.0/8).
        !          22178: 
        !          22179: commit 8f013d9ca443d4ff39af7560039f108efa9ef474
        !          22180: Author: Pavel Machek <pavel@ucw.cz>
        !          22181: Date:   Wed Nov 24 12:09:58 1999 +0000
        !          22182: 
        !          22183:     Sorry, previous commit did not even compile.
        !          22184: 
        !          22185: commit 48f9e0195488db0a515e4e5140d402fe4fe7d927
        !          22186: Author: Pavel Machek <pavel@ucw.cz>
        !          22187: Date:   Wed Nov 24 12:04:32 1999 +0000
        !          22188: 
        !          22189:     Filters: write access to dynamic attributes should actually work. It
        !          22190:     would be nice to find method of testing such beasts.
        !          22191: 
        !          22192: commit 99bbd23b229419403f673c626001eb0f35cc3a4e
        !          22193: Author: Martin Mares <mj@ucw.cz>
        !          22194: Date:   Thu Nov 18 14:41:43 1999 +0000
        !          22195: 
        !          22196:     More CLI plans...
        !          22197: 
        !          22198: commit 8d24b6899d0aba52fef8c48921ce4d1481ee212c
        !          22199: Author: Martin Mares <mj@ucw.cz>
        !          22200: Date:   Thu Nov 18 14:41:29 1999 +0000
        !          22201: 
        !          22202:     Allow EA type to be set to 'undefined' which overrides all further definitons
        !          22203:     of that EA in the same list and causes ea_find() to fail unless you add
        !          22204:     EA_ALLOW_UNDEF to the second argument.
        !          22205:     
        !          22206:     ea_sort (resp. ea_do_prune()) removes all undef'd attributes from the list.
        !          22207:     
        !          22208:     I hope this works :)
        !          22209: 
        !          22210: commit f31156ca217226ad110cc46e6365d70e64c527e0
        !          22211: Author: Pavel Machek <pavel@ucw.cz>
        !          22212: Date:   Thu Nov 18 14:29:10 1999 +0000
        !          22213: 
        !          22214:     Filters: first parts of extended attributes being read-write. It can
        !          22215:     not actually work since I do not do rta/rte cow, yet.
        !          22216: 
        !          22217: commit c7b43f33ae8d583ead531d76ed81f1b5deb507f3
        !          22218: Author: Pavel Machek <pavel@ucw.cz>
        !          22219: Date:   Thu Nov 18 14:01:36 1999 +0000
        !          22220: 
        !          22221:     Split inst->code into inst->code and inst->aux. Both are only 16 bit,
        !          22222:     so aux is suitable for storing type but not much more.
        !          22223: 
        !          22224: commit da40b6f753f4dd48dbcaebbe6174decb28705ab8
        !          22225: Author: Martin Mares <mj@ucw.cz>
        !          22226: Date:   Thu Nov 18 13:42:51 1999 +0000
        !          22227: 
        !          22228:     DEF_PREF_UKR and DEF_PREF_SINK removed.
        !          22229: 
        !          22230: commit 346a12c2109b99d907e7ebeb3560992e92a6c26b
        !          22231: Author: Pavel Machek <pavel@ucw.cz>
        !          22232: Date:   Thu Nov 18 13:21:52 1999 +0000
        !          22233: 
        !          22234:     You can now print enum.
        !          22235: 
        !          22236: commit 4364b47e48ddedb841e8ec8db25c8b4fa878a911
        !          22237: Author: Ondrej Filip <feela@network.cz>
        !          22238: Date:   Wed Nov 17 15:50:41 1999 +0000
        !          22239: 
        !          22240:     ospf.c and ospc.h splitted into various files.
        !          22241: 
        !          22242: commit bff1db76292b194bbbf0c476d960f40aa0ea47ce
        !          22243: Author: Martin Mares <mj@ucw.cz>
        !          22244: Date:   Wed Nov 17 14:58:21 1999 +0000
        !          22245: 
        !          22246:     Added skeleton of command tree. Please inspect.
        !          22247: 
        !          22248: commit 2af2636a691da37c73ba032ece29dee1dd20fff7
        !          22249: Author: Ondrej Filip <feela@network.cz>
        !          22250: Date:   Wed Nov 17 13:28:51 1999 +0000
        !          22251: 
        !          22252:     Another bugfix. (In EXCHANGE state.)
        !          22253: 
        !          22254: commit e17baa31088766f7f278be6754d0acc6e8380e4e
        !          22255: Author: Ondrej Filip <feela@network.cz>
        !          22256: Date:   Wed Nov 17 13:15:01 1999 +0000
        !          22257: 
        !          22258:     Fixed bug receiving dbdes packets in EXSTART state.
        !          22259: 
        !          22260: commit 62a463954815748d0d82da0e30651e6eea7bc9cf
        !          22261: Author: Martin Mares <mj@ucw.cz>
        !          22262: Date:   Wed Nov 17 12:14:44 1999 +0000
        !          22263: 
        !          22264:     Added some temporary examples of how to define CLI commands (search for CF_CLI).
        !          22265:     
        !          22266:     To define a new command, just add a new rule to the gramar:
        !          22267:       CF_CLI(COMMAND NAME, arguments, help-args, help-text) {
        !          22268:        what-should-the-command-do
        !          22269:        } ;
        !          22270:     where <arguments> are appended to the RHS of the rule, <help-args> is the
        !          22271:     argument list as shown in the help and <help-text> is description of the
        !          22272:     command for the help.
        !          22273:     
        !          22274:     <what-should-the-command-do> is a C code snippet to be executed. It should
        !          22275:     not take too much time to execute. If you want to print out a lot of
        !          22276:     information, you can schedule a routine to be called after the current
        !          22277:     buffer is flushed by making cli->cont point to the routine (see the
        !          22278:     TEST LONG command definition for an example); if the connection is closed
        !          22279:     in the meantime, cli->cleanup gets called.
        !          22280:     
        !          22281:     You can access `struct cli' belonging to the connection you're currently
        !          22282:     servicing as this_cli, but only during parse time, not from routines scheduled
        !          22283:     for deferred execution.
        !          22284:     
        !          22285:     Functions to call inside command handlers:
        !          22286:       cli_printf(cli, code, printf-args) -- print text to CLI connection,
        !          22287:        <code> is message code as assigned in doc/reply_codes or a negative
        !          22288:        one if it's a continuation line.
        !          22289:       cli_msg(code, printf-args) -- the same for this_cli.
        !          22290:     
        !          22291:     Use 'sock -x bird.ctl' for connecting to the CLI until a client is written.
        !          22292: 
        !          22293: commit 30770df2ab33ffbfd75a9478265ac5e1a1db98d9
        !          22294: Author: Martin Mares <mj@ucw.cz>
        !          22295: Date:   Wed Nov 17 12:04:24 1999 +0000
        !          22296: 
        !          22297:     If the main event queue is not empty, call select() with zero timeout, so
        !          22298:     that the events are ran again after the FD's are checked. This allows us
        !          22299:     to schedule I/O checks between processing of user commands.
        !          22300: 
        !          22301: commit 84a7d7f77c05578d9ebfff90672e73f021999d25
        !          22302: Author: Martin Mares <mj@ucw.cz>
        !          22303: Date:   Wed Nov 17 12:01:11 1999 +0000
        !          22304: 
        !          22305:     ev_run() now returns whether the event has been requeued or not.
        !          22306:     ev_run_list() now returns number of events which remain in the list.
        !          22307: 
        !          22308: commit ffb59d243a350ed525850e864b38af0ecb0ffea5
        !          22309: Author: Martin Mares <mj@ucw.cz>
        !          22310: Date:   Wed Nov 17 12:00:21 1999 +0000
        !          22311: 
        !          22312:     Command line interface now works.
        !          22313: 
        !          22314: commit ea9bb932a31e5df14e3a1a5f580e62b6aedc0247
        !          22315: Author: Martin Mares <mj@ucw.cz>
        !          22316: Date:   Wed Nov 17 11:16:15 1999 +0000
        !          22317: 
        !          22318:     Commented out nexthop selection, see the comment.
        !          22319: 
        !          22320: commit 7d509304b58d7ebf1d53e36a8e656830b409e1e8
        !          22321: Author: Martin Mares <mj@ucw.cz>
        !          22322: Date:   Mon Nov 15 11:36:22 1999 +0000
        !          22323: 
        !          22324:     An example of how to define enums.
        !          22325: 
        !          22326: commit fd54b602665f71879087faeb0b733fefa9c964bb
        !          22327: Author: Martin Mares <mj@ucw.cz>
        !          22328: Date:   Mon Nov 15 11:36:09 1999 +0000
        !          22329: 
        !          22330:     ENUM's are now recognized as constants.
        !          22331: 
        !          22332: commit 944f008af7a46144e38f963097e8e4cce493e2a7
        !          22333: Author: Martin Mares <mj@ucw.cz>
        !          22334: Date:   Mon Nov 15 11:35:41 1999 +0000
        !          22335: 
        !          22336:     Defined CF_ENUM.
        !          22337: 
        !          22338: commit cbc31830079fb5e49c14c3de446b10ed8da99ce0
        !          22339: Author: Martin Mares <mj@ucw.cz>
        !          22340: Date:   Mon Nov 15 11:34:51 1999 +0000
        !          22341: 
        !          22342:     SYM_STAT is gone.
        !          22343: 
        !          22344: commit 4515bdba4f56b298e62150ffe24608ba1a42e7da
        !          22345: Author: Pavel Machek <pavel@ucw.cz>
        !          22346: Date:   Thu Nov 11 13:55:39 1999 +0000
        !          22347: 
        !          22348:     Fixed order of arguments for function call.
        !          22349:     
        !          22350:     Enumeration types should work once CF_ENUM() is ready.
        !          22351:     
        !          22352:     Created test.conf for testing of filters. (I'm currently thinking
        !          22353:     about ./tests in root directory which will just fire all available
        !          22354:     tests...)
        !          22355: 
        !          22356: commit 4ed8718a19747bba95ff86fb8d3c6ea357b50101
        !          22357: Author: Pavel Machek <pavel@ucw.cz>
        !          22358: Date:   Thu Nov 11 13:27:59 1999 +0000
        !          22359: 
        !          22360:     Shift/reduce conflict goes away _and_ if/then/else works.
        !          22361: 
        !          22362: commit 986e34131dbd2bca668c2b0a6ebb25de6848fc0a
        !          22363: Author: Ondrej Filip <feela@network.cz>
        !          22364: Date:   Wed Nov 10 16:06:12 1999 +0000
        !          22365: 
        !          22366:     Sending DBDES packet in EXSTART done.
        !          22367: 
        !          22368: commit 1183b6b2297f03113d31dc73ef0edc8fc7ef0b7e
        !          22369: Author: Pavel Machek <pavel@ucw.cz>
        !          22370: Date:   Wed Nov 10 13:59:13 1999 +0000
        !          22371: 
        !          22372:     Enums do not work, this is testcase.
        !          22373: 
        !          22374: commit cb8034f42cfaa2753152fa1d776cc618d07fedda
        !          22375: Author: Pavel Machek <pavel@ucw.cz>
        !          22376: Date:   Wed Nov 10 13:44:29 1999 +0000
        !          22377: 
        !          22378:     First try on enumerational types.
        !          22379:     
        !          22380:     Mj's noassoc removed: this brings back shift/reduce conflict but
        !          22381:     it makes parser actually work. Mj please check it. IF/THEN/ELSE still
        !          22382:     will not work.
        !          22383: 
        !          22384: commit 2f702671b46fa2ea01021170f685f554e4012782
        !          22385: Author: Pavel Machek <pavel@ucw.cz>
        !          22386: Date:   Wed Nov 10 13:07:18 1999 +0000
        !          22387: 
        !          22388:     No more shift/reduce conflicts.
        !          22389: 
        !          22390: commit 4995564570f9779686f767ec98034ce58d836203
        !          22391: Author: Martin Mares <mj@ucw.cz>
        !          22392: Date:   Wed Nov 10 13:05:57 1999 +0000
        !          22393: 
        !          22394:     Shift/reduce conflicts in IF/THEN/ELSE rules solved.
        !          22395: 
        !          22396: commit f453665704cc8d946f86057e67151ef27419e280
        !          22397: Author: Pavel Machek <pavel@ucw.cz>
        !          22398: Date:   Wed Nov 10 12:44:07 1999 +0000
        !          22399: 
        !          22400:     Enumerational types, defined keyword added.
        !          22401: 
        !          22402: commit 6ba36f06ae10ea7efd60c30f8ef40d6143c69ef6
        !          22403: Author: Martin Mares <mj@ucw.cz>
        !          22404: Date:   Wed Nov 10 12:27:01 1999 +0000
        !          22405: 
        !          22406:     Added LSA hashing table (parts of code stolen from rt-fib.c, but
        !          22407:     heavily simplified since we don't need asynchronous walking).
        !          22408: 
        !          22409: commit 3918b1b050701dee217fa9bc8c4c44d47cb84124
        !          22410: Author: Pavel Machek <pavel@ucw.cz>
        !          22411: Date:   Wed Nov 10 11:52:36 1999 +0000
        !          22412: 
        !          22413:     Added timeout for routes (which means proper expiring of routes) added
        !          22414:     few fixmes.
        !          22415: 
        !          22416: commit 024dcaaea253e1f69f4325edebec4a9b5618caea
        !          22417: Author: Martin Mares <mj@ucw.cz>
        !          22418: Date:   Wed Nov 10 10:48:19 1999 +0000
        !          22419: 
        !          22420:     Added project status report for KSVI.
        !          22421: 
        !          22422: commit a5b583f20abfbf8181b46c08947df7043c213113
        !          22423: Author: Pavel Machek <pavel@ucw.cz>
        !          22424: Date:   Thu Nov 4 14:39:51 1999 +0000
        !          22425: 
        !          22426:     FIXME's updated. One fixme is remaining for correct RIPv4. Wow.
        !          22427: 
        !          22428: commit 7bf19253d0c33e6accd5b36a5b221f6d1d9cadcc
        !          22429: Author: Pavel Machek <pavel@ucw.cz>
        !          22430: Date:   Thu Nov 4 14:26:18 1999 +0000
        !          22431: 
        !          22432:     Reject packets which are not authenticated.
        !          22433:     
        !          22434:     Set correct nexthop on outgoing packets.
        !          22435: 
        !          22436: commit 3c989eb4a784c34870e9d66d5be3c976d8f03797
        !          22437: Author: Pavel Machek <pavel@ucw.cz>
        !          22438: Date:   Thu Nov 4 14:05:40 1999 +0000
        !          22439: 
        !          22440:     Fixed comments about shift/reduce conflicts.
        !          22441: 
        !          22442: commit ae3e1af2a86c428f473ef0270151cead16cc0e8e
        !          22443: Author: Pavel Machek <pavel@ucw.cz>
        !          22444: Date:   Thu Nov 4 14:03:45 1999 +0000
        !          22445: 
        !          22446:     Add possibility of local variables.
        !          22447: 
        !          22448: commit f30b25f9625d5542ace217bb6b3610d0a09f228a
        !          22449: Author: Pavel Machek <pavel@ucw.cz>
        !          22450: Date:   Thu Nov 4 14:03:36 1999 +0000
        !          22451: 
        !          22452:     Use local variables to test that functionality.
        !          22453: 
        !          22454: commit df8b85e33f6df0567127efdd80acf98ba6f3ffea
        !          22455: Author: Martin Mares <mj@ucw.cz>
        !          22456: Date:   Thu Nov 4 13:53:47 1999 +0000
        !          22457: 
        !          22458:     Silly bug.
        !          22459: 
        !          22460: commit c8f61a01ea1862d0c0a3ec4cc15c5d49e1366725
        !          22461: Author: Martin Mares <mj@ucw.cz>
        !          22462: Date:   Thu Nov 4 13:51:52 1999 +0000
        !          22463: 
        !          22464:     Symbols are not scoped.
        !          22465: 
        !          22466: commit 91447965fed2728a1f877e21f7f58aab4c0022c7
        !          22467: Author: Pavel Machek <pavel@ucw.cz>
        !          22468: Date:   Thu Nov 4 13:33:30 1999 +0000
        !          22469: 
        !          22470:     Possibility to access first extended attributes.
        !          22471: 
        !          22472: commit 2727bb7c5bbdac54661a5097f86d979799095db8
        !          22473: Author: Martin Mares <mj@ucw.cz>
        !          22474: Date:   Thu Nov 4 13:29:43 1999 +0000
        !          22475: 
        !          22476:     Renamed attr->attrs to attr->eattrs.
        !          22477: 
        !          22478: commit 6dc7a0cb39d712c7670a113d5a66e9e868eb9872
        !          22479: Author: Pavel Machek <pavel@ucw.cz>
        !          22480: Date:   Wed Nov 3 22:23:01 1999 +0000
        !          22481: 
        !          22482:     Filters now do not allow function (int arg; int arg2; ).
        !          22483: 
        !          22484: commit e5005be2b415ebd9bdea28a3515961f4eb904501
        !          22485: Author: Pavel Machek <pavel@ucw.cz>
        !          22486: Date:   Wed Nov 3 22:21:26 1999 +0000
        !          22487: 
        !          22488:     You should not follow next two times.
        !          22489: 
        !          22490: commit ecc3cf6f50768284b9660b5717190107e742404f
        !          22491: Author: Ondrej Filip <feela@network.cz>
        !          22492: Date:   Wed Nov 3 12:59:38 1999 +0000
        !          22493: 
        !          22494:     Working on db des receiving.
        !          22495:     Preparing for building LDA database.
        !          22496: 
        !          22497: commit 03b7bd14de501891ea8ae1d914e1da0b1f4147d5
        !          22498: Author: Martin Mares <mj@ucw.cz>
        !          22499: Date:   Sun Oct 31 17:48:21 1999 +0000
        !          22500: 
        !          22501:     Started a list of CLI reply codes.
        !          22502: 
        !          22503: commit bc2fb68098faaf09393437a7743285d2af71d102
        !          22504: Author: Martin Mares <mj@ucw.cz>
        !          22505: Date:   Sun Oct 31 17:47:47 1999 +0000
        !          22506: 
        !          22507:     Parse CLI commands. We use the same parser as for configuration files (because
        !          22508:     we want to allow filter and similar complex constructs to be used in commands
        !          22509:     and we should avoid code duplication), only with CLI_MARKER token prepended
        !          22510:     before the whole input.
        !          22511:     
        !          22512:     Defined macro CF_CLI(cmd, args, help) for defining CLI commands in .Y files.
        !          22513:     The first argument specifies the command itself, the remaining two arguments
        !          22514:     are copied to the help file (er, will be copied after the help file starts
        !          22515:     to exist). This macro automatically creates a skeleton rule for the command,
        !          22516:     you only need to append arguments as in:
        !          22517:     
        !          22518:        CF_CLI(STEAL MONEY, <$>, [[Steal <$> US dollars or equivalent in any other currency]]): NUM {
        !          22519:                cli_msg(0, "%d$ stolen", $3);
        !          22520:        } ;
        !          22521:     
        !          22522:     Also don't forget to reset lexer state between inputs.
        !          22523: 
        !          22524: commit b9672a845f7ff7d2441e21746566eacc51f274b7
        !          22525: Author: Martin Mares <mj@ucw.cz>
        !          22526: Date:   Sun Oct 31 15:43:44 1999 +0000
        !          22527: 
        !          22528:     The CLI I/O functions work as desired.
        !          22529: 
        !          22530: commit 7d3aab1c1643e8b2bcff7f856e0d4455fa0ba4b4
        !          22531: Author: Martin Mares <mj@ucw.cz>
        !          22532: Date:   Fri Oct 29 12:10:10 1999 +0000
        !          22533: 
        !          22534:     First steps of the Command Line Interface: I/O routines.
        !          22535: 
        !          22536: commit b93abffae4ad5767625b35c9a09513e9d27a5256
        !          22537: Author: Martin Mares <mj@ucw.cz>
        !          22538: Date:   Fri Oct 29 12:09:29 1999 +0000
        !          22539: 
        !          22540:     Implemented unix-domain sockets.
        !          22541: 
        !          22542: commit 0d70292d88276a9883ab8bc15b00e6a2e2fe4487
        !          22543: Author: Martin Mares <mj@ucw.cz>
        !          22544: Date:   Fri Oct 29 12:08:49 1999 +0000
        !          22545: 
        !          22546:     Events now return a value.  If it's non-zero, the event is re-queued
        !          22547:     for processing in next event cycle. This can be used to prevent background
        !          22548:     actions (hint: user commands) from hogging the CPU for too long time.
        !          22549: 
        !          22550: commit 92af6f309b9283482384bd9bbd0351cd71e3cf1d
        !          22551: Author: Martin Mares <mj@ucw.cz>
        !          22552: Date:   Fri Oct 29 10:08:27 1999 +0000
        !          22553: 
        !          22554:     Simplify handling of free chunks.
        !          22555: 
        !          22556: commit 54165b1315dd09b0ea97705367b73086131c1ed8
        !          22557: Author: Martin Mares <mj@ucw.cz>
        !          22558: Date:   Fri Oct 29 10:08:09 1999 +0000
        !          22559: 
        !          22560:     Configure PATH_CONTROL_SOCKET.
        !          22561:     autoconf.h is now written to obj/sysdep, the source tree is hopefully
        !          22562:     completely read-only now.
        !          22563: 
        !          22564: commit ed6081502ad814289b9b7b5537658c3b1ad435e5
        !          22565: Author: Martin Mares <mj@ucw.cz>
        !          22566: Date:   Fri Oct 29 09:44:44 1999 +0000
        !          22567: 
        !          22568:     Added skeleton of the client. Does nothing, but at least compiles.
        !          22569: 
        !          22570: commit 41be4444f2f548c5cc135593b2c820180a22ff99
        !          22571: Author: Pavel Machek <pavel@ucw.cz>
        !          22572: Date:   Thu Oct 28 21:03:36 1999 +0000
        !          22573: 
        !          22574:     switch() { } done right.
        !          22575: 
        !          22576: commit c2250f91c749f563229ad624bbd03053c1d671d0
        !          22577: Author: Ondrej Filip <feela@network.cz>
        !          22578: Date:   Tue Oct 19 16:13:06 1999 +0000
        !          22579: 
        !          22580:     Minor changes and bug fixes. Preparing for Exchange and higher states.
        !          22581: 
        !          22582: commit 96f1b8ba10f7787fc7cf0e0430a85766200707a5
        !          22583: Author: Ondrej Filip <feela@network.cz>
        !          22584: Date:   Mon Oct 18 21:48:51 1999 +0000
        !          22585: 
        !          22586:     Huge changes. Neighbor and interface state machines rewritten.
        !          22587:     It should be cleaner now, I'm preparing for file splitting.
        !          22588:     Maybe I added some minor bugs. :-(
        !          22589: 
        !          22590: commit f942a589ef627f5b2604955cbfdbe91fa706f29d
        !          22591: Author: Pavel Machek <pavel@ucw.cz>
        !          22592: Date:   Tue Oct 12 13:04:50 1999 +0000
        !          22593: 
        !          22594:     FIXME's for rip added.
        !          22595:     
        !          22596:     Will we ever able to generate packets saying "route 1.2.3.4 using someone else"?
        !          22597: 
        !          22598: commit 89dc383a8ce26bfe49250e5063bcadec22ff42c6
        !          22599: Author: Martin Mares <mj@ucw.cz>
        !          22600: Date:   Tue Oct 12 07:46:08 1999 +0000
        !          22601: 
        !          22602:     Changed syntax of ip_class_mask, the old one was stupid.
        !          22603: 
        !          22604: commit d3dd620b96c5960207b9321b416423b8130a4df7
        !          22605: Author: Pavel Machek <pavel@ucw.cz>
        !          22606: Date:   Tue Oct 12 06:27:42 1999 +0000
        !          22607: 
        !          22608:     Filters: permit variables of prefix types, cleanup around
        !          22609:     variables. TODO list added, hopefully complete. Use new features of
        !          22610:     filters in bird.conf
        !          22611: 
        !          22612: commit c79ec2ec1962394f1550afa10a8b396f0e4dfc52
        !          22613: Author: Pavel Machek <pavel@ucw.cz>
        !          22614: Date:   Mon Oct 11 14:19:29 1999 +0000
        !          22615: 
        !          22616:     Untested IPv6 support added. I do not know if it compiles in IPV6 mode.
        !          22617: 
        !          22618: commit 720d911d777f64872df923e102ebc509113885f0
        !          22619: Author: Pavel Machek <pavel@ucw.cz>
        !          22620: Date:   Thu Oct 7 14:10:08 1999 +0000
        !          22621: 
        !          22622:     Added constants of type prefix and pair, added their printing
        !          22623: 
        !          22624: commit 4872cef4dfcadab405d0393a21f9136852d7b9c4
        !          22625: Author: Pavel Machek <pavel@ucw.cz>
        !          22626: Date:   Thu Oct 7 14:09:50 1999 +0000
        !          22627: 
        !          22628:     Added examples of pairs and prefixes
        !          22629: 
        !          22630: commit c9f8c1a855cfdde2095cd792289dbce2b7a06371
        !          22631: Author: Pavel Machek <pavel@ucw.cz>
        !          22632: Date:   Thu Oct 7 13:38:26 1999 +0000
        !          22633: 
        !          22634:     FIXME's added. Hopefully fixme list is now complete for filters.
        !          22635: 
        !          22636: commit f782b72c538b5728f6c3f531a25f669f0bf99b2c
        !          22637: Author: Martin Mares <mj@ucw.cz>
        !          22638: Date:   Sat Oct 2 11:06:44 1999 +0000
        !          22639: 
        !          22640:     Failure to set socket TOS is not a fatal error.
        !          22641: 
        !          22642: commit 507cb9e58b947ad8c6ad1c73706a08010d90f4cc
        !          22643: Author: Martin Mares <mj@ucw.cz>
        !          22644: Date:   Sat Oct 2 10:55:19 1999 +0000
        !          22645: 
        !          22646:     Don't forget to free large blocks.
        !          22647: 
        !          22648: commit ac40c888c21c72ae7f6c3d329dd2ba5417eec009
        !          22649: Author: Pavel Machek <pavel@ucw.cz>
        !          22650: Date:   Sat Oct 2 10:44:48 1999 +0000
        !          22651: 
        !          22652:     Obvious bugs in authentication fixed.
        !          22653: 
        !          22654: commit 7db7b7db603a2d852066c313da76c72673a204fa
        !          22655: Author: Pavel Machek <pavel@ucw.cz>
        !          22656: Date:   Wed Sep 29 14:24:58 1999 +0000
        !          22657: 
        !          22658:     Case arg { 1: printf "one"; } works. You can not use two commands
        !          22659:     after one label, yet.
        !          22660: 
        !          22661: commit 4caa2231fc75ed351b9a9f20a97a81ce5d4421d0
        !          22662: Author: Pavel Machek <pavel@ucw.cz>
        !          22663: Date:   Wed Sep 29 14:23:11 1999 +0000
        !          22664: 
        !          22665:     Make configuration use new case statement.
        !          22666: 
        !          22667: commit 2c1d1cc765238aef0e8bfdbc1d8bc954fa0fc222
        !          22668: Author: Ondrej Filip <feela@network.cz>
        !          22669: Date:   Wed Aug 25 18:44:50 1999 +0000
        !          22670: 
        !          22671:     DD packet receiving in ExStart.
        !          22672: 
        !          22673: commit 1af664158d20e9887ca11b63fc062a63f333297a
        !          22674: Author: Ondrej Filip <feela@network.cz>
        !          22675: Date:   Tue Aug 24 18:32:26 1999 +0000
        !          22676: 
        !          22677:     A structure for receiving DD seq packets added.
        !          22678: 
        !          22679: commit e3121112ab8cda4b4e413a801e5626f9ffb02ca8
        !          22680: Author: Ondrej Filip <feela@network.cz>
        !          22681: Date:   Tue Aug 24 14:42:51 1999 +0000
        !          22682: 
        !          22683:     Preparing to send DD packets.
        !          22684: 
        !          22685: commit 2981814066543b72e292b7b36ca41bfa1cc2554c
        !          22686: Author: Pavel Machek <pavel@ucw.cz>
        !          22687: Date:   Fri Aug 20 09:59:39 1999 +0000
        !          22688: 
        !          22689:     Few FIXME's removed from auth, few FIXME's added to filter.
        !          22690: 
        !          22691: commit bce8a34b128f1c0495f3f7a28d832d9c2b4a9543
        !          22692: Author: Pavel Machek <pavel@ucw.cz>
        !          22693: Date:   Wed Aug 18 13:19:33 1999 +0000
        !          22694: 
        !          22695:     Few fixme's fixed in rip (will not crash any more on request for
        !          22696:     sending routing table - hopefully).
        !          22697:     
        !          22698:     Next few steps in md5 authentication (not yet complete).
        !          22699: 
        !          22700: commit f651941402079052fbdabf64092e7dd4a6a8cafe
        !          22701: Author: Martin Mares <mj@ucw.cz>
        !          22702: Date:   Tue Aug 17 20:47:40 1999 +0000
        !          22703: 
        !          22704:     Added a function for generating 32-bit random numbers.
        !          22705: 
        !          22706: commit b332fcdfc8f0b1ac7111a63c55f72ba4b00b8035
        !          22707: Author: Ondrej Filip <feela@network.cz>
        !          22708: Date:   Mon Aug 16 10:32:05 1999 +0000
        !          22709: 
        !          22710:     Better dumping.
        !          22711: 
        !          22712: commit 032df28048c1c3d64716d3876ea759660d9d3cf0
        !          22713: Author: Ondrej Filip <feela@network.cz>
        !          22714: Date:   Tue Aug 10 12:06:45 1999 +0000
        !          22715: 
        !          22716:     Small bux fixes. A neigh_chstate added.
        !          22717: 
        !          22718: commit a7d388d23e26bdc94aefc3788b6be6c278f6dc5b
        !          22719: Author: Ondrej Filip <feela@network.cz>
        !          22720: Date:   Mon Aug 9 18:59:37 1999 +0000
        !          22721: 
        !          22722:     Multiple "hton problems" fixed. Now we're in EXSTART state.
        !          22723: 
        !          22724: commit 2be22ddb4cf4c7a88a0c424f0de7c968e5c326a1
        !          22725: Author: Ondrej Filip <feela@network.cz>
        !          22726: Date:   Mon Aug 9 18:49:50 1999 +0000
        !          22727: 
        !          22728:     "My own IP problem" fixed.
        !          22729: 
        !          22730: commit a4c2ee717cf42bb53688c18840bd7294b6bf61dd
        !          22731: Author: Ondrej Filip <feela@network.cz>
        !          22732: Date:   Mon Aug 9 18:34:08 1999 +0000
        !          22733: 
        !          22734:     Bug fix in checksum calculation.
        !          22735: 
        !          22736: commit b1693b8f749ccc683a2a78dc3129e56e500bc73f
        !          22737: Author: Ondrej Filip <feela@network.cz>
        !          22738: Date:   Mon Aug 9 18:11:51 1999 +0000
        !          22739: 
        !          22740:     Bug in election fixed.
        !          22741: 
        !          22742: commit e83dc0d7e78fd31b435b36424beb790bf55881a8
        !          22743: Author: Ondrej Filip <feela@network.cz>
        !          22744: Date:   Mon Aug 9 17:58:01 1999 +0000
        !          22745: 
        !          22746:     (Backup) Designated Router election added.
        !          22747: 
        !          22748: commit 8c51f96acff1cfb05d1cf05f4355fce655c32599
        !          22749: Author: Ondrej Filip <feela@network.cz>
        !          22750: Date:   Mon Aug 9 13:03:28 1999 +0000
        !          22751: 
        !          22752:     Some interface state machine changes. I found some problem in RFC,
        !          22753:     trying to conntact authors.
        !          22754: 
        !          22755: commit 55e06729b173b24ce0c243db7e96094f10071eaf
        !          22756: Author: Martin Mares <mj@ucw.cz>
        !          22757: Date:   Tue Aug 3 19:57:43 1999 +0000
        !          22758: 
        !          22759:     Forgot to do a `cvs add', grr.
        !          22760: 
        !          22761: commit d7975d261f8a30efcdbd9fad6ba47419a6ac6c39
        !          22762: Author: Martin Mares <mj@ucw.cz>
        !          22763: Date:   Tue Aug 3 19:38:48 1999 +0000
        !          22764: 
        !          22765:     Ouch, how could I write this?
        !          22766: 
        !          22767: commit 4532a89e31734a457d4debe56df713d66e31cdd6
        !          22768: Author: Martin Mares <mj@ucw.cz>
        !          22769: Date:   Tue Aug 3 19:37:37 1999 +0000
        !          22770: 
        !          22771:     Taught Netlink how to behave in IPv6 world.
        !          22772: 
        !          22773: commit 4f22c9818554087d8f5ab51b8666a7a48d1f4329
        !          22774: Author: Martin Mares <mj@ucw.cz>
        !          22775: Date:   Tue Aug 3 19:36:51 1999 +0000
        !          22776: 
        !          22777:     Support for IPv6 sockets. How nice one doesn't have to ifdef around
        !          22778:     ten years of API evolution :-)
        !          22779: 
        !          22780: commit dce267832a0468ed5e596f0b0733b926af7ead3a
        !          22781: Author: Martin Mares <mj@ucw.cz>
        !          22782: Date:   Tue Aug 3 19:36:06 1999 +0000
        !          22783: 
        !          22784:     Basic support for IPv6.  The system-dependent part doesn't work yet,
        !          22785:     but the core routines are there and seem to be working.
        !          22786:     
        !          22787:        o  lib/ipv6.[ch] written
        !          22788:        o  Lexical analyser recognizes IPv6 addresses and when in IPv6
        !          22789:           mode, treats pure IPv4 addresses as router IDs.
        !          22790:        o  Router ID must be configured manually on IPv6 systems.
        !          22791:        o  Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts.
        !          22792:        o  Fixed few places where ipa_(hton|ntoh) was called as a function
        !          22793:           returning converted address.
        !          22794: 
        !          22795: commit 707ef833783ef731c56baae1c0dc7b7a9e7321ff
        !          22796: Author: Martin Mares <mj@ucw.cz>
        !          22797: Date:   Tue Aug 3 19:35:01 1999 +0000
        !          22798: 
        !          22799:     Pruned the TODO list.
        !          22800: 
        !          22801: commit 9c11ec9efca2fc75495cf8dcb28a959ba22b01fa
        !          22802: Author: Martin Mares <mj@ucw.cz>
        !          22803: Date:   Tue Aug 3 19:34:26 1999 +0000
        !          22804: 
        !          22805:     Implemented a Table-to-Table protocol a.k.a The Pipe.
        !          22806: 
        !          22807: commit 8c943173ced1fb85c627a8ba1c3d7360eab7d22b
        !          22808: Author: Martin Mares <mj@ucw.cz>
        !          22809: Date:   Tue Aug 3 19:33:45 1999 +0000
        !          22810: 
        !          22811:     Allow announces of rte's to protocols in FS_FEEDING state.
        !          22812:     Else, we would get chicken-egg problems in the table-to-table protocol.
        !          22813: 
        !          22814: commit 7de45ba4a01bfdc986a4b597c04ad39d9b97a58a
        !          22815: Author: Martin Mares <mj@ucw.cz>
        !          22816: Date:   Tue Aug 3 19:33:22 1999 +0000
        !          22817: 
        !          22818:     Kernel route syncer supports multiple tables.
        !          22819:     
        !          22820:     The changes are just too extensive for lazy me to list them
        !          22821:     there, but see the comment at the top of sysdep/unix/krt.c.
        !          22822:     The code got a bit more ifdeffy than I'd like, though.
        !          22823:     
        !          22824:     Also fixed a bunch of FIXME's and added a couple of others. :)
        !          22825: 
        !          22826: commit 9d8856897f92ad74be140adafaac41f9df6edf31
        !          22827: Author: Martin Mares <mj@ucw.cz>
        !          22828: Date:   Tue Aug 3 19:31:54 1999 +0000
        !          22829: 
        !          22830:     Protocol engine bug fixes:
        !          22831:     
        !          22832:        o  Make proto_config->table always point to the right
        !          22833:           table even if it should be the default one.
        !          22834:        o  When shutting down, kill protocol in reverse order
        !          22835:           of their priority.
        !          22836:        o  When stopping a protocol down, disconnect it from
        !          22837:           routing tables immediately instead of waiting
        !          22838:           for the delayed protocol flush event.
        !          22839:     
        !          22840:     Also added a protocol instance counter (used by KRT code
        !          22841:     in very magic ways).
        !          22842: 
        !          22843: commit b6628a8c98fa53c1b293221ad0f7e0611cb0b76d
        !          22844: Author: Martin Mares <mj@ucw.cz>
        !          22845: Date:   Tue Aug 3 19:31:30 1999 +0000
        !          22846: 
        !          22847:     Added macros for walking lists backwards.
        !          22848: 
        !          22849: commit 9a706f32afe703a44e605e92cc50cc77d4e91088
        !          22850: Author: Martin Mares <mj@ucw.cz>
        !          22851: Date:   Tue Aug 3 19:31:11 1999 +0000
        !          22852: 
        !          22853:     Added missing structure declarations.
        !          22854: 
        !          22855: commit 8edf2361f9c4bd745a1249db3f66dfc079dd2ca1
        !          22856: Author: Martin Mares <mj@ucw.cz>
        !          22857: Date:   Tue Aug 3 19:30:49 1999 +0000
        !          22858: 
        !          22859:     Cleaned up handling of interface patterns:
        !          22860:     
        !          22861:        o  Parsing of interface patterns moved to generic code,
        !          22862:           introduced this_ipatt which works similarly to this_iface.
        !          22863:        o  Interface patterns now support selection by both interface
        !          22864:           names and primary IP addresses.
        !          22865:        o  Proto `direct' updated.
        !          22866:        o  RIP updated as well, it also seems the memory corruption
        !          22867:           bug there is gone.
        !          22868: 
        !          22869: commit 9273035403ace754e5b405b2c5efba7d55c28e78
        !          22870: Author: Martin Mares <mj@ucw.cz>
        !          22871: Date:   Tue Aug 3 19:30:20 1999 +0000
        !          22872: 
        !          22873:     Changes to interface handling on traditional Unices:
        !          22874:     
        !          22875:       o  Aliases are interpreted as secondary addresses.
        !          22876:       o  When the system doesn't supply interface indices, generate
        !          22877:          our ones.
        !          22878: 
        !          22879: commit 5e13ffe6f4e229974238bb2ea96ea2ce8282b7ed
        !          22880: Author: Martin Mares <mj@ucw.cz>
        !          22881: Date:   Tue Aug 3 19:29:57 1999 +0000
        !          22882: 
        !          22883:     Faster checksum function.
        !          22884: 
        !          22885: commit 913f7dc9f2dca8bebf8daebcce006b96f55ae6db
        !          22886: Author: Martin Mares <mj@ucw.cz>
        !          22887: Date:   Tue Aug 3 19:29:27 1999 +0000
        !          22888: 
        !          22889:     Added functions for parsing and formatting of dates.
        !          22890: 
        !          22891: commit 6542ece91a783e999f61cc51cbe18c8b4c96a36c
        !          22892: Author: Pavel Machek <pavel@ucw.cz>
        !          22893: Date:   Thu Jul 1 09:11:21 1999 +0000
        !          22894: 
        !          22895:     Function calling in filters works - somehow. Calling syntax is
        !          22896:     currently very ugly, beware. Variables are not really local - that
        !          22897:     needs to be fixed.
        !          22898: 
        !          22899: commit 39369d6fbe4b3f73c8110b14623f367c8ffded50
        !          22900: Author: Ondrej Filip <feela@network.cz>
        !          22901: Date:   Wed Jun 2 16:31:13 1999 +0000
        !          22902: 
        !          22903:     Fixed stupid bug with hello vs inactim timers.
        !          22904: 
        !          22905: commit bae0f7dbb111e2c8fbb8a94b59de6e241020ad66
        !          22906: Author: Ondrej Filip <feela@network.cz>
        !          22907: Date:   Tue Jun 1 17:29:56 1999 +0000
        !          22908: 
        !          22909:     Neigbor deleting done. (I have some problems with timers, so it does not
        !          22910:     send hello.)
        !          22911: 
        !          22912: commit cd70d93470498c0b68a084be5aeab5dd45a0df60
        !          22913: Author: Ondrej Filip <feela@network.cz>
        !          22914: Date:   Tue Jun 1 16:35:18 1999 +0000
        !          22915: 
        !          22916:     Detecting of new neighbor added. It starts inactivity timer.
        !          22917: 
        !          22918: commit bd7f1081f24aa6ca4cdba004478742b730644a91
        !          22919: Author: Martin Mares <mj@ucw.cz>
        !          22920: Date:   Tue Jun 1 15:31:43 1999 +0000
        !          22921: 
        !          22922:     Grrr, the "obvious fix" to multicasting code from yesterday was
        !          22923:     fundamentally wrong. Reversed.
        !          22924: 
        !          22925: commit 3e1f30610e109b3eff7e3d8b420c4b7988bd3152
        !          22926: Author: Martin Mares <mj@ucw.cz>
        !          22927: Date:   Tue Jun 1 13:57:24 1999 +0000
        !          22928: 
        !          22929:     Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocols
        !          22930:     use it when creating sockets.
        !          22931: 
        !          22932: commit 9de840bdbd59669a129f68f1ff3595b34439ec09
        !          22933: Author: Pavel Machek <pavel@ucw.cz>
        !          22934: Date:   Mon May 31 20:34:48 1999 +0000
        !          22935: 
        !          22936:     Set corectly destination address for RIP multicast. Broadcasting &
        !          22937:     multicasting rip actually works [broadcasting is kind of hard to turn
        !          22938:     it on, through].
        !          22939: 
        !          22940: commit b94bbe00278b0c6e84f34875367d85d34d08621b
        !          22941: Author: Pavel Machek <pavel@ucw.cz>
        !          22942: Date:   Mon May 31 20:30:16 1999 +0000
        !          22943: 
        !          22944:     Added FIXME: mode broadcast randombly corrupts memory.
        !          22945:     
        !          22946:     Small cleaning and bugfixes.
        !          22947: 
        !          22948: commit c7208da0b72dc7e4ff512edbecc62a99b0392c5a
        !          22949: Author: Martin Mares <mj@ucw.cz>
        !          22950: Date:   Mon May 31 20:28:46 1999 +0000
        !          22951: 
        !          22952:     Fix potential multicasting bug.
        !          22953: 
        !          22954: commit 9607536dbf7c50f9c2fc7a670eab51e5c313d10f
        !          22955: Author: Pavel Machek <pavel@ucw.cz>
        !          22956: Date:   Mon May 31 19:43:08 1999 +0000
        !          22957: 
        !          22958:     Kill duplicity between rif and rif_patt.
        !          22959: 
        !          22960: commit 72efa4b6f82222f91b63b9f61bbc88e458096ea7
        !          22961: Author: Pavel Machek <pavel@ucw.cz>
        !          22962: Date:   Mon May 31 19:37:16 1999 +0000
        !          22963: 
        !          22964:     Small fixes to rip.
        !          22965: 
        !          22966: commit bf97bd28276af42aa59ea29b926b4848ae14e149
        !          22967: Author: Pavel Machek <pavel@ucw.cz>
        !          22968: Date:   Mon May 31 19:22:40 1999 +0000
        !          22969: 
        !          22970:     Cleanup of warnings
        !          22971: 
        !          22972: commit 91c7c7416b4a18ac2b9e872c2a1a6391cf8b3dc8
        !          22973: Author: Pavel Machek <pavel@ucw.cz>
        !          22974: Date:   Mon May 31 19:16:22 1999 +0000
        !          22975: 
        !          22976:     Incoming side of authentication done but untested. Right handling of
        !          22977:     filters in rip.
        !          22978: 
        !          22979: commit 2e6197d634a14533899915477032f082e675e35f
        !          22980: Author: Pavel Machek <pavel@ucw.cz>
        !          22981: Date:   Mon May 31 19:15:52 1999 +0000
        !          22982: 
        !          22983:     Added password_strncpy() which pads destination with zeros.
        !          22984: 
        !          22985: commit 9c9e49ac392dfdbff97be579842028a4eb1d0dec
        !          22986: Author: Pavel Machek <pavel@ucw.cz>
        !          22987: Date:   Mon May 31 19:15:32 1999 +0000
        !          22988: 
        !          22989:     Added extended attributes for rip.
        !          22990: 
        !          22991: commit c72b09c8508d71b9a0a998c2dabe475d54b4d014
        !          22992: Author: Ondrej Filip <feela@network.cz>
        !          22993: Date:   Mon May 31 19:07:31 1999 +0000
        !          22994: 
        !          22995:     IP socket priority (sock->tos) added. Constant taken from tcpdump of CISCO
        !          22996:     and gated.
        !          22997: 
        !          22998: commit 35ff423d54ebabffc5ab9dd757dfa2a1a70e9676
        !          22999: Author: Ondrej Filip <feela@network.cz>
        !          23000: Date:   Mon May 31 18:56:20 1999 +0000
        !          23001: 
        !          23002:     Some RX_Hello checks added.
        !          23003: 
        !          23004: commit bb027be1e232ca2207a03a8e001441965cc07801
        !          23005: Author: Martin Mares <mj@ucw.cz>
        !          23006: Date:   Mon May 31 18:55:35 1999 +0000
        !          23007: 
        !          23008:     Added extra argument to rt_update hook which contains a pointer to the
        !          23009:     temporary attribute list.
        !          23010: 
        !          23011: commit 75b84c34e3434209517f2ebc8160f39d33e3735e
        !          23012: Author: Ondrej Filip <feela@network.cz>
        !          23013: Date:   Mon May 31 18:24:54 1999 +0000
        !          23014: 
        !          23015:     Sending and receving of hello pkts works. No I will start building neighbor
        !          23016:     database.
        !          23017: 
        !          23018: commit 4a4911a36a865525f5de86ea8b575164ea9a855a
        !          23019: Author: Martin Mares <mj@ucw.cz>
        !          23020: Date:   Mon May 31 17:39:44 1999 +0000
        !          23021: 
        !          23022:     Added missing quotes.
        !          23023: 
        !          23024: commit 10915c9650d4b63b12140effc68718e2aecd01d3
        !          23025: Author: Pavel Machek <pavel@ucw.cz>
        !          23026: Date:   Mon May 31 17:12:38 1999 +0000
        !          23027: 
        !          23028:     Modified rip to new password handling in nest. Now it at least compiles.
        !          23029: 
        !          23030: commit 900d5470ae2cada4d37ed62f8bf2ce64c84349cd
        !          23031: Author: Pavel Machek <pavel@ucw.cz>
        !          23032: Date:   Mon May 31 17:12:00 1999 +0000
        !          23033: 
        !          23034:     Added PASSIVE option to paswwords.
        !          23035: 
        !          23036: commit 139ca21d05df71b59a72af126d063170421cf9f7
        !          23037: Author: Martin Mares <mj@ucw.cz>
        !          23038: Date:   Mon May 31 13:21:07 1999 +0000
        !          23039: 
        !          23040:     Added sk_send_buffer_empty().
        !          23041: 
        !          23042: commit fd5f8704bb7c2e9845a7c4785ace83a2b77d2c57
        !          23043: Author: Pavel Machek <pavel@ucw.cz>
        !          23044: Date:   Wed May 26 14:37:47 1999 +0000
        !          23045: 
        !          23046:     Make rip use newly defined password lists.
        !          23047: 
        !          23048: commit 858a717796d7aa48fe9b22a6b035fec9edbb5a2a
        !          23049: Author: Pavel Machek <pavel@ucw.cz>
        !          23050: Date:   Wed May 26 14:37:07 1999 +0000
        !          23051: 
        !          23052:     Change format of passwords (less ;'s) and fix password.h to allow
        !          23053:     multiple inclusions.
        !          23054: 
        !          23055: commit 7eb01479c92cd2f615993f2112aa5986f3e2b0ad
        !          23056: Author: Pavel Machek <pavel@ucw.cz>
        !          23057: Date:   Wed May 26 14:36:34 1999 +0000
        !          23058: 
        !          23059:     Example of password list usage.
        !          23060: 
        !          23061: commit 1a2ded450ecfbb8ccb7f459d7265fc5333d13420
        !          23062: Author: Pavel Machek <pavel@ucw.cz>
        !          23063: Date:   Wed May 26 14:24:57 1999 +0000
        !          23064: 
        !          23065:     Skeleton for password handling, currently I only build structures and
        !          23066:     do nothing more advanced for them
        !          23067: 
        !          23068: commit 9d79fec8dc7c5a3b7e590c00df7eadcef9e80144
        !          23069: Author: Pavel Machek <pavel@ucw.cz>
        !          23070: Date:   Wed May 26 14:24:32 1999 +0000
        !          23071: 
        !          23072:     Added notion of datetime
        !          23073: 
        !          23074: commit 6bd08d017b5cb2608a81c0c7c9fe8fb5da73ba60
        !          23075: Author: Pavel Machek <pavel@ucw.cz>
        !          23076: Date:   Wed May 26 14:22:41 1999 +0000
        !          23077: 
        !          23078:     Better date/time input methods need to be done
        !          23079: 
        !          23080: commit 903a3f3928a5d7c223ff4c0087343cf214f8478d
        !          23081: Author: Ondrej Filip <feela@network.cz>
        !          23082: Date:   Mon May 24 21:49:22 1999 +0000
        !          23083: 
        !          23084:     struct ospf_neigbor corrected.
        !          23085: 
        !          23086: commit c76674f0e98d356ea235ea76fd55d71a3673b123
        !          23087: Author: Ondrej Filip <feela@network.cz>
        !          23088: Date:   Mon May 24 21:17:16 1999 +0000
        !          23089: 
        !          23090:     struct ospf_neigbor added. Neigbor state machine implementation can start.
        !          23091: 
        !          23092: commit 65112dd270dbfa598c1f8a5074bf7224b9e1469c
        !          23093: Author: Ondrej Filip <feela@network.cz>
        !          23094: Date:   Mon May 24 18:22:00 1999 +0000
        !          23095: 
        !          23096:     ifa->time split into wait_timer and hello_timer. I will send hello in WAITING state.
        !          23097: 
        !          23098: commit daeb60393d011f8ee1326e212b310983276b6ba1
        !          23099: Author: Ondrej Filip <feela@network.cz>
        !          23100: Date:   Mon May 24 17:37:45 1999 +0000
        !          23101: 
        !          23102:     Small bug in ipv4_skip_header.
        !          23103: 
        !          23104: commit b9f8590025fd5d6dd360f759c5a219d69b975123
        !          23105: Author: Ondrej Filip <feela@network.cz>
        !          23106: Date:   Mon May 24 17:29:05 1999 +0000
        !          23107: 
        !          23108:     IP header test added.
        !          23109: 
        !          23110: commit 4b0d57e53120e404e00f7d252119e45288ceeb71
        !          23111: Author: Martin Mares <mj@ucw.cz>
        !          23112: Date:   Fri May 21 14:29:44 1999 +0000
        !          23113: 
        !          23114:     Added CONFIG_MULTIPLE_TABLES whereever appropriate.
        !          23115: 
        !          23116: commit 1c3c9dceb385198199c6c0190f3011d106142b67
        !          23117: Author: Martin Mares <mj@ucw.cz>
        !          23118: Date:   Fri May 21 14:29:23 1999 +0000
        !          23119: 
        !          23120:     Removed one unused structure field.
        !          23121: 
        !          23122: commit a70693ca9bc935513d1bfa9b3a49459d27927657
        !          23123: Author: Martin Mares <mj@ucw.cz>
        !          23124: Date:   Fri May 21 14:28:44 1999 +0000
        !          23125: 
        !          23126:     Don't forget to export CPPFLAGS to GCC. :)
        !          23127: 
        !          23128: commit a07e9d82352d0060ff4f00aa8d0a2575cafc781a
        !          23129: Author: Martin Mares <mj@ucw.cz>
        !          23130: Date:   Fri May 21 14:09:06 1999 +0000
        !          23131: 
        !          23132:     Added --with-sysinclude to allow explicitly setting where kernel includes
        !          23133:     reside, so that you can easily switch between 2.0 and 2.2 ones.
        !          23134:     
        !          23135:     Check existence of <linux/rtnetlink.h> for linux-22 configs to make sure
        !          23136:     we're using the correct set of includes.
        !          23137: 
        !          23138: commit 4f1a6d27b9a44f61329bc7b6779a0c645362e181
        !          23139: Author: Martin Mares <mj@ucw.cz>
        !          23140: Date:   Mon May 17 20:16:53 1999 +0000
        !          23141: 
        !          23142:     Kill remaining master_table relics in KRT code.
        !          23143:     
        !          23144:     Make all protocols pass routing table to rte_update and rte_discard.
        !          23145: 
        !          23146: commit 0e02abfd5770062768eeb4c75061b7d2f656489d
        !          23147: Author: Martin Mares <mj@ucw.cz>
        !          23148: Date:   Mon May 17 20:14:52 1999 +0000
        !          23149: 
        !          23150:     From now we support multiple tables. The master_table variable is
        !          23151:     definitely gone. Both rte_update() and rte_discard() have an additional
        !          23152:     argument telling which table should they modify.
        !          23153:     
        !          23154:     Also, rte_update() no longer walks the whole protocol list -- each table
        !          23155:     has a list of all protocols connected to this table and having the
        !          23156:     rt_notify hook set. Each protocol can also freely decide (by calling
        !          23157:     proto_add_announce_hook) to connect to any other table, but it will
        !          23158:     be probably used only by the table-to-table protocol.
        !          23159:     
        !          23160:     The default debugging dumps now include all routing tables and also
        !          23161:     all their connections.
        !          23162: 
        !          23163: commit 4107df1d1b7454a16e6f45ea55aae13b01c9f566
        !          23164: Author: Martin Mares <mj@ucw.cz>
        !          23165: Date:   Mon May 17 20:06:19 1999 +0000
        !          23166: 
        !          23167:     Implemented two new symbol handling functions:
        !          23168:     
        !          23169:       o  cf_define_symbol() -- it assigns a meaning to a symbol, bailing
        !          23170:          out if it already has one.
        !          23171:       o  cf_find_symbol() -- finds symbol by name and creates it if not found.
        !          23172:     
        !          23173:     Also modified filter/config.Y to make use of the first function.
        !          23174: 
        !          23175: commit b23c5e0ff4e9071b2568bf2f7d437bc13273d17d
        !          23176: Author: Martin Mares <mj@ucw.cz>
        !          23177: Date:   Fri May 14 18:03:09 1999 +0000
        !          23178: 
        !          23179:     Added ip_skip_header() and modified OSPF to use it.
        !          23180: 
        !          23181: commit 11ce4490fac7d0446802738f5fb8fd68c36bd30b
        !          23182: Author: Ondrej Filip <feela@network.cz>
        !          23183: Date:   Fri May 14 08:50:25 1999 +0000
        !          23184: 
        !          23185:     *** empty log message ***
        !          23186: 
        !          23187: commit 67ff91302f21f6a40201bcc8a01c9c76eaaf1ed1
        !          23188: Author: Ondrej Filip <feela@network.cz>
        !          23189: Date:   Fri May 14 08:46:06 1999 +0000
        !          23190: 
        !          23191:     Netmask checking for hello packets added.
        !          23192: 
        !          23193: commit 7426ee3d49fab13428f198c78c8b7f3da131382e
        !          23194: Author: Ondrej Filip <feela@network.cz>
        !          23195: Date:   Thu May 13 09:18:36 1999 +0000
        !          23196: 
        !          23197:     Checksum control added.
        !          23198: 
        !          23199: commit 296ecb56eb4d1951d23d74d502d2c48a42eb6eee
        !          23200: Author: Ondrej Filip <feela@network.cz>
        !          23201: Date:   Tue May 11 15:34:33 1999 +0000
        !          23202: 
        !          23203:     OSPF RX implementation starts....
        !          23204: 
        !          23205: commit 1b16029c12a501752388523ebfe2981e7d7d7ed3
        !          23206: Author: Pavel Machek <pavel@ucw.cz>
        !          23207: Date:   Tue May 11 09:53:45 1999 +0000
        !          23208: 
        !          23209:     Mensi updaty do ripu. Pridana passwd autentikace (netestovano).
        !          23210: 
        !          23211: commit f7103dfcfe174d39c8aa10eb100550e3ec213981
        !          23212: Author: Ondrej Filip <feela@network.cz>
        !          23213: Date:   Tue May 11 09:50:02 1999 +0000
        !          23214: 
        !          23215:     Better logging output. Added 'struct proto *' info 'struct ospf iface'.
        !          23216: 
        !          23217: commit 1a54d44a23de7b0bf0dfe62dd3d09d8167e5a597
        !          23218: Author: Martin Mares <mj@ucw.cz>
        !          23219: Date:   Mon May 10 21:37:39 1999 +0000
        !          23220: 
        !          23221:     Added packet checksumming code. Watch the comments for an explanation.
        !          23222: 
        !          23223: commit a2697f02ac5109e749bff4d07bee6cedd0ab650b
        !          23224: Author: Martin Mares <mj@ucw.cz>
        !          23225: Date:   Fri May 7 13:46:16 1999 +0000
        !          23226: 
        !          23227:     Netlink support for secondary interface addresses.
        !          23228: 
        !          23229: commit 9a158361da249e0eab1e0f7bd2c7dbe9f32eddfa
        !          23230: Author: Martin Mares <mj@ucw.cz>
        !          23231: Date:   Thu May 6 21:38:11 1999 +0000
        !          23232: 
        !          23233:     I rewrote the interface handling code, so that it supports multiple
        !          23234:     addresses per interface (needed for example for IPv6 support).
        !          23235:     
        !          23236:     Visible changes:
        !          23237:     
        !          23238:     o  struct iface now contains a list of all interface addresses (represented
        !          23239:        by struct ifa), iface->addr points to the primary address (if any).
        !          23240:     o  Interface has IF_UP set iff it's up and it has a primary address.
        !          23241:     o  IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED
        !          23242:        in the protocols; I've added this, but please check).
        !          23243:     o  The if_notify_change hook has been simplified (only one interface pointer
        !          23244:        etc.).
        !          23245:     o  Introduced a ifa_notify_change hook. (For now, only the Direct protocol
        !          23246:        does use it -- it's wise to just listen to device routes in all other
        !          23247:        protocols.)
        !          23248:     o  Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway).
        !          23249:     o  Updated all the code except netlink (I'll look at it tomorrow) to match
        !          23250:        the new semantics (please look at your code to ensure I did it right).
        !          23251:     
        !          23252:     Things to fix:
        !          23253:     
        !          23254:     o  Netlink.
        !          23255:     o  Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
        !          23256: 
        !          23257: commit ec8b579e9c9703601bf745745b620103fe2e2477
        !          23258: Author: Martin Mares <mj@ucw.cz>
        !          23259: Date:   Tue Apr 27 16:03:17 1999 +0000
        !          23260: 
        !          23261:     Recognize site scope for IPv4 addresses (prefixes reserved for private
        !          23262:     networks).
        !          23263:     
        !          23264:     Removed old #ifndef logic which was used to avoid IPv4/IPv6 clashes
        !          23265:     before conditionals in Modules lists were introduced.
        !          23266: 
        !          23267: commit 59e2188cb7020e43e25c9d5bdcd011f341ddfc1d
        !          23268: Author: Ondrej Filip <feela@network.cz>
        !          23269: Date:   Tue Apr 27 13:04:33 1999 +0000
        !          23270: 
        !          23271:     Just changes of comments.
        !          23272: 
        !          23273: commit 6376a961332552e2bc178d647f1e5cfa01a1ac32
        !          23274: Author: Ondrej Filip <feela@network.cz>
        !          23275: Date:   Tue Apr 27 12:56:52 1999 +0000
        !          23276: 
        !          23277:     Hello timer implemented.
        !          23278: 
        !          23279: commit 93bde8dce23ae10476263a84cc40bbe186263fdc
        !          23280: Author: Ondrej Filip <feela@network.cz>
        !          23281: Date:   Thu Apr 22 13:12:28 1999 +0000
        !          23282: 
        !          23283:     Work on hello continues.
        !          23284: 
        !          23285: commit 36bbfc704c7d2153537751e24413db9b9c97bc58
        !          23286: Author: Pavel Machek <pavel@ucw.cz>
        !          23287: Date:   Mon Apr 19 18:41:56 1999 +0000
        !          23288: 
        !          23289:     Updated filters: they now actually see IP/pxlen of net being filtered,
        !          23290:     gateway, and who told us, so they can do usefull jobs from now on.
        !          23291: 
        !          23292: commit afbc41ab3d4f07f7dc4dbc6c769fe7fa1567f357
        !          23293: Author: Pavel Machek <pavel@ucw.cz>
        !          23294: Date:   Wed Apr 14 21:11:24 1999 +0000
        !          23295: 
        !          23296:     SImplify code a tiny bit.
        !          23297: 
        !          23298: commit b11d8a4f59b3559779938b0a37914a7bc8c07a6b
        !          23299: Author: Ondrej Filip <feela@network.cz>
        !          23300: Date:   Wed Apr 14 15:13:44 1999 +0000
        !          23301: 
        !          23302:     Redesigned struct ospf_iface & new struct ospf_sock.
        !          23303: 
        !          23304: commit b31568a516142e905712bad498914fb6a82dc25b
        !          23305: Author: Ondrej Filip <feela@network.cz>
        !          23306: Date:   Wed Apr 14 12:47:18 1999 +0000
        !          23307: 
        !          23308:     Small bug fix in memcpy.
        !          23309: 
        !          23310: commit 4c5e5e3a1c438cb2e92535e3fabc458aa0d6deb3
        !          23311: Author: Martin Mares <mj@ucw.cz>
        !          23312: Date:   Wed Apr 14 12:29:47 1999 +0000
        !          23313: 
        !          23314:     Multicasts once again: When using SO_BINDTODEVICE, don't specify IP address
        !          23315:     of the interface.
        !          23316: 
        !          23317: commit 1b50a1e4be2b54bd4ccadfaeaf558aea15255de4
        !          23318: Author: Martin Mares <mj@ucw.cz>
        !          23319: Date:   Wed Apr 14 11:39:07 1999 +0000
        !          23320: 
        !          23321:     Next attempt to get SO_BINDTODEVICE work :)
        !          23322: 
        !          23323: commit 36154beb705cdaf03f9ee050798d9e653ded6ca5
        !          23324: Author: Martin Mares <mj@ucw.cz>
        !          23325: Date:   Wed Apr 14 11:21:02 1999 +0000
        !          23326: 
        !          23327:     Use SO_BINDTODEVICE if we're using old multicast API (i.e., struct ip_mreq
        !          23328:     and not ip_mreqn). This should get multicasts on unnumbered PtP links work.
        !          23329: 
        !          23330: commit 9da4d143402efd16bec286e3723b42386b20968b
        !          23331: Author: Martin Mares <mj@ucw.cz>
        !          23332: Date:   Wed Apr 14 11:09:55 1999 +0000
        !          23333: 
        !          23334:     A couple of OSPF fixes:
        !          23335:     
        !          23336:     o  ((flags & IF_CHANGE_UP) == IF_CHANGE_UP)   ->   (flags & IF_CHANGE_UP)
        !          23337:     o  bcopy  ->  memcpy   (bcopy is unportable)
        !          23338:     o  Ifdeffed out add_tail(&(ifa->sk_list),NODE mcsk) -- the node in socket
        !          23339:        structure is for internal use by the resource manager only. (Now, the
        !          23340:        debugging dump of open sockets looks sane :-)).
        !          23341: 
        !          23342: commit 1ab4dee0288e4ad6c8fbefae3aa64ca873cf4500
        !          23343: Author: Martin Mares <mj@ucw.cz>
        !          23344: Date:   Wed Apr 14 10:49:31 1999 +0000
        !          23345: 
        !          23346:     Removed redeclaration of `idval', so that it compiles :)
        !          23347: 
        !          23348: commit 4c630a6dd7e02cbbe1cca2c626feb86801ee4d03
        !          23349: Author: Ondrej Filip <feela@network.cz>
        !          23350: Date:   Tue Apr 13 21:46:20 1999 +0000
        !          23351: 
        !          23352:     Added wait timer for eligible BCAST & NBMA interface.
        !          23353: 
        !          23354: commit 55e7732a5a5fe47752eafe6024ba473bd7959e45
        !          23355: Author: Ondrej Filip <feela@network.cz>
        !          23356: Date:   Tue Apr 13 19:27:44 1999 +0000
        !          23357: 
        !          23358:     Change in ospf_iface. (My bad understanding of lists manipulation.)
        !          23359: 
        !          23360: commit aec76c6e8e5702144522f0061bc102d26e10b97c
        !          23361: Author: Ondrej Filip <feela@network.cz>
        !          23362: Date:   Tue Apr 13 18:21:53 1999 +0000
        !          23363: 
        !          23364:     IPv6 changes.
        !          23365: 
        !          23366: commit 43fc099b98594fb3ac6a56a90fd00f42fc98f742
        !          23367: Author: Pavel Machek <pavel@ucw.cz>
        !          23368: Date:   Tue Apr 13 11:40:04 1999 +0000
        !          23369: 
        !          23370:     Sets of IP addresses should work, now. (From now on it is also
        !          23371:     possible to write if 1.2.3.4 < 1.2.3.5, but I'm not sure if it is good
        !          23372:     for anything.)
        !          23373: 
        !          23374: commit 24eaae9e5d0b154ec47d9d4e13649fb066814ef1
        !          23375: Author: Ondrej Filip <feela@network.cz>
        !          23376: Date:   Tue Apr 13 00:46:34 1999 +0000
        !          23377: 
        !          23378:     Small change to stop using loopback.
        !          23379: 
        !          23380: commit cb2e8c49706c14ea662df44cd3911c1f9db4b4a8
        !          23381: Author: Ondrej Filip <feela@network.cz>
        !          23382: Date:   Tue Apr 13 00:24:05 1999 +0000
        !          23383: 
        !          23384:     A small init change to avoid core dump.
        !          23385: 
        !          23386: commit 5b1a92e6d4350bcecff4f78b9cfabfb98ca7ce2a
        !          23387: Author: Ondrej Filip <feela@network.cz>
        !          23388: Date:   Mon Apr 12 23:54:21 1999 +0000
        !          23389: 
        !          23390:     Not all I mean serious. Almost everything will change.
        !          23391:     Changes: struct ospf_iface draft, various constants added...
        !          23392: 
        !          23393: commit 2f5d154466e8d76f4054561a361bb45f157c29a6
        !          23394: Author: Martin Mares <mj@ucw.cz>
        !          23395: Date:   Mon Apr 12 20:26:06 1999 +0000
        !          23396: 
        !          23397:     Added ipa_compare as requested.
        !          23398: 
        !          23399: commit 38506f71b0bea5580987e999a7b1a69f58aec7ec
        !          23400: Author: Pavel Machek <pavel@ucw.cz>
        !          23401: Date:   Mon Apr 12 19:58:18 1999 +0000
        !          23402: 
        !          23403:     Sets of integers now actually work. Sets of IP will work as soon as
        !          23404:     compare function is ready.
        !          23405: 
        !          23406: commit 01bd7759b260b379089acf28cc47bd49572ebd22
        !          23407: Author: Martin Mares <mj@ucw.cz>
        !          23408: Date:   Mon Apr 12 18:07:05 1999 +0000
        !          23409: 
        !          23410:     Ignore alias interfaces (some day, we will treat them as pure secondary
        !          23411:     interface addresses).
        !          23412: 
        !          23413: commit 08e2d6259a71c5e43ac0083ea6d81357678f99eb
        !          23414: Author: Martin Mares <mj@ucw.cz>
        !          23415: Date:   Mon Apr 12 18:01:07 1999 +0000
        !          23416: 
        !          23417:     Removed TOS support. This simplifies many things a lot.
        !          23418: 
        !          23419: commit 170c984a9ef1bde00711f405b03d24a2e151501c
        !          23420: Author: Martin Mares <mj@ucw.cz>
        !          23421: Date:   Mon Apr 12 17:27:21 1999 +0000
        !          23422: 
        !          23423:     Cosmetic message fix.
        !          23424: 
        !          23425: commit 113694892e9669a1ae3dd44274f27c862c6c293a
        !          23426: Author: Martin Mares <mj@ucw.cz>
        !          23427: Date:   Mon Apr 12 17:21:11 1999 +0000
        !          23428: 
        !          23429:     Use $(CC) instead of gcc even when generating dependencies.
        !          23430: 
        !          23431: commit 620c4f90c9437362bf17180e6dbbf14c4e480e40
        !          23432: Author: Martin Mares <mj@ucw.cz>
        !          23433: Date:   Mon Apr 12 17:20:50 1999 +0000
        !          23434: 
        !          23435:     Oops, a typo in previous struct ip_mreqn changes...
        !          23436: 
        !          23437: commit 61fb537c6273c50deb7d33f8af246993eab4bc4d
        !          23438: Author: Martin Mares <mj@ucw.cz>
        !          23439: Date:   Mon Apr 12 15:27:56 1999 +0000
        !          23440: 
        !          23441:     Use `struct ip_mreqn' instead of `struct ip_mreq' for multicast
        !          23442:     operations on 2.1/2.2 kernels. This allows passing of real interface
        !          23443:     indexes instead of referencing interfaces by their IP addresses which
        !          23444:     fails badly in presence of unnumbered interfaces.
        !          23445:     
        !          23446:     Unfortunately, this structure is not visible with glibc 2.0 as it provides
        !          23447:     its own networking headers :-(  Both libc5 and glibc 2.1 should be OK.
        !          23448: 
        !          23449: commit 5a99ade413b97a780758f5c8f927604ad6c8e57b
        !          23450: Author: Martin Mares <mj@ucw.cz>
        !          23451: Date:   Mon Apr 12 14:57:46 1999 +0000
        !          23452: 
        !          23453:     Fixed a couple of bugs in handling of multicast sockets.
        !          23454:     
        !          23455:     See comments in lib/socket.h for a detailed guide on how to use them.
        !          23456: 
        !          23457: commit bad631e04806287e99e2464c0fdc884f9efa1e71
        !          23458: Author: Pavel Machek <pavel@ucw.cz>
        !          23459: Date:   Mon Apr 12 12:07:15 1999 +0000
        !          23460: 
        !          23461:     Oops, typo.
        !          23462: 
        !          23463: commit 8ba2cc064b823274e8af043bf0676bfc252e810a
        !          23464: Author: Pavel Machek <pavel@ucw.cz>
        !          23465: Date:   Mon Apr 12 12:01:59 1999 +0000
        !          23466: 
        !          23467:     In case no startup function is defined, don't try to launch it.
        !          23468: 
        !          23469: commit ed9a82369ffc660ec20d9b7fa64188a450267672
        !          23470: Author: Martin Mares <mj@ucw.cz>
        !          23471: Date:   Sun Apr 11 19:28:16 1999 +0000
        !          23472: 
        !          23473:     Added new target "tags" to generate a tag table for Emacs.
        !          23474:     
        !          23475:     Also made "depend" work before the tree is compiled first time.
        !          23476: 
        !          23477: commit 2db3b2887ea93c9946956a9a5ce5a06f0ef783c3
        !          23478: Author: Pavel Machek <pavel@ucw.cz>
        !          23479: Date:   Sat Apr 10 09:45:08 1999 +0000
        !          23480: 
        !          23481:     Decrease number of warnings.
        !          23482: 
        !          23483: commit 49ed70b48e3b66c4dd71315e842733d69204698e
        !          23484: Author: Martin Mares <mj@ucw.cz>
        !          23485: Date:   Wed Apr 7 14:25:56 1999 +0000
        !          23486: 
        !          23487:     Portability fixes.
        !          23488: 
        !          23489: commit 23b1539bf90bfb6b35d9a2be0a2b6b1e311c1460
        !          23490: Author: Pavel Machek <pavel@ucw.cz>
        !          23491: Date:   Wed Apr 7 12:11:08 1999 +0000
        !          23492: 
        !          23493:     Filters upgraded - a bit. Moved code to filter.c because it is where
        !          23494:     it belongs. (f-util.c stays there for auxiliary and non-important things.)
        !          23495: 
        !          23496: commit 7976a574b692f747d833d899caf0fbbf702714c1
        !          23497: Author: Martin Mares <mj@ucw.cz>
        !          23498: Date:   Tue Apr 6 21:31:03 1999 +0000
        !          23499: 
        !          23500:     ip_pton: Avoid modification of the string we're converting.
        !          23501: 
        !          23502: commit e2dc2f30efd65cf3da4db150fae695978388e247
        !          23503: Author: Martin Mares <mj@ucw.cz>
        !          23504: Date:   Mon Apr 5 20:25:03 1999 +0000
        !          23505: 
        !          23506:     Routing table core changes to support full route filtering:
        !          23507:     
        !          23508:     o  Introduced rte_cow() which should be used for copying on write the
        !          23509:        rte's in filters. Each rte now carries a flag saying whether it's
        !          23510:        a real route (possessing table linkage and other insignia) or a local
        !          23511:        copy. This function can be expected to be fast since its fast-path
        !          23512:        is inlined.
        !          23513:     o  Introduced rte_update_pool which is a linear memory pool used for
        !          23514:        all temporary data during rte_update. You should not reference it directly
        !          23515:        -- instead use a pool pointer passed to all related functions.
        !          23516:     o  Split rte_update to three functions:
        !          23517:     
        !          23518:        rte_update      The front end: handles all checking, inbound
        !          23519:                        filtering and calls rte_recalculate() for the
        !          23520:                        final version of the route.
        !          23521:        rte_recalculate Update the table according to already filtered route.
        !          23522:        rte_announce    Announce routing table changes to all protocols,
        !          23523:                        passing them through export filters and so on.
        !          23524:     
        !          23525:        The interface has _not_ changed -- still call rte_update() and it will
        !          23526:        do the rest for you automagically.
        !          23527:     o  Use new filtering semantics to be explained in a separate mail.
        !          23528: 
        !          23529: commit 9e0e485e50ea74c4f1c5cb65bdfe6ce819c2cee2
        !          23530: Author: Martin Mares <mj@ucw.cz>
        !          23531: Date:   Mon Apr 5 20:17:59 1999 +0000
        !          23532: 
        !          23533:     Added some new protocol hooks (look at the comments for better explanation):
        !          23534:     
        !          23535:        make_tmp_attrs          Convert inline attributes to ea_list
        !          23536:        store_tmp_attrs         Convert ea_list to inline attributes
        !          23537:        import_control          Pre-import decisions
        !          23538: 
        !          23539: commit 5056c559c4eb253a4eee10cf35b694faec5265eb
        !          23540: Author: Martin Mares <mj@ucw.cz>
        !          23541: Date:   Mon Apr 5 20:15:31 1999 +0000
        !          23542: 
        !          23543:     Changed syntax of attaching filters to protocols to hopefully the final
        !          23544:     version:
        !          23545:     
        !          23546:        EXPORT <filter-spec>    for outbound routes (i.e., those announced
        !          23547:                                by BIRD to the rest of the world).
        !          23548:        IMPORT <filter-spec>    for inbound routes (i.e., those imported
        !          23549:                                by BIRD from the rest of the world).
        !          23550:     
        !          23551:     where <filter-spec> is one of:
        !          23552:     
        !          23553:        ALL                     pass all routes
        !          23554:        NONE                    drop all routes
        !          23555:        FILTER <name>           use named filter
        !          23556:        FILTER { <filter> }     use explicitly defined filter
        !          23557:     
        !          23558:     For all protocols, the default is IMPORT ALL, EXPORT NONE. This includes
        !          23559:     the kernel protocol, so that you need to add EXPORT ALL to get the previous
        !          23560:     configuration of kernel syncer (as usually, see doc/bird.conf.example for
        !          23561:     a bird.conf example :)).
        !          23562: 
        !          23563: commit 63a381dbf5e37c2740982d07988cea983c699816
        !          23564: Author: Martin Mares <mj@ucw.cz>
        !          23565: Date:   Mon Apr 5 20:10:31 1999 +0000
        !          23566: 
        !          23567:     Several filter changes. (Pavel, please check if they are OK.)
        !          23568:     
        !          23569:        o  Changed parameters of f_run. Changed rtein+rteout pair to rte pointer
        !          23570:           passed by reference, added ea_list of temporary attrs again passed
        !          23571:           by reference and finally added a pointer to memory pool for storing
        !          23572:           temporary data (new ea_lists's, temporary rta's etc.).
        !          23573:        o  Re-ordered result codes, so that all accepts come before all rejects.
        !          23574:        o  Introduced FILTER_ACCEPT and FILTER_REJECT dummy values (will be
        !          23575:           used in protocol configurations).
        !          23576:        o  Added filter_name() which returns name of a filter or ACCEPT/REJECT
        !          23577:           for the dummies.
        !          23578: 
        !          23579: commit d4ff748224fc18e460e74ab14d70d01fd50e4b92
        !          23580: Author: Martin Mares <mj@ucw.cz>
        !          23581: Date:   Mon Apr 5 20:06:02 1999 +0000
        !          23582: 
        !          23583:     Use a more reasonable pool chunk size: 4080 bytes seem to be a good
        !          23584:     approximation of a integral fraction of page size even if both malloc
        !          23585:     overhead and chunk header space is counted.
        !          23586: 
        !          23587: commit c10421d3d4b5f23dc953c887332bdb6e80ae0540
        !          23588: Author: Martin Mares <mj@ucw.cz>
        !          23589: Date:   Sat Apr 3 13:05:18 1999 +0000
        !          23590: 
        !          23591:     More changes to the kernel syncer.
        !          23592:     
        !          23593:     o  Now compatible with filtering.
        !          23594:     o  Learning of kernel routes supported only on CONFIG_SELF_CONSCIOUS
        !          23595:        systems (on the others it's impossible to get it semantically correct).
        !          23596:     o  Learning now stores all of its routes in a separate fib and selects
        !          23597:        the ones the kernel really uses for forwarding packets.
        !          23598:     o  Better treatment of CONFIG_AUTO_ROUTES ports.
        !          23599:     o  Lots of internal changes.
        !          23600: 
        !          23601: commit 69ec9087ad3fb631f46275220909a876deadb6b5
        !          23602: Author: Martin Mares <mj@ucw.cz>
        !          23603: Date:   Sat Apr 3 13:01:58 1999 +0000
        !          23604: 
        !          23605:     Added new protocol hook for dumping of protocol-dependent route
        !          23606:     attributes.
        !          23607:     
        !          23608:     Please implement in all protocols.
        !          23609: 
        !          23610: commit 73c7bed168890399981f70e1d0be35d8cde01fed
        !          23611: Author: Martin Mares <mj@ucw.cz>
        !          23612: Date:   Sat Apr 3 13:00:52 1999 +0000
        !          23613: 
        !          23614:     Defined CONFIG_SELF_CONSCIOUS whenever the kernel scanner is able
        !          23615:     to distinguish between our own routes and alien ones.
        !          23616: 
        !          23617: commit fe662dfd782619fd6505a1456b973b2525ab6ebf
        !          23618: Author: Martin Mares <mj@ucw.cz>
        !          23619: Date:   Fri Apr 2 13:38:54 1999 +0000
        !          23620: 
        !          23621:     Fixed `too many interfaces' cases.
        !          23622: 
        !          23623: commit 0498d92f955f011ceb70e1124f25ac567c359005
        !          23624: Author: Pavel Machek <pavel@ucw.cz>
        !          23625: Date:   Fri Apr 2 11:45:55 1999 +0000
        !          23626: 
        !          23627:     Believe it or not, printf()'s does not work too much without this one.
        !          23628: 
        !          23629: commit 8cda9cdbcf445ebe828b7bf89dcb4c7f83937756
        !          23630: Author: Martin Mares <mj@ucw.cz>
        !          23631: Date:   Thu Apr 1 19:23:59 1999 +0000
        !          23632: 
        !          23633:     Argh, the fix was wrong.
        !          23634: 
        !          23635: commit e4241f24f2ebc796a9cfb03db2a9502f5ebd9c0c
        !          23636: Author: Martin Mares <mj@ucw.cz>
        !          23637: Date:   Thu Apr 1 15:35:15 1999 +0000
        !          23638: 
        !          23639:     Portability fixes.
        !          23640: 
        !          23641: commit abae6e9cd3f041648eaa85fad2f861515b67c1ce
        !          23642: Author: Martin Mares <mj@ucw.cz>
        !          23643: Date:   Thu Apr 1 15:33:52 1999 +0000
        !          23644: 
        !          23645:     First few FreeBSD portability fixes.
        !          23646: 
        !          23647: commit 6accdf4f437ef2a3251df917f2b83fe985e64961
        !          23648: Author: Martin Mares <mj@ucw.cz>
        !          23649: Date:   Mon Mar 29 20:46:00 1999 +0000
        !          23650: 
        !          23651:     Updated the TODO list.
        !          23652: 
        !          23653: commit fb71b23e6004d18480dcfdfbc2e7da7bbc4eb400
        !          23654: Author: Martin Mares <mj@ucw.cz>
        !          23655: Date:   Mon Mar 29 20:33:45 1999 +0000
        !          23656: 
        !          23657:     Remember that we can run device syncer without kernel syncer
        !          23658:     and vice versa now.
        !          23659: 
        !          23660: commit 78d5ec15043ab67fdf31feabe4a83129488625fe
        !          23661: Author: Martin Mares <mj@ucw.cz>
        !          23662: Date:   Mon Mar 29 20:28:25 1999 +0000
        !          23663: 
        !          23664:     Please don't commit debugging code which makes BIRD exit before anything
        !          23665:     actually starts to happen. Grrr.
        !          23666: 
        !          23667: commit e4912e3594c9211c8a147f1dcd4eeaf3b0095ed0
        !          23668: Author: Martin Mares <mj@ucw.cz>
        !          23669: Date:   Mon Mar 29 20:26:32 1999 +0000
        !          23670: 
        !          23671:     Prefer `gm4' over `m4' (due to BSD et al.).
        !          23672: 
        !          23673: commit ba92164871f65bb9adcfa66b901d1a7b86697a86
        !          23674: Author: Pavel Machek <pavel@ucw.cz>
        !          23675: Date:   Mon Mar 29 20:21:28 1999 +0000
        !          23676: 
        !          23677:     Update of filters towards new interface.
        !          23678: 
        !          23679: commit 5bc512aa3a0d3e4ca378fff3316b75c131f17637
        !          23680: Author: Martin Mares <mj@ucw.cz>
        !          23681: Date:   Mon Mar 29 20:14:33 1999 +0000
        !          23682: 
        !          23683:     Clarify resource dumps and include them in the main debugging dump.
        !          23684: 
        !          23685: commit 3f2a21fd348e49cf3ca98750b14e14dd04b3209b
        !          23686: Author: Martin Mares <mj@ucw.cz>
        !          23687: Date:   Mon Mar 29 20:14:00 1999 +0000
        !          23688: 
        !          23689:     Don't try to delete interface routes on CONFIG_AUTO_ROUTES systems.
        !          23690: 
        !          23691: commit 6c02d83f4d225abc03f99fb80299f1ba10ac174a
        !          23692: Author: Martin Mares <mj@ucw.cz>
        !          23693: Date:   Mon Mar 29 19:56:32 1999 +0000
        !          23694: 
        !          23695:     Added FIXME: If a strange interface appears, ignore it instead of only
        !          23696:     writing an error message...
        !          23697: 
        !          23698: commit f5c687f7911501ac1efd8163fade4862dc65456c
        !          23699: Author: Martin Mares <mj@ucw.cz>
        !          23700: Date:   Mon Mar 29 19:35:47 1999 +0000
        !          23701: 
        !          23702:     Added lp_flush() which flushes contents of a linear pool, leaving all the
        !          23703:     memory available for subsequent allocations from the same pool. Both flushing
        !          23704:     and re-using the memory costs just few instructions.
        !          23705: 
        !          23706: commit f54801ffedf3d6342b37c1560502bfc24e7fe64a
        !          23707: Author: Martin Mares <mj@ucw.cz>
        !          23708: Date:   Mon Mar 29 19:14:43 1999 +0000
        !          23709: 
        !          23710:     Moved all system-dependent #include's containing endianity conversion
        !          23711:     functions to sysdep header endian.h.
        !          23712: 
        !          23713: commit 6134024815adf2541293008f848dce4e8a21d061
        !          23714: Author: Martin Mares <mj@ucw.cz>
        !          23715: Date:   Mon Mar 29 19:13:36 1999 +0000
        !          23716: 
        !          23717:     #define NULL if not defined by system includes.
        !          23718: 
        !          23719: commit 7f400d1c620e80461e61384c7d0b8893edb92695
        !          23720: Author: Martin Mares <mj@ucw.cz>
        !          23721: Date:   Mon Mar 29 19:04:14 1999 +0000
        !          23722: 
        !          23723:     After today's lengthy discussions about filter syntax, let's clean up
        !          23724:     whitespace/semicolon rules for whole config file:
        !          23725:     
        !          23726:        o  All non-zero amounts of whitespace are equivalent to single space
        !          23727:           (aka `all the whitespace has been born equal' ;-)).
        !          23728:        o  Comments count as whitespace.
        !          23729:        o  Whitespace has no syntactic signifance (it can only separate lexical
        !          23730:           elements).
        !          23731:        o  Consequence: line ends are no longer treated as `;'s.
        !          23732:        o  Every declaration must be terminated by an explicit `;' unless
        !          23733:           or by a group enclosed in `{' and `}'.
        !          23734: 
        !          23735: commit 1127ac6ec7eff52d4ccbc4d836a63fa6513f6d48
        !          23736: Author: Martin Mares <mj@ucw.cz>
        !          23737: Date:   Sat Mar 27 22:51:05 1999 +0000
        !          23738: 
        !          23739:     Cleaned up system configuration files -- removed few obsolete parameters,
        !          23740:     documented the remaining ones (sysdep/cf/README).
        !          23741:     
        !          23742:     Available configurations:
        !          23743:     
        !          23744:        o  linux-20: Old Linux interface via /proc/net/route (selected by default
        !          23745:                on pre-2.1 kernels).
        !          23746:        o  linux-21: Old Linux interface, but device routes handled by the
        !          23747:                kernel (selected by default for 2.1 and newer kernels).
        !          23748:        o  linux-22: Linux with Netlink (I play with it a lot yet, so it isn't
        !          23749:                a default).
        !          23750:        o  linux-ipv6: Prototype config for IPv6 on Linux. Not functional yet.
        !          23751: 
        !          23752: commit 7dc4827c968053e45bcb7f145e9986eeb20c993b
        !          23753: Author: Martin Mares <mj@ucw.cz>
        !          23754: Date:   Fri Mar 26 21:50:43 1999 +0000
        !          23755: 
        !          23756:     Added everything protocols need to know about multiple routing tables,
        !          23757:     i.e. struct proto now contains field 'table' pointing to routing table
        !          23758:     the protocol is attached to. Use this instead of &master_table.
        !          23759:     
        !          23760:     Modified all protocols except the kernel syncer to use this field.
        !          23761: 
        !          23762: commit 7e5f5ffdda7232048c4baf3fdec358afb494a29d
        !          23763: Author: Martin Mares <mj@ucw.cz>
        !          23764: Date:   Fri Mar 26 21:44:38 1999 +0000
        !          23765: 
        !          23766:     Moved to a much more systematic way of configuring kernel protocols.
        !          23767:     
        !          23768:       o  Nothing is configured automatically. You _need_ to specify
        !          23769:          the kernel syncer in config file in order to get it started.
        !          23770:       o  Syncing has been split to route syncer (protocol "Kernel") and
        !          23771:          interface syncer (protocol "Device"), device routes are generated
        !          23772:          by protocol "Direct" (now can exist in multiple instances, so that
        !          23773:          it will be possible to feed different device routes to different
        !          23774:          routing tables once multiple tables get supported).
        !          23775:     
        !          23776:     See doc/bird.conf.example for a living example of these shiny features.
        !          23777: 
        !          23778: commit 739ebd8e82b090ed91b3ebe77509ecd6784eca9a
        !          23779: Author: Martin Mares <mj@ucw.cz>
        !          23780: Date:   Fri Mar 26 21:38:02 1999 +0000
        !          23781: 
        !          23782:     Allow different instances of the same protocol with identical preferences.
        !          23783: 
        !          23784: commit 4ba84ebc8285c3a5c556fc769101cc29cb3d3708
        !          23785: Author: Martin Mares <mj@ucw.cz>
        !          23786: Date:   Fri Mar 26 21:37:29 1999 +0000
        !          23787: 
        !          23788:     Slightly better generator of default protocol instance names.
        !          23789: 
        !          23790: commit 241b7311ec5a091b7f3e1a1f2a776f3ef403c500
        !          23791: Author: Martin Mares <mj@ucw.cz>
        !          23792: Date:   Fri Mar 26 21:35:28 1999 +0000
        !          23793: 
        !          23794:     Don't compile OSPF by default.
        !          23795: 
        !          23796: commit b5239f223874b87dd7c9de4d624cdf1230022111
        !          23797: Author: Martin Mares <mj@ucw.cz>
        !          23798: Date:   Fri Mar 26 21:33:36 1999 +0000
        !          23799: 
        !          23800:     Don't try to manipulate neighbor lists for copied interface structures.
        !          23801:     This avoids few nasty references to free memory.
        !          23802: 
        !          23803: commit f79a749d0b9a5a7509db9ad6c547bbabc0457675
        !          23804: Author: Martin Mares <mj@ucw.cz>
        !          23805: Date:   Wed Mar 24 09:23:34 1999 +0000
        !          23806: 
        !          23807:     Removed our declaration of RTPROT_BIRD since Alexey has assigned
        !          23808:     us a real protocol number in 2.2.4 kernel.
        !          23809: 
        !          23810: commit 421838ffef49338218dd85ff5efd1d5396ab7ccf
        !          23811: Author: Martin Mares <mj@ucw.cz>
        !          23812: Date:   Wed Mar 17 15:01:07 1999 +0000
        !          23813: 
        !          23814:     rte_update: Check sanity of incoming entries. Throw out (and log) all routes
        !          23815:     to bogus prefixes and non-local routes to host scope addresses.
        !          23816: 
        !          23817: commit 529c414953c24c326d9063a8f06fa652f0dfbc30
        !          23818: Author: Martin Mares <mj@ucw.cz>
        !          23819: Date:   Wed Mar 17 14:31:26 1999 +0000
        !          23820: 
        !          23821:     Allow input and output filters (only accept/reject style as we didn't define
        !          23822:     modifying filters yet) to be attached to protocol instances.
        !          23823: 
        !          23824: commit e0f2e42f4f420f7bbdda3d4656c9dda585f1297a
        !          23825: Author: Martin Mares <mj@ucw.cz>
        !          23826: Date:   Wed Mar 17 14:29:39 1999 +0000
        !          23827: 
        !          23828:     A couple of filter tweaks:
        !          23829:     
        !          23830:        o  Introduced struct filter which serves as an external reference
        !          23831:           to filter. Using struct symbol for this is unwise since it doesn't
        !          23832:           allow extra information attached to the filter and it also forces
        !          23833:           all filters to be named.
        !          23834:        o  Implemented config rule 'filter' which matches either named filter
        !          23835:           or an embedded unnamed filter (`{ <filter> }').
        !          23836:        o  Fixed totally bogus comment at the top of filter.h.
        !          23837:        o  Added a missing prototype for f_run() to filter.h.
        !          23838: 
        !          23839: commit c612a3be310069b9fbbcfef931bb546d536a716f
        !          23840: Author: Martin Mares <mj@ucw.cz>
        !          23841: Date:   Wed Mar 17 13:13:18 1999 +0000
        !          23842: 
        !          23843:     Removed the `rta_same' hook since it's no longer needed (all protocols
        !          23844:     needing some local information should use extended attrs and cached
        !          23845:     rta's).
        !          23846: 
        !          23847: commit b77ae37d11aa6e16dce31f50ca42ea30714a793e
        !          23848: Author: Martin Mares <mj@ucw.cz>
        !          23849: Date:   Wed Mar 17 13:09:09 1999 +0000
        !          23850: 
        !          23851:     Implemented extended route attributes and all related functions.
        !          23852: 
        !          23853: commit 9a38757c6ab87bf64ebc22b25b1410a3a09e6b10
        !          23854: Author: Pavel Machek <pavel@ucw.cz>
        !          23855: Date:   Wed Mar 17 13:05:25 1999 +0000
        !          23856: 
        !          23857:     Initialize pointers to functions so that code is actually alive.
        !          23858: 
        !          23859: commit 3c7ad64c57de77763357684fab919b2fc082a759
        !          23860: Author: Pavel Machek <pavel@ucw.cz>
        !          23861: Date:   Wed Mar 17 13:04:33 1999 +0000
        !          23862: 
        !          23863:     Compilation fix for mj.
        !          23864: 
        !          23865: commit 29df5739c455a954598c809c2e930abc41c8488e
        !          23866: Author: Pavel Machek <pavel@ucw.cz>
        !          23867: Date:   Wed Mar 17 10:20:23 1999 +0000
        !          23868: 
        !          23869:     Don't segfault on unknown interface.
        !          23870: 
        !          23871: commit d36d838df5f726e1f6845fe0e6e5c188426ac00d
        !          23872: Author: Pavel Machek <pavel@ucw.cz>
        !          23873: Date:   Wed Mar 17 10:19:07 1999 +0000
        !          23874: 
        !          23875:     accept & reject should now work
        !          23876: 
        !          23877: commit c1f8dc9149d3868e5a0f4e4ad97759fb3b177bec
        !          23878: Author: Ondrej Filip <feela@network.cz>
        !          23879: Date:   Tue Mar 9 22:27:43 1999 +0000
        !          23880: 
        !          23881:     Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF.
        !          23882: 
        !          23883: commit 2575593e0fa9fb84a4cc481928c32519b3fea2cd
        !          23884: Author: Pavel Machek <pavel@ucw.cz>
        !          23885: Date:   Tue Mar 9 14:45:27 1999 +0000
        !          23886: 
        !          23887:     Resolved conflicts, you no longer need to wrap constants in const()
        !          23888: 
        !          23889: commit 1aa5cf1c6171393d4be4447eada173d4e1eb983a
        !          23890: Author: Pavel Machek <pavel@ucw.cz>
        !          23891: Date:   Tue Mar 9 14:44:43 1999 +0000
        !          23892: 
        !          23893:     Added '=' to operator list
        !          23894: 
        !          23895: commit b7005824453583d1459b49c5a424b50e2ea9a2c8
        !          23896: Author: Pavel Machek <pavel@ucw.cz>
        !          23897: Date:   Mon Mar 8 20:30:06 1999 +0000
        !          23898: 
        !          23899:     Filters are now a tiny bit stronger (if is actually working ;-)
        !          23900: 
        !          23901: commit 111213f0b66cff8f562f7d9117c9080a9882129e
        !          23902: Author: Martin Mares <mj@ucw.cz>
        !          23903: Date:   Thu Mar 4 19:00:31 1999 +0000
        !          23904: 
        !          23905:     Fixed processing of !krt_capable() routes. Converted device route decisions
        !          23906:     to the krt_capable mechanism as well.
        !          23907: 
        !          23908: commit e16155ae4aaee5d9ba7b6940f8312b36707718e4
        !          23909: Author: Martin Mares <mj@ucw.cz>
        !          23910: Date:   Thu Mar 4 18:36:18 1999 +0000
        !          23911: 
        !          23912:     KRT: Implemented asynchronous route / interface state notifications
        !          23913:     (via Netlink). Tweaked kernel synchronization rules a bit. Discovered
        !          23914:     locking bug in kernel Netlink :-)
        !          23915:     
        !          23916:     Future plans: Hunt all the bugs and solve all the FIXME's.
        !          23917: 
        !          23918: commit 2253c9e239253d2094b4b1cabd97d296af885afb
        !          23919: Author: Martin Mares <mj@ucw.cz>
        !          23920: Date:   Thu Mar 4 14:23:32 1999 +0000
        !          23921: 
        !          23922:     Although there are still heaps of FIXME's, Netlink works.
        !          23923:     
        !          23924:     To build BIRD with Netlink support, just configure it with
        !          23925:     
        !          23926:        ./configure --with-sysconfig=linux-21
        !          23927:     
        !          23928:     After it will be tested well enough, I'll probably make it a default
        !          23929:     for 2.2 kernels (and rename it to linux-22 :)).
        !          23930: 
        !          23931: commit f81dc8564ae6c17638d7e3970b9980d0d00fc78a
        !          23932: Author: Martin Mares <mj@ucw.cz>
        !          23933: Date:   Thu Mar 4 11:40:05 1999 +0000
        !          23934: 
        !          23935:     Converted some mb_alloc/bzero pairs to mb_allocz.
        !          23936: 
        !          23937: commit 8fe48f1377c8b501e9b090748b195c62f5b582d2
        !          23938: Author: Martin Mares <mj@ucw.cz>
        !          23939: Date:   Thu Mar 4 11:39:24 1999 +0000
        !          23940: 
        !          23941:     Initialize allocated struct proto :-)
        !          23942: 
        !          23943: commit 7a2105becdbadf20c1b4e4d2359e339c90610825
        !          23944: Author: Martin Mares <mj@ucw.cz>
        !          23945: Date:   Thu Mar 4 11:36:26 1999 +0000
        !          23946: 
        !          23947:     Use dmalloc instead of EFence when available (dmalloc has lot of improvements
        !          23948:     over EFence and also hopefully smaller memory overhead, but sadly it's non-free
        !          23949:     for commercial use).
        !          23950:     
        !          23951:     If the DMALLOC_OPTIONS environment variable is not set, switch on `reasonable'
        !          23952:     checks by default.
        !          23953:     
        !          23954:     Also introduced mb_allocz() for cleared mb_alloc().
        !          23955: 
        !          23956: commit aa64578641c15b137172acc927d9d7af5914576b
        !          23957: Author: Martin Mares <mj@ucw.cz>
        !          23958: Date:   Wed Mar 3 20:57:29 1999 +0000
        !          23959: 
        !          23960:     Netlink scans routes...
        !          23961: 
        !          23962: commit 51ad41f2fc0c95179cb4ba65e568d2b84de32a28
        !          23963: Author: Martin Mares <mj@ucw.cz>
        !          23964: Date:   Wed Mar 3 20:56:33 1999 +0000
        !          23965: 
        !          23966:     EFence helped to find using of already free rte's in rt_prune().
        !          23967: 
        !          23968: commit 53b7a2982adf5d09a1cfddbc12cf172e0700fc55
        !          23969: Author: Martin Mares <mj@ucw.cz>
        !          23970: Date:   Wed Mar 3 20:55:35 1999 +0000
        !          23971: 
        !          23972:     Fix several things I broke today.
        !          23973: 
        !          23974: commit 0e889c52542508dd49433bed1785072cb7799009
        !          23975: Author: Martin Mares <mj@ucw.cz>
        !          23976: Date:   Wed Mar 3 20:40:51 1999 +0000
        !          23977: 
        !          23978:     Added a hack forcing protocols with priority>0 to be started up
        !          23979:     immediately. Grrr, need to find a real solution some day.
        !          23980: 
        !          23981: commit 2d14045224f2233aed386eddf155d10a81892c3f
        !          23982: Author: Martin Mares <mj@ucw.cz>
        !          23983: Date:   Wed Mar 3 19:49:56 1999 +0000
        !          23984: 
        !          23985:     Rewrote the kernel syncer. The old layering was horrible.
        !          23986:     
        !          23987:     The new kernel syncer is cleanly split between generic UNIX module
        !          23988:     and OS dependent submodules:
        !          23989:     
        !          23990:       -  krt.c (the generic part)
        !          23991:       -  krt-iface (low-level functions for interface handling)
        !          23992:       -  krt-scan (low-level functions for routing table scanning)
        !          23993:       -  krt-set (low-level functions for setting of kernel routes)
        !          23994:     
        !          23995:     krt-set and krt-iface are common for all BSD-like Unices, krt-scan is heavily
        !          23996:     system dependent (most Unices require /dev/kmem parsing, Linux uses /proc),
        !          23997:     Netlink substitues all three modules.
        !          23998:     
        !          23999:     We expect each UNIX port supports kernel routing table scanning, kernel
        !          24000:     interface table scanning, kernel route manipulation and possibly also
        !          24001:     asynchronous event notifications (new route, interface state change;
        !          24002:     not implemented yet) and build the KRT protocol on the top of these
        !          24003:     primitive operations.
        !          24004: 
        !          24005: commit b2280748ad5087b5dab54dd4e423053ffe1f2387
        !          24006: Author: Martin Mares <mj@ucw.cz>
        !          24007: Date:   Wed Mar 3 19:33:54 1999 +0000
        !          24008: 
        !          24009:     Introduced protocol priority (all 'normal' protocols should use the
        !          24010:     default zero priority). No more "kernel syncer initialized before
        !          24011:     device routes" problems.
        !          24012: 
        !          24013: commit 84c7e1943f0dbf896b1dd8d02a21120aa00463f4
        !          24014: Author: Pavel Machek <pavel@ucw.cz>
        !          24015: Date:   Tue Mar 2 19:49:28 1999 +0000
        !          24016: 
        !          24017:     Add interface for running filters (please comment!), avoid bison warnings
        !          24018: 
        !          24019: commit 05a845ed8e623c51025058037d0ca25db712ae68
        !          24020: Author: Pavel Machek <pavel@ucw.cz>
        !          24021: Date:   Tue Mar 2 19:49:22 1999 +0000
        !          24022: 
        !          24023:     Avoid segfault
        !          24024: 
        !          24025: commit 7972248d5d7f404a65fd630b2af712703aca0746
        !          24026: Author: Martin Mares <mj@ucw.cz>
        !          24027: Date:   Tue Mar 2 18:37:02 1999 +0000
        !          24028: 
        !          24029:     Netlink module supports interface scan on startup. Working on more.
        !          24030: 
        !          24031: commit e35ef181a41384446aca614522a7cbb10606dd5b
        !          24032: Author: Martin Mares <mj@ucw.cz>
        !          24033: Date:   Tue Mar 2 18:36:09 1999 +0000
        !          24034: 
        !          24035:     o  The if_change_too_big_p change was too high-spirited. Fixed.
        !          24036:     o  Introduced if_find_by_index()
        !          24037:     o  Recognizing two types of interface updates: full update (starting with
        !          24038:        if_start_update(), ending with if_end_update(), guaranteed to see
        !          24039:        all existing interfaces) and a partial update (only if_update(),
        !          24040:        usually due to asynchronous interface notifications).
        !          24041: 
        !          24042: commit bcbd8cc3be670a96e1405b896cff4be0912ba379
        !          24043: Author: Martin Mares <mj@ucw.cz>
        !          24044: Date:   Tue Mar 2 17:28:06 1999 +0000
        !          24045: 
        !          24046:     Interface logic changes:
        !          24047:     
        !          24048:     o  Introduced IF_LINK_UP flag corresponding to real link state.
        !          24049:     o  Allowed addressless interfaces.
        !          24050:     o  IF_UP is now automatically calculated and set iff the interface
        !          24051:        is administratively up, has link up and has an IP address assigned.
        !          24052:        It may be IF_IGNORED, though (as in case of the loopback).
        !          24053:     o  Any changes which include up/down transition are considered small
        !          24054:        enough to not provoke artificial upping and downing of the interface.
        !          24055:     o  When an interface disappears (i.e., it wasn't seen in the last scan),
        !          24056:        we announce this change only once.
        !          24057:     o  IF_LOOPBACK implies IF_IGNORE.
        !          24058: 
        !          24059: commit 25287d6f7e687c77704816e565529960c65e3250
        !          24060: Author: Martin Mares <mj@ucw.cz>
        !          24061: Date:   Tue Mar 2 17:20:07 1999 +0000
        !          24062: 
        !          24063:     Don't try to install static routes to disconnected neighbors.
        !          24064: 
        !          24065: commit eab0d1e5e5e89d82e435d224f5faf1a16524c69c
        !          24066: Author: Martin Mares <mj@ucw.cz>
        !          24067: Date:   Tue Mar 2 16:39:41 1999 +0000
        !          24068: 
        !          24069:     Latest changes broke out-of-tree compilation.
        !          24070: 
        !          24071: commit 3d8ef0c9ef7878292ef314a0f5f34390d74f4e9f
        !          24072: Author: Pavel Machek <pavel@ucw.cz>
        !          24073: Date:   Tue Mar 2 13:15:35 1999 +0000
        !          24074: 
        !          24075:     I just don't like files enclosed in <>.
        !          24076: 
        !          24077: commit e834074dd43cabd10ca9811191a212f86b8f6ed7
        !          24078: Author: Martin Mares <mj@ucw.cz>
        !          24079: Date:   Mon Mar 1 22:42:47 1999 +0000
        !          24080: 
        !          24081:     If we are compiling with debugging enabled and libefence is available,
        !          24082:     link it to get debugging malloc.
        !          24083: 
        !          24084: commit b982b6db2bc9df396d4cd329e23c5b3199a409a2
        !          24085: Author: Martin Mares <mj@ucw.cz>
        !          24086: Date:   Mon Mar 1 22:31:27 1999 +0000
        !          24087: 
        !          24088:     Implemented netlink protocol parsing functions. More to come tomorrow.
        !          24089: 
        !          24090: commit b4b3b39e20a669ab3f33f71474e937b5e9ce6d26
        !          24091: Author: Martin Mares <mj@ucw.cz>
        !          24092: Date:   Mon Mar 1 22:30:33 1999 +0000
        !          24093: 
        !          24094:     Added SK_MAGIC type sockets for internal use by system dependent code,
        !          24095:     especially for netlink communication.
        !          24096: 
        !          24097: commit c748cdb9ec8b7de5daaf759825bc428cd0bcd400
        !          24098: Author: Pavel Machek <pavel@ucw.cz>
        !          24099: Date:   Mon Mar 1 21:18:01 1999 +0000
        !          24100: 
        !          24101:     Hopefully ended translating to new interface
        !          24102: 
        !          24103: commit bdb95a21a45bce1754bf54de3e7423cf8eebf9ee
        !          24104: Author: Martin Mares <mj@ucw.cz>
        !          24105: Date:   Mon Mar 1 20:17:46 1999 +0000
        !          24106: 
        !          24107:     Added skeletal version of Linux netlink interface. It doesn't work yet,
        !          24108:     but the framework is there and I'll try finish it soon.
        !          24109: 
        !          24110: commit ea3582a6f66223dfd2c0dd6c597dc40b48033fd5
        !          24111: Author: Martin Mares <mj@ucw.cz>
        !          24112: Date:   Mon Mar 1 20:15:14 1999 +0000
        !          24113: 
        !          24114:     Include "config.h" instead of "autoconf.h" in all Modules lists to make defines
        !          24115:     in the static portion of configuration includes available as well.
        !          24116: 
        !          24117: commit 1b769b08c195f7d95525131f65e5794c3c09a335
        !          24118: Author: Martin Mares <mj@ucw.cz>
        !          24119: Date:   Mon Mar 1 20:13:54 1999 +0000
        !          24120: 
        !          24121:     Renamed struct rtattr to struct rta to make things more consistent and
        !          24122:     avoid namespace clashes with <linux/rtnetlink.h>. Other files should
        !          24123:     not be affected since they use 'rta' directly.
        !          24124: 
        !          24125: commit 025d14cd5a0909b534762e5a50bfef97c2b4c9ee
        !          24126: Author: Martin Mares <mj@ucw.cz>
        !          24127: Date:   Mon Mar 1 19:05:58 1999 +0000
        !          24128: 
        !          24129:     Use traditional Unix route/iface interface only when CONFIG_NETLINK
        !          24130:     is not defined. Also moved declarations of Unix iface logic to krt.h.
        !          24131: 
        !          24132: commit 12be9b8c1870ab8813d29350a2e2743f8e144642
        !          24133: Author: Martin Mares <mj@ucw.cz>
        !          24134: Date:   Mon Mar 1 17:51:29 1999 +0000
        !          24135: 
        !          24136:     Pruned the TODO list.
        !          24137: 
        !          24138: commit 293e313ec91d4d23d6333e8cd852d425079cee68
        !          24139: Author: Pavel Machek <pavel@ucw.cz>
        !          24140: Date:   Mon Feb 15 13:34:43 1999 +0000
        !          24141: 
        !          24142:     More rip fixes (config data moved to struct rip_proto_config), still
        !          24143:     not tested.
        !          24144: 
        !          24145: commit b5fe3dc21c930e1d9864e342a75785efe862bd24
        !          24146: Author: Martin Mares <mj@ucw.cz>
        !          24147: Date:   Sat Feb 13 22:13:04 1999 +0000
        !          24148: 
        !          24149:     Cleaned up TODO file.
        !          24150:     
        !          24151:     That's all for today, midnight gets closer.
        !          24152: 
        !          24153: commit 45090fecd97c97cceb677257c6e8c26044065d13
        !          24154: Author: Martin Mares <mj@ucw.cz>
        !          24155: Date:   Sat Feb 13 22:02:21 1999 +0000
        !          24156: 
        !          24157:     Synced example config with new options.
        !          24158: 
        !          24159: commit d88e99a92ae688cc7f6534af4c2555fe6f6709f6
        !          24160: Author: Martin Mares <mj@ucw.cz>
        !          24161: Date:   Sat Feb 13 21:59:48 1999 +0000
        !          24162: 
        !          24163:     Implemented static device routes.
        !          24164:     
        !          24165:     Expect for reconfiguration issues, the static protocol is complete now.
        !          24166: 
        !          24167: commit d1f7eab6b5f1bd86a47402cb8fdb5cbcedc8947f
        !          24168: Author: Martin Mares <mj@ucw.cz>
        !          24169: Date:   Sat Feb 13 21:58:53 1999 +0000
        !          24170: 
        !          24171:     Parameter order for the proto->if_notify hook was different in the include
        !          24172:     file and different in reality. Decided to use the same order as we do
        !          24173:     for proto->rt_notify (i.e., first new value and second the old one).
        !          24174: 
        !          24175: commit 726141746b7f86b02a902bd6b316792e4be0380c
        !          24176: Author: Martin Mares <mj@ucw.cz>
        !          24177: Date:   Sat Feb 13 21:34:33 1999 +0000
        !          24178: 
        !          24179:     '#' comments in config files are equivalent to end of line, therefore
        !          24180:     also to implicit ';'.
        !          24181: 
        !          24182: commit 5996da6a1d2eb11ac45d9d578618b9350e58593d
        !          24183: Author: Martin Mares <mj@ucw.cz>
        !          24184: Date:   Sat Feb 13 21:29:01 1999 +0000
        !          24185: 
        !          24186:     Implemented garbage collection of routing tables to delete orphaned network
        !          24187:     nodes having no routes attached. Such cleanup must be done from event handler
        !          24188:     since most functions manipulating the routing tables expect network entries
        !          24189:     won't disappear from under their hands and it's also probably faster when
        !          24190:     done asynchronously.
        !          24191: 
        !          24192: commit f4a0a64e02c13b2b467f9c1a29222f817b54ce2d
        !          24193: Author: Martin Mares <mj@ucw.cz>
        !          24194: Date:   Sat Feb 13 21:00:25 1999 +0000
        !          24195: 
        !          24196:     Static protocol doesn't need any shutdown function. Everything gets
        !          24197:     disposed by the core: neighbors, rte's, etc's...
        !          24198: 
        !          24199: commit 3fb4ca2ce2b5750d38a5e31023d2873c9942cc78
        !          24200: Author: Martin Mares <mj@ucw.cz>
        !          24201: Date:   Sat Feb 13 20:57:47 1999 +0000
        !          24202: 
        !          24203:     Don't send any neighbor notifications to protocols being flushed.
        !          24204: 
        !          24205: commit 783f8b689a29aaffbe75e964fdd09a3c219ea81c
        !          24206: Author: Martin Mares <mj@ucw.cz>
        !          24207: Date:   Sat Feb 13 20:55:08 1999 +0000
        !          24208: 
        !          24209:     When protocols go down, prune the neighbor list.
        !          24210: 
        !          24211: commit 013a9b91fe495371cbf9a5690613de45b634e3af
        !          24212: Author: Martin Mares <mj@ucw.cz>
        !          24213: Date:   Sat Feb 13 20:46:03 1999 +0000
        !          24214: 
        !          24215:     When shutting down, remove all routes (except for RTS_INHERIT and RTS_DEVICE
        !          24216:     routes) from kernel routing tables unless the "persist" switch is set.
        !          24217: 
        !          24218: commit 0a2e9d9f5685fb4ca63e02fd3645194bb6de79d7
        !          24219: Author: Martin Mares <mj@ucw.cz>
        !          24220: Date:   Sat Feb 13 20:19:24 1999 +0000
        !          24221: 
        !          24222:     Moved sanity check of protocol state during annoucements to rte_announce.
        !          24223: 
        !          24224: commit f4aabcee62890b7c3e999e188ab72752fbb20b79
        !          24225: Author: Martin Mares <mj@ucw.cz>
        !          24226: Date:   Sat Feb 13 20:15:36 1999 +0000
        !          24227: 
        !          24228:     Perform gracious shutdown upon receipt of SIGTERM. Finally we can
        !          24229:     test the whole protocol shutdown code... :)
        !          24230: 
        !          24231: commit 7f3d1a0850ff7f240b2f240db6d44b3a5dee6d48
        !          24232: Author: Martin Mares <mj@ucw.cz>
        !          24233: Date:   Sat Feb 13 19:57:19 1999 +0000
        !          24234: 
        !          24235:     Squashed one bug in timing of route scans.
        !          24236: 
        !          24237: commit 4c9dd1e4b95e273eacc900abb63db4b8bafaf34b
        !          24238: Author: Martin Mares <mj@ucw.cz>
        !          24239: Date:   Sat Feb 13 19:43:21 1999 +0000
        !          24240: 
        !          24241:     Synchronize signals to the main select/event/timer loop.
        !          24242:     
        !          24243:     Parse command line options.
        !          24244: 
        !          24245: commit 1a54b1c6ac5177a1ef21f799f6cf28f355c5bbe9
        !          24246: Author: Martin Mares <mj@ucw.cz>
        !          24247: Date:   Sat Feb 13 19:15:28 1999 +0000
        !          24248: 
        !          24249:     Implemented real cleanup and pruning of routing table on protocol shutdown.
        !          24250: 
        !          24251: commit ab749558a2a4356c38ed760649ef7d62daa48223
        !          24252: Author: Martin Mares <mj@ucw.cz>
        !          24253: Date:   Sat Feb 13 19:14:16 1999 +0000
        !          24254: 
        !          24255:     Pass new argument to FIB_ITERATE_END.
        !          24256: 
        !          24257: commit 2569bc40731081ac70ee328a7df37109399b53c6
        !          24258: Author: Martin Mares <mj@ucw.cz>
        !          24259: Date:   Sat Feb 13 19:13:51 1999 +0000
        !          24260: 
        !          24261:     Fixed bug in FIB_ITERATE_END: it assumed the control variable is named
        !          24262:     "z". I've added an argument specifying name of the variable.
        !          24263:     
        !          24264:     Renamed "again" label in FIB_ITERATE_* to "fis_again" to avoid name
        !          24265:     clashes.
        !          24266: 
        !          24267: commit 4e9498cbb171d52e2f3015d3e9d6c7b1b7205e27
        !          24268: Author: Martin Mares <mj@ucw.cz>
        !          24269: Date:   Sat Feb 13 18:42:00 1999 +0000
        !          24270: 
        !          24271:     config->router_id works again.
        !          24272: 
        !          24273: commit 67bd949a520151a5ab50090d02617adc4960868c
        !          24274: Author: Martin Mares <mj@ucw.cz>
        !          24275: Date:   Thu Feb 11 22:59:06 1999 +0000
        !          24276: 
        !          24277:     Real implementation of protocol state machines. Delayed startup/shutdown
        !          24278:     should work now. Initial feeding of protocols by interfaces/routes is
        !          24279:     done from the event queue to prevent unwanted recursion.
        !          24280: 
        !          24281: commit 14dea0ed25cd0385ce35cf66ff309a78960b18ca
        !          24282: Author: Martin Mares <mj@ucw.cz>
        !          24283: Date:   Thu Feb 11 22:51:15 1999 +0000
        !          24284: 
        !          24285:     Run the event queue before writing SIGUSR dumps.
        !          24286: 
        !          24287: commit 64011f898c1bc99183a57f21d6e099c8f4496a09
        !          24288: Author: Martin Mares <mj@ucw.cz>
        !          24289: Date:   Thu Feb 11 22:45:54 1999 +0000
        !          24290: 
        !          24291:     struct proto again contains instance name (a copy of proto->cf->name).
        !          24292: 
        !          24293: commit 3b15402fd4055cb5bd66cd9ac1106ceecff9f760
        !          24294: Author: Martin Mares <mj@ucw.cz>
        !          24295: Date:   Thu Feb 11 22:18:36 1999 +0000
        !          24296: 
        !          24297:     Grrr, forgot to commit the event routines themselves :|
        !          24298: 
        !          24299: commit e8f73195fa68b027fdcb89f239107c2d4902bd9a
        !          24300: Author: Martin Mares <mj@ucw.cz>
        !          24301: Date:   Thu Feb 11 21:18:26 1999 +0000
        !          24302: 
        !          24303:     Added simple event scheduling system to avoid recursive calling
        !          24304:     of various callbacks.
        !          24305:     
        !          24306:     Events are just another resource type objects (thus automatically freed
        !          24307:     and unlinked when the protocol using them shuts down). Each event can
        !          24308:     be linked in at most one event list. For most purposes, just use the
        !          24309:     global event list handled by the following functions:
        !          24310:     
        !          24311:        ev_schedule     Schedule event to be called at the next event
        !          24312:                        scheduling point. If the event was already
        !          24313:                        scheduled, it's just re-linked to the end of the list.
        !          24314:        ev_postpone     Postpone an already scheduled event, so that it
        !          24315:                        won't get called. Postponed events can be scheduled
        !          24316:                        again by ev_schedule().
        !          24317:     
        !          24318:     You can also create custom event lists to build your own synchronization
        !          24319:     primitives. Just use:
        !          24320:     
        !          24321:        ev_init_list    to initialize an event list
        !          24322:        ev_enqueue      to schedule event on specified event list
        !          24323:        ev_postpone     works as well for custom lists
        !          24324:        ev_run_list     to run all events on your custom list
        !          24325:        ev_run          to run a specific event and dequeue it
        !          24326: 
        !          24327: commit edf62ba13fa6a74447d7ad44b23acbee964731bc
        !          24328: Author: Pavel Machek <pavel@ucw.cz>
        !          24329: Date:   Mon Feb 8 22:50:32 1999 +0000
        !          24330: 
        !          24331:     Propagate depend into all subdirectories; make rip compile after
        !          24332:     latest mj's changes.
        !          24333: 
        !          24334: commit ed245f967f76d29d6a4ce971ba4287ba6a7031f7
        !          24335: Author: Martin Mares <mj@ucw.cz>
        !          24336: Date:   Fri Feb 5 21:39:21 1999 +0000
        !          24337: 
        !          24338:     Synced Linux sysdeps to new interface.
        !          24339: 
        !          24340: commit 10d807d000155a6257f6fbad88eb72a8bf9045da
        !          24341: Author: Martin Mares <mj@ucw.cz>
        !          24342: Date:   Fri Feb 5 21:38:50 1999 +0000
        !          24343: 
        !          24344:     Synced kernel interface to new interface.
        !          24345: 
        !          24346: commit e9e3dc265971fbf985c5df09cb1d98494c386581
        !          24347: Author: Martin Mares <mj@ucw.cz>
        !          24348: Date:   Fri Feb 5 21:38:22 1999 +0000
        !          24349: 
        !          24350:     Modified static router to use new interface.
        !          24351: 
        !          24352: commit 31b3e1bbf5bc823ec5cf6d88931132f00e6c52b9
        !          24353: Author: Martin Mares <mj@ucw.cz>
        !          24354: Date:   Fri Feb 5 21:37:34 1999 +0000
        !          24355: 
        !          24356:     Implemented new configuration/reconfiguration interface and defined protocol
        !          24357:     state machines. Full explanation will follow soon.
        !          24358: 
        !          24359: commit c4c63eecc37a744c53c23da89b1ba09b9640cb6e
        !          24360: Author: Martin Mares <mj@ucw.cz>
        !          24361: Date:   Fri Feb 5 21:29:19 1999 +0000
        !          24362: 
        !          24363:     Added several parentheses to MIN/MAX macros.
        !          24364: 
        !          24365: commit 292099d55f1131d75efec647d3780e7a1a665fdf
        !          24366: Author: Pavel Machek <pavel@ucw.cz>
        !          24367: Date:   Wed Feb 3 12:28:16 1999 +0000
        !          24368: 
        !          24369:     Few fixes in parsing of filters
        !          24370: 
        !          24371: commit 294c182eb1dd02d0ae8658acb4a21db5d2977f3c
        !          24372: Author: Martin Mares <mj@ucw.cz>
        !          24373: Date:   Sat Jan 23 21:08:59 1999 +0000
        !          24374: 
        !          24375:     Replaced the old ugly ipv6 compilation hack by a conditional in Modules.
        !          24376: 
        !          24377: commit 2c2f67bd83c267c1dbee68c6ed7d67f9be77e566
        !          24378: Author: Martin Mares <mj@ucw.cz>
        !          24379: Date:   Sat Jan 23 21:08:36 1999 +0000
        !          24380: 
        !          24381:     Filter all `Modules' files through C preprocessor, so that they can
        !          24382:     reference BIRD configuration.
        !          24383:     
        !          24384:     By the way: Do you know GCC by default does `#define unix 1'?
        !          24385: 
        !          24386: commit ca3d562b24d5a3e303ab00d276496fb38b7382ee
        !          24387: Author: Pavel Machek <pavel@ucw.cz>
        !          24388: Date:   Fri Jan 15 18:13:55 1999 +0000
        !          24389: 
        !          24390:     filters_init() renamed to filters_postconfig().
        !          24391: 
        !          24392: commit c9b6670608577521c883db4bccd75b871568b7f7
        !          24393: Author: Martin Mares <mj@ucw.cz>
        !          24394: Date:   Fri Jan 15 18:04:28 1999 +0000
        !          24395: 
        !          24396:     Original `expr' is back, filter expressions renamed to `term'.
        !          24397:     
        !          24398:     In the future, we'll allow any filter term in place of `expr' and we'll
        !          24399:     just evaluate it immediately, but not now as we have no evaluation
        !          24400:     routines.
        !          24401: 
        !          24402: commit 3169cf699175a2489712eee955a9ee9890ef00c9
        !          24403: Author: Martin Mares <mj@ucw.cz>
        !          24404: Date:   Fri Jan 15 17:18:41 1999 +0000
        !          24405: 
        !          24406:     Added bird.conf to .cvsignore and created an example configuration file.
        !          24407:     
        !          24408:     If you want to run bird now, just copy doc/bird.conf.example as bird.conf
        !          24409:     and edit it to suit your needs.
        !          24410: 
        !          24411: commit e3a39a9ee70bf7060f9de38268885b637bc1a65a
        !          24412: Author: Martin Mares <mj@ucw.cz>
        !          24413: Date:   Fri Jan 15 16:59:26 1999 +0000
        !          24414: 
        !          24415:     Killed duplicate %type for expr.
        !          24416: 
        !          24417: commit ca6dfded2c22c74298ff595e59afe4672151889b
        !          24418: Author: Pavel Machek <pavel@ucw.cz>
        !          24419: Date:   Fri Jan 15 16:52:14 1999 +0000
        !          24420: 
        !          24421:     Make filters actually compiled.
        !          24422: 
        !          24423: commit b9d70dc84e488212328103438bdf4e369c7d27a1
        !          24424: Author: Pavel Machek <pavel@ucw.cz>
        !          24425: Date:   Fri Jan 15 16:49:17 1999 +0000
        !          24426: 
        !          24427:     Filters, second try. This time they have their own directory.
        !          24428: 
        !          24429: commit b79f9215b99c7a54dbb2639c972dda497d141133
        !          24430: Author: Martin Mares <mj@ucw.cz>
        !          24431: Date:   Fri Jan 15 16:40:14 1999 +0000
        !          24432: 
        !          24433:     Propagate "depend" target to real top-level Makefile.
        !          24434: 
        !          24435: commit 489b6b5e003f4a8a7856688ab0372b2ca59c84d9
        !          24436: Author: Pavel Machek <pavel@ucw.cz>
        !          24437: Date:   Fri Jan 15 16:13:51 1999 +0000
        !          24438: 
        !          24439:     #if 1 that creeped into cvs killed.
        !          24440: 
        !          24441: commit eeb05158acd0cb8def7aa155c2c718f608e6a5ae
        !          24442: Author: Pavel Machek <pavel@ucw.cz>
        !          24443: Date:   Fri Jan 15 14:42:55 1999 +0000
        !          24444: 
        !          24445:     Be a tiny bit more verbose.
        !          24446: 
        !          24447: commit 72380a3447d2c54730a4a32495e5dd964c34f57e
        !          24448: Author: Pavel Machek <pavel@ucw.cz>
        !          24449: Date:   Fri Jan 15 14:41:51 1999 +0000
        !          24450: 
        !          24451:     Filters added. They are unable to do anything interesting for now
        !          24452:     (with exception of printing integers to screen), but they exist.
        !          24453: 
        !          24454: commit 41183888ee8addbd7887936e3b41974f5824d8ae
        !          24455: Author: Pavel Machek <pavel@ucw.cz>
        !          24456: Date:   Fri Jan 15 14:40:50 1999 +0000
        !          24457: 
        !          24458:     Properly initialize filters. Also bumped version to 0.0.0 as it
        !          24459:     actually does something.
        !          24460: 
        !          24461: commit cceb3e7d2fafcf3acee1db1d762ed697863b6f3b
        !          24462: Author: Martin Mares <mj@ucw.cz>
        !          24463: Date:   Tue Jan 12 20:36:18 1999 +0000
        !          24464: 
        !          24465:     Fixed trivial bug in naming of `depend' file. Argh.
        !          24466: 
        !          24467: commit 663683a575cb170c656db06770b490037ecf3db7
        !          24468: Author: Pavel Machek <pavel@ucw.cz>
        !          24469: Date:   Tue Jan 12 16:50:38 1999 +0000
        !          24470: 
        !          24471:     Make it compile again (stupid makefiles!), make quiet option work
        !          24472:     (multicast/broadcast options are currently unimplemented).
        !          24473: 
        !          24474: commit 77cedad1f6de8fcd0e59f280d08437ab3216428e
        !          24475: Author: Pavel Machek <pavel@ucw.cz>
        !          24476: Date:   Tue Jan 12 16:41:34 1999 +0000
        !          24477: 
        !          24478:     Keep protocol data out of iface_patt.
        !          24479: 
        !          24480: commit 50e89a6ea26caba59c7d4dd512fdc12c09cee64c
        !          24481: Author: Pavel Machek <pavel@ucw.cz>
        !          24482: Date:   Tue Jan 12 16:40:55 1999 +0000
        !          24483: 
        !          24484:     Patterns expanded in the right way
        !          24485: 
        !          24486: commit 18fff6a1979725c1ed839d9a10285e22dc0b8214
        !          24487: Author: Martin Mares <mj@ucw.cz>
        !          24488: Date:   Sun Jan 10 00:26:11 1999 +0000
        !          24489: 
        !          24490:     Initialize only protocols which are compiled in :)
        !          24491: 
        !          24492: commit b296730cb6b72ff84ba04fa58a6c7198f3a831e0
        !          24493: Author: Martin Mares <mj@ucw.cz>
        !          24494: Date:   Sun Jan 10 00:25:50 1999 +0000
        !          24495: 
        !          24496:     Few last-minute bug fixes.
        !          24497: 
        !          24498: commit 49e7e5ee0b2848f5bf120a962e2e7eb11b86566a
        !          24499: Author: Martin Mares <mj@ucw.cz>
        !          24500: Date:   Sun Jan 10 00:18:32 1999 +0000
        !          24501: 
        !          24502:     New makefiles. Includes support for out-of-source-tree builds.
        !          24503: 
        !          24504: commit 2f9bcf9713523f6fefecd143cc2aa2a8dda7f27f
        !          24505: Author: Martin Mares <mj@ucw.cz>
        !          24506: Date:   Sat Jan 9 15:02:11 1999 +0000
        !          24507: 
        !          24508:     First step of "autoconfization". Created a configure script which
        !          24509:     guesses most system-dependent parameters and determines name of system
        !          24510:     configuration file (sysdep/cf/...) with the remaining ones.
        !          24511:     
        !          24512:     To compile BIRD, you now need to do:
        !          24513:     
        !          24514:        autoconf                # Create configure from configure.in
        !          24515:        ./configure             # Run configure script
        !          24516:        make                    # Compile everything
        !          24517:     
        !          24518:     Configuration files:
        !          24519:     
        !          24520:        sysdep/config.h         Master config file
        !          24521:        sysdep/autoconf.h       Parameters determined by configure script
        !          24522:        sysdep/cf/*.h           Fixed system configuration we're unable
        !          24523:                                to guess.
        !          24524:     
        !          24525:     Makefiles are still the original ones, but this will change soon.
        !          24526: 
        !          24527: commit 6996f459c6d8e6205bbacd83e3656b47635f7d6d
        !          24528: Author: Pavel Machek <pavel@ucw.cz>
        !          24529: Date:   Tue Dec 22 19:41:04 1998 +0000
        !          24530: 
        !          24531:     Bird now uses fib structure instead of linklist.
        !          24532: 
        !          24533: commit 1d7c44b7119d30874563c9f8bbac25273ecabb57
        !          24534: Author: Pavel Machek <pavel@ucw.cz>
        !          24535: Date:   Tue Dec 22 19:20:43 1998 +0000
        !          24536: 
        !          24537:     Oops, previous modification for passing NULL to fib_init() did not
        !          24538:     compile :-(.
        !          24539: 
        !          24540: commit ce45fc128783ea7b93bd7ebd5ac4eec763adbb40
        !          24541: Author: Pavel Machek <pavel@ucw.cz>
        !          24542: Date:   Tue Dec 22 18:55:49 1998 +0000
        !          24543: 
        !          24544:     Allow NULL to init_fib().
        !          24545: 
        !          24546: commit 852fc0af31ed885e355bb1d14ce0e4468830c359
        !          24547: Author: Martin Mares <mj@ucw.cz>
        !          24548: Date:   Sun Dec 20 14:29:06 1998 +0000
        !          24549: 
        !          24550:     log(), die() and bug() messages shound NOT contain trailing newlines.
        !          24551: 
        !          24552: commit 08c69a7720af32a82b8e2b4b9ea3742074b3b8ee
        !          24553: Author: Martin Mares <mj@ucw.cz>
        !          24554: Date:   Sun Dec 20 14:27:37 1998 +0000
        !          24555: 
        !          24556:     die() -> bug() where appropriate.
        !          24557: 
        !          24558: commit ee969ea7f4c4f40020e4209b167da04d04aba52c
        !          24559: Author: Martin Mares <mj@ucw.cz>
        !          24560: Date:   Sun Dec 20 14:26:57 1998 +0000
        !          24561: 
        !          24562:     Added #if 0 to rip_postconfig(), so that it doesn't crash whole daemon
        !          24563:     when RIP is unconfigured.
        !          24564:     
        !          24565:     die() -> bug()
        !          24566: 
        !          24567: commit 98e87c8628f9b0a0a96bc46879b65a78b756a718
        !          24568: Author: Martin Mares <mj@ucw.cz>
        !          24569: Date:   Sun Dec 20 14:24:35 1998 +0000
        !          24570: 
        !          24571:     Finer grained logging levels:
        !          24572:     
        !          24573:     #define L_DEBUG "\001"   /* Debugging messages */
        !          24574:     #define L_INFO "\002"    /* Informational messages */
        !          24575:     #define L_WARN "\003"    /* Warnings */
        !          24576:     #define L_ERR "\004"     /* Errors */
        !          24577:     #define L_AUTH "\005"    /* Authorization failed etc. */
        !          24578:     #define L_FATAL "\006"   /* Fatal errors */
        !          24579:     #define L_TRACE "\002"   /* Protocol tracing */
        !          24580:     #define L_INFO "\003"    /* Informational messages */
        !          24581:     #define L_REMOTE "\004"  /* Remote protocol errors */
        !          24582:     #define L_WARN "\004"    /* Local warnings */
        !          24583:     #define L_ERR "\005"     /* Local errors */
        !          24584:     #define L_AUTH "\006"    /* Authorization failed etc. */
        !          24585:     #define L_FATAL "\007"   /* Fatal errors */
        !          24586:     #define L_BUG "\010"     /* BIRD bugs */
        !          24587:     
        !          24588:     Introduced bug() which is like die(), but with level L_BUG. Protocols
        !          24589:     should _never_ call die() as it should be used only during initialization
        !          24590:     and on irrecoverable catastrophic events like out of memory.
        !          24591:     
        !          24592:     Also introduced ASSERT() which behaves like normal assert(), but it calls
        !          24593:     bug() when assertion fails. When !defined(DEBUGGING), it gets ignored.
        !          24594: 
        !          24595: commit e440395d7d3c503692321e2f6ec4e42bf758acb1
        !          24596: Author: Martin Mares <mj@ucw.cz>
        !          24597: Date:   Sun Dec 20 14:01:37 1998 +0000
        !          24598: 
        !          24599:     When printing a routing table, fib_check() it.
        !          24600: 
        !          24601: commit 3ab001b97402bc01a4777cf1cb60ce940d50ffe3
        !          24602: Author: Martin Mares <mj@ucw.cz>
        !          24603: Date:   Sun Dec 20 14:01:20 1998 +0000
        !          24604: 
        !          24605:     Rewrote fib functions to make them insert/delete/asynchronous-walk safe.
        !          24606:     This is implemented in a way similar to lib/slists.h, but it took some
        !          24607:     more effort to make rehashing not disturb the readers. We do it by just
        !          24608:     taking _highest_ k bits of ipa_hash as our hash value and sorting each
        !          24609:     box by whole ipa_hash().
        !          24610:     
        !          24611:     Consult FIB_ITERATE_* macros in nest/route.h.
        !          24612:     
        !          24613:     Implemented fib_check() debugging function and also rewrote the rehashing
        !          24614:     algorithm to use better thresholds and not to waste time by rehashing
        !          24615:     forth and back.
        !          24616: 
        !          24617: commit a6f250f5c6d079badc4a1274b19a21a52de6acec
        !          24618: Author: Martin Mares <mj@ucw.cz>
        !          24619: Date:   Sun Dec 20 13:57:49 1998 +0000
        !          24620: 
        !          24621:     New hash functions according to benchmarks posted yesterday. (The IPv6
        !          24622:     version has not been benchmarked yet due to insufficient test data.)
        !          24623:     Now ipa_hash() returns a uniformely distributed 16-bit value.
        !          24624: 
        !          24625: commit a05406e69c699c8b6f43bf58f47b8b0385113083
        !          24626: Author: Martin Mares <mj@ucw.cz>
        !          24627: Date:   Sun Dec 20 13:56:27 1998 +0000
        !          24628: 
        !          24629:     Implemented deletion/insertion/asynchronous-walk lists.
        !          24630:     For example of their use, look at comments in lib/slists.h.
        !          24631: 
        !          24632: commit 29ad2c9ee11df80c780c4e3f0fd217783af1d727
        !          24633: Author: Martin Mares <mj@ucw.cz>
        !          24634: Date:   Sat Dec 19 21:53:28 1998 +0000
        !          24635: 
        !          24636:     Variance estimation fixed.
        !          24637: 
        !          24638: commit 87b60bf7e8ad12b3efd3d6f37df0d029f50d2d91
        !          24639: Author: Martin Mares <mj@ucw.cz>
        !          24640: Date:   Sat Dec 19 11:51:47 1998 +0000
        !          24641: 
        !          24642:     Added several tools for fib hashing function analysis. It turned out
        !          24643:     we can use very simple function which is monotonic with respect
        !          24644:     to re-hashing:
        !          24645:     
        !          24646:        n ^= n >> 16;
        !          24647:        n ^= n << 10;
        !          24648:        h = (n >> (16 - o)) & ((1 << o) - 1);
        !          24649:     
        !          24650:     where o is table order. Statistical analysis for both backbone routing
        !          24651:     table and local OSPF routing tables gives values near theoretical
        !          24652:     optimum for uniform distribution (see ips.c for formulae).
        !          24653:     
        !          24654:     The trick is very simple: We always calculate a 16-bit hash value n and
        !          24655:     use o most significant bits (this gives us monotonity wrt. rehashing
        !          24656:     if we sort the chains by the value of n). The first shift/xor pair
        !          24657:     reduces the IP address to a 16-bit one, the second pair makes higher
        !          24658:     bits of the 16-bit value uniformly distributed even for tables containing
        !          24659:     lots of long prefixes (typical interior routing case with 24-bit or even
        !          24660:     longer prefixes).
        !          24661: 
        !          24662: commit 02933ddbbec94f1bb01c0b9e5198fe272c1f5025
        !          24663: Author: Pavel Machek <pavel@ucw.cz>
        !          24664: Date:   Wed Dec 9 20:08:57 1998 +0000
        !          24665: 
        !          24666:     debug() -> DBG() in rip.
        !          24667: 
        !          24668: commit 06fa1453cdc419acd0c037ac82f49b4d8e77cfbd
        !          24669: Author: Pavel Machek <pavel@ucw.cz>
        !          24670: Date:   Wed Dec 9 15:22:40 1998 +0000
        !          24671: 
        !          24672:     Initial multicast support (can not work, but skeleton is there)
        !          24673: 
        !          24674: commit 8e66a0ebb927f40c9fcb48bbf5f2d811d7b7c7f3
        !          24675: Author: Martin Mares <mj@ucw.cz>
        !          24676: Date:   Tue Dec 8 18:37:58 1998 +0000
        !          24677: 
        !          24678:     Hopefully finished kernel syncer (krt) rewrite:
        !          24679:     
        !          24680:       o  Interface syncing is now a part of krt and it can have configurable
        !          24681:          parameters. Actually, the only one is scan rate now :)
        !          24682:       o  Kernel routing table syncing is now synchronized with interface
        !          24683:          syncing (we need the most recent version of the interface list
        !          24684:          to prevent lots of routes to non-existent destinations from
        !          24685:          appearing). Instead of its own timer, we just check if it's
        !          24686:          route scan time after each iface list scan.
        !          24687:       o  Syncing of device routes implemented.
        !          24688:       o  CONFIG_AUTO_ROUTES should control syncing of automatic device routes.
        !          24689:       o  Rewrote krt_remove_route() to really remove routes :)
        !          24690:       o  Better diagnostics.
        !          24691:       o  Fixed a couple of bugs.
        !          24692: 
        !          24693: commit 980297d2899a5aec6609d1f7b44626e52e6e4417
        !          24694: Author: Martin Mares <mj@ucw.cz>
        !          24695: Date:   Tue Dec 8 18:31:31 1998 +0000
        !          24696: 
        !          24697:     Fixed a couple of bugs in static protocol. All static routes except device
        !          24698:     ones seem to work well.
        !          24699: 
        !          24700: commit 618533af91051b7b26ac19816e89cd81352b0f13
        !          24701: Author: Martin Mares <mj@ucw.cz>
        !          24702: Date:   Tue Dec 8 18:30:35 1998 +0000
        !          24703: 
        !          24704:     Added source RTS_DUMMY for temporary routes. They should never appear
        !          24705:     in the main table.
        !          24706: 
        !          24707: commit f39e4713c270752d7bbfcc8115a7ea7f589c3997
        !          24708: Author: Martin Mares <mj@ucw.cz>
        !          24709: Date:   Tue Dec 8 16:20:13 1998 +0000
        !          24710: 
        !          24711:     Rewritten kernel syncer. Now uses the rta trickery I've introduced yesterday
        !          24712:     and does things "the right way". Few things are still missing (device
        !          24713:     routes etc.), I'll add them later in the evening.
        !          24714: 
        !          24715: commit 04925e9040330afc92f8001e6a19ae2146e36782
        !          24716: Author: Martin Mares <mj@ucw.cz>
        !          24717: Date:   Mon Dec 7 21:59:15 1998 +0000
        !          24718: 
        !          24719:     Minor rte/rta interface changes:
        !          24720:     
        !          24721:       o  rte can now contain a pointer to both cached and uncached rta. Protocols
        !          24722:          which don't need their own attribute caching can now just fill-in a rta,
        !          24723:          link it to rte without any calls to attribute cache and call rte_update()
        !          24724:          which will replace rte->attrs by a cached copy.
        !          24725:     
        !          24726:       o  In order to support this, one of previously pad bytes in struct rta
        !          24727:          now holds new attribute flags (RTAF_CACHED). If you call rte_update()
        !          24728:          with uncached rta, you _must_ clear these flags. In other cases rta_lookup()
        !          24729:          sets it appropriately.
        !          24730:     
        !          24731:       o  Added rte_free() which is useful when you construct a rte and then the
        !          24732:          circumstances change and you decide not to use it for an update. (Needed
        !          24733:          for temporary rte's in kernel syncer...)
        !          24734: 
        !          24735: commit cdc6bfa70f730c3741537cc21cdd0a5d13ed2af9
        !          24736: Author: Martin Mares <mj@ucw.cz>
        !          24737: Date:   Mon Dec 7 10:16:15 1998 +0000
        !          24738: 
        !          24739:     Comparison of kernel reject routes fixed.
        !          24740: 
        !          24741: commit 12df4d909bdfa9e99dd0dd1b9fd690ce85b87dc5
        !          24742: Author: Martin Mares <mj@ucw.cz>
        !          24743: Date:   Mon Dec 7 10:15:42 1998 +0000
        !          24744: 
        !          24745:     KRF_* flags moved to krt.h as they are internal to kernel syncer,
        !          24746:     fib->pad0,pad1 renamed to x0,x1 and in case of struct net x0 is reserved
        !          24747:     for kernel syncing as well.
        !          24748: 
        !          24749: commit f6bd206607d9fcad3572841813d7376bd2df4952
        !          24750: Author: Martin Mares <mj@ucw.cz>
        !          24751: Date:   Sun Dec 6 23:13:31 1998 +0000
        !          24752: 
        !          24753:     All static routes except for device ones should work and appear/disappear
        !          24754:     when their destination comes on/off link. Deserves better testing :)
        !          24755:     
        !          24756:     See example in bird.conf.
        !          24757: 
        !          24758: commit 78d06cf2bc8ec8b9850802fc9d34afe4d1782c6c
        !          24759: Author: Martin Mares <mj@ucw.cz>
        !          24760: Date:   Sun Dec 6 23:11:47 1998 +0000
        !          24761: 
        !          24762:     Removed protocol-specific data in rte for protocol static since no
        !          24763:     such data ever existed.
        !          24764: 
        !          24765: commit 436965d25e840ef5f9614ed55181f5bf8c765d3b
        !          24766: Author: Martin Mares <mj@ucw.cz>
        !          24767: Date:   Sun Dec 6 23:11:18 1998 +0000
        !          24768: 
        !          24769:     Aesthetic fix for neighbor cache debug dump.
        !          24770: 
        !          24771: commit 89d2355d3d16ac51ad5861d91b17eaa65713f80b
        !          24772: Author: Martin Mares <mj@ucw.cz>
        !          24773: Date:   Sun Dec 6 23:10:45 1998 +0000
        !          24774: 
        !          24775:     Added new rule for prefix length / netmask.
        !          24776: 
        !          24777: commit cc12cf05c789ef85d72cf19e9b52f0c4982542f7
        !          24778: Author: Martin Mares <mj@ucw.cz>
        !          24779: Date:   Sun Dec 6 23:10:28 1998 +0000
        !          24780: 
        !          24781:     cf_error() now accepts any format strings instead of just an error
        !          24782:     message. Also added extra kludge to get rid of collisions of REJECT
        !          24783:     symbols.
        !          24784: 
        !          24785: commit a1bf6440b5c27f7fb829eb25f6ac1c2629eb72eb
        !          24786: Author: Martin Mares <mj@ucw.cz>
        !          24787: Date:   Sun Dec 6 18:21:23 1998 +0000
        !          24788: 
        !          24789:     Added skeleton of static route protocol.
        !          24790: 
        !          24791: commit 980ffedbb04bf3beedf147fc7dfed40cdbf968aa
        !          24792: Author: Martin Mares <mj@ucw.cz>
        !          24793: Date:   Sun Dec 6 17:40:42 1998 +0000
        !          24794: 
        !          24795:     Kernel syncer is now configurable. It will probably need some more
        !          24796:     options, but at least basic tuning is possible now.
        !          24797: 
        !          24798: commit 0846203e896d8ab009217968e391b5e13ea3c4c6
        !          24799: Author: Martin Mares <mj@ucw.cz>
        !          24800: Date:   Sun Dec 6 17:39:08 1998 +0000
        !          24801: 
        !          24802:     Fixed bug in CF_ADDTO. How it's possible it has ever worked?
        !          24803: 
        !          24804: commit 166b9c4912f1a52d7910c630280cf5a076eb1990
        !          24805: Author: Martin Mares <mj@ucw.cz>
        !          24806: Date:   Sun Dec 6 17:38:42 1998 +0000
        !          24807: 
        !          24808:     Added rule "bool" for boolean switches.
        !          24809: 
        !          24810: commit b35d72ac668c52ef0755cedba89bdca54bd995ac
        !          24811: Author: Martin Mares <mj@ucw.cz>
        !          24812: Date:   Sun Dec 6 11:59:18 1998 +0000
        !          24813: 
        !          24814:     Name cleanups as suggested by Pavel:
        !          24815:     
        !          24816:     - cfg_strcpy() -> cfg_strdup()
        !          24817:     - mempool -> linpool, mp_* -> lp_*  [to avoid confusion with memblock, mb_*]
        !          24818:     
        !          24819:     Anyway, it might be better to stop ranting about names and do some *real* work.
        !          24820: 
        !          24821: commit 2d9290e973b9cfc909057a0409152e020d1c29db
        !          24822: Author: Pavel Machek <pavel@ucw.cz>
        !          24823: Date:   Fri Dec 4 11:45:51 1998 +0000
        !          24824: 
        !          24825:     Rip now has configurable per-interface metric (please rewiev), and few
        !          24826:     more configurable parameters. To do that, union was added into iface_patt.
        !          24827: 
        !          24828: commit 9b999c393c6f89a73d5fe0f4e152b77ca0afb1b2
        !          24829: Author: Pavel Machek <pavel@ucw.cz>
        !          24830: Date:   Tue Dec 1 16:17:10 1998 +0000
        !          24831: 
        !          24832:     Infinity is now configurable ammount.
        !          24833: 
        !          24834: commit 50d8424ad1f40f9979214c1d6cbf8e290ba9a5cb
        !          24835: Author: Martin Mares <mj@ucw.cz>
        !          24836: Date:   Sun Nov 29 22:03:58 1998 +0000
        !          24837: 
        !          24838:     Added configuration of the device internal protocol. This is primarily
        !          24839:     intended to serve as an example of interface pattern list use. As a side
        !          24840:     effect, you can disable generating of device routes by disabling
        !          24841:     this protocol.
        !          24842: 
        !          24843: commit 66efdf962a343c7cf5aef475f35f9e3864cb4fdd
        !          24844: Author: Martin Mares <mj@ucw.cz>
        !          24845: Date:   Sun Nov 29 22:01:33 1998 +0000
        !          24846: 
        !          24847:     Handle disabled protocol instances.
        !          24848: 
        !          24849: commit ed45f2e126680c7197be2058f9c162f1d5019eeb
        !          24850: Author: Martin Mares <mj@ucw.cz>
        !          24851: Date:   Sun Nov 29 22:01:03 1998 +0000
        !          24852: 
        !          24853:     Added functions for manipulating interface name pattern lists:
        !          24854:     
        !          24855:        o  iface_patt_match(list, iface) -- match interface against list
        !          24856:        o  iface_patts_equal(a, b, c) -- compare whether two pattern lists are
        !          24857:           equal or not. c(x,y) is called for comparison of protocol-dependent
        !          24858:           data.
        !          24859: 
        !          24860: commit 49e4a4d1fd64da045182f6ccd38753feb364f9c5
        !          24861: Author: Martin Mares <mj@ucw.cz>
        !          24862: Date:   Sun Nov 29 21:59:37 1998 +0000
        !          24863: 
        !          24864:     Created new functions for allocating configuration data:
        !          24865:     
        !          24866:        o  cfg_alloc(size) -- generic memory allocation
        !          24867:        o  cfg_allocu(size) -- unaligned memory allocation
        !          24868:        o  cfg_allocz(size) -- zeroed memory allocation
        !          24869:        o  cfg_strcpy(str) -- allocate a copy of a string
        !          24870:     
        !          24871:     Also fixed a bug in lexing of string literals.
        !          24872: 
        !          24873: commit 5cd462f291b45a6a33168cdfbc4ba55ee068af65
        !          24874: Author: Martin Mares <mj@ucw.cz>
        !          24875: Date:   Sun Nov 29 14:51:47 1998 +0000
        !          24876: 
        !          24877:     `wc -l TODO` decreased.
        !          24878: 
        !          24879: commit dee929d86844b1956b1c0f1d2c0289a787ab9226
        !          24880: Author: Martin Mares <mj@ucw.cz>
        !          24881: Date:   Sun Nov 29 14:47:24 1998 +0000
        !          24882: 
        !          24883:     Added function for shell-like pattern matching. Will be used for
        !          24884:     matching interface names in protocol-to-iface bindings.
        !          24885: 
        !          24886: commit bd5d0d62f10c65d56e1900014be5989a3feb8380
        !          24887: Author: Martin Mares <mj@ucw.cz>
        !          24888: Date:   Sun Nov 29 14:40:39 1998 +0000
        !          24889: 
        !          24890:     Allow setting debug value and `disabled' flag in protocol definition.
        !          24891: 
        !          24892: commit 0cf86f0fc34c7daf020a9189279644af89e273a1
        !          24893: Author: Martin Mares <mj@ucw.cz>
        !          24894: Date:   Sun Nov 29 14:38:34 1998 +0000
        !          24895: 
        !          24896:     Renamed `DEBUG' symbol to `DEBUGGING' to prevent collisions with token
        !          24897:     names and include files.
        !          24898: 
        !          24899: commit 7af99789c78894fa2c7ffce3d7172d6a46c1c0e3
        !          24900: Author: Martin Mares <mj@ucw.cz>
        !          24901: Date:   Fri Nov 27 21:34:03 1998 +0000
        !          24902: 
        !          24903:     Oops, forgot to remove a debugging kludge.
        !          24904: 
        !          24905: commit 0b62c3a7c7548cd447b4f18e0346cc9e74862ab3
        !          24906: Author: Martin Mares <mj@ucw.cz>
        !          24907: Date:   Fri Nov 27 21:32:45 1998 +0000
        !          24908: 
        !          24909:     Trivial 15-line bison excercise: Implemented expressions including
        !          24910:     user-defined numeric symbols. Whenever possible, use `expr' instead
        !          24911:     of `NUM' to get full express ion power :-)
        !          24912: 
        !          24913: commit c74c0e3cdf008988a8873d3f76c0d71b29ab8673
        !          24914: Author: Martin Mares <mj@ucw.cz>
        !          24915: Date:   Fri Nov 27 21:09:57 1998 +0000
        !          24916: 
        !          24917:     First attempt at protocol configuration (now done only for RIP).
        !          24918: 
        !          24919: commit 93fb60d54ca7ce3efec1cc0b39fb0840d055ccd1
        !          24920: Author: Martin Mares <mj@ucw.cz>
        !          24921: Date:   Fri Nov 27 21:08:37 1998 +0000
        !          24922: 
        !          24923:     Fixed few misspellings and exported instance init as rip_init_instance().
        !          24924: 
        !          24925: commit 8450be97d6ffb052fce95292d39c3f67afbcdc1c
        !          24926: Author: Martin Mares <mj@ucw.cz>
        !          24927: Date:   Fri Nov 27 21:07:02 1998 +0000
        !          24928: 
        !          24929:     Added generator of default names.
        !          24930: 
        !          24931: commit 906b0170a41cc0d8ea11c7bae0a9fea3d18fe6d1
        !          24932: Author: Martin Mares <mj@ucw.cz>
        !          24933: Date:   Fri Nov 27 19:39:16 1998 +0000
        !          24934: 
        !          24935:     Experimental config file.
        !          24936: 
        !          24937: commit b4712244a0fb49b32dc58d28523f122d8ed2cae8
        !          24938: Author: Martin Mares <mj@ucw.cz>
        !          24939: Date:   Fri Nov 27 19:38:30 1998 +0000
        !          24940: 
        !          24941:     Dummy grammar for RIP configuration. Now empty, but must be here since
        !          24942:     it's referenced in the makefiles.
        !          24943: 
        !          24944: commit da87782278cdb38a90f5236fbbc4928c9ca2ee15
        !          24945: Author: Martin Mares <mj@ucw.cz>
        !          24946: Date:   Fri Nov 27 19:37:57 1998 +0000
        !          24947: 
        !          24948:     Parser fragment for the core. Now handles only router ID setting.
        !          24949: 
        !          24950: commit 70591fa06481e7935dcf66ec79812c470c71f4c8
        !          24951: Author: Martin Mares <mj@ucw.cz>
        !          24952: Date:   Fri Nov 27 19:37:07 1998 +0000
        !          24953: 
        !          24954:     Compile and use the new configuration code by default.
        !          24955: 
        !          24956: commit f142750d3420d482d7e9344c71777fdd37754114
        !          24957: Author: Martin Mares <mj@ucw.cz>
        !          24958: Date:   Fri Nov 27 19:36:06 1998 +0000
        !          24959: 
        !          24960:     Base of the parser.
        !          24961: 
        !          24962: commit 82fc7be7bbb9af40d0abf8477f7af25e1423da1a
        !          24963: Author: Martin Mares <mj@ucw.cz>
        !          24964: Date:   Fri Nov 27 19:35:50 1998 +0000
        !          24965: 
        !          24966:     Lexical analyser.
        !          24967: 
        !          24968: commit fe7cec12e8589b7d6af6033cb80804fbcbe7c0b8
        !          24969: Author: Martin Mares <mj@ucw.cz>
        !          24970: Date:   Fri Nov 27 19:35:10 1998 +0000
        !          24971: 
        !          24972:     Replaced nest/confile.h by conf/conf.h, added a lot of new definitions.
        !          24973: 
        !          24974: commit ce6ca80926c0ce87c9a08ea4f4236b1a95846086
        !          24975: Author: Martin Mares <mj@ucw.cz>
        !          24976: Date:   Fri Nov 27 19:33:53 1998 +0000
        !          24977: 
        !          24978:     This script takes configuration fragments and generates full Bison grammar
        !          24979:     from them.
        !          24980: 
        !          24981: commit 882c588a4060739a4820941cd1c6014bd10ab0db
        !          24982: Author: Martin Mares <mj@ucw.cz>
        !          24983: Date:   Fri Nov 27 19:33:26 1998 +0000
        !          24984: 
        !          24985:     This script takes configuration fragments and extracts keyword list
        !          24986:     from them.
        !          24987: 
        !          24988: commit d2ed2579fa365fa36b7882ef847b9e640290c05e
        !          24989: Author: Martin Mares <mj@ucw.cz>
        !          24990: Date:   Fri Nov 27 19:31:41 1998 +0000
        !          24991: 
        !          24992:     Now merges configuration fragments (*.Y) as well.
        !          24993: 
        !          24994: commit dfeef5d8bb9fe19cb44d4121fd8324179a38b7a0
        !          24995: Author: Martin Mares <mj@ucw.cz>
        !          24996: Date:   Fri Nov 27 19:29:27 1998 +0000
        !          24997: 
        !          24998:     Implemented ip_pton()
        !          24999: 
        !          25000: commit a3afae585af9a544f919a95509107aae33fbe53c
        !          25001: Author: Martin Mares <mj@ucw.cz>
        !          25002: Date:   Fri Nov 27 19:29:00 1998 +0000
        !          25003: 
        !          25004:     Removed prototype of rp_free() since this function has never existed.
        !          25005: 
        !          25006: commit 3cef8c706ccfbc17d8af6aed7820c9231d908214
        !          25007: Author: Martin Mares <mj@ucw.cz>
        !          25008: Date:   Fri Nov 27 19:28:29 1998 +0000
        !          25009: 
        !          25010:     Added path to config file.
        !          25011: 
        !          25012: commit 4254dc45e77b4c2d45178c7a5ce1e9bff19b8bf7
        !          25013: Author: Martin Mares <mj@ucw.cz>
        !          25014: Date:   Sat Nov 21 10:25:34 1998 +0000
        !          25015: 
        !          25016:     Killed bug in processing of 'h' prefix. Patch taken from linux-2.1.129.
        !          25017: 
        !          25018: commit 9158ca99f740d5b1b50d233e0f64e61504dc6fdf
        !          25019: Author: Martin Mares <mj@ucw.cz>
        !          25020: Date:   Mon Nov 16 21:41:21 1998 +0000
        !          25021: 
        !          25022:     Complain loudly if the logging buffer would overflow.
        !          25023: 
        !          25024: commit 53a416d376a16b2091dce898a16600b0cd27c348
        !          25025: Author: Martin Mares <mj@ucw.cz>
        !          25026: Date:   Mon Nov 16 21:40:35 1998 +0000
        !          25027: 
        !          25028:     Implemented snprintf and similar functions. It took a lot of thinking,
        !          25029:     but the modifications were relatively simple and straightforward.
        !          25030: 
        !          25031: commit c3e9b2ab2448bce4a6fe6a5be9c8de8beecc8e17
        !          25032: Author: Pavel Machek <pavel@ucw.cz>
        !          25033: Date:   Mon Oct 26 15:35:19 1998 +0000
        !          25034: 
        !          25035:     RIP now includes notion of interface, and is correctly talking to
        !          25036:     itself on second host. Split horizont is broken.
        !          25037: 
        !          25038: commit dafd580ed94f38c95a84d8d00d3a57c7c194d6db
        !          25039: Author: Martin Mares <mj@ucw.cz>
        !          25040: Date:   Mon Oct 26 15:24:32 1998 +0000
        !          25041: 
        !          25042:     Previous fix was wrong.
        !          25043: 
        !          25044: commit db6984c43c47bfb549394f6571f024df301b19ee
        !          25045: Author: Martin Mares <mj@ucw.cz>
        !          25046: Date:   Mon Oct 26 15:01:04 1998 +0000
        !          25047: 
        !          25048:     rte_update: Doesn't loop forever when multiple routes point to the same
        !          25049:     destination.
        !          25050: 
        !          25051: commit dc7c7494e372febc44ae7d1f4ed618a6fe8bf45e
        !          25052: Author: Pavel Machek <pavel@ucw.cz>
        !          25053: Date:   Tue Oct 20 16:45:53 1998 +0000
        !          25054: 
        !          25055:     RIP _NOW_ actually talks to itself (workaround core bug: send data
        !          25056:     from other port than we receive at), few FIXME's added.
        !          25057: 
        !          25058: commit 756b86dea31f2b94b1fbc1d95098f1a177b2817e
        !          25059: Author: Martin Mares <mj@ucw.cz>
        !          25060: Date:   Tue Oct 20 16:39:04 1998 +0000
        !          25061: 
        !          25062:     Learn static device routes from the kernel (temporary until we can make
        !          25063:     such things configurable).
        !          25064: 
        !          25065: commit feb6abe009aa13b3cd0ce22e6333163fb7561c16
        !          25066: Author: Pavel Machek <pavel@ucw.cz>
        !          25067: Date:   Tue Oct 20 16:12:43 1998 +0000
        !          25068: 
        !          25069:     RIP now actually talks to itself.
        !          25070: 
        !          25071: commit 8ca8683c705c76dc155521204ef098e6fe547696
        !          25072: Author: Martin Mares <mj@ucw.cz>
        !          25073: Date:   Tue Oct 20 15:47:02 1998 +0000
        !          25074: 
        !          25075:     Beware the NULL route, my son... The bugs that bite, the BIRDs that crash :-)
        !          25076: 
        !          25077: commit acc62f5e1d4a100ec0be5c73e928a041aa9a4f9d
        !          25078: Author: Martin Mares <mj@ucw.cz>
        !          25079: Date:   Tue Oct 20 15:17:38 1998 +0000
        !          25080: 
        !          25081:     Insert/remove hooks return void, not int.
        !          25082: 
        !          25083: commit a0762910a62085d875b5bf5e1494c4fdde6f603f
        !          25084: Author: Martin Mares <mj@ucw.cz>
        !          25085: Date:   Tue Oct 20 15:13:18 1998 +0000
        !          25086: 
        !          25087:     Added pointer to network to RTE. The complications with passing NET separately
        !          25088:     aren't worth 4 bytes per RTE.
        !          25089:     
        !          25090:     rte_discard and rte_dump don't need net * as parameter.
        !          25091: 
        !          25092: commit b6903c948b2325f11cfb07f2df0590708920b987
        !          25093: Author: Martin Mares <mj@ucw.cz>
        !          25094: Date:   Mon Oct 19 18:18:12 1998 +0000
        !          25095: 
        !          25096:     Updated TODO.
        !          25097: 
        !          25098: commit 7d8329078066b5682a0330b20dbdf74c7a01cbac
        !          25099: Author: Martin Mares <mj@ucw.cz>
        !          25100: Date:   Mon Oct 19 18:13:36 1998 +0000
        !          25101: 
        !          25102:     Generate router_id automatically if possible (standard "smallest of local
        !          25103:     regular interface addresses" rule).
        !          25104:     
        !          25105:     Protocols should NOT rely on router_id existence -- when router ID is not
        !          25106:     available, the router_id variable is set to zero and protocols requiring
        !          25107:     valid router ID should just refuse to start, reporting such error to the log.
        !          25108: 
        !          25109: commit 08045252553478457f923a9f941675df9992f507
        !          25110: Author: Martin Mares <mj@ucw.cz>
        !          25111: Date:   Mon Oct 19 17:52:29 1998 +0000
        !          25112: 
        !          25113:     Basic kernel routing table syncing implemented. Learning of routes installed
        !          25114:     by other programs or the kernel itself is not supported yet, but it's not
        !          25115:     needed for development of other protocols.
        !          25116: 
        !          25117: commit 567e6c62208d3bb05b58b8ed08c2be29d6542f2b
        !          25118: Author: Martin Mares <mj@ucw.cz>
        !          25119: Date:   Mon Oct 19 17:48:45 1998 +0000
        !          25120: 
        !          25121:     Use (SOCK_DGRAM,IPPROTO_IP) socket instead of (SOCK_STREAM,IPPROTO_TCP).
        !          25122:     This is exactly what Linux ifconfig does and seems to be the preferred way.
        !          25123: 
        !          25124: commit 4cf45766bac4b1e3f5196f7e36d012cb7c010dc1
        !          25125: Author: Martin Mares <mj@ucw.cz>
        !          25126: Date:   Mon Oct 19 17:47:50 1998 +0000
        !          25127: 
        !          25128:     Exporting fill_in_sockaddr() for use by other unix-dependent code.
        !          25129: 
        !          25130: commit 36f2caf147fb80e2b3db59d367e07f5d143f3710
        !          25131: Author: Martin Mares <mj@ucw.cz>
        !          25132: Date:   Mon Oct 19 17:46:45 1998 +0000
        !          25133: 
        !          25134:     Fixed generation of device routes for unnumbered point-to-point links.
        !          25135: 
        !          25136: commit f184ea6f7e1233403d06fa4615cb9f27f9d9a839
        !          25137: Author: Martin Mares <mj@ucw.cz>
        !          25138: Date:   Mon Oct 19 17:45:29 1998 +0000
        !          25139: 
        !          25140:     Proto struct now contain (down | starting | up) state.
        !          25141: 
        !          25142: commit 16a8ba30a97d82f8e43385d1a9b116fdb16746a8
        !          25143: Author: Martin Mares <mj@ucw.cz>
        !          25144: Date:   Sun Oct 18 22:25:56 1998 +0000
        !          25145: 
        !          25146:     We parse /proc/net/route and flag RT entries according to it. More to come
        !          25147:     today in the morning...
        !          25148: 
        !          25149: commit 4c45595e3bb9f0b605e3102742831dad8915b309
        !          25150: Author: Martin Mares <mj@ucw.cz>
        !          25151: Date:   Sun Oct 18 22:24:41 1998 +0000
        !          25152: 
        !          25153:     o  FIB flags now available for FIB users.
        !          25154:     o  struct network: FIB flags used for kernel syncing.
        !          25155:     o  struct network: `next' field deleted (historical relic).
        !          25156: 
        !          25157: commit ab3a76a382745e0195b213c6d87ddc0e3cabd690
        !          25158: Author: Martin Mares <mj@ucw.cz>
        !          25159: Date:   Sun Oct 18 22:22:28 1998 +0000
        !          25160: 
        !          25161:     Added ipa_from_u32 and ipa_from_u32 for use in the kernel sync code (IPv4 only).
        !          25162:     Don't ever think of using it in routing protocols.
        !          25163: 
        !          25164: commit 7e7790c61f14dff300d7c5464fdd47e4c15a0731
        !          25165: Author: Martin Mares <mj@ucw.cz>
        !          25166: Date:   Sun Oct 18 12:50:43 1998 +0000
        !          25167: 
        !          25168:     Since almost every UNIX system requires different techniques for reading
        !          25169:     the kernel routing table as opposed to modifying it which is approximately
        !          25170:     the same on non-netlink systems, I've split the kernel routing table
        !          25171:     routines to read and write parts. To be implemented later ;-)
        !          25172: 
        !          25173: commit 8b1688177b2b3c6a3740f792997f3057b9bff0da
        !          25174: Author: Martin Mares <mj@ucw.cz>
        !          25175: Date:   Sun Oct 18 12:48:15 1998 +0000
        !          25176: 
        !          25177:     * Please distinguish between DGB() and debug().
        !          25178: 
        !          25179: commit 3629bcf0c7ff8ccc56baabc4769f90635d1a7864
        !          25180: Author: Martin Mares <mj@ucw.cz>
        !          25181: Date:   Sun Oct 18 12:26:02 1998 +0000
        !          25182: 
        !          25183:     Preconfig, postconfig and init hooks can be NULL.
        !          25184: 
        !          25185: commit 0432c0173bb4d234e8ba8e4afea0a8e708e119d8
        !          25186: Author: Martin Mares <mj@ucw.cz>
        !          25187: Date:   Sun Oct 18 11:53:21 1998 +0000
        !          25188: 
        !          25189:     Split protocol init to building of protocol list and real protocol init.
        !          25190:     Added kernel route table syncer skeleton.
        !          25191: 
        !          25192: commit 05e56feb57b8e313a2328dbe82e2c2a70ff5115a
        !          25193: Author: Martin Mares <mj@ucw.cz>
        !          25194: Date:   Sun Oct 18 11:50:36 1998 +0000
        !          25195: 
        !          25196:     Removed global pointer to proto_dev.
        !          25197: 
        !          25198: commit 5b22683d2f27fcc5954cc9d4d58e55e539414d53
        !          25199: Author: Martin Mares <mj@ucw.cz>
        !          25200: Date:   Sun Oct 18 11:13:16 1998 +0000
        !          25201: 
        !          25202:     After contemplating about RIP route timeouts for a long time, I've implemented
        !          25203:     protocol callbacks for route insertion and deletion from the central table.
        !          25204:     RIP should maintain its own per-protocol queue of existing routes, scan it
        !          25205:     periodically and call rte_discard() for routes that have timed out.
        !          25206: 
        !          25207: commit 570ce189d77fc40841e8e9f8f86ea3c3840aa450
        !          25208: Author: Martin Mares <mj@ucw.cz>
        !          25209: Date:   Sun Oct 18 10:49:46 1998 +0000
        !          25210: 
        !          25211:     Implemented `route last modified' time.
        !          25212: 
        !          25213: commit 2a900b1b1565d778f19c10b087aea558f067bba7
        !          25214: Author: Martin Mares <mj@ucw.cz>
        !          25215: Date:   Sat Oct 17 11:26:28 1998 +0000
        !          25216: 
        !          25217:     Fixed misleading comment.
        !          25218: 
        !          25219: commit 7f3d198df118dc218bb2049f1cc0597ec62864bc
        !          25220: Author: Martin Mares <mj@ucw.cz>
        !          25221: Date:   Sat Oct 17 11:24:13 1998 +0000
        !          25222: 
        !          25223:     Each protocol now hears even its own routes and needs to make its own
        !          25224:     loop detection. This is needed since both RIP and OSPF handle multiple
        !          25225:     neighbors and they need to redistribute routes learned from each neighbor
        !          25226:     to the remaining ones.
        !          25227: 
        !          25228: commit 47b793064c25c8adcab48cacc018be1675f2448a
        !          25229: Author: Martin Mares <mj@ucw.cz>
        !          25230: Date:   Sat Oct 17 11:05:18 1998 +0000
        !          25231: 
        !          25232:     Solve chicken-and-egg problems with protocol startup. We now queue all inactive
        !          25233:     protocols and don't send route/interface updates to them and when they come up,
        !          25234:     we resend the whole route/interface tables privately.
        !          25235:     
        !          25236:     Removed the "scan interface list after protocol start" work-around.
        !          25237: 
        !          25238: commit d92882be9b1bfcc1a8e8a7bd552bdec4831694aa
        !          25239: Author: Martin Mares <mj@ucw.cz>
        !          25240: Date:   Sat Oct 17 11:02:39 1998 +0000
        !          25241: 
        !          25242:     WALK_LIST_DELSAFE now actually works (it really couldn't since it didn't
        !          25243:     reference list head at all).
        !          25244: 
        !          25245: commit c05ea56f8eb15dfe3c9d18496deaa926e0cf8aac
        !          25246: Author: Pavel Machek <pavel@ucw.cz>
        !          25247: Date:   Sat Oct 17 10:25:22 1998 +0000
        !          25248: 
        !          25249:     rip should now correctly listen, but entries will not time out.
        !          25250: 
        !          25251: commit 8333431c4d0d7dcf065938e21440b4ce20cb8f8f
        !          25252: Author: Pavel Machek <pavel@ucw.cz>
        !          25253: Date:   Thu Oct 15 15:12:24 1998 +0000
        !          25254: 
        !          25255:     Rip: rip_rta_same added.
        !          25256: 
        !          25257: commit 93f1c532e99cddb5575075313c0707bcd4758f07
        !          25258: Author: Martin Mares <mj@ucw.cz>
        !          25259: Date:   Wed Oct 14 13:38:17 1998 +0000
        !          25260: 
        !          25261:     Moved scanning of interfaces, so that they get initialized after all
        !          25262:     routing protocol instances.
        !          25263: 
        !          25264: commit cf3934c5691ec4a00d54b863576916f9a1dd1f1a
        !          25265: Author: Pavel Machek <pavel@ucw.cz>
        !          25266: Date:   Wed Oct 14 13:27:53 1998 +0000
        !          25267: 
        !          25268:     Lists: unneccessary test killed, make code friendly to non-gcc.
        !          25269: 
        !          25270: commit c93214d442644c9667d69f904d57aef6b4ddd47e
        !          25271: Author: Martin Mares <mj@ucw.cz>
        !          25272: Date:   Tue Oct 13 19:57:33 1998 +0000
        !          25273: 
        !          25274:     o  There are cases when SIOCGIFINDEX is defined, but it doesn't work. When
        !          25275:        this happens, don't reject the whole interface, just mark it as index 0.
        !          25276:     o  Removed Pavel's comment about EFAULT and SIGSEGV. EFAULT is a valid return
        !          25277:        code for cases where the buffer is too small.
        !          25278:     o  Commented out the smart interface list size logic temporarily as it seems
        !          25279:        Linux 2.0 SIOCGIFCONF doesn't react to ifc_req==NULL sanely. Replaced it
        !          25280:        by exponential stepping.
        !          25281: 
        !          25282: commit fdf33cde1cd14a2a0215d6d459489e258fe20789
        !          25283: Author: Pavel Machek <pavel@ucw.cz>
        !          25284: Date:   Tue Oct 13 14:59:46 1998 +0000
        !          25285: 
        !          25286:     Strange, on atrey ioctl() does not fill structure, and bird segfaults
        !          25287:     on it. Now we "only" die().
        !          25288: 
        !          25289: commit 21580e304f612b276a90d2a90f4fb86569609255
        !          25290: Author: Pavel Machek <pavel@ucw.cz>
        !          25291: Date:   Tue Oct 13 14:32:18 1998 +0000
        !          25292: 
        !          25293:     I prefer to have broken drivers than completely stupid ones...
        !          25294:     
        !          25295:                                                        Linus Torvalds
        !          25296:     
        !          25297:     Rip now uses main routing table properly: entries are stored directly
        !          25298:     into main routing table and we are relying on core to call our's
        !          25299:     compare. That unfortunately broke garbage collecting (and probably
        !          25300:     many more things). It compiles.
        !          25301: 
        !          25302: commit 1d941de47a90fb9ca39d7acf6aa396447d1fc7df
        !          25303: Author: Pavel Machek <pavel@ucw.cz>
        !          25304: Date:   Wed Oct 7 19:33:50 1998 +0000
        !          25305: 
        !          25306:     RIP now somehow listens to main routing table (dont expect it to work)
        !          25307: 
        !          25308: commit 8c43696da0c0680820aa949da35e823e68162788
        !          25309: Author: Martin Mares <mj@ucw.cz>
        !          25310: Date:   Mon Aug 31 21:13:42 1998 +0000
        !          25311: 
        !          25312:     Route update hook now gets network prefix as well as updated
        !          25313:     route attributes.
        !          25314: 
        !          25315: commit bf65d27deaa0bacd801ec06a3257dda03a53fee2
        !          25316: Author: Pavel Machek <pavel@ucw.cz>
        !          25317: Date:   Thu Jul 30 07:43:45 1998 +0000
        !          25318: 
        !          25319:     Bird's info are now understood by ripquery.
        !          25320: 
        !          25321: commit 279f4c7b7b2ebe13793649f191040042a8c4c014
        !          25322: Author: Pavel Machek <pavel@ucw.cz>
        !          25323: Date:   Tue Jul 28 21:44:11 1998 +0000
        !          25324: 
        !          25325:     Rip now includes code to reply, but it is currently broken.
        !          25326: 
        !          25327: commit 48b41d58112737f87f1217414291e61f5430f611
        !          25328: Author: Pavel Machek <pavel@ucw.cz>
        !          25329: Date:   Tue Jul 28 21:42:08 1998 +0000
        !          25330: 
        !          25331:     Do not segfault on iface == NULL.
        !          25332: 
        !          25333: commit a872b0f7dae38cfef574d0d3b30609e968cdf95b
        !          25334: Author: Pavel Machek <pavel@ucw.cz>
        !          25335: Date:   Mon Jul 20 20:05:40 1998 +0000
        !          25336: 
        !          25337:     Reversed buggy patch.
        !          25338: 
        !          25339: commit c25e90efed6bc76d05370403839640ed05017506
        !          25340: Author: Martin Mares <mj@ucw.cz>
        !          25341: Date:   Wed Jul 15 19:42:23 1998 +0000
        !          25342: 
        !          25343:     Added comment explaining `now'.
        !          25344: 
        !          25345: commit 1be52eea5777f082b02e0f484620e692017b16a2
        !          25346: Author: Martin Mares <mj@ucw.cz>
        !          25347: Date:   Fri Jul 10 08:39:34 1998 +0000
        !          25348: 
        !          25349:     Removed format specification attributes for log() and debug() until
        !          25350:     GCC is fixed to handle custom formats.
        !          25351: 
        !          25352: commit 786d0bb9e7c5db5104e3fd0ff7fdfbd1e19844ea
        !          25353: Author: Martin Mares <mj@ucw.cz>
        !          25354: Date:   Fri Jul 10 08:38:29 1998 +0000
        !          25355: 
        !          25356:     Added ipa_class_mask() which guesses netmask for classful addressing.
        !          25357:     For pure A/B/C class addresses it just returns the class netmask, for
        !          25358:     subnets it tries to guess subnet mask. Please make sure the address
        !          25359:     you pass to this function is really a valid host address (i.e., call
        !          25360:     ipa_validate() first).
        !          25361: 
        !          25362: commit 28a9a189d71ef3b05daa21d60277149edb8e98ad
        !          25363: Author: Martin Mares <mj@ucw.cz>
        !          25364: Date:   Fri Jul 10 08:32:18 1998 +0000
        !          25365: 
        !          25366:     Replaced remaining references of clock_t by bird_clock_t.
        !          25367: 
        !          25368: commit a103373f6147f27e4ac71e5903563e57ce52902c
        !          25369: Author: Pavel Machek <pavel@ucw.cz>
        !          25370: Date:   Thu Jul 9 19:39:04 1998 +0000
        !          25371: 
        !          25372:     Commiting RIP. RIP should somehow listen, will not reply. I needed to
        !          25373:     commit it so that whole thing compiles.
        !          25374: 
        !          25375: commit 86b0023033a25cdc6ab5480e03893f516184a2a5
        !          25376: Author: Pavel Machek <pavel@ucw.cz>
        !          25377: Date:   Thu Jul 9 19:37:39 1998 +0000
        !          25378: 
        !          25379:     Making SIGUSR1 dump also all protocols.
        !          25380: 
        !          25381: commit 87d2be86e5f8af0e2f01e7fb711bd282e29e376b
        !          25382: Author: Pavel Machek <pavel@ucw.cz>
        !          25383: Date:   Thu Jul 9 19:36:52 1998 +0000
        !          25384: 
        !          25385:     Adding proto_dump_all() function
        !          25386: 
        !          25387: commit cf3527e2f4f1f4009fa332e6284b8904c24d0d43
        !          25388: Author: Pavel Machek <pavel@ucw.cz>
        !          25389: Date:   Thu Jul 9 19:36:05 1998 +0000
        !          25390: 
        !          25391:     Adding MIN()/MAX() macros
        !          25392: 
        !          25393: commit aea2dcabdc4ed80172ac8d4f5c4d31bc8607d1e7
        !          25394: Author: Pavel Machek <pavel@ucw.cz>
        !          25395: Date:   Thu Jul 9 19:35:23 1998 +0000
        !          25396: 
        !          25397:     Adding walk list which permits you to delete entries.
        !          25398: 
        !          25399: commit 962ba482fd7bba97cf13a96105503efff4dcb88a
        !          25400: Author: Martin Mares <mj@ucw.cz>
        !          25401: Date:   Wed Jun 17 14:36:02 1998 +0000
        !          25402: 
        !          25403:     Use '%I' instead of dirty address printing hacks.
        !          25404: 
        !          25405: commit d997534f65903e8078efe2f8ceb19941692598f7
        !          25406: Author: Martin Mares <mj@ucw.cz>
        !          25407: Date:   Wed Jun 17 14:34:13 1998 +0000
        !          25408: 
        !          25409:     Oops, forgot '%m'...
        !          25410: 
        !          25411: commit 9556f225853748d5fee9a21e179b8fd5da2d3c42
        !          25412: Author: Martin Mares <mj@ucw.cz>
        !          25413: Date:   Wed Jun 17 14:33:29 1998 +0000
        !          25414: 
        !          25415:     debug() and log() use the new printf. Feel free to use new formatting
        !          25416:     sequences for all output.
        !          25417: 
        !          25418: commit ecacdfa434acf8af38ed8c1c0c8e71dab400b0f4
        !          25419: Author: Martin Mares <mj@ucw.cz>
        !          25420: Date:   Wed Jun 17 14:31:36 1998 +0000
        !          25421: 
        !          25422:     Added local version of sprintf (bsprintf and bvsprintf) offering few new
        !          25423:     format strings:
        !          25424:     
        !          25425:        %I      IP address
        !          25426:        %#I     IP address in hexadecimal
        !          25427:        %1I     IP address padded to full length
        !          25428:        %m      strerror(errno)
        !          25429: 
        !          25430: commit 97d858c590998786d4d8a16b5c1f657800d74736
        !          25431: Author: Martin Mares <mj@ucw.cz>
        !          25432: Date:   Wed Jun 17 14:28:46 1998 +0000
        !          25433: 
        !          25434:     ip_ntop() and ip_ntox() for IPv4.
        !          25435: 
        !          25436: commit 6b5e06abb57528a091fd171dff379634fa7c4dad
        !          25437: Author: Martin Mares <mj@ucw.cz>
        !          25438: Date:   Wed Jun 17 14:26:30 1998 +0000
        !          25439: 
        !          25440:     Added function for converting of IP addresses to printable form.
        !          25441: 
        !          25442: commit 620a355a15d65a8a2980f98b2de3e7d04c3dab62
        !          25443: Author: Martin Mares <mj@ucw.cz>
        !          25444: Date:   Thu Jun 4 20:30:11 1998 +0000
        !          25445: 
        !          25446:     Now sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UP
        !          25447:     only if it's really up.
        !          25448: 
        !          25449: commit 236d4eb8ce5dc894e97bcf1f561186d41c361cea
        !          25450: Author: Martin Mares <mj@ucw.cz>
        !          25451: Date:   Thu Jun 4 20:29:44 1998 +0000
        !          25452: 
        !          25453:     FIB_WALK and friends are now slightly more friendly.
        !          25454: 
        !          25455: commit 66e53309acceb0fd7e56faf54e1cc733a5477c67
        !          25456: Author: Martin Mares <mj@ucw.cz>
        !          25457: Date:   Thu Jun 4 20:29:05 1998 +0000
        !          25458: 
        !          25459:     Dumping of _static_ attributes implemented.
        !          25460: 
        !          25461: commit b1e4f81485c15bacfff6040a1295bee31479a875
        !          25462: Author: Martin Mares <mj@ucw.cz>
        !          25463: Date:   Thu Jun 4 20:28:43 1998 +0000
        !          25464: 
        !          25465:     We have full interface routes now.
        !          25466: 
        !          25467: commit 0cdbd3975a1ebc5e6705d23ed90388269c24b42e
        !          25468: Author: Martin Mares <mj@ucw.cz>
        !          25469: Date:   Thu Jun 4 20:28:19 1998 +0000
        !          25470: 
        !          25471:     Handle route deletion without segfaults. A bit more debug dumps.
        !          25472: 
        !          25473: commit 5331da6a4d0c77e70d134fa40b5061b00ab593b0
        !          25474: Author: Martin Mares <mj@ucw.cz>
        !          25475: Date:   Thu Jun 4 20:27:49 1998 +0000
        !          25476: 
        !          25477:     Fixed processing of timers.
        !          25478: 
        !          25479: commit fd50083df499dd7aa4dd3eec97171003da300250
        !          25480: Author: Martin Mares <mj@ucw.cz>
        !          25481: Date:   Wed Jun 3 08:43:44 1998 +0000
        !          25482: 
        !          25483:     Killed socket debug code. Initialize config pool and protocols.
        !          25484:     More to come later...
        !          25485: 
        !          25486: commit c5ffa447598bc24cf1b674553bc4d3cc80a831d1
        !          25487: Author: Martin Mares <mj@ucw.cz>
        !          25488: Date:   Wed Jun 3 08:42:16 1998 +0000
        !          25489: 
        !          25490:     Skeleton of device route protocol. As it's tightly coupled with our kernel,
        !          25491:     it sits here instead of `proto/dev'.
        !          25492: 
        !          25493: commit d9f330c5ffe03c05b7e6541a06adac657f24407b
        !          25494: Author: Martin Mares <mj@ucw.cz>
        !          25495: Date:   Wed Jun 3 08:40:10 1998 +0000
        !          25496: 
        !          25497:     Protocol hooks. All of them may be NULL.
        !          25498: 
        !          25499: commit 7f4a39886c128bfc2e39987180eb1482ee04d553
        !          25500: Author: Martin Mares <mj@ucw.cz>
        !          25501: Date:   Wed Jun 3 08:38:53 1998 +0000
        !          25502: 
        !          25503:     Basic protocol operations.
        !          25504: 
        !          25505: commit a5f1a60e0254871c3285aabde372f5a6790c19c3
        !          25506: Author: Martin Mares <mj@ucw.cz>
        !          25507: Date:   Wed Jun 3 08:38:06 1998 +0000
        !          25508: 
        !          25509:     Changed protocol declarations a bit.
        !          25510: 
        !          25511: commit 33beab4f6c7904204a5116b4eb4cbed5f859f24a
        !          25512: Author: Martin Mares <mj@ucw.cz>
        !          25513: Date:   Wed Jun 3 08:36:34 1998 +0000
        !          25514: 
        !          25515:     Added configuration pool.
        !          25516: 
        !          25517: commit c5fd704e48333fb8e690d78a3be1303f6c2638c7
        !          25518: Author: Martin Mares <mj@ucw.cz>
        !          25519: Date:   Wed Jun 3 08:35:40 1998 +0000
        !          25520: 
        !          25521:     Protocols will reside in directory `proto'.
        !          25522: 
        !          25523: commit 869c695998f0bc3b80d8500d88a53fb169c21bc1
        !          25524: Author: Martin Mares <mj@ucw.cz>
        !          25525: Date:   Mon Jun 1 21:41:32 1998 +0000
        !          25526: 
        !          25527:     Synced to new interface code.
        !          25528: 
        !          25529: commit 4cc78c5082344f0d237a5cdfb05e53dfd04ffd8b
        !          25530: Author: Martin Mares <mj@ucw.cz>
        !          25531: Date:   Mon Jun 1 21:41:11 1998 +0000
        !          25532: 
        !          25533:     - Rewrote whole interface logic. Removed support for multiple addresses per
        !          25534:       interface since it makes much trouble everywhere. Instead, we understand
        !          25535:       secondary addresses as subinterfaces.
        !          25536:     
        !          25537:     - In case interface addresses or basic flags change, we simply convert it
        !          25538:       to a down/up sequence.
        !          25539:     
        !          25540:     - Implemented the universal neighbour cache. (Just forget what did previous
        !          25541:       includes say of neighbour caching, this one is brand new.)
        !          25542: 
        !          25543: commit 0fe3b28b68f10a32f3fe43e8221559a72be5ca28
        !          25544: Author: Martin Mares <mj@ucw.cz>
        !          25545: Date:   Mon Jun 1 21:36:58 1998 +0000
        !          25546: 
        !          25547:     Added ipa_xor() and ipa_in_net().
        !          25548: 
        !          25549: commit af847acc27978cf48721aafbacab70e48f42ede7
        !          25550: Author: Martin Mares <mj@ucw.cz>
        !          25551: Date:   Tue May 26 21:46:38 1998 +0000
        !          25552: 
        !          25553:     Whee, multicast sockets work!
        !          25554:     
        !          25555:     Implemented recurrent timers.
        !          25556: 
        !          25557: commit 140f03410500420a4b44e62a98896a29c99a2b00
        !          25558: Author: Martin Mares <mj@ucw.cz>
        !          25559: Date:   Tue May 26 21:44:54 1998 +0000
        !          25560: 
        !          25561:     Added CONFIG_AUTO_ROUTES (automatic device route creation) and
        !          25562:     CONFIG_ALL_MULTICAST (all interfaces capable of multicasting, not depending
        !          25563:     on IFF_MULTICAST flag).
        !          25564: 
        !          25565: commit fe82105e5dc2077c16da802f721160443e0c6fc2
        !          25566: Author: Martin Mares <mj@ucw.cz>
        !          25567: Date:   Tue May 26 21:43:45 1998 +0000
        !          25568: 
        !          25569:     Debug messages.
        !          25570: 
        !          25571: commit 8a48ecb8b15e827f779d4b9fb080dff280b99872
        !          25572: Author: Martin Mares <mj@ucw.cz>
        !          25573: Date:   Tue May 26 21:42:05 1998 +0000
        !          25574: 
        !          25575:     Implemented scanning of network interfaces. Mostly very ugly code due to
        !          25576:     terrible kernel interface (SIOGIFCONF and friends).
        !          25577: 
        !          25578: commit b1487ee909ebd4cfc59f30d3678cb6667d4a72c8
        !          25579: Author: Martin Mares <mj@ucw.cz>
        !          25580: Date:   Tue May 26 21:38:06 1998 +0000
        !          25581: 
        !          25582:     Added generic functions for unaligned data access.
        !          25583: 
        !          25584: commit ed68a5c6a4da7050995934adb07612dea1cf6644
        !          25585: Author: Martin Mares <mj@ucw.cz>
        !          25586: Date:   Tue May 26 21:37:37 1998 +0000
        !          25587: 
        !          25588:     Resource pools are now named.
        !          25589: 
        !          25590: commit d5417b379f05541418fb4f1ac87100ba8106b0c6
        !          25591: Author: Martin Mares <mj@ucw.cz>
        !          25592: Date:   Tue May 26 21:36:48 1998 +0000
        !          25593: 
        !          25594:     Added ipa_opposite().
        !          25595: 
        !          25596: commit 5222c46ceb8035f2292c3a91f6ee85fbbed82c5e
        !          25597: Author: Martin Mares <mj@ucw.cz>
        !          25598: Date:   Tue May 26 21:36:17 1998 +0000
        !          25599: 
        !          25600:     DBG now calls debug() instead of sending it to log().
        !          25601: 
        !          25602: commit d804db0dabf944495071fe6b62a9d836f78997af
        !          25603: Author: Martin Mares <mj@ucw.cz>
        !          25604: Date:   Sun May 24 15:00:48 1998 +0000
        !          25605: 
        !          25606:     Added few socket declarations.
        !          25607: 
        !          25608: commit b5d9ee5c878b41ffbc138be171d700992e9d78c7
        !          25609: Author: Martin Mares <mj@ucw.cz>
        !          25610: Date:   Sun May 24 14:50:18 1998 +0000
        !          25611: 
        !          25612:     Added UNIX implementation of both timers and sockets. Timers should work,
        !          25613:     sockets were tested only in TCP mode. main.c now contains some test
        !          25614:     cases for socket code.
        !          25615: 
        !          25616: commit 6d45cf21be3f979ba4e8a1a5f557663618fadfb3
        !          25617: Author: Martin Mares <mj@ucw.cz>
        !          25618: Date:   Sun May 24 14:49:14 1998 +0000
        !          25619: 
        !          25620:     Added debug dump function, but it's still empty :(
        !          25621: 
        !          25622: commit ded3ee6dddae06c1cabc3a2d34e3139eb0eb338f
        !          25623: Author: Martin Mares <mj@ucw.cz>
        !          25624: Date:   Sun May 24 14:48:52 1998 +0000
        !          25625: 
        !          25626:     protos_init, not proto_init.
        !          25627: 
        !          25628: commit b53499cdaa21994f5d92afed23fdf85c2b7fe134
        !          25629: Author: Martin Mares <mj@ucw.cz>
        !          25630: Date:   Sun May 24 14:48:09 1998 +0000
        !          25631: 
        !          25632:     Added interface index (used only by OS-dependent code since ifindexes itself
        !          25633:     are OS-dependent).
        !          25634: 
        !          25635: commit d4bc8dc00037e868771fb259a1e7b9ae5e92ed5a
        !          25636: Author: Martin Mares <mj@ucw.cz>
        !          25637: Date:   Sun May 24 14:46:20 1998 +0000
        !          25638: 
        !          25639:     Staticized some variables and functions.
        !          25640: 
        !          25641: commit 315aba32b3c5744a040331d653218d15a55455a5
        !          25642: Author: Martin Mares <mj@ucw.cz>
        !          25643: Date:   Sun May 24 14:44:25 1998 +0000
        !          25644: 
        !          25645:     Fixed path to includes.
        !          25646: 
        !          25647: commit a2ccbb0b97c1eac3a68f01b7786822a66aaaefa2
        !          25648: Author: Martin Mares <mj@ucw.cz>
        !          25649: Date:   Sun May 24 14:40:29 1998 +0000
        !          25650: 
        !          25651:     Implemented timers. Using bird_clock_t for absolute time from now...
        !          25652: 
        !          25653: commit 235562ca5ac1db2e2ea026bff42c8c2a898b44db
        !          25654: Author: Martin Mares <mj@ucw.cz>
        !          25655: Date:   Sun May 24 09:20:59 1998 +0000
        !          25656: 
        !          25657:     Point-to-point links: added address of the opposite end.
        !          25658: 
        !          25659: commit 480effedac0ae45a4f01ce32bac962db08ba5a3d
        !          25660: Author: Martin Mares <mj@ucw.cz>
        !          25661: Date:   Sun May 24 09:19:26 1998 +0000
        !          25662: 
        !          25663:     Added declarations of all our socket functions.
        !          25664: 
        !          25665: commit 2326b001d6f28e69b88c3c19795d8c0999f07db1
        !          25666: Author: Martin Mares <mj@ucw.cz>
        !          25667: Date:   Wed May 20 11:54:33 1998 +0000
        !          25668: 
        !          25669:     Added routing table and routing attribute code.
        !          25670: 
        !          25671: commit 3994080eb1a86f085498bee1f36cbdb52b30191d
        !          25672: Author: Martin Mares <mj@ucw.cz>
        !          25673: Date:   Fri May 15 13:43:59 1998 +0000
        !          25674: 
        !          25675:     Fixed path to includes.
        !          25676: 
        !          25677: commit 25697773b529d80278679978b7416ca9c87e15e9
        !          25678: Author: Martin Mares <mj@ucw.cz>
        !          25679: Date:   Fri May 15 07:56:13 1998 +0000
        !          25680: 
        !          25681:     The library is now glued together from generic and OS-dependent parts
        !          25682:     by the `mergedirs' script. Few more IP address manipulation functions
        !          25683:     and some fixes.
        !          25684: 
        !          25685: commit 62aa008abd627c6862310daf65ffd337a920bdbb
        !          25686: Author: Martin Mares <mj@ucw.cz>
        !          25687: Date:   Fri May 15 07:54:32 1998 +0000
        !          25688: 
        !          25689:     Parts of routing table code. Data structure declarations should be
        !          25690:     complete now.
        !          25691: 
        !          25692: commit 18c8241a91bd9208879666f1a1a13f454e66d75b
        !          25693: Author: Martin Mares <mj@ucw.cz>
        !          25694: Date:   Sun May 3 16:43:39 1998 +0000
        !          25695: 
        !          25696:     BIRD library: The story continues.
        !          25697:     
        !          25698:     Complete resource manages and IP address handling.
        !          25699: 
        !          25700: commit a8b6038225d18155883e330c96b2bc2e44153e1e
        !          25701: Author: Martin Mares <mj@ucw.cz>
        !          25702: Date:   Sun May 3 16:42:45 1998 +0000
        !          25703: 
        !          25704:     Next attempt on data structures...
        !          25705: 
        !          25706: commit 6032aa6ade49545d7c8b6025cf6e6373eb7c910c
        !          25707: Author: Martin Mares <mj@ucw.cz>
        !          25708: Date:   Sun May 3 16:42:08 1998 +0000
        !          25709: 
        !          25710:     Added new subdir for UNIX-dependent files.
        !          25711:     
        !          25712:     Now contains only functions for logging, but it will change soon.
        !          25713: 
        !          25714: commit 1feea03e7463d8eaeb00d5df6c2cd3e8e20f2bcd
        !          25715: Author: Martin Mares <mj@ucw.cz>
        !          25716: Date:   Tue Apr 28 14:39:34 1998 +0000
        !          25717: 
        !          25718:     Changed #include <x/y> to #include "x/y" for our local includes, so that
        !          25719:     gcc -MM can be used to separate them from the system ones.
        !          25720:     
        !          25721:     Added automatic generation of dependencies.
        !          25722: 
        !          25723: commit c40e05a0dffa33a8724e56121a2b6dcdfa9183e0
        !          25724: Author: Martin Mares <mj@ucw.cz>
        !          25725: Date:   Thu Apr 23 14:01:15 1998 +0000
        !          25726: 
        !          25727:     Added IP address manipulation macros, interface declarations and logging.
        !          25728: 
        !          25729: commit 481f69854a788bd2bea5c6938e038ec6e21c491b
        !          25730: Author: Martin Mares <mj@ucw.cz>
        !          25731: Date:   Thu Apr 23 08:09:39 1998 +0000
        !          25732: 
        !          25733:     Added few route attributes.
        !          25734: 
        !          25735: commit 58ef912c6babf1866193ab04674a5866dd761f13
        !          25736: Author: Martin Mares <mj@ucw.cz>
        !          25737: Date:   Wed Apr 22 12:58:34 1998 +0000
        !          25738: 
        !          25739:     First look at data structures. More to come tomorrow...
        !          25740: 
        !          25741: commit b60f7489148d021cb541414b8788f795ec4378fa
        !          25742: Author: Martin Mares <mj@ucw.cz>
        !          25743: Date:   Fri Mar 20 18:30:55 1998 +0000
        !          25744: 
        !          25745:     Added banner presented to KSVI.

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