linux/net/dccp
Gerrit Renker 8d0086adac [DCCP] tfrc: Add protection against invalid parameters to TFRC routines
1) For the forward X_calc lookup, it
    * protects effectively against RTT=0 (this case is possible), by
      returning the maximal lookup value instead of just setting it to 1
    * reformulates the array-bounds exceeded condition: this only happens
      if p is greater than 1E6 (due to the scaling)
    * the case of negative indices can now with certainty be excluded,
      since documentation shows that the formulas are within bounds
    * additional protection against p = 0 (would give divide-by-zero)

 2) For the reverse lookup, it warns against
    * protects against exceeding array bounds
    * now returns 0 if f(p) = 0, due to function definition
    * warns about minimal resolution error and returns the smallest table
      value instead of p=0 [this would mask congestion conditions]

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
2006-12-03 14:52:26 -02:00
..
ccids [DCCP] tfrc: Add protection against invalid parameters to TFRC routines 2006-12-03 14:52:26 -02:00
ackvec.c [DCCP] ackvec: Split long ack vectors across multiple options 2006-12-02 21:30:33 -08:00
ackvec.h [DCCP] ackvec: infrastructure for sending more than one ackvec per packet 2006-12-02 21:30:32 -08:00
ccid.c [DCCP] CCID: Improve CCID infrastructure 2006-03-20 19:21:44 -08:00
ccid.h [DCCP]: Use `unsigned' for packet lengths 2006-12-02 21:31:02 -08:00
dccp.h [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
diag.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
feat.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
feat.h [DCCP]: Make feature negotiation more readable 2006-12-02 21:22:29 -08:00
input.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
ipv4.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
ipv6.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
ipv6.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig [DCCP]: enable debug messages also for static builds 2006-12-02 21:24:35 -08:00
Makefile [DCCPv6]: Resolve conditional build problem 2006-12-02 21:22:28 -08:00
minisocks.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
options.c [DCCP] ackvec: infrastructure for sending more than one ackvec per packet 2006-12-02 21:30:32 -08:00
output.c [DCCP]: Use `unsigned' for packet lengths 2006-12-02 21:31:02 -08:00
probe.c [DCCP]: Make dccp_probe more portable 2006-12-02 21:24:39 -08:00
proto.c [DCCP]: Make {set,get}sockopt(DCCP_SOCKOPT_PACKET_SIZE) return 0 2006-12-02 21:31:00 -08:00
sysctl.c [DCCP]: Remove allocation of sysctl numbers 2006-12-02 21:30:56 -08:00
timer.c [DCCP]: Remove forward declarations in timer.c 2006-12-02 21:22:20 -08:00