myserver-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-376


From: Giuseppe Scrivano
Subject: [myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-376-g636bc00
Date: Fri, 27 Aug 2010 18:09:54 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU MyServer".

The branch, master has been updated
       via  636bc002bb4e20137a86b94292e8d6f3b2952554 (commit)
       via  5c464b25c828e249cf7b559cbb7e5fc90ed15977 (commit)
       via  92fce90eaea3d4e12e0b581ed1c7c911e0a5f0fa (commit)
      from  8249ef25c77a6121f27fa55f4f74c50e9d300600 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------


commit 636bc002bb4e20137a86b94292e8d6f3b2952554
Author: Giuseppe Scrivano <address@hidden>
Date:   Fri Aug 27 20:06:18 2010 +0200

    Server: do not remove webdav locks on shutdown.

diff --git a/myserver/src/server/server.cpp b/myserver/src/server/server.cpp
index fff780d..e02b3b4 100644
--- a/myserver/src/server/server.cpp
+++ b/myserver/src/server/server.cpp
@@ -463,6 +463,8 @@ void Server::mainLoop ()
 
       if (autoRebootEnabled)
         {
+          bool doBeep = false;
+
           time_t mainConfTimeNow =
             FilesUtility::getLastModTime (mainConfigurationFile.c_str ());
           time_t hostsConfTimeNow =
@@ -474,7 +476,7 @@ void Server::mainLoop ()
           if (((mainConfTimeNow != -1) && (hostsConfTimeNow != -1)
                && (mimeConfNow != -1)) || toReboot)
             {
-              if ( (mainConfTimeNow  != mainConfTime) || toReboot)
+              if ((mainConfTimeNow  != mainConfTime) || toReboot)
                 {
                   string msg ("main-conf-changed");
                   notifyMulticast (msg, 0);
@@ -489,13 +491,8 @@ void Server::mainLoop ()
                   string msg ("mime-conf-changed");
                   notifyMulticast (msg, 0);
 
-                  if (logLocation.find ("console://") != string::npos)
-                    {
-                      char beep[] = { static_cast<char>(0x7), '\0' };
-                      string beepStr (beep);
-                      logManager->log (this, "MAINLOG", logLocation, beepStr);
-                    }
-                  log (MYSERVER_LOG_MSG_INFO, _("Reloading MIME types"));
+                  log (MYSERVER_LOG_MSG_INFO, _("Reloading MIME types from 
%s"),
+                       mimeConfigurationFile.c_str ());
 
                   getMimeManager ()->reload ();
 
@@ -540,6 +537,13 @@ void Server::mainLoop ()
                   hostsConfTime = hostsConfTimeNow;
                   log (MYSERVER_LOG_MSG_INFO, _("Reloaded"));
                 }
+
+              if (doBeep && logLocation.find ("console://") != string::npos)
+                {
+                  char beep[] = { static_cast<char>(0x7), '\0' };
+                  string beepStr (beep);
+                  logManager->log (this, "MAINLOG", logLocation, beepStr);
+                }
             }
         }
     }
@@ -711,7 +715,6 @@ void Server::stop ()
  */
 int Server::terminate ()
 {
-  FilesUtility::deleteDir ("system/webdav");
   log (MYSERVER_LOG_MSG_INFO, _("Stopping threads"));
 
   listenThreads.terminate ();



commit 5c464b25c828e249cf7b559cbb7e5fc90ed15977
Author: Giuseppe Scrivano <address@hidden>
Date:   Fri Aug 27 19:36:46 2010 +0200

    Control: by default specify an empty password.

diff --git a/myserver/binaries/myserver.default.xml 
b/myserver/binaries/myserver.default.xml
index e0635ff..2159b06 100755
--- a/myserver/binaries/myserver.default.xml
+++ b/myserver/binaries/myserver.default.xml
@@ -1,27 +1,27 @@
 <?xml version="1.0"?>
 
-<!--MODIFY THE FILE ONLY IF YOU ARE SURE OF WHAT YOU ARE DOING-->
+<!--MODIFY THE FILE ONLY IF YOU ARE SURE OF WHAT YOU ARE DOING.  -->
 <MYSERVER>
 
-  <!--CHOOSE THE LANGUAGE TO USE FOR THE SERVER-->
+  <!--CHOOSE THE LANGUAGE TO USE FOR THE SERVER.  -->
   <DEFINE name="server.language" value="english.xml" />
 
-  <!--VERBOSITY ON LOG FILE-->
+  <!--VERBOSITY ON LOG FILE.  -->
   <DEFINE name="server.verbosity" value="2" />
 
-  <!--NUMBER OF SERVING THREADS ALWAYS ACTIVE-->
+  <!--NUMBER OF SERVING THREADS ALWAYS ACTIVE.  -->
   <DEFINE name="server.static_threads" value="5" />
 
-  <!--MAXIMUM NUMBER OF SERVING THREADS THAT THE SCHEDULER CAN
-      CREATE-->
+  <!--MAXIMUM NUMBER OF WORKER THREADS THAT THE SCHEDULER CAN
+      CREATE.  -->
   <DEFINE name="server.max_threads" value="200" />
 
-  <!-- BUFFER SIZE AVAILABLE TO EVERY THREAD.  -->
+  <!-- BUFFER SIZE AVAILABLE FOR EVERY THREAD.  -->
   <DEFINE name="server.buffer_size" value="102400" />
 
   <!--DEFAULT FILENAME TO SEND IN A DIRECTORY
       IF THE FILE ISN'T IN THE PATH THEN THE DIRECTORY
-      CONTENT IS SENT. -->
+      CONTENT IS SENT.  -->
   <DEFINE name="http.default_file">
     <DEFINE value="default.html"/>
     <DEFINE value="default.htm"/>
@@ -33,7 +33,7 @@
       IF THE CLIENT DOESN'T REQUEST ANYTHING FOR N
       SECONDS THE CONNECTION WITH THE CLIENT IS
       CLOSED. SET THIS TO 0 IF YOU DON'T WANT USE
-      KEEP-ALIVE CONNECTIONS. -->
+      KEEP-ALIVE CONNECTIONS.  -->
   <DEFINE name="connection.timeout" value="180" />
 
   <!--SET THIS TO YES FOR USE PERSONALIZED PAGES TO SEND MESSAGE,
@@ -41,13 +41,13 @@
   <DEFINE name="http.use_error_file" value="YES" />
 
   <!--DEFINE THE MAX NUMBER OF CONNECTIONS TO ALLOW TO THE SERVER. IF
-      0 THEN INFINITE CONNECTIONS ARE ALLOWED.-->
+      0 THEN INFINITE CONNECTIONS ARE ALLOWED.  -->
   <DEFINE name="server.max_connections" value="0" />
 
-  <!--DEFINE THE MAX NUMBER OF CONNECTIONS TO ACCEPT.-->
+  <!--DEFINE THE MAX NUMBER OF CONNECTIONS TO ACCEPT.  -->
   <DEFINE name="server.max_accepted_connections" value="0" />
 
-  <!--TEXT AND BACKGROUND ATTRIBUTES FOR CONSOLE LOG MESSAGES. -->
+  <!--TEXT AND BACKGROUND ATTRIBUTES FOR CONSOLE LOG MESSAGES.  -->
   <DEFINE name="log_color.info_fg" value="white" />
   <DEFINE name="log_color.info_bg" value="black" />
 
@@ -60,60 +60,60 @@
   <!--MAX SIZE OF THE LOG FILE IN BYTES.  -->
   <DEFINE name="server.max_log_size" value="1048576" />
 
-  <!--DEFINE THE FOLDER BROWSING STYLE-->
+  <!--DEFINE THE FOLDER BROWSING STYLE.  -->
   <DEFINE name="http.dir.css" value="/sys/css/browsestyle.css" />
 
-  <!--DEFINE THE ADMINISTRATOR E-MAIL-->
+  <!--DEFINE THE ADMINISTRATOR E-MAIL.  -->
   <DEFINE name="server.admin" value="address@hidden" />
 
-  <!--DEFINE THE GZIP COMPRESSION THRESHOLD VALUE-->
+  <!--DEFINE THE GZIP COMPRESSION THRESHOLD VALUE.  -->
   <DEFINE name="gzip.threshold" value="1048576" />
 
-  <!--DEFINE IF LINKS SHOULD BE FOLLOWED-->
+  <!--DEFINE IF LINKS SHOULD BE FOLLOWED.  -->
   <DEFINE name="symlinks.follow" value="YES" />
 
-  <!--MAX CACHE SIZE FOR STATIC FILES-->
+  <!--MAX CACHE SIZE FOR STATIC FILES.  -->
   <DEFINE name="server.max_files_cache" value="10485760" />
 
-  <!--MAX CACHE SIZE FOR SINGLE STATIC FILE-->
+  <!--MAX CACHE SIZE FOR SINGLE STATIC FILE.  -->
   <DEFINE name="server.max_file_cache" value="1048576" />
 
-  <!--MIN CACHE SIZE FOR SINGLE STATIC FILE-->
+  <!--MIN CACHE SIZE FOR SINGLE STATIC FILE.  -->
   <DEFINE name="server.min_file_cache" value="0" />
 
-  <!-- ENABLE HOME DIRECTORY PER USER -->
+  <!-- ENABLE HOME DIRECTORY PER USER .  -->
   <DEFINE name="http.use_home_directory" value="NO" />
 
   <!-- DEFINE NAME FOR HOME DIRECTORY BROWSING, BY DEFAULT THE SERVER
-       USES public_html -->
+       USES public_html .  -->
   <DEFINE name="http.home_directory" value="public_html" />
 
-  <!--SET THIS TO YES IF YOU WANT TO ENABLE THE CONTROL PROTOCOL-->
+  <!--SET THIS TO YES IF YOU WANT TO ENABLE THE CONTROL PROTOCOL.  -->
   <DEFINE name="control.enabled" value="NO" />
 
-  <!--MAXIMUM NUMBER OF EXTERNAL SERVERS THAT CAN BE EXECUTED-->
+  <!--MAXIMUM NUMBER OF EXTERNAL SERVERS THAT CAN BE EXECUTED.  -->
   <DEFINE name="server.max_servers" value="100" />
 
   <!--SET HERE THE NAME FOR THE CONTROL ADMIN. WE SUGGEST YOU YO USE
-      SOMETHING DIFFERENT FROM ADMIN, ADMINISTRATOR OR ROOT-->
+      SOMETHING DIFFERENT FROM ADMIN, ADMINISTRATOR OR ROOT.  -->
   <DEFINE name="control.admin" value="ADMIN" />
 
-  <!--DEFINE HERE A GOOD STRONG PASSWORD FOR THE ADMIN-->
-  <DEFINE name="control.password" value="PLEASE_CHANGE_THIS_PASSWORD" />
+  <!--DEFINE HERE THE PASSWORD FOR THE ADMINISTRATOR.  -->
+  <DEFINE name="control.password" value="" />
 
-  <!--FTP GLOBAL CONFIGURATION-->
-  <!--ALLOW ANONYMOUS LOGIN-->
+  <!--FTP GLOBAL CONFIGURATION.  -->
+  <!--ALLOW ANONYMOUS LOGIN.  -->
   <DEFINE name="ftp.allow_anonymous" value="YES" />
 
-  <!--IF ANONYMOUS ALLOWED, TELLS IF NEEDS PASS-->
+  <!--IF ANONYMOUS ALLOWED, TELLS IF NEEDS PASS.  -->
   <DEFINE name="ftp.anonymous_need_pass" value="NO" />
 
-  <!--ALLOW ASYNCHRONOUS CMDS LIKE Abor, Quit, Stat-->
+  <!--ALLOW ASYNCHRONOUS CMDS LIKE Abor, Quit, Stat.  -->
   <DEFINE name="ftp.allow_asynchronous_cmds" value="YES" />
 
-  <!--ALLOW CLIENTS TO SEND MORE THAN ONE COMMAND TO SERVER INTO ONE REQUEST-->
+  <!--ALLOW CLIENTS TO SEND MORE THAN ONE COMMAND TO SERVER INTO ONE REQUEST.  
-->
   <DEFINE name="ftp.allow_pipelining" value="NO" />
 
-  <!--ALLOW CLIENTS TO CHANGE SERVER FILES-->
+  <!--ALLOW CLIENTS TO CHANGE SERVER FILES.  -->
   <DEFINE name="ftp.allow_store" value="NO" />
 </MYSERVER>



commit 92fce90eaea3d4e12e0b581ed1c7c911e0a5f0fa
Author: Giuseppe Scrivano <address@hidden>
Date:   Fri Aug 27 19:32:04 2010 +0200

    Control: do not allow empty password.

diff --git a/myserver/include/protocol/control/control_protocol.h 
b/myserver/include/protocol/control/control_protocol.h
index 8efa361..11d88c7 100644
--- a/myserver/include/protocol/control/control_protocol.h
+++ b/myserver/include/protocol/control/control_protocol.h
@@ -46,7 +46,7 @@ protected:
   static char adminPassword[64];
   static int controlEnabled;
   const char *mapPath (const char *path);
-  int checkAuth (ControlHeader&);
+  int checkAuth (ConnectionPtr, ControlHeader&);
   int showConnections (ConnectionPtr,File* out, char *b1,int bs1, 
ControlHeader&);
   int showDynamicProtocols (ConnectionPtr,File* out, char *b1,int bs1, 
ControlHeader&);
   int killConnection (ConnectionPtr,u_long ID, File* out, char *b1,int bs1, 
ControlHeader&);
diff --git a/myserver/src/protocol/control/control_protocol.cpp 
b/myserver/src/protocol/control/control_protocol.cpp
index bcadb9e..4d0e56b 100644
--- a/myserver/src/protocol/control/control_protocol.cpp
+++ b/myserver/src/protocol/control/control_protocol.cpp
@@ -127,9 +127,8 @@ int ControlProtocol::loadProtocol ()
       adminNameMD5ized = 1;
 
   data = Server::getInstance ()->getData ("control.password.md5");
-  if (data)
-    if (strcasecmp (data, "YES") == 0)
-      adminPasswordMD5ized = 1;
+  if (data && strcasecmp (data, "YES") == 0)
+    adminPasswordMD5ized = 1;
 
   if (adminNameMD5ized)
     strncpy (adminLogin, tmpName, 64);
@@ -156,7 +155,7 @@ int ControlProtocol::loadProtocol ()
   Check if the client is allowed to connect to.
   Return 1 if the client is allowed.
  */
-int ControlProtocol::checkAuth (ControlHeader& header)
+int ControlProtocol::checkAuth (ConnectionPtr con, ControlHeader& header)
 {
   char authLoginHeaderMD5[64];
   char authPasswordHeaderMD5[64];
@@ -164,10 +163,21 @@ int ControlProtocol::checkAuth (ControlHeader& header)
   char *headerPassword;
   Md5 md5;
   /*! Return 0 if we haven't enabled the service. */
-  if (!controlEnabled)
-    return 0;
+  if (! controlEnabled)
+    {
+      con->host->warningsLogWrite (_E ("Control: not enabled"));
+      return 0;
+    }
+
+  if (adminPassword[0] == '\0')
+    {
+      con->host->warningsLogWrite (_E ("Control: empty password not allowed"));
+      return 0;
+    }
+
   headerLogin = header.getAuthLogin ();
   headerPassword = header.getAuthPassword ();
+
   authLoginHeaderMD5[0] = authPasswordHeaderMD5[0] = '\0';
   md5.init ();
   md5.update (headerLogin, (unsigned int) strlen (headerLogin));
@@ -301,7 +311,7 @@ int ControlProtocol::controlConnection (ConnectionPtr a, 
char *request,
           return 0;
         }
 
-      authorized = checkAuth (header);
+      authorized = checkAuth (a, header);
 
       /*
         If the client is not authorized remove the connection.

-----------------------------------------------------------------------

Summary of changes:
 myserver/binaries/myserver.default.xml             |   64 ++++++++++----------
 .../include/protocol/control/control_protocol.h    |    2 +-
 myserver/src/protocol/control/control_protocol.cpp |   24 +++++--
 myserver/src/server/server.cpp                     |   21 ++++---
 4 files changed, 62 insertions(+), 49 deletions(-)


hooks/post-receive
-- 
GNU MyServer



reply via email to

[Prev in Thread] Current Thread [Next in Thread]