<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -7,10 +7,10 @@ ifeq ($(uname_S),SunOS)
   CFLAGS?= -std=c99 -pedantic -O2 -Wall -W -D__EXTENSIONS__ -D_XPG6
   CCLINK?= -ldl -lnsl -lsocket -lm
 else
-  CFLAGS?= -std=c99 -pedantic -O2 -Wall -W $(ARCH)
+  CFLAGS?= -std=c99 -pedantic -O2 -Wall -W $(ARCH) $(PROF)
   CCLINK?= -lm
 endif
-CCOPT= $(CFLAGS) $(CCLINK) $(ARCH)
+CCOPT= $(CFLAGS) $(CCLINK) $(ARCH) $(PROF)
 DEBUG?= -g -rdynamic -ggdb 
 
 OBJ = adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o
@@ -71,3 +71,9 @@ log:
 
 32bit:
 	make ARCH=&quot;-arch i386&quot;
+
+gprof:
+	make PROF=&quot;-pg&quot;
+
+32bitgprof:
+	make PROF=&quot;-pg&quot; ARCH=&quot;-arch i386&quot;</diff>
      <filename>Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -281,6 +281,7 @@ struct redisServer {
     int shareobjects;
     /* Replication related */
     int isslave;
+    char *masterauth;
     char *masterhost;
     int masterport;
     redisClient *master;    /* client that is master for this slave */
@@ -1052,6 +1053,7 @@ static void initServerConfig() {
     appendServerSaveParams(60,10000); /* save after 1 minute and 10000 changes */
     /* Replication related */
     server.isslave = 0;
+    server.masterauth = NULL;
     server.masterhost = NULL;
     server.masterport = 6379;
     server.master = NULL;
@@ -1230,6 +1232,8 @@ static void loadServerConfig(char *filename) {
             server.masterhost = sdsnew(argv[1]);
             server.masterport = atoi(argv[2]);
             server.replstate = REDIS_REPL_CONNECT;
+        } else if (!strcasecmp(argv[0],&quot;masterauth&quot;) &amp;&amp; argc == 2) {
+        	server.masterauth = zstrdup(argv[1]);
         } else if (!strcasecmp(argv[0],&quot;glueoutputbuf&quot;) &amp;&amp; argc == 2) {
             if ((server.glueoutputbuf = yesnotoi(argv[1])) == -1) {
                 err = &quot;argument must be 'yes' or 'no'&quot;; goto loaderr;
@@ -5128,7 +5132,7 @@ static void updateSlavesWaitingBgsave(int bgsaveerr) {
 }
 
 static int syncWithMaster(void) {
-    char buf[1024], tmpfile[256];
+    char buf[1024], tmpfile[256], authcmd[1024];
     int dumpsize;
     int fd = anetTcpConnect(NULL,server.masterhost,server.masterport);
     int dfd;
@@ -5138,6 +5142,30 @@ static int syncWithMaster(void) {
             strerror(errno));
         return REDIS_ERR;
     }
+
+    /* AUTH with the master if required. */
+    if(server.masterauth) {
+    	snprintf(authcmd, 1024, &quot;AUTH %s\r\n&quot;, server.masterauth);
+    	if (syncWrite(fd, authcmd, strlen(server.masterauth)+7, 5) == -1) {
+            close(fd);
+            redisLog(REDIS_WARNING,&quot;Unable to AUTH to MASTER: %s&quot;,
+                strerror(errno));
+            return REDIS_ERR;
+    	}
+        /* Read the AUTH result.  */
+        if (syncReadLine(fd,buf,1024,3600) == -1) {
+            close(fd);
+            redisLog(REDIS_WARNING,&quot;I/O error reading auth result from MASTER: %s&quot;,
+                strerror(errno));
+            return REDIS_ERR;
+        }
+        if (buf[0] != '+') {
+            close(fd);
+            redisLog(REDIS_WARNING,&quot;Cannot AUTH to MASTER, is the masterauth password correct?&quot;);
+            return REDIS_ERR;
+        }
+    }
+
     /* Issue the SYNC command */
     if (syncWrite(fd,&quot;SYNC \r\n&quot;,7,5) == -1) {
         close(fd);</diff>
      <filename>redis.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>eaa256ad256e385f6f448df6c162ff14f4d2956b</id>
    </parent>
  </parents>
  <author>
    <name>antirez</name>
    <email>antirez@gmail.com</email>
  </author>
  <url>http://github.com/antirez/redis/commit/d0ccebcf46a2f726117b05f2a317b0a5e7113cae</url>
  <id>d0ccebcf46a2f726117b05f2a317b0a5e7113cae</id>
  <committed-date>2009-11-04T00:53:43-08:00</committed-date>
  <authored-date>2009-11-04T00:53:43-08:00</authored-date>
  <message>masterauth option merged, thanks to Anthony Lauzon</message>
  <tree>ad63af15683ec7b6aa731d6869821ed8b1d264d0</tree>
  <committer>
    <name>antirez</name>
    <email>antirez@gmail.com</email>
  </committer>
</commit>
