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-164-


From: Giuseppe Scrivano
Subject: [myserver-commit] [SCM] GNU MyServer branch, master, updated. 0_9_2-164-g06601b4
Date: Sat, 17 Apr 2010 21:24:26 +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  06601b45ee04b9b78537879501a7d1aebb1b4296 (commit)
       via  4872c39a40e8e4348d601b18546fe1e454caabb6 (commit)
       via  5da59b2c50846128fd02314db181f681316216a5 (commit)
       via  b5a539c2c42060879def9aac76d423ab1d2eb446 (commit)
       via  bc5a97323c6941d6bdf4ca65311af9e16db52a80 (commit)
       via  8a7258a6dbdacd41369361a96a3930ae808b2b6b (commit)
       via  344439789e734a7ebf7f5cdf02936e62efa32ae9 (commit)
      from  6ce0bb4748c478112b86b5370dbe4f14f51fc10e (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 06601b45ee04b9b78537879501a7d1aebb1b4296
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Apr 17 23:24:12 2010 +0200

    Handle exceptions in the dynamic libraries handler

diff --git a/myserver/src/base/dynamic_lib/dynamiclib.cpp 
b/myserver/src/base/dynamic_lib/dynamiclib.cpp
index 5ad911c..bcff708 100644
--- a/myserver/src/base/dynamic_lib/dynamiclib.cpp
+++ b/myserver/src/base/dynamic_lib/dynamiclib.cpp
@@ -18,6 +18,25 @@
 
 #include "myserver.h"
 #include <include/base/dynamic_lib/dynamiclib.h>
+#include <include/base/exceptions/exceptions.h>
+
+
+class DynError : public AbstractServerException
+{
+public:
+  DynError (const char *err)
+  {
+    this->err = err;
+  }
+
+  virtual const char *what () const throw ()
+  {
+    return err;
+  }
+private:
+  const char *err;
+};
+
 
 /*!
  * Initialize class internal data.
@@ -45,6 +64,9 @@ int DynamicLibrary::loadLibrary (const char* filename, int 
globally)
   fileName.assign (filename);
 #ifdef WIN32
   handle = LoadLibrary (filename);
+  /* FIXME: use a real error message.  */
+  if (handle == NULL)
+    throw DynError ("");
 #endif
 
 #ifdef HAVE_DL
@@ -59,6 +81,9 @@ int DynamicLibrary::loadLibrary (const char* filename, int 
globally)
 # endif
 
   handle = dlopen (filename, flag);
+  if (handle == NULL)
+    throw DynError (dlerror ());
+
 #endif
   return handle ? 0 : 1;
 }
@@ -73,7 +98,7 @@ void* DynamicLibrary::getProc (const char* fnName)
   if (!handle)
     return 0;
 #ifdef WIN32
-    return (void*) GetProcAddress ((HMODULE)handle, fnName);
+    return (void*) GetProcAddress ((HMODULE) handle, fnName);
 #endif
 #ifdef HAVE_DL
     return (void*) dlsym (handle, fnName);
@@ -89,10 +114,15 @@ int DynamicLibrary::close ()
   if (!handle)
     return 1;
 #ifdef WIN32
-    ret = FreeLibrary ((HMODULE)handle) ? 0 : 1;
+    ret = FreeLibrary ((HMODULE) handle) ? 0 : 1;
+    /* FIXME: use a real error message.  */
+    if (! ret)
+      throw DynError ("");
 #endif
 #ifdef HAVE_DL
     ret = dlclose (handle);
+    if (ret)
+      throw DynError (dlerror ());
 #endif
     handle = 0;
     fileName.assign ("");
diff --git a/myserver/src/http_handler/mscgi/mscgi_manager.cpp 
b/myserver/src/http_handler/mscgi/mscgi_manager.cpp
index 9a63cba..15c9a5f 100644
--- a/myserver/src/http_handler/mscgi/mscgi_manager.cpp
+++ b/myserver/src/http_handler/mscgi/mscgi_manager.cpp
@@ -33,7 +33,7 @@ using namespace std;
  */
 int MscgiManager::write (const char* str)
 {
-  return cgidata->mscgi->write (str, (u_long)strlen (str), cgidata);
+  return cgidata->mscgi->write (str, (u_long) strlen (str), cgidata);
 }
 
 /*!
@@ -41,7 +41,7 @@ int MscgiManager::write (const char* str)
  */
 int MscgiManager::write (const void* data, int len)
 {
-  return cgidata->mscgi->write ((const char*)data, len, cgidata);
+  return cgidata->mscgi->write ((const char*) data, len, cgidata);
 }
 
 Server* MscgiManager::getServer ()
@@ -148,7 +148,10 @@ char* MscgiManager::postParam (const char* param)
   u_long nbr = 0;
   char c;
 
-  u_long toRead = td->inputData.getFileSize ();
+  u_long toRead = 0;
+
+  if (td->inputData.getHandle () >= 0)
+    toRead = td->inputData.getFileSize ();
 
   buffer[0] = '\0';
   localbuffer[0] = '\0';
@@ -164,7 +167,8 @@ char* MscgiManager::postParam (const char* param)
     {
       if (!strncmp (param, buffer, strlen (param)))
       {
-        myserver_strlcpy (localbuffer, &buffer[strlen (param)], 
LOCAL_BUFFER_DIM);
+        myserver_strlcpy (localbuffer, &buffer[strlen (param)],
+                          LOCAL_BUFFER_DIM);
         break;
       }
       buffer[0] = '\0';



commit 4872c39a40e8e4348d601b18546fe1e454caabb6
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Apr 17 23:23:49 2010 +0200

    Ask libtool to copy the myserver executable to the destination

diff --git a/myserver/src/Makefile.am b/myserver/src/Makefile.am
index 2f78a55..68c796e 100644
--- a/myserver/src/Makefile.am
+++ b/myserver/src/Makefile.am
@@ -18,7 +18,6 @@
 AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/lib -I$(top_srcdir)/lib
 AM_CXXFLAGS="-I$(top_srcdir)/lib"
 
-
 SUBDIRS = base conf connection connections_scheduler filter http_handler \
        log plugin protocol server GUI
 
@@ -168,4 +167,4 @@ myserver_LDADD = libmyserver.la $(PTHREAD_LIB) $(IDN_LIB) \
        $(XML_LIBS) $(INTLLIBS) $(LDFLAGS)
 
 all-local: libmyserver.la myserver${EXEEXT}
-       cp myserver${EXEEXT} ../binaries*/
+       $(LIBTOOL) --mode=install cp libmyserver.la myserver 
$(abs_top_srcdir)/binaries/



commit 5da59b2c50846128fd02314db181f681316216a5
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Apr 17 23:20:24 2010 +0200

    Specify the module suffix to libtool

diff --git a/myserver/binaries/web/cgi-src/math_sum/Makefile.am 
b/myserver/binaries/web/cgi-src/math_sum/Makefile.am
index fff3b1b..21ce31b 100644
--- a/myserver/binaries/web/cgi-src/math_sum/Makefile.am
+++ b/myserver/binaries/web/cgi-src/math_sum/Makefile.am
@@ -19,18 +19,14 @@
 AM_CXXFLAGS="-I$(top_srcdir)/lib"
 lib_LTLIBRARIES = libmath_sum.la
 libmath_sum_la_SOURCES = math_sum.cpp
-libmath_sum_la_LDFLAGS = -avoid-version -module -shared
+libmath_sum_la_LDFLAGS = -shared -export-dynamic -no-install -no-undefined 
-module \
+                                                                               
 -avoid-version -shrext .mscgi
 libmath_sum_la_LIBADD = ../../../../src/libmyserver.la 
../../../../lib/libgnu.la
-SO_EXT=`$(LIBTOOL) --config | $(SED) -e"y/'/\"/" -e '/^shrext_cmds/ !d; 
s/^.*="\(.*\)"/\1/'`
 
 all: all-am math_sum.mscgi
 
 math_sum.mscgi: libmath_sum.la
-       test \! -e .libs/libmath_sum$(SO_EXT) || cp .libs/libmath_sum$(SO_EXT) 
../../cgi-bin/math_sum.mscgi
-
-clean-local:
-       test \! -e libmath_sum.la || \
-       $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall 
libmath_sum.la
-
+       test \! -e .libs/libmath_sum.mscgi \
+               || cp .libs/libmath_sum.mscgi ../../cgi-bin/math_sum.mscgi
 
 .phony : math_sum.mscgi
diff --git a/myserver/binaries/web/cgi-src/post/Makefile.am 
b/myserver/binaries/web/cgi-src/post/Makefile.am
index 30711c0..4ac532f 100644
--- a/myserver/binaries/web/cgi-src/post/Makefile.am
+++ b/myserver/binaries/web/cgi-src/post/Makefile.am
@@ -19,18 +19,14 @@
 AM_CXXFLAGS="-I$(top_srcdir)/lib"
 lib_LTLIBRARIES = libpost.la
 libpost_la_SOURCES = post.cpp
-libpost_la_LDFLAGS = -avoid-version -module -shared
+libpost_la_LDFLAGS = -shared -export-dynamic -no-install -no-undefined -module 
\
+                                                                               
 -avoid-version -shrext .mscgi
 libpost_la_LIBADD = ../../../../src/libmyserver.la ../../../../lib/libgnu.la
-SO_EXT=`$(LIBTOOL) --config | $(SED) -e"y/'/\"/" -e '/^shrext_cmds/ !d; 
s/^.*="\(.*\)"/\1/'`
 
 all: all-am post.mscgi
 
 post.mscgi: libpost.la
-       test \! -e .libs/libpost$(SO_EXT) || cp .libs/libpost$(SO_EXT) 
../../cgi-bin/post.mscgi
-
-clean-local:
-       test \! -e libpost.la \
-       || $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall 
libpost.la
-
+       test \! -e .libs/libpost.mscgi \
+               || cp .libs/libpost.mscgi ../../cgi-bin/post.mscgi
 
 .phony : post.mscgi



commit b5a539c2c42060879def9aac76d423ab1d2eb446
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Apr 17 23:19:44 2010 +0200

    Silent exceptions in the mscgi examples

diff --git a/myserver/binaries/web/cgi-src/math_sum/math_sum.cpp 
b/myserver/binaries/web/cgi-src/math_sum/math_sum.cpp
index 4416867..a0c6436 100644
--- a/myserver/binaries/web/cgi-src/math_sum/math_sum.cpp
+++ b/myserver/binaries/web/cgi-src/math_sum/math_sum.cpp
@@ -1,14 +1,13 @@
 #include <include/http_handler/mscgi/mscgi_manager.h>
 
-int isNumber(char* s)
+static int isNumber (char* s)
 {
-  if(!s)
+  if (!s)
     return 0;
-  for(u_long i=0; i<strlen(s);i++)
-    if(!isdigit(s[i]))
+  for (u_long i = 0; i < strlen (s); i++)
+    if (!isdigit (s[i]))
       return 0;
   return 1;
-
 }
 
 
@@ -16,116 +15,127 @@ const char *program_name;
 
 EXPORTABLE(int) myserver_main (char *cmd, MsCgiData* data)
 {
-       MscgiManager cm(data);
-  program_name = cmd;
+  try
+    {
+      MscgiManager cm(data);
+      program_name = cmd;
+      if (strlen (cmd) == 0)
+        {
+          cm.write ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"
+                    "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n"
+                    "\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\r\n"
+                    "<html xmlns=\"http://www.w3.org/1999/xhtml\"; 
xml:lang=\"en\">\r\n"
+                    "<head>\r\n<title>MyServer</title>\r\n"
+                    "<meta http-equiv=\"content-type\" 
content=\"text/html;charset=UTF-8\" />\r\n"
+                    "</head>\r\n<body style=\"color: #666699;\">\r\n"
+                    "<div style=\"text-align: center;\">\r\n"
+                    "<br />\r\n<img src=\"/logo.png\" alt=\"\" style=\"border: 
0px;\" />\r\n"
+                    "<br /><br />\r\n"
+                    "<form action=\"math_sum.mscgi\" method=\"get\" 
enctype=\"text/plain\">\r\n"
+                    "<div>\r\n<input type=\"text\" name=\"a\" size=\"20\" 
/>\r\n"
+                    "<br /><br />\r\n+<br /><br />\r\n"
+                    "<input type=\"text\" name=\"b\" size=\"20\" />\r\n"
+                    "<br /><br />\r\n<input type=\"submit\" value=\"Compute!\" 
/>\r\n"
+                    "</div>\r\n</form>\r\n<br 
/>\r\n</div>\r\n</body>\r\n</html>");
+        }
+      else
+        {
+          u_long dim = 120;
+          char lb[120];
+          int a = 0;
+          int b = 0;
+          char *tmp;
+          int validNumbers = 1;
+          int iRes;
+          char res[22]; // a 64-bit number has a maximum of 20 digits and 1 
for the sign
+          cm.write ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"
+                    "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n"
+                    "\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\r\n"
+                    "<html xmlns=\"http://www.w3.org/1999/xhtml\"; 
xml:lang=\"en\">\r\n"
+                    "<head>\r\n<title>MyServer</title>\r\n"
+                    "<meta http-equiv=\"content-type\" 
content=\"text/html;charset=UTF-8\" />\r\n"
+                    "</head>"
+                    "<body style=\"color: #666699;\">\r\n<div 
style=\"text-align: center;\">\r\n"
+                    "<br /><br />\r\n<img src=\"/logo.png\" alt=\"\" 
style=\"border: 0px;\" />\r\n"
+                    "<br /><br />\r\n");
 
-       if(strlen (cmd) == 0)
-       {
-               cm.write("<?xml version=\"1.0\" 
encoding=\"UTF-8\"?>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n\
-\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\r\n\
-<html xmlns=\"http://www.w3.org/1999/xhtml\"; xml:lang=\"en\">\r\n\
-<head>\r\n<title>MyServer</title>\r\n\
-<meta http-equiv=\"content-type\" content=\"text/html;charset=UTF-8\" />\r\n\
-</head>\r\n<body style=\"color: #666699;\">\r\n<div style=\"text-align: 
center;\">\r\n\
-<br />\r\n<img src=\"/logo.png\" alt=\"\" style=\"border: 0px;\" />\r\n<br 
/><br />\r\n\
-<form action=\"math_sum.mscgi\" method=\"get\" enctype=\"text/plain\">\r\n\
-<div>\r\n<input type=\"text\" name=\"a\" size=\"20\" />\r\n<br /><br 
/>\r\n+<br /><br />\r\n<input type=\"text\" name=\"b\" size=\"20\" />\r\n<br 
/><br />\r\n<input type=\"submit\" value=\"Compute!\" 
/>\r\n</div>\r\n</form>\r\n<br />\r\n</div>\r\n</body>\r\n</html>");
-       }
-       else
-       {
-               u_long dim = 120;
-               char lb[120];
-               int a = 0;
-               int b = 0;
-               char *tmp;
-    int validNumbers = 1;
-               int iRes;
-               char res[22]; // a 64-bit number has a maximum of 20 digits and 
1 for the sign
-               cm.write("<?xml version=\"1.0\" 
encoding=\"UTF-8\"?>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n\
-\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\r\n\
-<html xmlns=\"http://www.w3.org/1999/xhtml\"; xml:lang=\"en\">\r\n\
-<head>\r\n<title>MyServer</title>\r\n\
-<meta http-equiv=\"content-type\" content=\"text/html;charset=UTF-8\" />\r\n\
-</head>\
-<body style=\"color: #666699;\">\r\n<div style=\"text-align: center;\">\r\n\
-<br /><br />\r\n<img src=\"/logo.png\" alt=\"\" style=\"border: 0px;\" 
/>\r\n<br /><br />\r\n");
+          tmp = cm.getParam ("a");
+          if(tmp && !isNumber (tmp))
+            validNumbers = 0;
 
-    tmp = cm.getParam("a");
-    if(tmp && !isNumber(tmp))
-    {
-      validNumbers=0;
-    }
-    tmp = cm.getParam("b");
-    if(tmp && !isNumber(tmp))
-    {
-      validNumbers=0;
-    }
+          tmp = cm.getParam ("b");
+          if (tmp && !isNumber(tmp))
+            validNumbers = 0;
 
-    if(validNumbers)
-    {
-      tmp = cm.getParam("a");
-      if (tmp && tmp[0] != '\0')
-      {
-        if (strlen(tmp) > 11)
-          tmp[11] = '\0';
-        a = atoi(tmp);
-        cm.write(tmp);
-      }
-      else
-      {
-        cm.write("0");
-      }
-      cm.write(" + ");
+          if (validNumbers)
+            {
+              tmp = cm.getParam ("a");
+              if (tmp && tmp[0] != '\0')
+                {
+                  if (strlen (tmp) > 11)
+                    tmp[11] = '\0';
+                  a = atoi (tmp);
+                  cm.write (tmp);
+                }
+              else
+                cm.write ("0");
 
-      tmp = cm.getParam("b");
+              cm.write (" + ");
 
-      if (tmp && tmp[0] != '\0')
-      {
-        if (strlen(tmp) > 11)
-          tmp[11] = '\0';
-        b = atoi(tmp);
-        cm.write(tmp);
-      }
-      else
-        cm.write("0");
+              tmp = cm.getParam ("b");
+              if (tmp && tmp[0] != '\0')
+                {
+                  if (strlen (tmp) > 11)
+                    tmp[11] = '\0';
+                  b = atoi (tmp);
+                  cm.write (tmp);
+                }
+              else
+                cm.write("0");
 
-      cm.write(" = ");
-      iRes = a + b;
+              cm.write(" = ");
+              iRes = a + b;
 #ifdef WIN32
-      _i64toa(iRes, res, 10);
+              _i64toa(iRes, res, 10);
 #else
-      sprintf(res,"%i", (int)iRes);
+              sprintf(res,"%i", (int) iRes);
 #endif
-      cm.write(res);
+              cm.write (res);
+            }
+          else
+            {
+              cm.write ("Invalid input format");
+            }
+
+          cm.getenv ("SERVER_NAME", lb, &dim);
+          cm.write ("\r\n<br />\r\nRunning on: ");
+          cm.write (lb);
+          cm.write ("(");
+          cm.getenv ("HTTP_HOST", lb, &dim);
+          cm.write (lb);
+
+          cm.write (")\r\n</div>\r\n</body>\r\n</html>");
+        }
+
+      cm.clean ();
     }
-    else
+  catch (exception & e)
     {
-      cm.write("Invalid input format");
+      return 1;
     }
-
-               cm.getenv("SERVER_NAME", lb, &dim);
-               cm.write("\r\n<br />\r\nRunning on: ");
-               cm.write(lb);
-               cm.write("(");
-               cm.getenv("HTTP_HOST", lb, &dim);
-               cm.write(lb);
-
-               cm.write(")\r\n</div>\r\n</body>\r\n</html>");
-       }
-     cm.clean();
-     return 0;
+  return 0;
 }
 #ifdef WIN32
-BOOL APIENTRY DllMain( HANDLE,DWORD ul_reason_for_call,LPVOID)
+BOOL APIENTRY DllMain (HANDLE, DWORD ul_reason_for_call, LPVOID)
 {
        switch (ul_reason_for_call)
-       {
+    {
                case DLL_PROCESS_ATTACH:
                case DLL_THREAD_ATTACH:
                case DLL_THREAD_DETACH:
                case DLL_PROCESS_DETACH:
                        break;
-       }
+    }
        return TRUE;
 }
 #endif
diff --git a/myserver/binaries/web/cgi-src/post/post.cpp 
b/myserver/binaries/web/cgi-src/post/post.cpp
index 0f9203f..fd7043b 100644
--- a/myserver/binaries/web/cgi-src/post/post.cpp
+++ b/myserver/binaries/web/cgi-src/post/post.cpp
@@ -5,37 +5,47 @@ const char *program_name;
 
 EXPORTABLE(int) myserver_main (char *cmd, MsCgiData* data)
 {
-  MscgiManager cm(data);
+  try
+    {
+      MscgiManager cm (data);
 
-  char *post = cm.postParam("T1");
+      char *post = cm.postParam ("T1");
 
-  program_name = cmd;
-  if(post == NULL)
-    {
-      cm.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!DOCTYPE html 
PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n\
-\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\r\n\
-<html xmlns=\"http://www.w3.org/1999/xhtml\"; xml:lang=\"en\">\r\n\
-<head>\r\n<title>MyServer</title>\r\n\
-<meta http-equiv=\"content-type\" content=\"text/html;charset=UTF-8\" />\r\n\
-</head>\r\n<body style=\"color: #666699;\">\r\n<div style=\"text-align: 
center;\">\r\n\
-<br />\r\n<img src=\"/logo.png\" alt=\"\" style=\"border: 0px;\" />\r\n<br 
/><br />\r\n\
-<form action=\"post.mscgi\" method=\"post\" enctype=\"text/plain\">\r\n\
-<div>\r\n<input type=\"text\" name=\"T1\" size=\"20\" value=\"POST\" />\r\n<br 
/><br />\r\n<input type=\"submit\" value=\"Send\" />\r\n\
-<input type=\"reset\" value=\"Reset\" />\r\n</div>\r\n</form>\r\n<br 
/>\r\n</div>\r\n</body>\r\n</html>");
+      program_name = cmd;
+      if(post == NULL)
+        {
+          cm.write ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!DOCTYPE 
html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n"
+                    "\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\r\n"
+                    "<html xmlns=\"http://www.w3.org/1999/xhtml\"; 
xml:lang=\"en\">\r\n"
+                    "<head>\r\n<title>MyServer</title>\r\n"
+                    "<meta http-equiv=\"content-type\" 
content=\"text/html;charset=UTF-8\" />\r\n"
+                    "</head>\r\n<body style=\"color: #666699;\">\r\n<div 
style=\"text-align: center;\">\r\n"
+                    "<br />\r\n<img src=\"/logo.png\" alt=\"\" style=\"border: 
0px;\" />\r\n<br /><br />\r\n"
+                    "<form action=\"post.mscgi\" method=\"post\" 
enctype=\"text/plain\">\r\n"
+                    "<div>\r\n<input type=\"text\" name=\"T1\" size=\"20\" 
value=\"POST\" />\r\n"
+                    "<br /><br />\r\n<input type=\"submit\" value=\"Send\" 
/>\r\n"
+                    "<input type=\"reset\" value=\"Reset\" 
/>\r\n</div>\r\n</form>\r\n<br />\r\n</div>\r\n</body>\r\n</html>");
+        }
+      else
+        {
+          cm.write ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!DOCTYPE 
html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n"
+                    "\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\r\n"
+                    "<html xmlns=\"http://www.w3.org/1999/xhtml\"; 
xml:lang=\"en\">\r\n"
+                    "<head>\r\n<title>MyServer</title>\r\n"
+                    "<meta http-equiv=\"content-type\" 
content=\"text/html;charset=UTF-8\" />\r\n"
+                    "</head>\r\n<body style=\"color: #666699;\">\r\n<div 
style=\"text-align: center;\">\r\n"
+                    "<br />\r\n<img src=\"/logo.png\" alt=\"\" style=\"border: 
0px;\" />\r\n<br /><br />\r\n"
+                    "Posted argument:&nbsp;");
+          cm.write (post);
+          cm.write ("\r\n</div>\r\n</body>\r\n</html>");
+        }
+
+      cm.clean ();
     }
-       else
+  catch (exception & e)
     {
-      cm.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!DOCTYPE html 
PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n\
-\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\";>\r\n\
-<html xmlns=\"http://www.w3.org/1999/xhtml\"; xml:lang=\"en\">\r\n\
-<head>\r\n<title>MyServer</title>\r\n\
-<meta http-equiv=\"content-type\" content=\"text/html;charset=UTF-8\" />\r\n\
-</head>\r\n<body style=\"color: #666699;\">\r\n<div style=\"text-align: 
center;\">\r\n\
-<br />\r\n<img src=\"/logo.png\" alt=\"\" style=\"border: 0px;\" />\r\n<br 
/><br />\r\nPosted argument:&nbsp;");
-      cm.write(post);
-      cm.write("\r\n</div>\r\n</body>\r\n</html>");
+      return 1;
     }
-       cm.clean();
        return 0;
 }
 



commit bc5a97323c6941d6bdf4ca65311af9e16db52a80
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Apr 17 20:19:23 2010 +0200

    Error pages are already mapped to the local file system

diff --git a/myserver/src/protocol/http/http.cpp 
b/myserver/src/protocol/http/http.cpp
index cfa0f69..4bcc303 100644
--- a/myserver/src/protocol/http/http.cpp
+++ b/myserver/src/protocol/http/http.cpp
@@ -408,6 +408,10 @@ int Http::getFilePermissions (string& filename, string& 
directory, string& file,
       else
         td->authScheme = HTTP_AUTH_SCHEME_BASIC;
     }
+  catch (FileNotFoundException & e)
+    {
+      return raiseHTTPError (404);
+    }
   catch (...)
     {
       td->connection->host->warningsLogWrite (
@@ -533,6 +537,10 @@ int Http::preprocessHttpRequest (string& filename, int 
yetmapped, int* permissio
 
       td->mime = mimeLoc ? mimeLoc : getMIME (td->filenamePath);
     }
+  catch (FileNotFoundException & e)
+    {
+      return 404;
+    }
   catch (...)
     {
       td->connection->host->warningsLogWrite (_("HTTP: internal error"));
@@ -1415,7 +1423,7 @@ int Http::raiseHTTPError (int ID)
           if (FilesUtility::nodeExists (errorFile.str ().c_str ()))
             {
               string errorFileStr = errorFile.str ();
-              return sendHTTPResource (errorFileStr, 1, td->onlyHeader);
+              return sendHTTPResource (errorFileStr, 1, td->onlyHeader, 1);
             }
           else
             td->connection->host->warningsLogWrite (



commit 8a7258a6dbdacd41369361a96a3930ae808b2b6b
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Apr 17 13:45:11 2010 +0200

    Fix mistake in an error message

diff --git a/myserver/src/http_handler/mscgi/mscgi.cpp 
b/myserver/src/http_handler/mscgi/mscgi.cpp
index 2b349d4..28ba912 100644
--- a/myserver/src/http_handler/mscgi/mscgi.cpp
+++ b/myserver/src/http_handler/mscgi/mscgi.cpp
@@ -148,7 +148,7 @@ int MsCgi::send (HttpThreadContext* td, const char* exec, 
const char* cmdLine,
     }
   catch (exception & e)
     {
-      td->connection->host->warningsLogWrite (_E ("Cgi: internal error"), &e);
+      td->connection->host->warningsLogWrite (_E ("Msgi: internal error"), &e);
       return td->http->raiseHTTPError (500);
     }
 



commit 344439789e734a7ebf7f5cdf02936e62efa32ae9
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Apr 17 13:44:58 2010 +0200

    A negative handle is invalid

diff --git a/myserver/src/protocol/http/env/env.cpp 
b/myserver/src/protocol/http/env/env.cpp
index fa088fd..4ba281f 100644
--- a/myserver/src/protocol/http/env/env.cpp
+++ b/myserver/src/protocol/http/env/env.cpp
@@ -106,7 +106,7 @@ void Env::buildEnvironmentString (HttpThreadContext* td, 
char *cgiEnv,
     u_long fs = 0;
     ostringstream stream;
 
-    if (td->inputData.getHandle ())
+    if (td->inputData.getHandle () >= 0)
       fs = td->inputData.getFileSize ();
 
     stream << fs;

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

Summary of changes:
 myserver/binaries/web/cgi-src/math_sum/Makefile.am |   12 +-
 .../binaries/web/cgi-src/math_sum/math_sum.cpp     |  198 ++++++++++---------
 myserver/binaries/web/cgi-src/post/Makefile.am     |   12 +-
 myserver/binaries/web/cgi-src/post/post.cpp        |   62 ++++---
 myserver/src/Makefile.am                           |    3 +-
 myserver/src/base/dynamic_lib/dynamiclib.cpp       |   34 +++-
 myserver/src/http_handler/mscgi/mscgi.cpp          |    2 +-
 myserver/src/http_handler/mscgi/mscgi_manager.cpp  |   12 +-
 myserver/src/protocol/http/env/env.cpp             |    2 +-
 myserver/src/protocol/http/http.cpp                |   10 +-
 10 files changed, 200 insertions(+), 147 deletions(-)


hooks/post-receive
-- 
GNU MyServer




reply via email to

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