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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Martin Mares 
							
						 
					 
					
						
						
							
						
						ec8b579e9c 
					 
					
						
						
							
							Recognize site scope for IPv4 addresses (prefixes reserved for private  
						
						 
						
						... 
						
						
						
						networks).
Removed old #ifndef logic which was used to avoid IPv4/IPv6 clashes
before conditionals in Modules lists were introduced. 
						
						
					 
					
						1999-04-27 16:03:17 +00:00