mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-14 15:34:35 +00:00
bd57a9f977
When we were generating a hash, it was done using an unsigned long. When the hash was used to select a backend, it was sent as an unsigned int. This made it difficult to predict which backend would be selected. This patch updates get_hash, and the hash methods to use an unsigned int, to remain consistent throughout the codebase. This fix should be backported to 1.5 and probably in part to 1.4.
30 lines
1.0 KiB
C
30 lines
1.0 KiB
C
/*
|
|
* include/common/hash.h
|
|
* Macros for different hashing function.
|
|
*
|
|
* Copyright (C) 2000-2011 Willy Tarreau - w@1wt.eu
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation, version 2.1
|
|
* exclusively.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef _COMMON_HASH_H_
|
|
#define _COMMON_HASH_H_
|
|
|
|
unsigned int hash_djb2(const char *key, int len);
|
|
unsigned int hash_wt6(const char *key, int len);
|
|
unsigned int hash_sdbm(const char *key, int len);
|
|
|
|
#endif /* _COMMON_HASH_H_ */
|