tree 23469b8e96e02bd06aa8f9c7b46d67215aaf46d7
parent f8ac329cc9a8822273aefc6686d58cae07e8a8f9
author Stephen Frost <sfrost@snowman.net> 1046676267 +0000
committer Harald Welte <laforge@gnumonks.org> 1046676267 +0000

'recent' match update by Stephen Frost:
- Moved RECENT_NAME/RECENT_VER #define's to ipt_recent.h
- Added #define for IPT_RECENT_NAME_LEN instead of using constants directly
- Changed default packet count list length to 20 instead of 10
- Added option to define permissions for proc files created under
  /proc/net/ipt_recent
- Changed printfs to be unsigned for unsigned variables
- Added explicit NULL termination for table name
- Fixed TTL checking to deal with TTL decrementing in routing logic, should
  work across chains now.
- Side to check/set against is no longer per-table but per-rule, default src
- Created unsigned time_temp for time caluclations instead of using signed
  temp variables
- Fixed spinlock handling in checkentry to not vmalloc while holding a
  spinlock.
- Cleaned up memory free'ing routines to correctly free all memory on failure
- Fixed spinlock handling in destroy to not free while holding spinlock
- Added sanity check to hash table size, if an invalid size is given the
  default will be used instead and a warning generated.
- Fixed save() function in libipt_recent.c
- Cleaned up and shortened recent.patch.help
