mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 09:00:51 +00:00
Networking: add more outbound IP binding fixes
Same as the original bind fixes (we just missed these the first time around). This helps Redis not automatically send connections from the first IP on an interface if we are bound to a specific IP address (e.g. with multiple IP aliases on one interface, you want to send from _your_ IP, not from the first IP on the interface).
This commit is contained in:
parent
6fbaeddf3f
commit
0014966c1e
@ -4307,8 +4307,8 @@ int migrateGetSocket(redisClient *c, robj *host, robj *port, long timeout) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Create the socket */
|
/* Create the socket */
|
||||||
fd = anetTcpNonBlockConnect(server.neterr,c->argv[1]->ptr,
|
fd = anetTcpNonBlockBindConnect(server.neterr,c->argv[1]->ptr,
|
||||||
atoi(c->argv[2]->ptr));
|
atoi(c->argv[2]->ptr),REDIS_BIND_ADDR);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
sdsfree(name);
|
sdsfree(name);
|
||||||
addReplyErrorFormat(c,"Can't connect to target node: %s",
|
addReplyErrorFormat(c,"Can't connect to target node: %s",
|
||||||
|
@ -1357,7 +1357,8 @@ error:
|
|||||||
int connectWithMaster(void) {
|
int connectWithMaster(void) {
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
fd = anetTcpNonBlockConnect(NULL,server.masterhost,server.masterport);
|
fd = anetTcpNonBlockBindConnect(NULL,
|
||||||
|
server.masterhost,server.masterport,REDIS_BIND_ADDR);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
redisLog(REDIS_WARNING,"Unable to connect to MASTER: %s",
|
redisLog(REDIS_WARNING,"Unable to connect to MASTER: %s",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user