Commit Graph
4563 Commits
Author SHA1 Message Date
NickMRamirez d5119c4882 Added firewall exception for Redis service 2015-05-04 08:23:13 -07:00
NickMRamirez 733dd88d70 Added WiX binaries to source control for 64-bit Windows Installer so that devs won't have to install WiX. 2015-05-04 08:17:14 -07:00
NickMRamirez 437a9c35ce Added a 64-bit Windows installer 2015-05-04 08:16:03 -07:00
NickMRamirez 9bc6c6eeb6 Added WiX binaries to source control so that dev doesn't have to install WiX. 2015-05-04 08:14:58 -07:00
NickMRamirez 1167266815 Initial commit of WiX installer for Redis 2015-05-04 08:14:11 -07:00
Alexis Campailla 05e0ac85cc Fix tabs in Win32_QFork.cpp 2015-05-01 13:23:15 +02:00
Alexis Campailla 0481910ed0 Fix Windows version check
Correclty check for Windows 8 version (6.2), in case this code
path gets re-enabled again.
Note that Windows 10 has version number 10.0, so it would finally
take the code path originally intended for Windows 8 and higher.
2015-05-01 13:12:02 +02:00
Alexis Campailla 624163165b Disabling use of PAGE_REVERT_TO_FILE_MAP
VirtualProtect is failing with ERROR_INVALID_PARAMETER.
It's possible that this code path never worked because it is
checking for Windows version 8.0. Windows 8's version number is 6.2,
not 8.0.

Conflicts:
	src/Win32_Interop/Win32_QFork.cpp
2015-05-01 13:11:02 +02:00
Alexis Campailla 6076412a35 Qfork: RejoinCOWPages issue with swapping
Fix for https://github.com/MSOpenTech/redis/issues/167

RejoinCOWPages used to call QueryWorkingSetEx to figure out
which pages had been dirtied since the memory map was protected
with PAGE_WRITECOPY. But dirty pages that had been swapped out to
the system page file would be reported as not valid
(VirtualAttributes.Valid == 0) and so we wouldn't restore them into
the file map.
QueryWorkingSetEx only gives information about pages that are in the
working set at the time it is called. Pages can be forced into the
working set using VirtualLock, but that seems like a potentially
risky / expensive solution.
I implemented a solution that uses VirtualQuery to find out which
regions have changed protection from PAGE_WRITECOPY.
2015-05-01 12:40:15 +02:00
Alexis Campailla 8c5b7fd244 fork: let child terminate without requiring signal from parent
The quasi-fork child was waiting for an explicit signal from the parent
before terminating. This synchronization step is unnecessary, and
it makes the child hang if the parent terminates for any reason
while the fork operation is in progress.
In that scenario, and consistently with the Posix version, the child
now completes the fork operation and terminates freely when done.

This fixes https://github.com/MSOpenTech/redis/issues/228
2015-03-23 13:40:27 -07:00
Alexis Campailla 92abb1268b set errno on socket write error
Also introducing some utility functions for translating Windows
error codes to errno error codes.
This part was adapted from existing code in libuv:
https://github.com/libuv/libuv/blob/v1.x/src/win/error.c
2015-03-09 14:47:32 +01:00
Alexis Campailla 0f79d72396 Workaround for getpeername() issue
getpeername() is returning invalid addresses on ipv6 sockets accepted
with AcceptEx, filling only 16 bytes of the address structure.
Providing a workaround by saving the remote address returned by
GetAcceptExSockaddrs, which is valid.
win-2.8.19 win-2.8.19-rc1
2015-02-25 12:27:07 +01:00
Alexis Campailla 322d708f21 getpeername returns 0 on error 2015-02-24 18:11:23 +01:00
Alexis Campailla c3f758c923 Update redis.windows.conf 2015-02-24 18:09:07 +01:00
Alexis Campailla fe6fff14d1 redlis-cli crash on non-printable chars
The debug version of isprint() raises an assert when the input value
is not EOF or in the range 0 through 0xFF, inclusive.
The trick is that the char value needs to be passed as unsigned,
before being converted to int.
2015-02-24 17:16:52 +01:00
Alexis Campailla a39e4ae65d Handle absolute paths for config files 2015-02-24 16:28:33 +01:00
Alexis Campailla b02a6d191d Minor documenation bug (confusing dir and heapdir)
See https://github.com/MSOpenTech/redis/issues/218
2015-02-24 15:31:11 +01:00
Scott Ganyo 1fe315d6d9 Update README.md 2015-02-13 14:24:44 +01:00
Robert Hahn b167e972d2 issue 180: fixed handling of the alt gr key on international keyboards 2015-02-13 14:09:50 +01:00
Alexis Campailla 768e061172 Abort on OOM
It looks like https://github.com/MSOpenTech/redis/commit/62cc0e320d9afe28cc44a642d9e8f5e1c0e5d775#diff-07ce465381b20e496c6fb51bedd3491fR3105
inadvertently made the Windows side not abort when an OOM occurs.
win-2.8.19-pre2
2015-02-13 03:03:58 +01:00
Alexis Campailla b93dc1c727 Port diskless replication to Windows
During diskless replication the master forks a child, which on posix
simply inherits the socket file descriptors for the connections to
the slaves.
A unix pipe is also used for the child to report the results back
to the master.

The bulk of the porting work is in making sure that the socket
file descriptors and pipe file descriptor are propagated correctly
from the master to its child.
2015-02-06 16:08:50 +01:00
Alexis Campailla b713fda58f Remove useless qfork synchronization event
There is no apparent reason for the child to wait for the
startOperation event to be signaled.
2015-02-06 16:06:53 +01:00
Alexis Campailla 5677f532f8 Refactor BeginForkOperation
Refactor BeginForkOperation in preparation for diskless replication:
- Separate copying of operation data and child process creation
- Provide specific entry points for each operation type
2015-02-06 15:42:47 +01:00
orangemocha 3942d52957 Merge pull request #216 from MSOpenTech/orangemocha-CrashOnLargeInsert
Bug fixes
2015-02-02 16:40:01 +01:00
Alexis Campailla 9fd03a982d Fix AV in AllocHeapBlock 2015-02-02 16:10:05 +01:00
Alexis Campailla bc8d23c64a Merge branch release-2.8.17 into 2.8 2015-01-06 14:40:16 -05:00
Alexis Campailla 7796c039cb Fix redis-cli pipe mode
Pipe mode was broken due to CRT's translation of CRLF sequences.
win-2.8.17.3
2015-01-02 17:48:09 -05:00
Alexis Campailla 69ff2feb70 Merge version 2.8.19 from antirez into 2.8 win-2.8.19-pre1 2014-12-26 16:14:57 +01:00
Alexis Campailla bc2ce9d6e0 Merge version 2.8.18 from antirez into 2.8
Conflicts:
	deps/linenoise/linenoise.c
	deps/lua/src/lua_cjson.c
	redis.conf
	src/anet.c
	src/config.c
	src/networking.c
	src/object.c
	src/rdb.c
	src/redis.c
	src/redis.h
	src/replication.c
	tests/support/server.tcl
2014-12-26 15:20:36 +01:00
Alexis Campailla 8d5716c03e Merge branch 'release-2.8.17' into 2.8
Conflicts:
	bin/release/redis-2.8.17.zip
2014-12-24 00:20:37 +01:00
Alexis Campailla a87bca3e7b replaced // comments #2150 2014-12-24 00:18:58 +01:00
Alexis Campailla a659c7c13a Merge commit 'c94db2ba3849ffe2ae1b3da04bd2860a601afcd5' into release-2.8.17
Conflicts:
	bin/release/redis-2.8.17.zip
win-2.8.17.2
2014-12-23 15:01:22 +01:00
Alexis Campailla 1ba3989480 replaced // comments #2150 2014-12-23 01:46:44 +01:00
Alexis Campailla 5c3f6b9d1f redis-benchmark AUTH command to be discarded after the first send #2150
Cherry pick 560ec60ed4
2014-12-22 20:54:17 +01:00
Alexis Campailla c94db2ba38 Fix missing time functions initialization in redis-benchmark
Commit 08e4226e59 broke redis-benchmark.

Made time function initialization automatic on first execution.
Added explicit initialization of time functions in redis-benchmark, to
avoid additional cost on first benchmark execution.
2014-12-20 18:03:34 +01:00
Alexis Campailla 3b1d4ec032 Move release binaries to release page
Adopting the suggestions at https://github.com/MSOpenTech/redis/issues/172
We no longer commit the binaries into the repo.
Instead, we create periodic releases on the release page.
win-2.8.17.1
2014-12-16 16:36:10 +01:00
antirez 902b877dc0 Redis 2.8.19. 2.8.19 2014-12-16 09:18:20 +01:00
antirez 02d465c8fe Don't log admin commands in MONITOR.
Otherwise there are security risks, especially when providing Redis as a
service, the user may "sniff" for admin commands renamed to an
unguessable string via rename-command in redis.conf.
2014-12-13 09:00:03 +01:00
antirez 4d8f4262a4 List of commands flagged as admin commands modified.
The old list did not made much sense... and the flag is currently not
used at all, so no side effects.
2014-12-13 08:59:43 +01:00
Salvatore Sanfilippo d4fc65309d Merge pull request #2092 from rhoml/rhoml-install-sentinel
Adds a symlink for redis-sentinel when Make install
2014-12-12 22:58:56 +01:00
antirez e47e460f1f Lua cmsgpack lib updated to latest version.
It fixes a bad bug that crashes the server in certain conditions
as shown in issue #2210.
2014-12-12 22:57:09 +01:00
Rhommel Lamas 5509c141f8 Add symlink to redis-sentinel during make install 2014-12-12 20:00:08 +01:00
antirez 7de1ef773e SORT: Don't sort Set elements if not needed.
Related to #2094.
2014-12-11 16:01:21 +01:00
Matt Stancliff e945a546af Fix zero-ordering SORT when called against lists
People mostly use SORT against lists, but our prior
behavior was pretending lists were an unordered bag
requiring a forced-sort when no sort was requested.

We can just use the native list ordering to ensure
consistency across replicaion and scripting calls.

Closes #2079
Closes #545 (again)
2014-12-11 16:01:09 +01:00
Ben Dowling d81c38316b Update redis_init_script.tpl
status command currently reports success when redis has crashed and the pid file still exists. Changing to check the actual process is running.
2014-12-11 15:21:53 +01:00
zhanghailei dba57ea910 FIXED redis-benchmark's idle mode.With idle mode shouldn't create write event 2014-12-11 15:21:53 +01:00
Sun He 888ea17548 zipmap.c: update comments above 2014-12-09 16:01:13 +01:00
Deepak Verma 86ebc139c2 replaced // comments #2150 2014-12-09 15:26:26 +01:00
azure provisioned user 3d73f088e1 redis-benchmark AUTH command to be discarded after the first send #2150 2014-12-09 15:26:26 +01:00
Sun He 76d53a6770 sds.c: Correct two spelling mistakes in comments 2014-12-09 15:14:14 +01:00