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. 0_9_2-224-


From: Giuseppe Scrivano
Subject: [myserver-commit] [SCM] GNU MyServer branch, master, updated. 0_9_2-224-gc7fe971
Date: Sat, 08 May 2010 11:44:33 +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  c7fe97145fa20fddb1e0a87557b405b66a49d75f (commit)
       via  2b5f5326664e549bb9e9b75e454fb3bf0e7ea950 (commit)
      from  031dcae7452e27013fcea41debac8a5eb775790e (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 c7fe97145fa20fddb1e0a87557b405b66a49d75f
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat May 8 13:44:48 2010 +0200

    Refactor `HttpFile::putFile': share code between two branches.

diff --git a/myserver/src/http_handler/http_file/http_file.cpp 
b/myserver/src/http_handler/http_file/http_file.cpp
index 3608202..ceea526 100644
--- a/myserver/src/http_handler/http_file/http_file.cpp
+++ b/myserver/src/http_handler/http_file/http_file.cpp
@@ -42,6 +42,10 @@ using namespace std;
 int HttpFile::putFile (HttpThreadContext* td, string& filename)
 {
   u_long firstByte = td->request.rangeByteBegin;
+  int successCode = 500;
+  File file;
+  int symFlags = td->http->areSymlinksAllowed () ? 0
+    : File::NO_FOLLOW_SYMLINK;
 
   try
   {
@@ -53,11 +57,8 @@ int HttpFile::putFile (HttpThreadContext* td, string& 
filename)
 
     if (FilesUtility::nodeExists (td->filenamePath.c_str ()))
       {
-        File file;
         try
           {
-            int symFlags = td->http->areSymlinksAllowed () ? 0
-              : File::NO_FOLLOW_SYMLINK;
             file.openFile (td->filenamePath.c_str (), File::OPEN_IF_EXISTS
                            | File::WRITE | symFlags);
           }
@@ -69,48 +70,13 @@ int HttpFile::putFile (HttpThreadContext* td, string& 
filename)
             return td->http->raiseHTTPError (500);
           }
 
-        file.seek (firstByte);
-
-        for (;;)
-          {
-            u_long nbr = 0, nbw = 0;
-            if (td->inputData.read (td->buffer->getBuffer (),
-                                   td->buffer->getRealLength (), &nbr))
-              {
-                file.close ();
-                return td->http->raiseHTTPError (500);
-              }
-
-            if (nbr)
-              {
-                if (file.writeToFile (td->buffer->getBuffer (), nbr, &nbw))
-                  {
-                    file.close ();
-                    return td->http->raiseHTTPError (500);
-                  }
-              }
-            else
-              break;
-
-          if (nbw != nbr)
-            {
-              file.close ();
-              return td->http->raiseHTTPError (500);
-            }
-        }
-        file.close ();
-
-        td->http->raiseHTTPError (200);
-        return HttpDataHandler::RET_OK;
+        successCode = 200;
       }
     else
       {
         /* The file doesn't exist.  */
-        File file;
         try
           {
-            int symFlags = td->http->areSymlinksAllowed () ? 0
-              : File::NO_FOLLOW_SYMLINK;
             file.openFile (td->filenamePath.c_str (), File::FILE_CREATE_ALWAYS
                            | File::WRITE | symFlags);
           }
@@ -122,38 +88,45 @@ int HttpFile::putFile (HttpThreadContext* td, string& 
filename)
             return td->http->raiseHTTPError (500);
           }
 
-        for (;;)
-          {
-            u_long nbr = 0, nbw = 0;
-            if (td->inputData.read (td->buffer->getBuffer (),
-                                    td->buffer->getRealLength (), &nbr))
-              {
-                file.close ();
-                return td->http->raiseHTTPError (500);
-              }
+        successCode = 201;
+      }
 
-            if (nbr)
-              {
-                if (file.writeToFile (td->buffer->getBuffer (), nbr, &nbw))
-                  {
-                    file.close ();
-                    return td->http->raiseHTTPError (500);
-                  }
-              }
-            else
-              break;
+    if (firstByte)
+      file.seek (firstByte);
+
+    for (;;)
+      {
+        u_long nbr = 0, nbw = 0;
+        if (td->inputData.read (td->buffer->getBuffer (),
+                                td->buffer->getRealLength (), &nbr))
+          {
+            file.close ();
+            return td->http->raiseHTTPError (500);
+          }
 
-            if (nbw != nbr)
+        if (! nbr)
+          break;
+        else
+          {
+            if (file.writeToFile (td->buffer->getBuffer (), nbr, &nbw))
               {
                 file.close ();
                 return td->http->raiseHTTPError (500);
               }
           }
-        file.close ();
 
-        td->http->raiseHTTPError (201);
-        return HttpDataHandler::RET_OK;
+        if (nbw != nbr)
+          {
+            file.close ();
+            return td->http->raiseHTTPError (500);
+          }
       }
+
+    file.close ();
+
+    td->http->raiseHTTPError (successCode);
+    return HttpDataHandler::RET_OK;
+
   }
   catch (exception & e)
     {



commit 2b5f5326664e549bb9e9b75e454fb3bf0e7ea950
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat May 8 11:31:05 2010 +0200

    Avoid a gratuitous exception.

diff --git a/myserver/src/plugin/plugins_manager.cpp 
b/myserver/src/plugin/plugins_manager.cpp
index 8d26810..bc4c201 100644
--- a/myserver/src/plugin/plugins_manager.cpp
+++ b/myserver/src/plugin/plugins_manager.cpp
@@ -151,7 +151,7 @@ PluginsManager::preLoad (Server* server, string &resource)
 
       dirname.append ("/");
       dirname.append (fdir.name);
-      if (fdir.name[0] == '.')
+      if (fdir.name[0] == '.' || !FilesUtility::isDirectory (dirname.c_str ()))
         continue;
 
       try

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

Summary of changes:
 myserver/src/http_handler/http_file/http_file.cpp |   97 ++++++++-------------
 myserver/src/plugin/plugins_manager.cpp           |    2 +-
 2 files changed, 36 insertions(+), 63 deletions(-)


hooks/post-receive
-- 
GNU MyServer




reply via email to

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