Diff for /embedaddon/strongswan/src/libcharon/sa/task_manager.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2020/06/03 09:46:45 version 1.1.1.2, 2021/03/17 00:20:09
Line 25 Line 25
 u_int task_manager_total_retransmit_timeout()  u_int task_manager_total_retransmit_timeout()
 {  {
         double timeout, base, limit = 0, total = 0;          double timeout, base, limit = 0, total = 0;
        int tries, i;        int tries, max_tries = 0, i;
   
         tries = lib->settings->get_int(lib->settings, "%s.retransmit_tries",          tries = lib->settings->get_int(lib->settings, "%s.retransmit_tries",
                                                                    RETRANSMIT_TRIES, lib->ns);                                                                     RETRANSMIT_TRIES, lib->ns);
Line 36  u_int task_manager_total_retransmit_timeout() Line 36  u_int task_manager_total_retransmit_timeout()
         limit = lib->settings->get_double(lib->settings, "%s.retransmit_limit",          limit = lib->settings->get_double(lib->settings, "%s.retransmit_limit",
                                                                           0, lib->ns);                                                                            0, lib->ns);
   
           if (base > 1)
           {
                   max_tries = log(UINT32_MAX/(1000.0 * timeout))/log(base);
           }
   
         for (i = 0; i <= tries; i++)          for (i = 0; i <= tries; i++)
         {          {
                double interval = timeout * pow(base, i);                double interval = UINT32_MAX/1000.0;
                 if (max_tries && i <= max_tries)
                 {
                         interval = timeout * pow(base, i);
                 }
                 if (limit)                  if (limit)
                 {                  {
                         interval = min(interval, limit);                          interval = min(interval, limit);

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>