1. 23 Jun, 2020 1 commit
  2. 22 Jun, 2020 2 commits
    • Sergio Gelato's avatar
      ITS#8204 Improved RFC2782 shuffle when several, but not all, records have weight 0. · 8006ee58
      Sergio Gelato authored and Quanah Gibson-Mount's avatar Quanah Gibson-Mount committed
      The fallback to a straight Fisher-Yates shuffle needs to occur whenever the
      sum of the *remaining* weights is zero, or else the remaining records will
      not be reordered. Testing only once at the beginning covers the case when
      all weights are zero, and obviously no shuffling is needed when only one
      weight is zero; but other weight combinations are possible, such as (1, 0, 0).
      8006ee58
    • Sergio Gelato's avatar
      ITS#8204 Remove bias towards the first record in RFC2782 shuffle implementation. · ee7502ac
      Sergio Gelato authored and Quanah Gibson-Mount's avatar Quanah Gibson-Mount committed
      Prior to this change, given two records of weight 1 the algorithm would
      return them in the order (0,1) with 100% probability instead of the
      desired 50%. This was due to an off-by-one error in the range test.
      
      srv_rand() returns a float in the range [0.0, 1.0[, so r is an integer in the
      range [0, total[. The correct probability for record 0 to be chosen is
      a[0].weight/total, not (a[0].weight+1)/total.
      ee7502ac
  3. 26 May, 2020 1 commit
  4. 14 May, 2020 1 commit
  5. 27 Apr, 2020 4 commits
  6. 25 Apr, 2020 1 commit
  7. 23 Apr, 2020 2 commits
  8. 20 Apr, 2020 2 commits
  9. 15 Apr, 2020 1 commit
  10. 13 Apr, 2020 1 commit
  11. 12 Apr, 2020 1 commit
  12. 10 Apr, 2020 1 commit
  13. 02 Apr, 2020 1 commit
  14. 21 Feb, 2020 1 commit
  15. 07 Feb, 2020 1 commit
  16. 28 Jan, 2020 1 commit
  17. 23 Jan, 2020 1 commit
  18. 11 Jan, 2020 1 commit
  19. 09 Jan, 2020 1 commit
  20. 23 Sep, 2019 1 commit
  21. 12 Sep, 2019 1 commit
    • Ryan Tandy's avatar
      ITS#9069 Do not call gnutls_global_set_mutex() · 63c82c0e
      Ryan Tandy authored
      Since GnuTLS moved to implicit initialization on library load, calling
      this function deinitializes GnuTLS and then re-initializes it.
      
      When GnuTLS uses /dev/urandom as an entropy source (getrandom() not
      available, or older versions of GnuTLS), and the application closed all
      file descriptors at startup, this could result in GnuTLS opening
      /dev/urandom over one of the application's file descriptors when
      re-initialized.
      
      Additionally, the custom mutex functions are never reset, so if libldap
      is unloaded (for example via dlclose()) after calling this, its code may
      be unmapped and the application could crash when GnuTLS calls the mutex
      functions.
      
      On typical systems, GnuTLS system mutexes are probably the same as what
      libldap uses anyway.
      63c82c0e
  22. 23 Jul, 2019 1 commit
  23. 19 Jul, 2019 1 commit
  24. 27 Jun, 2019 1 commit
  25. 25 Jun, 2019 1 commit
  26. 21 Jun, 2019 1 commit
  27. 20 Jun, 2019 1 commit
  28. 17 Jun, 2019 1 commit
  29. 13 Jun, 2019 1 commit
  30. 12 Jun, 2019 3 commits
  31. 11 Jun, 2019 1 commit
  32. 13 May, 2019 1 commit