- 08 Jul, 2013 11 commits
-
-
Geoff Garside authored
getpeername(2) requires <sys/socket.h> which on some systems also requires <sys/types.h>. Include both to avoid compilation warnings.
-
Geoff Garside authored
Add REDIS_CLUSTER_IPLEN macro to define the size of the clusterNode ip character array. Additionally use this macro in inet_ntop(3) calls where the size of the array was being defined manually. The REDIS_CLUSTER_IPLEN is defined as INET_ADDRSTRLEN which defines the correct size of a buffer to store an IPv4 address in. The INET_ADDRSTRLEN macro itself is defined in the <netinet/in.h> header file and should be portable across the majority of systems.
-
Geoff Garside authored
Using sizeof with an array will only return expected results if the array is created in the scope of the function where sizeof is used. This commit changes the inet_ntop calls so that they use the fixed buffer value as defined in redis.h which is 16.
-
Geoff Garside authored
Replace inet_aton(3) call with the more future proof inet_pton(3) function which is capable of handling additional address families.
-
Geoff Garside authored
Replace inet_ntoa(3) calls with the more future proof inet_ntop(3) function which is capable of handling additional address families.
-
Geoff Garside authored
Add the additional ip buffer length argument to function calls of anetTcpAccept and anetPeerToString in network.c and cluster.c
-
Geoff Garside authored
Replace inet_ntoa(3) calls with the more future proof inet_ntop(3) function which is capable of handling additional address families. API Change: anetTcpAccept() & anetPeerToString() additional argument additional argument required to specify the length of the character buffer the IP address is written to in order to comply with inet_ntop(3) function semantics.
-
Geoff Garside authored
Change anetTcpServer() function to use getaddrinfo(3) to perform address resolution, socket creation and binding. Resolved addresses are limited to those reachable by the AF_INET address family.
-
Geoff Garside authored
Change anetTcpGenericConnect() function to use getaddrinfo(3) to perform address resolution, socket creation and connection. Resolved addresses are limited to those reachable by the AF_INET family.
-
Geoff Garside authored
Extract setting SO_REUSEADDR socket option into separate function so the same code can be more easily used by anetCreateSocket and other functions.
-
Geoff Garside authored
Change anetResolve() function to use getaddrinfo(3) to resolve hostnames. Resolved hostnames are limited to those reachable by the AF_INET address family. API Change: anetResolve requires additional argument. additional argument required to specify the length of the character buffer the IP address is written to in order to comply with inet_ntop(3) function semantics. inet_ntop(3) replaces inet_ntoa(3) as it has been designed to be compatible with more address families.
-
- 05 Jul, 2013 3 commits
-
-
antirez authored
-
- 04 Jul, 2013 4 commits
- 03 Jul, 2013 2 commits
-
-
antirez authored
When in --pipe mode, after all the data transfer to the server is complete, now redis-cli waits at max the specified amount of seconds (30 by default, use 0 to wait forever) without receiving any reply at all from the server. After this time limit the operation is aborted with an error. That's related to issue #681.
-
antirez authored
If the protocol read from stdin happened to contain grabage (invalid random chars), in the previous implementation it was possible to end with something like: dksfjdksjflskfjl*2\r\n$4\r\nECHO.... That is invalid as the *2 should start into a new line. Now we prefix the ECHO with a CRLF that has no effects on the server but prevents this issues most of the times. Of course if the offending wrong sequence is something like: $3248772349\r\n No one is going to save us as Redis will wait for data in the context of a big argument, so this fix does not cover all the cases. This partially fixes issue #681.
-
- 02 Jul, 2013 4 commits
-
-
antirez authored
It causes catastrophic performance for certain inputs. Relevant NetBSD commit: http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdlib/qsort.c?rev=1.20&content-type=text/x-cvsweb-markup&only_with_tag=MAIN This fixes issue #968.
-
antirez authored
This fixes issue #1094.
-
antirez authored
The function is used to test that the specified string looks like just as the basename of a path, without any absolute or relative path.
-
antirez authored
-
- 28 Jun, 2013 2 commits
- 27 Jun, 2013 1 commit
-
-
antirez authored
-
- 26 Jun, 2013 2 commits
- 25 Jun, 2013 3 commits
- 24 Jun, 2013 3 commits
-
-
antirez authored
It should be called just one time at startup and not every time the Lua scripting engine is re-initialized, otherwise memory is leaked.
-
antirez authored
This commit uses the Replication Script Cache in order to avoid translating EVALSHA into EVAL whenever possible for both the AOF and slaves.
-
antirez authored
This code is only responsible to take an LRU-evicted fixed length cache of SHA1 that we are sure all the slaves received. In this commit only the implementation is provided, but the Redis core does not use it to actually send EVALSHA to slaves when possible.
-
- 21 Jun, 2013 1 commit
-
-
antirez authored
The old REDIS_CMD_FORCE_REPLICATION flag was removed from the implementation of Redis, now there is a new API to force specific executions of a command to be propagated to AOF / Replication link: void forceCommandPropagation(int flags); The new API is also compatible with Lua scripting, so a script that will execute commands that are forced to be propagated, will also be propagated itself accordingly even if no change to data is operated. As a side effect, this new design fixes the issue with scripts not able to propagate PUBLISH to slaves (issue #873).
-
- 20 Jun, 2013 4 commits
-
-
Jan-Erik Rediger authored
-
antirez authored
The result is an empty list but it is handy to call it programmatically.
-
antirez authored
Currently it implements three subcommands: PUBSUB CHANNELS [<pattern>] List channels with non-zero subscribers. PUBSUB NUMSUB [channel_1 ...] List number of subscribers for channels. PUBSUB NUMPAT Return number of subscribed patterns.
-
antirez authored
Sentinel was not able to detect slaves when connected to a very recent version of Redis master since a previos non-backward compatible change to INFO broken the parsing of the slaves ip:port INFO output. This fixes issue #1164
-