1. 25 Jun, 2013 2 commits
    • Daniel Stenberg's avatar
      formpost: better random boundaries · 365c5ba3
      Daniel Stenberg authored
      When doing multi-part formposts, libcurl used a pseudo-random value that
      was seeded with time(). This turns out to be bad for users who formpost
      data that is provided with users who then can guess how the boundary
      string will look like and then they can forge a different formpost part
      and trick the receiver.
      
      My advice to such implementors is (still even after this change) to not
      rely on the boundary strings being cryptographically strong. Fix your
      code and logic to not depend on them that much!
      
      I moved the Curl_rand() function into the sslgen.c source file now to be
      able to take advantage of the SSL library's random function if it
      provides one. If not, try to use the RANDOM_FILE for seeding and as a
      last resort keep the old logic, just modified to also add microseconds
      which makes it harder to properly guess the exact seed.
      
      The formboundary() function in formdata.c is now using 64 bit entropy
      for the boundary and therefore the string of dashes was reduced by 4
      letters and there are 16 hex digits following it. The total length is
      thus still the same.
      
      Bug: http://curl.haxx.se/bug/view.cgi?id=1251
      Reported-by: "Floris"
      365c5ba3
    • Daniel Stenberg's avatar
      printf: make sure %x are treated unsigned · cb1aa8b0
      Daniel Stenberg authored
      When using %x, the number must be treated as unsigned as otherwise it
      would get sign-extended on for example 64bit machines and do wrong
      output. This problem showed when doing printf("%08x", 0xffeeddcc) on a
      64bit host.
      cb1aa8b0
  2. 24 Jun, 2013 2 commits
  3. 23 Jun, 2013 3 commits
  4. 22 Jun, 2013 15 commits
  5. 20 Jun, 2013 3 commits
  6. 18 Jun, 2013 1 commit
  7. 17 Jun, 2013 2 commits
  8. 15 Jun, 2013 1 commit
  9. 14 Jun, 2013 1 commit
  10. 13 Jun, 2013 3 commits
  11. 12 Jun, 2013 4 commits
  12. 10 Jun, 2013 3 commits