3953 Commits

Author SHA1 Message Date
Matt Stancliff
ac48aada30 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-27 10:31:20 +02:00
Matt Stancliff
abe29c83e6 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-27 10:30:49 +02:00
CharSyam
8fcce90b25 redis-benchmark: add auth option
Closes #1097
2014-08-27 10:30:49 +02:00
Matt Stancliff
4ac8472cac 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-27 10:30:42 +02:00
Eiichi Sato
f7b5e2d11e Sentinel: fix bufsize to support IPv6 address
Closes #1914
2014-08-27 10:30:37 +02:00
Jan-Erik Rediger
32a94beca4 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-27 10:30:34 +02:00
Mariano Pérez Rodríguez
f862e5ddfa 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-27 10:30:29 +02:00
Matt Stancliff
32168a5e8a 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-27 10:30:26 +02:00
Matt Stancliff
4bf7c5d0f8 Remove unused global variable
It has an important name, but nothing uses it...
2014-08-27 10:30:22 +02:00
antirez
33b37b1400 Fix invalid expire error for SET family commands. 2014-08-27 10:30:19 +02:00
Cong Ding
ae2cd2e16f Remove unused function
Closes #878
2014-08-27 10:30:11 +02:00
David Palm
8c0743d80e 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-27 10:30:08 +02:00
yoav
ef12b4c3eb Add error check for writing RDB checksum
Closes #857
2014-08-27 10:30:04 +02:00
Dov Murik
1580a378b8 redis-cli: fix prompt after shutdown command
Fix redis-cli prompt to state "not connected" after a SHUTDOWN command
is sent.
2014-08-27 10:30:01 +02:00
xiaoyu
467848460a Clarify argument to dict macro
d is more clear because the type of argument is dict not dictht

Closes #513
2014-08-27 10:29:57 +02:00
antirez
5e707c66dd Fix undefined behavior in ll2string().
The bug was found by @CAFxX, thanks!
See issue #1940.
2014-08-27 10:29:53 +02:00
antirez
65d47452f8 Remove warnings and improve integer sign correctness. 2014-08-27 10:29:26 +02:00
antirez
09757420a4 Add -W to compilation flags. 2014-08-27 10:25:57 +02:00
antirez
134345e332 Use unsigned integers in SDS header.
This raises the max string to 4GB without any downside.
2014-08-27 10:25:54 +02:00
Pieter Noordhuis
f89a7bbe11 va_copy must be matched by va_end
Hat tip to @rfuchs. See: https://github.com/redis/hiredis/pull/178.

Fixes #1187
2014-08-27 10:25:44 +02:00
charsyam
dbcf381099 Remove duplicate prototypes in redis.h
Also moves acceptHandler() to be near the other accept...() functions.

Closes #1105
2014-08-27 10:25:40 +02:00
NanXiao
6bc74b4393 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-27 10:25:37 +02:00
Daniel Price
1aff711d90 Define AR to help with lua cross-compilation
Closes #997
2014-08-27 10:25:34 +02:00
Matt Stancliff
866f6bcc80 Cleanup double semicolons
Closes #1161
2014-08-27 10:25:31 +02:00
Chris Lamb
29ed617ac4 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-27 10:25:28 +02:00
charsyam
a43e45e391 Remove unused LINE_BUFLEN definition
Closes #1129
2014-08-27 10:25:25 +02:00
Matt Stancliff
25a4699a9e 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-27 10:25:22 +02:00
Matt Stancliff
09a3976478 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-27 10:25:15 +02:00
Xiaojie Zhang
60c748628b Avoid unnecessary decoding in ziplist.c
Closes #1519
2014-08-27 10:25:12 +02:00
Samuel Chou
96614f5866 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-27 10:25:07 +02:00
Jim Howard
d1df50ad59 Remove redundant event loop fd processing
Reason:
https://github.com/antirez/redis/pull/1450#issuecomment-30432925

Closes #1450
2014-08-27 10:25:04 +02:00
Xian Li
282c6106ce memtest: Add missing free()
Closes #1614
2014-08-27 10:25:00 +02:00
Joshua Anderson
25b5abe8cf src/Makefile: Reword "to run make test" message
Closes #1610
2014-08-27 10:24:56 +02:00
cubicdaiya
a7c46df612 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-27 10:24:52 +02:00
Matt Stancliff
8dbd0134e5 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-27 10:24:46 +02:00
Jan-Erik Rediger
0c8999dfeb 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-27 10:24:42 +02:00
Edgars Irmejs
0f9ab49d58 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-27 10:24:39 +02:00
ripcurld00d
4be50f7fbb redis-check-dump: use names instead of magic nums
Use constants to avoid magic numbers in `types`, which is an array
that stores the names of `REDIS` types.

Closes #1681
2014-08-27 10:24:36 +02:00
Kashif Rasul
8fc2247c9b Fix issues raised by clang analyzer
Modified by @antirez since the original fix to genInfoString() looked
weak. Probably the clang analyzer complained about `section` being
possibly NULL, and strcasecmp() called with a NULL pointer. In the
practice this can never happen, still for the sake of correctness
the right fix is not to modify only the first call, but to set `section`
to the value of "default" if it happens to be NULL.

Closes #1660
2014-08-27 10:24:33 +02:00
antirez
ebd25710dd Force quit when receiving a second SIGINT.
Also quit ASAP when we are still loading a DB, since care is not needed
in this special condition, especially for a SIGINT.
2014-08-27 10:24:29 +02:00
Matt Stancliff
524b2626f7 Add graceful exit when Ctrl-C is received 2014-08-27 10:24:26 +02:00
Matt Stancliff
78bde472c0 Fix intset midpoint selection
The classic (min+max)/2 is provably unsafe.  Fixed
as recommended in research:
http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html

Fix inspired by @wjin, but I used a different approach.
(later, I found @kuebler fixed the same issue too).

Fixes #1741, #1602
2014-08-27 10:24:22 +02:00
Jan-Erik Rediger
07b2779bff Handle large getrange requests
Previously the end was casted to a smaller type
which resulted in a wrong check and failed
with values larger than handled by unsigned.

Closes #1847, #1844
2014-08-27 10:24:19 +02:00
Matt Stancliff
4024220fe6 scripting: no eval with negative key count
Negative key count causes segfault in Lua functions.

Fixes #1842
Closes #1843
2014-08-27 10:24:15 +02:00
Jan-Erik Rediger
50669f7b66 redis-cli: fix latency result output
(Cleaned up a little by @mattsta)

Closes #1774
2014-08-27 10:24:11 +02:00
Wei Jin
9b53f79e00 Remove redundant else/return block
Fixes #1741
2014-08-27 10:24:08 +02:00
antirez
9840df7bad Clarify AIX "#undef hz". 2014-08-27 10:22:59 +02:00
siahl
b5dc2c5b91 Add support for compiling on AIX
Closes #1900
2014-08-27 10:22:28 +02:00
Matt Stancliff
cbd1607c6a redis-cli: Add --no-raw option
Some people need formatted output even when they have no
interactive tty.

Fixes #760
2014-08-27 10:21:19 +02:00
Matt Stancliff
9a039f76c2 redis-cli: stop showing incorrectly selected DB
Previously redis-cli would happily show "-1" or "99999"
as valid DB choices.

Now, if the SELECT call returned an error, we don't update
the DB number in the CLI.

Inspired by @anupshendkar in #1313

Fixes #566, #1313
2014-08-27 10:21:19 +02:00