Commit graph

294 commits

Author SHA1 Message Date
Ondrej Filip 19d9e30336 Marked unused parameters as unused. 2004-06-07 09:52:15 +00:00
Ondrej Filip fb257e43fc Deleted some unused code. 2004-06-07 09:09:14 +00:00
Ondrej Filip 41c8976e29 Test old instance of BIRD. 2004-06-06 17:05:25 +00:00
Martin Mares 9831e5916f Staticized lots of local functions. 2004-06-05 09:58:23 +00:00
Martin Mares 6578a60493 Marked unused parameters in sysdep code as such. 2004-06-05 09:11:07 +00:00
Martin Mares e98bc2ea9b Renamed log() to log_msg(), but still keeping the old name as a macro.
This is done to avoid clashes with gcc-3.3 which has built-in logarithms :)
2004-06-05 09:05:12 +00:00
Martin Mares 4da25acb0a Cleaned up sk_reallocate() and friends.
Also, removed the `if (s)' test, because I believe that as the whole
socket interface doesn't accent NULL pointers, sk_reallocate() shouldn't
be the only exception.
2004-06-05 08:56:43 +00:00
Ondrej Filip e7ef86a58c OSPF is ready for changing MTU. 2004-06-04 18:51:29 +00:00
Ondrej Filip 85305e5d8f typo in README 2004-06-04 17:32:38 +00:00
Ondrej Filip 7d72aadb8a CONFIG_SKIP_MC_BIND added.
BSD hates it, Linux needs it.
2004-06-03 08:18:14 +00:00
Ondrej Filip cb4dd4e2f7 Deleted useless rfree. (Socked was freed by cli_free()) 2004-06-02 15:14:49 +00:00
Ondrej Filip 7048461df1 Code clean up. 2004-06-01 13:58:39 +00:00
Ondrej Filip 8281ff201e Reverting last patch. 2004-06-01 12:57:13 +00:00
Ondrej Filip 77772dbc65 Caching loopback interface. 2004-06-01 10:55:10 +00:00
Ondrej Filip a8bb459a3f log->DBG 2004-06-01 10:53:30 +00:00
Ondrej Filip 1554cc0282 Minor changes caused by MJ's comment. 2004-06-01 10:45:28 +00:00
Ondrej Filip b613b9928b #ifdef CONFIG_UNIX_DONTROUTE added. 2004-06-01 10:32:02 +00:00
Ondrej Filip 402a9fa78a Useles log()s deleted. 2004-06-01 09:10:11 +00:00
Ondrej Filip e85bd57a0e bzero has 2 arguments. 2004-06-01 09:07:16 +00:00
Ondrej Filip b88a1d4040 memset -> bzero 2004-06-01 08:59:47 +00:00
Martin Mares ea0ac8f69a Move CLI socket to the newly created CLI's pool.
(thanks to Andreas for the original idea)
2004-05-31 22:00:18 +00:00
Martin Mares 38a608c55a Rewritten the I/O loop. All socket operations are now safe, meaning that
you can delete the socket from anywhere in the hooks and nothing should break.
Also, the receive/transmit buffers are now regular xmalloc()'ed buffers,
not separate resources which would need shuffling around between pools.

sk_close() is gone, use rfree() instead.
2004-05-31 21:48:19 +00:00
Martin Mares 5f2a6a9ff3 Fix handling on full pipe to client in bird. Prevent packet overflows
for even only medium sized route table output. Fix a strange garbled
output problem in the client. The latter seems to be caused by some
library doing tcflush while there is still command output pending. So
the best fix here is to do fflush and then tcdrain. Note that this
problem occurs only under certain load situations and is not too easy to
reproduce.

(by Andreas)
2004-05-31 17:55:30 +00:00
Ondrej Filip c222500d8e Previous change was mistake. 2004-05-31 17:00:22 +00:00
Ondrej Filip b1a1fabac7 *BSD port added. (Tested on FreeBSD and NetBSD) 2004-05-31 13:25:00 +00:00
Ondrej Filip bf135bcb1f Prepared for release 1.0.8. 2003-09-01 08:46:07 +00:00
Martin Mares c197d44e17 This probably IS the memory leak we're looking for. Alien routes weren't
correctly disposed of.
2003-08-13 22:07:55 +00:00
Martin Mares f240a133b3 Releasing version 1.0.6. 2003-04-06 19:42:28 +00:00
Martin Mares abf06173a3 Current Linux kernels don't remember rtm_protocol for IPv6 routes and supply RTPROT_BOOT instead.
Work around that.
2003-02-22 23:06:32 +00:00
Martin Mares 8001948b43 Report link-scope addresses as well. 2003-02-22 22:38:15 +00:00
Martin Mares 7d875e094b Added missing includes. 2002-11-13 08:47:06 +00:00
Martin Mares a19cd81100 Added missing #include and wondering how could it ever compile. 2002-11-13 08:30:56 +00:00
Martin Mares 5fc7c5c513 Don't loop forever when trying to skip an out-sequence netlink reply. 2001-08-03 08:44:51 +00:00
Ondrej Filip c48b33292b Yes, 1.0.5 released. 2001-06-09 15:13:38 +00:00
Martin Mares 01b776e117 Fixed <time.h> vs. <sys/time.h> problems. 2001-03-06 13:40:39 +00:00
Ondrej Filip fdb1998202 Serious bug in ext lsa origination found. Going for 1.0.4. 2000-09-03 22:18:40 +00:00
Ondrej Filip 19e930a9bb Version 1.0.3 released. 2000-09-03 17:53:12 +00:00
Ondrej Filip a24e315762 Released as version 1.0.2. 2000-08-23 06:51:26 +00:00
Martin Mares fc12a680b1 Released as version 1.0.1. 2000-06-21 22:08:46 +00:00
Martin Mares 2836ce3951 Check broadcast address sanity before believing it. 2000-06-21 09:58:09 +00:00
Martin Mares f9eb8f7e06 If compiled with --enable-debug, don't even try to log to syslog unless
the user forces it in the config file.
2000-06-19 23:50:02 +00:00
Martin Mares ca00d4a13a Fix numbering of routing tables in IPv6 version. 2000-06-18 19:49:32 +00:00
Martin Mares 4daf03e513 Use our own SUN_LEN if libc doesn't provide it. 2000-06-16 23:12:47 +00:00
Martin Mares 5ddf4a58f9 During initialization, log to both syslog and stderr. When a configuration
file has been read and it doesn't specify any logging, log to syslog only
(if syslog is not available, then stderr).
2000-06-09 07:32:57 +00:00
Martin Mares 0b3bf4b1d8 Use SUN_LEN() for length of UNIX domain addresses. This should fix problems
with connection to clients on libc5 machines.
2000-06-09 07:30:22 +00:00
Martin Mares 2d176ac5d2 Released as 1.0.0, but marked it as a BETA version. 2000-06-09 06:45:48 +00:00
Martin Mares 725270cb1d Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
Martin Mares c62d1c19a9 ... as well there. 2000-06-08 10:48:51 +00:00
Martin Mares ec423cc725 Updated CLI helps. 2000-06-08 10:25:02 +00:00
Martin Mares 58f7d004fd Fixes to the progdoc. 2000-06-07 13:25:53 +00:00
Martin Mares 2e9b24211a Spelling fixes to progdoc. 2000-06-07 12:29:08 +00:00
Martin Mares 73275d855d Documented all the sysdeps (only briefly, I admit).
Except for Filters, RIP and OSPF, the progdocs are complete.
2000-06-05 12:49:04 +00:00
Martin Mares 525fa2c1f0 Documented sockets, events and timers. 2000-06-05 12:19:12 +00:00
Martin Mares 10304bed43 Split random number functions off io.c, so that they can be documented
separately.
2000-06-05 11:46:40 +00:00
Martin Mares df49d4e14b Removed lots of trailing newlines in log messages.
Please note that the only calls which don't add newlines automatically
(i.e., don't print a full line of output) are debug() and DBG().
2000-06-04 19:56:06 +00:00
Martin Mares b594ad2386 tm_format_reltime() works with both past and future timestamps. 2000-06-01 15:13:23 +00:00
Martin Mares 4a91150175 Updated for new scope handling.
Also, provide proper address scopes in struct ifa.
2000-06-01 12:58:41 +00:00
Martin Mares 2f5e5ff9d6 Before configuration file is read, log to _both_ syslog and stderr. 2000-05-31 22:28:36 +00:00
Martin Mares fcb5f4a725 Updated all the Doc files to new format. 2000-05-31 11:30:18 +00:00
Martin Mares 4761efdb43 Tracing of CLI connections/commands can be now controlled
by `debug commands <level>' in the configuration. Level 0 means
no tracing, 1 means connections only, 2 includes all commands.
2000-05-29 22:10:18 +00:00
Martin Mares e67af42805 Support --version and --help. 2000-05-29 21:58:35 +00:00
Martin Mares f990fc61e0 When in persist mode, don't delete routes from kernel tables even if
they cease to exist in our routing tables due to protocols having shut down.
2000-05-16 13:36:38 +00:00
Martin Mares 02bd064ab7 Adapted to new rt_notify semantics. 2000-05-13 11:02:02 +00:00
Martin Mares 0e5aa966cc Multicast problems should be gone, although the fix is Linux only and we'll
need to figure out something better when working on new ports.
2000-05-11 16:30:56 +00:00
Martin Mares 109c2f6cf3 If a broadcast address is missing, go fake one. 2000-05-11 12:30:06 +00:00
Martin Mares 5ff0a270cb In non-debug mode, set default logging to syslog only, not stderr. 2000-05-08 22:31:58 +00:00
Martin Mares 4524331a3d Fixed type in daemonization code. 2000-05-08 22:31:34 +00:00
Martin Mares 0bcba21e89 When not debugging, daemonize automatically. 2000-05-08 19:10:36 +00:00
Martin Mares cd44b46651 Forgot to add a spiky comment :) 2000-05-08 14:24:19 +00:00
Martin Mares f9254d2349 Autoconf is *evil*. The sysconfdir and similar variables are unusable in
C includes as they contain substitutions specific to make.

Worked around by creating sysconf/paths.h which is created from
the Makefile instead of by the configure script.
2000-05-08 14:19:47 +00:00
Martin Mares 818ff1e2b7 When reporting a bug(), call abort() instead of exit(), so that we
can analyse the core.
2000-05-08 12:38:00 +00:00
Martin Mares c304392e65 Some less socket error messages. 2000-05-08 12:37:39 +00:00
Martin Mares 9cbf43eb8a Don't report refused connections. 2000-05-08 12:09:10 +00:00
Martin Mares b6c9d8eb2e Removed the `async' switch which was used for debugging only anyway.
Don't moan when netlink reports lost packets.
2000-05-08 12:05:55 +00:00
Martin Mares 94e935d8a2 Incoming buffer must be at least 8KB long. 2000-05-08 11:02:53 +00:00
Martin Mares 916c8c0aba Use preferences properly. 2000-05-08 10:40:00 +00:00
Martin Mares 1151401e2b Don't crash when reporting deleted routes.
Set preferences correctly.
2000-05-08 10:38:51 +00:00
Martin Mares 84f0700205 IPv6 support compiles on both glibc 2.0 and 2.1. 2000-05-06 21:46:09 +00:00
Martin Mares ab1129c1bd Added skeleton Doc files for the whole developer's documentation. 2000-05-05 17:17:42 +00:00
Martin Mares 9a220cabbc #ifdef out lots of debugging information.
The long resource/routing table dump printed upon startup is gone now
and if you wish to see it, just send bird SIGUSR1 or use the `debug'
commands.
2000-05-04 20:52:28 +00:00
Martin Mares 93a786cb03 Removed a lot of unused variables.
Please try compiling your code with --enable-warnings to see them. (The
unused parameter warnings are usually bogus, the unused variable ones
are very useful, but gcc is unable to control them separately.)
2000-05-04 20:30:36 +00:00
Martin Mares 2edb31b097 Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
C declarations etc.).
2000-04-28 15:11:10 +00:00
Martin Mares f75e3bbc01 Fixed a couple of nasty CLI bugs which were triggered on long or multi-part
outputs. It took a whole evening to hunt them down, but now the CLI seems
to work fine.

Now I run three BGP connections with several thousand routes!
2000-04-27 22:35:08 +00:00
Martin Mares e1ddd99377 Changed handling of incoming connections, so that we can send data
from the send hook without worrying about existence of socket buffers.

Also, don't forget to copy peer addresses.
2000-04-26 13:26:11 +00:00
Martin Mares 0cadd5f531 Removed several FIXME's. 2000-04-26 12:33:37 +00:00
Martin Mares 00c0c18aea Allow sk_close(NULL). 2000-04-25 23:07:47 +00:00
Martin Mares f380aa60fa IPv6 compiles with glibc 2.1. 2000-04-20 23:05:41 +00:00
Martin Mares f2cb1d708d Dropped CPU_NEEDS_ALIGN_* as unaligned.h no longer uses them. 2000-04-10 12:38:15 +00:00
Martin Mares 3991d84e8f Changed initialization of protocol list -- now we call proto_build() instead
of calling the protocols manually.

Implemented printing of dynamic attributes in `show route all'.

Each protocol can now register its own attribute class (protocol->attr_class,
set to EAP_xxx) and also a callback for naming and formatting of attributes.
The callback can return one of the following results:

	GA_UNKNOWN	Attribute not recognized.
	GA_NAME		Attribute name recognized and put to the buffer,
			generic code should format the value.
	GA_FULL		Both attribute name and value put to the buffer.

Please update protocols generating dynamic attributes to provide
the attr_class and formatting hook.
2000-04-01 10:19:47 +00:00
Martin Mares a37410cbdd Use bsprintf() instead of sprintf(). 2000-03-31 23:33:03 +00:00
Martin Mares 221135d6bf Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
Martin Mares 320f417357 Defined sk_close() which closes the socket safely even if called from
socket hook. Replaces the SK_DELETED hack.

Squashed a couple of bugs in handling of TCP sockets.
2000-03-30 10:43:37 +00:00
Martin Mares 1cf716f075 Handle EINPROGRESS properly.
Set IP_DONTROUTE sockopt only if sk->ttl == 1.
2000-03-20 21:49:21 +00:00
Martin Mares f098e072be Fixed a bunch of FIXME's by removing them :) 2000-03-12 22:53:05 +00:00
Martin Mares 7a88832e78 Added tm_format_datetime(). 2000-03-12 22:43:13 +00:00
Martin Mares a92bebe0ec Yet another LOCAL_DEBUG turned off. 2000-03-12 21:58:51 +00:00
Martin Mares 832fa033b7 Cleaned up debugging in kernel syncer. Netlink has still LOCAL_DEBUG
turned on, but after some testing I'll gag it.
2000-03-12 21:54:39 +00:00
Martin Mares 6b9fa32080 Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
several debug() calls converted to DBG().
2000-03-12 21:01:38 +00:00
Martin Mares c801e1fbab Renamed command shutdown' to down', so that `s' can be used as an
abbreviation for `show'.
2000-03-07 20:09:35 +00:00
Martin Mares b9626ec6ea Garbage collector events and counters are now per table and one day
they can be made configurable if it turns out to be useful.
2000-03-04 22:21:06 +00:00