306 Commits

Author SHA1 Message Date
antirez
f1e7266c85 ACL: remove no longer existing flag from comment. 2019-01-22 17:57:20 +01:00
antirez
91a4de033a ACL: populate command table with new flags. 2019-01-22 17:57:20 +01:00
antirez
4ea77e957d ACL: review of Redis command table and new flags format.
However the code is yet not able to parse the new flags format.
2019-01-22 17:57:20 +01:00
antirez
b2d5ed373a ACL: specify better the command denied error. 2019-01-22 17:57:20 +01:00
antirez
23abe9612a Refactoring: always kill AOF/RDB child via helper functions. 2019-01-21 11:28:44 +01:00
antirez
4261b70f8d ACL: remove server.requirepass + some refactoring. 2019-01-18 11:49:30 +01:00
antirez
7e73a1fbf3 ACL: AUTH + no default user password raises an error.
This way the behavior is very similar to the past one.
This is useful in order to remember the user she probably failed to
configure a password correctly.
2019-01-17 18:30:23 +01:00
antirez
a7ea1e7a2f ACL: change requirepass stop condition to use ACLs. 2019-01-17 18:22:22 +01:00
antirez
dabd1e3bbb ACL: fix and improve ACL key checking. 2019-01-16 18:31:05 +01:00
antirez
2906e9c196 ACL: fix command exec check by returning. 2019-01-15 18:28:43 +01:00
antirez
57fa4a2f01 ACL: AUTH command new form, using the ACL subsystem. 2019-01-15 13:45:16 +01:00
antirez
4d8991fdf4 ACL: initial implementation of the ACL command. 2019-01-15 09:36:12 +01:00
antirez
53053f5f30 ACL: Fix compilation by adding prototype and c->cmd fix. 2019-01-14 13:22:56 +01:00
antirez
b9e5d4f575 ACL: Add hook in processCommand() to check the ACLs before call(). 2019-01-14 13:20:45 +01:00
antirez
4890c2f5e9 ACL: modify comment from PR. 2019-01-11 11:30:09 +01:00
charsyam
e1ff6ef8e7 fix segmentfault when server start 2019-01-11 19:12:06 +09:00
antirez
e75a2b8500 ACL: initialization function. 2019-01-10 16:39:32 +01:00
antirez
cc5222bd7a ACL: use a fixed table for command IDs. 2019-01-09 21:31:29 +01:00
antirez
647a157eac ACL: set the command ID while populating the commands table. 2019-01-09 17:23:23 +01:00
antirez
a571c99587 ACL: introduce the concept of command ID. 2019-01-09 17:20:47 +01:00
antirez
50927b298e ACL: fix ACLCheckUserCredentials() usage in AUTH. 2019-01-09 17:09:30 +01:00
antirez
106977aaf9 ACL: refactoring of the original authentication code. 2019-01-09 17:00:30 +01:00
antirez
79c3d1355d RESP3: allow HELLO during busy script and not authenticated states. 2019-01-09 17:00:30 +01:00
antirez
26007b980a RESP3: Allow any command in RESP3 Pub/Sub mode. 2019-01-09 17:00:30 +01:00
antirez
736d38cf88 RESP3: PING should reply normally in RESP3 Pub/Sub mode.
Because in RESP3 commands can be sent in the Pub/Sub connection without
problems, so it's better if in such mode there is no exception about
PING.
2019-01-09 17:00:30 +01:00
antirez
75a6d12dd0 RESP3: initial implementation of the HELLO command. 2019-01-09 17:00:29 +01:00
antirez
d266105a45 RESP3: add shared.nullarray for better RESP2 compat. 2019-01-09 17:00:29 +01:00
antirez
7872d57d27 RESP3: most null replies converted. 2019-01-09 17:00:29 +01:00
antirez
8413c6f107 RESP3: addReplyNull() added. 2019-01-09 17:00:29 +01:00
antirez
a039a1bc3c RESP3: remove other pointless shared object. 2019-01-09 17:00:29 +01:00
antirez
ee2564e90e RESP3: remove certain constants to spot places to fix. 2019-01-09 17:00:29 +01:00
antirez
33374b02bf RESP3: Use new deferred len API in server.c. 2019-01-09 17:00:29 +01:00
antirez
b166aff1bf freeMemoryIfNeeded() small refactoring.
Related to issue #5686 and PR #5689.
2018-12-12 11:37:15 +01:00
Salvatore Sanfilippo
d21f7e44ea Merge pull request #5633 from oranagra/frag_bytes_signed
fix #5580, display fragmentation and rss overhead bytes as signed
2018-12-07 17:09:10 +01:00
antirez
50c8580a33 Remove no longer relevant comment in processCommand(). 2018-12-07 17:06:55 +01:00
Oran Agra
1dbdef57cd fix #5580, display fragmentation and rss overhead bytes as signed
these metrics become negative when RSS is smaller than the used_memory.
This can easily happen when the program allocated a lot of memory and haven't
written to it yet, in which case the kernel doesn't allocate any pages to the process
2018-12-02 15:29:20 +02:00
Salvatore Sanfilippo
307ef33b65 Merge pull request #5597 from lamby/clarify-socket-creation-error-message
Clarify the "Creating Server TCP listening socket" error message
2018-11-28 17:06:51 +01:00
Chris Lamb
99c2604541 Don't treat unsupported protocols as fatal errors
If we encounter an unsupported protocol in the "bind" list, don't
ipso-facto consider it a fatal error. We continue to abort startup if
there are no listening sockets at all.

This ensures that the lack of IPv6 support does not prevent Redis from
starting on Debian where we try to bind to the ::1 interface by default
(via "bind 127.0.0.1 ::1"). A machine with IPv6 disabled (such as some
container systems) would simply fail to start Redis after the initiall
call to apt(8).

This is similar to the case for where "bind" is not specified:

  https://github.com/antirez/redis/issues/3894

... and was based on the corresponding PR:

  https://github.com/antirez/redis/pull/4108

... but also adds EADDRNOTAVAIL to the list of errors to catch which I
believe is missing from there.

This issue was raised in Debian as both <https://bugs.debian.org/900284>
& <https://bugs.debian.org/914354>.
2018-11-23 18:01:12 +01:00
Chris Lamb
be459c7e26 Clarify the "Creating Server TCP listening socket" error.
This really helps spot it in the logs, otherwise it does not look like a
warning/error. For example:

  Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address

... is not nearly as clear as:

  Could not create server TCP listening listening socket ::1:6379: bind: Cannot assign requested address
2018-11-23 17:57:01 +01:00
valentino
dcc2c9babe fix short period of server.hz being uninitialized
server.hz was uninitialized between initServerConfig and initServer.
this can lead to someone (e.g. queued modules) doing createObject,
and accessing an uninitialized variable, that can potentially be 0,
and lead to a crash.
2018-11-05 12:01:26 +02:00
David Carlier
869612a867 Fix non Linux build.
timezone global is a linux-ism whereas it is a function under BSD.
Here a helper to get the timezone value in a more portable manner.
2018-10-26 14:02:09 +00:00
zhaozhao.zz
c0d1b24d27 MULTI: OOM err if cannot free enough memory in MULTI/EXEC context 2018-10-17 16:40:45 +08:00
Salvatore Sanfilippo
707138d5c1 Merge pull request #5333 from soloestoy/stream-commands-flag
Scripting & Streams: some commands need right flags
2018-10-17 07:50:32 +02:00
antirez
2093b42879 Streams: XSTREAM SETID -> XSETID.
Keep vanilla stream commands at toplevel, see #5426.
2018-10-16 13:17:14 +02:00
Salvatore Sanfilippo
060cd5c941 Merge pull request #5426 from soloestoy/feature-xstream
Bugfix data inconsistency after aof rewrite, and add XSTREAM command.
2018-10-16 13:10:36 +02:00
antirez
599e872fba Fix propagation of consumer groups last ID.
Issue #5433.
2018-10-10 12:51:02 +02:00
zhaozhao.zz
0a968cc348 Streams: add a new command XTREAM
XSTREAM CREATE <key> <id or *> -- Create a new empty stream.
XSTREAM SETID <key> <id or $>  -- Set the current stream ID.
2018-10-09 13:11:04 +08:00
antirez
ec656a2071 Fix printf type mismatch in genRedisInfoString(). 2018-10-02 16:26:30 +02:00
Salvatore Sanfilippo
96b51145a3 Merge pull request #5242 from oranagra/script_mem
script cache memory in INFO and MEMORY includes both script code and overheads
2018-10-02 16:03:05 +02:00
Salvatore Sanfilippo
bcb7c04e40 Merge pull request #5398 from bmerry/fix-zrealloc-accounting
Fix incorrect memory usage accounting in zrealloc
2018-10-01 13:28:53 +02:00