Check-in [2b51dbe02b]
Not logged in
Overview

SHA1 Hash:2b51dbe02b0e507897e5b4bf89efd45404d45ac2
Date: 2007-09-26 19:46:37
User: drh
Comment:If you "sync" against a server for which you do not have push permission, you get an error message but it still does the pull.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified src/xfer.c from [8babb1577e] to [70f34cd473].

@@ -515,16 +515,20 @@
           break;
         }
         isPull = 1;
       }else{
         if( !g.okWrite ){
-          cgi_reset_content();
-          @ error not\sauthorized\sto\swrite
-          nErr++;
-          break;
-        }
-        isPush = 1;
+          if( !isPull ){
+            cgi_reset_content();
+            @ error not\sauthorized\sto\swrite
+            nErr++;
+          }else{
+            @ message pull\sonly\s-\snot\sauthorized\sto\spush
+          }
+        }else{
+          isPush = 1;
+        }
       }
     }else
 
     /*    clone
     **
@@ -829,13 +833,23 @@
       */
       if( blob_eq(&xfer.aToken[0], "cookie") && xfer.nToken==2 ){
         db_set("cookie", blob_str(&xfer.aToken[1]));
       }else
 
+      /*   message MESSAGE
+      **
+      ** Print a message.  Similar to "error" but does not stop processing
+      */
+      if( blob_eq(&xfer.aToken[0],"message") && xfer.nToken==2 ){
+        char *zMsg = blob_terminate(&xfer.aToken[1]);
+        defossilize(zMsg);
+        printf("Server says: %s\n", zMsg);
+      }else
+
       /*   error MESSAGE
       **
-      ** Report an error
+      ** Report an error and abandon the sync session
       */
       if( blob_eq(&xfer.aToken[0],"error") && xfer.nToken==2 ){
         char *zMsg = blob_terminate(&xfer.aToken[1]);
         defossilize(zMsg);
         blob_appendf(&xfer.err, "server says: %s", zMsg);