Skip to content
  • Thomas Haller's avatar
    all: use siphash24 for hashing · ee76b097
    Thomas Haller authored
    siphash24() is wildly used by projects nowadays.
    
    It's certainly slower then our djb hashing that we used before.
    But quite likely it's fast enough for us, given how wildly it is
    used. I think it would be hard to profile NetworkManager to show
    that the performance of hash tables is the issue, be it with
    djb or siphash24.
    
    Certainly with siphash24() it's much harder to exploit the hashing
    algorithm to cause worst case hash operations (provided that the
    seed is kept private). Does this better resistance against a denial
    of service matter for us? Probably not, but let's better be safe then
    sorry.
    
    Note that systemd's implementation uses a different seed for each hash
    table (at least, after the hash table grows to a certain size).
    We don't do that and use only one global seed.
    ee76b097