Commit graph

100 commits

Author SHA1 Message Date
Ondrej Filip 3df89cefc1 #define SIZE_OF_IP_HEADER 2000-06-07 01:18:36 +00:00
Martin Mares 525fa2c1f0 Documented sockets, events and timers. 2000-06-05 12:19:12 +00:00
Martin Mares 5cc1e1f805 Documented memory resources. 2000-06-05 11:41:41 +00:00
Martin Mares 7722938d63 Added library progdocs. 2000-06-04 18:34:39 +00:00
Martin Mares 38cf78a97a Added the introduction chapter of progdoc. 2000-05-31 13:30:58 +00:00
Martin Mares fcb5f4a725 Updated all the Doc files to new format. 2000-05-31 11:30:18 +00:00
Martin Mares cfa6ab0593 Added ipa_absolutize() which converts link-scope addresses to global scope
ones according to prefix assigned to the corresponding interface.
2000-05-30 22:47:33 +00:00
Martin Mares be77b6890c Poisoning: take there... 2000-05-16 15:02:33 +00:00
Martin Mares e2f4f27564 Oops, the poison was too deadly... 2000-05-16 13:53:44 +00:00
Martin Mares b8e60d3562 Added poisoning of free'd objects when we're debugging. 2000-05-16 13:51:31 +00:00
Martin Mares 758458be05 Unified parsing of prefixes.
Had to rename `prefix' in filters to `fprefix'.
2000-05-13 11:17:49 +00:00
Martin Mares c976342828 Implemented debugging function rlookup() which you can call from gdb
to see what resource does the address given as a parameter belong to.
2000-05-08 22:33:38 +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 2a149b18cc Unused variables in IPv6 code. 2000-05-04 20:38:44 +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 53943a0022 Defined format specifier %M' which behaves as %m', but takes the
error code as an argument.

Use it in socket hooks where we really shouldn't rely on errno containing
the right value or even existing.
2000-05-02 16:10:04 +00:00
Martin Mares 85a291ff30 IPv6 address classification fixes. 2000-05-02 15:21:51 +00:00
Martin Mares 8f6accb5bb Event handlers no longer return re-queue flag. Instead of using it, just
call ev_schedule() on the same handler which should work perfectly now.
2000-04-27 22:28:49 +00:00
Martin Mares 7750634946 Introduced `ARRAY_SIZE' macro to replace all the sizeof(a)/sizeof(*a) constructs. 2000-04-12 13:21:23 +00:00
Martin Mares ac4b4683ae Removal of useless includes continues... 2000-03-31 23:40:00 +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 3ee2310c5d Avoid conflicts with libraries defining their own xmalloc by defining
xmalloc to bird_xmalloc internally.
2000-03-29 22:57:46 +00:00
Martin Mares a8f944cb6e Wrote real version of unaligned data access functions (needed for BGP). 2000-03-21 15:51:30 +00:00
Martin Mares e68dd11c43 Use do { } while(0) instead of empty DBG if not debugging. 2000-03-12 21:47:25 +00:00
Martin Mares 3cbfcafecd DBG calls debug() if defined(LOCAL_DEBUG) || defined(GLOBAL_DEBUG). 2000-03-07 21:04:14 +00:00
Martin Mares 3549667925 Implemented real slab allocator. If you suspect it from being buggy,
just #define FAKE_SLAB at the top of lib/slab.c to bypass it.
2000-03-05 22:48:30 +00:00
Martin Mares 4ebbbd4079 Changed comments regarding hash function. 2000-03-01 12:15:20 +00:00
Martin Mares 14a6c2a705 IP_PREC_INTERNET_CONTROL for IPv6 (see the comment). 2000-03-01 12:03:43 +00:00
Martin Mares ebc793a5f5 No more problems when events get scheduled during event processing. 2000-01-16 17:39:16 +00:00
Martin Mares 12a9d139ee ipv6_compare() accepts non-lvalue arguments as well. This makes filters
compile with IPv6.
1999-12-16 13:13:22 +00:00
Martin Mares a0c37b45e5 Logging is now configurable. You can define multiple log outputs (to both
files and syslog) and assign lists of message categories to each of them.
1999-12-06 13:45:56 +00:00
Martin Mares ea32afb765 Added ip_scope_text() for translating of scopes to strings. 1999-11-25 15:34:20 +00:00
Martin Mares 84a7d7f77c ev_run() now returns whether the event has been requeued or not.
ev_run_list() now returns number of events which remain in the list.
1999-11-17 12:01:11 +00:00
Martin Mares b93abffae4 Implemented unix-domain sockets. 1999-10-29 12:09:29 +00:00
Martin Mares 0d70292d88 Events now return a value. If it's non-zero, the event is re-queued
for processing in next event cycle. This can be used to prevent background
actions (hint: user commands) from hogging the CPU for too long time.
1999-10-29 12:08:49 +00:00
Martin Mares 92af6f309b Simplify handling of free chunks. 1999-10-29 10:08:27 +00:00
Martin Mares 89dc383a8c Changed syntax of ip_class_mask, the old one was stupid. 1999-10-12 07:46:08 +00:00
Martin Mares 507cb9e58b Don't forget to free large blocks. 1999-10-02 10:55:19 +00:00
Martin Mares f651941402 Added a function for generating 32-bit random numbers. 1999-08-17 20:47:40 +00:00
Martin Mares 4f22c98185 Support for IPv6 sockets. How nice one doesn't have to ifdef around
ten years of API evolution :-)
1999-08-03 19:36:51 +00:00
Martin Mares dce267832a Basic support for IPv6. The system-dependent part doesn't work yet,
but the core routines are there and seem to be working.

   o  lib/ipv6.[ch] written
   o  Lexical analyser recognizes IPv6 addresses and when in IPv6
      mode, treats pure IPv4 addresses as router IDs.
   o  Router ID must be configured manually on IPv6 systems.
   o  Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts.
   o  Fixed few places where ipa_(hton|ntoh) was called as a function
      returning converted address.
1999-08-03 19:36:06 +00:00
Martin Mares b6628a8c98 Added macros for walking lists backwards. 1999-08-03 19:31:30 +00:00
Martin Mares 5e13ffe6f4 Faster checksum function. 1999-08-03 19:29:57 +00:00
Martin Mares 3e1f30610e Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocols
use it when creating sockets.
1999-06-01 13:57:24 +00:00
Martin Mares 139ca21d05 Added sk_send_buffer_empty(). 1999-05-31 13:21:07 +00:00
Ondrej Filip daeb60393d Small bug in ipv4_skip_header. 1999-05-24 17:37:45 +00:00
Martin Mares b23c5e0ff4 Added ip_skip_header() and modified OSPF to use it. 1999-05-14 18:03:09 +00:00
Martin Mares 1a54d44a23 Added packet checksumming code. Watch the comments for an explanation. 1999-05-10 21:37:39 +00:00