Commit Graph

4668 Commits

Author SHA1 Message Date
20f20b832a Cast to right type in dictNext().
This closes issue #1929, the other part was fixed in the context of issue
2014-08-26 10:41:03 +02:00
723a090861 Use long for rehash and iterator index in dict.h.
This allows to support datasets with more than 2 billion of keys
(possible in very large memory instances, this bug was actually
reported).

Closes issue #1814.
2014-08-26 10:41:03 +02:00
dfa7ff1c4c Missing va_end also added in hiredis copy of sds.c. 2014-08-26 10:41:03 +02:00
d15c6e5e33 Missing assert removal from sdsIncrLen()
Companion for 8eeb1802ec, but dealing with hiredis.
2014-08-26 10:41:03 +02:00
85b20f1f70 Use modern typedef form in cluster.h. 2014-08-26 10:41:03 +02:00
6f98a9cd2c No longer useful assert removed from sdsIncrLen(). 2014-08-26 10:41:03 +02:00
660a2f87a1 Fix redis-benchmark abort output 2014-08-26 10:41:03 +02:00
601e06da8a Deny CLIENT command in scripts
We don't want scripts doing CLIENT SETNAME
or CLIENT KILL or CLIENT LIST or CLIENT PAUSE.

Originally reported by Chris Wj then proper
action inspired by Itamar Haber.

Reference: https://groups.google.com/forum/#!topic/redis-db/09B2EYwyVgk
2014-08-26 10:41:03 +02:00
01e0112def redis-benchmark: Remove unused buffer
This just deletes old code that didn't get removed when
logic changed.  We were setting offsets that never
got read anywhere.

Since clients are now just cloned, we don't need to track
per-client buffer offsets anywhere because they are all
the same from the original client.
2014-08-26 10:41:03 +02:00
75ce984723 redis-benchmark: add auth option
Closes #1097
2014-08-26 10:41:03 +02:00
29af582617 Rename two 'buf' vars to 'ip' for better clarity
Clearly ip[32] is wrong, but it's less clear that buf[32] was wrong
without further reading.
2014-08-26 10:41:03 +02:00
4e062ec82e Sentinel: fix bufsize to support IPv6 address
Closes #1914
2014-08-26 10:41:03 +02:00
ef2cb6c722 Use correct github url to find commands.json
Once this is merged:
  - merge the latest changes to commands.json in antirez/redis-doc
  - re-run: utils/generate-command-help.rb > src/help.h

Then we'll have nice and easy tab-completed help in redis-cli again.

Closes #1909
2014-08-26 10:41:03 +02:00
4f29e859cf Stop tests from leaving a black background
Uses ANSI "default background" color code after closing tests
so any non-black terminals don't remain polluted.

Fixes #1649
Closes #1912
2014-08-26 10:41:03 +02:00
21fb95b91e Sentinel: Reject config from STDIN
Sentinel needs to die with a more accurate error message
when attempted to open a config from STDIN.

See: https://groups.google.com/forum/#!topic/redis-db/sYx7VNMWaNM
2014-08-26 10:41:03 +02:00
3e22384193 Cluster: Fix segfault if cluster config corrupt
This commit adds a size check after initial config
line parsing to make sure we have *at least* 8 arguments
per line.

Also, instead of asserting for cluster->myself, we just test
and error out normally (since the error does a hard exit anyway).

Closes #1597
2014-08-26 10:41:03 +02:00
29ff27d430 Fix memory leak in cluster config parsing
The continue stop us from triggering the
free after the long line for loop, so add it
earlier.
2014-08-26 10:41:03 +02:00
7df0636514 Remove unused global variable
It has an important name, but nothing uses it...
2014-08-26 10:41:03 +02:00
d1e91c3fcc Fix invalid expire error for SET family commands. 2014-08-26 10:41:03 +02:00
9d046af1e5 Remove unused function
Closes #878
2014-08-26 10:41:03 +02:00
55672e06fd Extend range of bytesToHuman to TB and PB
Also adds a fallthrough case for when given
large values (like overflow numbers of 2^64 by mistake).

Closes #858
2014-08-26 10:41:03 +02:00
512cc03b55 Add error check for writing RDB checksum
Closes #857
2014-08-26 10:41:03 +02:00
9da7141dc6 redis-cli: fix prompt after shutdown command
Fix redis-cli prompt to state "not connected" after a SHUTDOWN command
is sent.
2014-08-26 10:41:02 +02:00
b88fe07bc0 Clarify argument to dict macro
d is more clear because the type of argument is dict not dictht

Closes #513
2014-08-26 10:41:02 +02:00
d409b5acd3 Clarify existing slot wording on cluster start 2014-08-26 10:41:02 +02:00
125ac18944 Fix undefined behavior in ll2string().
The bug was found by @CAFxX, thanks!
See issue #1940.
2014-08-26 10:41:02 +02:00
d34fade2da Remove warnings and improve integer sign correctness. 2014-08-26 10:41:02 +02:00
5d6c0b1be3 Add -W to compilation flags. 2014-08-26 10:41:02 +02:00
3566020acf Use unsigned integers in SDS header.
This raises the max string to 4GB without any downside.
2014-08-26 10:41:02 +02:00
327831e59e va_copy must be matched by va_end
Hat tip to @rfuchs. See: https://github.com/redis/hiredis/pull/178.

Fixes #1187
2014-08-26 10:41:02 +02:00
748a36cf04 Remove duplicate prototypes in redis.h
Also moves acceptHandler() to be near the other accept...() functions.

Closes #1105
2014-08-26 10:41:02 +02:00
f5e8d29990 Use resolv library in Solaris
For some Solaris flavours, the inet_aton in in resolv library.
Not linking this library will introduce link error.

Improves compatability with older Solaris and still
works on new Solaris.

Closes #1092
2014-08-26 10:41:02 +02:00
3e6578e32f Define AR to help with lua cross-compilation
Closes #997
2014-08-26 10:41:02 +02:00
990ec8dfc1 representRedisNodeFlags() moved into right code section.
The funciton was also modified in order to be more standalone and
produce an output without trailing spaces, making the reuse simpler.
The global variable was renamed in cammel case as most other Redis
globals, except the main ones we refer too many times, like 'server'.
2014-08-26 10:41:02 +02:00
2c2204e050 Refactor cluster flag printing
Less copy/paste code duplication.

Closes #952
2014-08-26 10:41:02 +02:00
4b6e73a75c Cleanup double semicolons
Closes #1161
2014-08-26 10:41:02 +02:00
987127c6e7 Free memory in clusterLoadConfig error handler
Closes #1327
2014-08-26 10:41:02 +02:00
194b0525da redis-check-dump: Prevent segfault if can't malloc
Found by The Mayhem Team (Alexandre Rebert, Thanassis Avgerinos,
Sang Kil Cha, David Brumley, Manuel Egele) Cylab, Carnegie Mellon
University. See http://bugs.debian.org/716259 for more.

Signed-off-by: Chris Lamb <lamby@debian.org>

Fixes #1191
2014-08-26 10:41:02 +02:00
74cde68c25 Remove unused LINE_BUFLEN definition
Closes #1129
2014-08-26 10:41:02 +02:00
17438f7cf4 Reject MOVE to non-integer DBs
Previously, "MOVE key somestring" would move the key to
DB 0 which is just unexpected and wrong.
String as DB == error.

Test added too.

Modified by @antirez in order to use the getLongLongFromObject() API
instead of strtol().

Fixes #1428
2014-08-26 10:41:02 +02:00
961e5e201f pubsub: Return integers for NUMSUB, not strings
Also adds test for numsub — due to tcl being tcl,
it doesn't capture the "numberness" of the fix,
but now we at least have one test case for numsub.

Closes #1561
2014-08-26 10:41:02 +02:00
b1a6a58942 Avoid unnecessary decoding in ziplist.c
Closes #1519
2014-08-26 10:41:02 +02:00
61ce627f3c Improve accuracy of HAVE_ATOMIC dependency check
[I had to split out the clang check due to
 clang *really* not liking the __GLIBC_PREREQ macro; -matt]

Closes #1456
2014-08-26 10:41:02 +02:00
6ef09f6aea Remove redundant event loop fd processing
Reason:
https://github.com/antirez/redis/pull/1450#issuecomment-30432925

Closes #1450
2014-08-26 10:41:02 +02:00
5f7866dcce memtest: Add missing free()
Closes #1614
2014-08-26 10:41:02 +02:00
e7e8382597 src/Makefile: Reword "to run make test" message
Closes #1610
2014-08-26 10:41:02 +02:00
d1bf997d1c Use 'void' for zero-argument functions
According to the C standard,
it is desirable to give the type 'void'
to functions have no argument.

Closes #1631
2014-08-26 10:41:02 +02:00
0f732b96f7 Fix assert technical correctness
dictAdd returns DICT_OK, not REDIS_OK. They both
have the same underlying values, so it works even though
the code is technically wrong.

Fixes #1512
2014-08-26 10:41:02 +02:00
71955c513a install_server.sh: add missing bang
This was discovered by _bodya and reported in the IRC channel.
Everything worked fine as these scripts are always executed as shell
scripts.

Closes #1728
2014-08-26 10:41:02 +02:00
b6b6bcbe70 Change unixsocketperm comment to 700 from 755
According to unix manuals, "Connecting to the socket object requires
read/write permission." -- mode 755 is useless for anybody
other than the owner.

Fixes #1696
2014-08-26 10:41:02 +02:00