Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > d22fa7aff772d90a21ca0b1f203f1726 > files > 6

partimage-0.6.7-11mdv2009.0.src.rpm

diff -p -up partimage-0.6.7/src/client/imagefile.cpp.nologin partimage-0.6.7/src/client/imagefile.cpp
--- partimage-0.6.7/src/client/imagefile.cpp.nologin	2008-02-03 22:58:00.000000000 +0100
+++ partimage-0.6.7/src/client/imagefile.cpp	2008-06-10 18:24:59.000000000 +0200
@@ -61,31 +61,38 @@ CImage::CImage(COptions * options)
   else
     {
 #ifdef MUST_LOGIN
-      if (strlen(options -> szUserName) && strlen(options -> szPassWord))
+      if (options->bMustLogin)
         {
-          strncpy(login, options->szUserName, 2048);
-          strncpy(passwd, options->szPassWord, 2048);
-          *(login+2047) = '\0';
-          *(passwd+2047) = '\0';
-        }
-      else 
-        {
-// we get login/pass from user
-          int nRes;
-          nRes = g_interface -> askLogin(login, passwd, 2048);
-          if (nRes)
+          if (strlen(options -> szUserName) && strlen(options -> szPassWord))
             {
-              free(login);
-              free(passwd);
-              THROW( ERR_CANCELED);
+              strncpy(login, options->szUserName, 2048);
+              strncpy(passwd, options->szPassWord, 2048);
+              *(login+2047) = '\0';
+              *(passwd+2047) = '\0';
             }
-        }	
-#else
+          else 
+            {
+    // we get login/pass from user
+              int nRes;
+              nRes = g_interface -> askLogin(login, passwd, 2048);
+              if (nRes)
+                {
+                  free(login);
+                  free(passwd);
+                  THROW( ERR_CANCELED);
+                }
+            }	
+        }
+      else
+        {
+#endif
 // fake login/passwd
       strcpy(login, "nologin");
       strcpy(passwd, "nopass");
+#ifdef MUST_LOGIN
+        }
 #endif
-		
+
       m_cid = new CImageNet(options, options->bUseSSL);
       try { m_cid -> Connect(options, login, passwd, options->szServerName,
          options->dwServerPort); }
diff -p -up partimage-0.6.7/src/client/image_net.cpp.nologin partimage-0.6.7/src/client/image_net.cpp
--- partimage-0.6.7/src/client/image_net.cpp.nologin	2008-02-03 22:58:00.000000000 +0100
+++ partimage-0.6.7/src/client/image_net.cpp	2008-06-10 18:11:36.000000000 +0200
@@ -28,7 +28,7 @@
 CImageNet::CImageNet(COptions * options, bool bUseSSL):CImageBase()
 {
   mess = new CMessages;
-  netcl = new CNetClient(bUseSSL);
+  netcl = new CNetClient(options->bMustLogin, bUseSSL);
 
   // multi-thread
   pthread_mutex_init(&m_mutexNetwork, &m_mutexNetworkAttr);
diff -p -up partimage-0.6.7/src/client/main.cpp.nologin partimage-0.6.7/src/client/main.cpp
--- partimage-0.6.7/src/client/main.cpp.nologin	2008-06-10 17:54:40.000000000 +0200
+++ partimage-0.6.7/src/client/main.cpp	2008-06-10 17:59:02.000000000 +0200
@@ -90,6 +90,7 @@ static struct option const long_options[
   {"compilinfo", no_argument, NULL, 'i'},
   {"nombr", no_argument, NULL, 'M'},
   {"allowmnt", no_argument, NULL, 'm'},
+  {"nologin", no_argument, NULL, 'L'},
   {"nossl", no_argument, NULL, 'n'},
   {"overwrite", no_argument, NULL, 'o'},
   {"password", required_argument, NULL, 'P'},
@@ -109,7 +110,7 @@ static struct option const long_options[
 
 static char finish_last_countfile_lock[]="/tmp/partimageXXXXXX.lock";
 static char finish_last_countfile[]="/tmp/partimageXXXXXX";
-static char optstring[]="z:oV:ecmdhf:s:p:bwg:vynSMa:iU:P:XB:";
+static char optstring[]="z:oV:ecmdhf:s:p:bwg:vyLnSMa:iU:P:XB:";
 FILE * g_fDebug; // debug file
 FILE * g_fLocalDebug; // debug file
 CInterface * g_interface;
@@ -171,6 +172,7 @@ int main(int argc, char *argv[])
   // initialize options with defaults values
   memset(&options, 0, sizeof(COptions));
   options.bUseSSL = OPTIONS_DEFAULT_SSL;
+  options.bMustLogin = OPTIONS_DEFAULT_LOGIN;
   options.bBackupMBR = OPTIONS_DEFAULT_BACKUP_MBR;
   options.bSimulateMode = OPTIONS_DEFAULT_SIMULATE_MODE;
   options.bOverwrite = OPTIONS_DEFAULT_OVERWRITE;
@@ -329,9 +331,14 @@ int main(int argc, char *argv[])
 	    return EXIT_SUCCESS;
 	    break;
 
+	  case 'L': // no login
+	    options.bMustLogin = false;
+	    break;
+
 	  case 'n': // no ssl
 	    options.bUseSSL = false;
 	    break;
+
 	  case 'S': // simulate
 	    options.bSimulateMode = true;
 	    break;
@@ -972,6 +979,7 @@ void usage()
 	      "* -sX, --server=X      give partimaged server's ip address\n"
 	      "* -pX, --port=X        give partimaged server's listening port\n"
 	      "* -g,  --debug=X       set the debug level to X (default: 1):\n"
+	      "* -L,  --nologin       disable login in network mode\n"
 	      "* -n,  --nossl         disable SSL in network mode\n"
 	      "* -S,  --simulate      simulation of restoration mode\n"
 	      "* -aX, --automnt=X     automatic mount with X options. Read the doc for more details\n"
diff -p -up partimage-0.6.7/src/client/misc.cpp.nologin partimage-0.6.7/src/client/misc.cpp
--- partimage-0.6.7/src/client/misc.cpp.nologin	2008-02-03 22:58:00.000000000 +0100
+++ partimage-0.6.7/src/client/misc.cpp	2008-06-10 18:01:13.000000000 +0200
@@ -1233,6 +1233,7 @@ void showDebugOptions(COptions *options)
 	    "options.bBatchMode = %d\n" 
 	    "options.bSplitWait = %d\n" 
 	    "options.bSync = %d\n" 
+	    "options.bMustLogin = %d\n" 
 	    "options.bUseSSL = %d\n" 
 	    "options.dwDebugLevel = %lu\n" 
 	    "options.bBackupMBR = %d\n" 
@@ -1247,7 +1248,7 @@ void showDebugOptions(COptions *options)
 	    (int)options->bFailIfMounted, (int) options->bAskDesc, 
 	    options->dwFinish, options->szServerName, 
 	    options->dwServerPort, (int) options->bBatchMode, (int)options->bSplitWait,
-	    (int)options->bSync, (int)options->bUseSSL, options->dwDebugLevel, 
+	    (int)options->bSync, (int)options->bMustLogin, (int)options->bUseSSL, options->dwDebugLevel, 
             (int)options->bBackupMBR, (int)options->bSimulateMode, options->szAutoMount, options->szFullyBatchMode);
 }
 
diff -p -up partimage-0.6.7/src/client/netclient.cpp.nologin partimage-0.6.7/src/client/netclient.cpp
--- partimage-0.6.7/src/client/netclient.cpp.nologin	2008-02-03 22:58:00.000000000 +0100
+++ partimage-0.6.7/src/client/netclient.cpp	2008-06-10 18:20:05.000000000 +0200
@@ -25,7 +25,7 @@
 
 // ================================================
 
-CNetClient::CNetClient(bool bUseSSL):CNet()
+CNetClient::CNetClient(bool bMustLogin, bool bUseSSL):CNet()
 {
   showDebug(9, "begin\n");
   int sock;
@@ -56,6 +56,12 @@ CNetClient::CNetClient(bool bUseSSL):CNe
   m_bUseSSL = false;
 #endif
 
+#ifdef MUST_LOGIN
+  m_bMustLogin = bMustLogin;
+#else
+  m_bMustLogin = false;
+#endif
+
   showDebug(9, "end constructor ok\n");
 }      
 
@@ -93,11 +99,7 @@ void CNetClient::Connect(char * adr, uns
   Recv(szServerBanner, BANNER_SIZE+1); // +1 -> preserve endding \0
   showDebug(2, "Banner received: %s\n", szServerBanner);
 
-#ifdef MUST_LOGIN
-  szBanner = Banner(m_bUseSSL, true);
-#else
-  szBanner = Banner(m_bUseSSL, false);
-#endif
+  szBanner = Banner(m_bUseSSL, m_bMustLogin);
 
   Send(szBanner, BANNER_SIZE+1);
   showDebug(2, "Banner sent: %s\n", szBanner);
diff -p -up partimage-0.6.7/src/client/netclient.h.nologin partimage-0.6.7/src/client/netclient.h
--- partimage-0.6.7/src/client/netclient.h.nologin	2008-02-03 22:58:00.000000000 +0100
+++ partimage-0.6.7/src/client/netclient.h	2008-06-10 18:07:37.000000000 +0200
@@ -38,9 +38,10 @@ private:
   SSL_METHOD * meth;
 #endif
   bool m_bUseSSL;
+  bool m_bMustLogin;
   
 public:
-  CNetClient(bool bUseSSL);
+  CNetClient(bool bMustLogin, bool bUseSSL);
   void Connect(char * adr, unsigned short int port);
   unsigned int SendPass(char * login, char * pass);
 
diff -p -up partimage-0.6.7/src/client/partimage.h.nologin partimage-0.6.7/src/client/partimage.h
--- partimage-0.6.7/src/client/partimage.h.nologin	2008-02-03 22:58:00.000000000 +0100
+++ partimage-0.6.7/src/client/partimage.h	2008-06-10 17:58:40.000000000 +0200
@@ -190,6 +190,7 @@ extern bool g_bSigKill;
 #define OPTIONS_DEFAULT_SPLIT_WAIT            false
 #define OPTIONS_DEFAULT_RUN_SHELL             false
 #define OPTIONS_DEFAULT_SYNC                  true
+#define OPTIONS_DEFAULT_LOGIN                 true
 #define OPTIONS_DEFAULT_SSL                   true
 #define OPTIONS_DEFAULT_BACKUP_MBR            true
 #define OPTIONS_DEFAULT_SIMULATE_MODE         false
diff -p -up partimage-0.6.7/src/shared/common.h.nologin partimage-0.6.7/src/shared/common.h
--- partimage-0.6.7/src/shared/common.h.nologin	2008-02-03 22:57:55.000000000 +0100
+++ partimage-0.6.7/src/shared/common.h	2008-06-10 18:09:38.000000000 +0200
@@ -129,6 +129,7 @@ struct COptions
   bool bAskDesc;
   bool bBatchMode;
   bool bSync;
+  bool bMustLogin;
   bool bUseSSL; 
   bool bBackupMBR;
   bool bSimulateMode;