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


From: Giuseppe Scrivano
Subject: [myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-344-g93a4d9b
Date: Fri, 20 Aug 2010 20:01:52 +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  93a4d9b00be9a052eb1ee9158f1c83670584ee24 (commit)
       via  0e5cdde5f3fe247c583418f48f2f276241db8226 (commit)
      from  2d4ffb0f4bcec6cfda7cd89ba6b34e8969876df5 (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 93a4d9b00be9a052eb1ee9158f1c83670584ee24
Author: Giuseppe Scrivano <address@hidden>
Date:   Fri Aug 20 22:01:25 2010 +0200

    Use `off_t' with file offsets.

diff --git a/myserver/include/base/file/file.h 
b/myserver/include/base/file/file.h
index d17b72b..ca614e7 100644
--- a/myserver/include/base/file/file.h
+++ b/myserver/include/base/file/file.h
@@ -59,11 +59,10 @@ public:
   virtual int openFile (string const &file, u_long opt, mode_t mask = 00700)
   {return openFile (file.c_str (), opt, mask);}
 
-  /* FIXME: use off_t.  */
-  virtual size_t getFileSize ();
+  virtual off_t getFileSize ();
 
-  virtual int seek (size_t);
-  virtual size_t getSeek ();
+  virtual int seek (off_t);
+  virtual off_t getSeek ();
 
   virtual time_t getLastModTime ();
   virtual time_t getCreationTime ();
@@ -80,7 +79,7 @@ public:
   virtual int read (char* buffer, size_t len, size_t *nbr);
   virtual int write (const char* buffer, size_t len, size_t *nbw);
 
-  virtual int fastCopyToSocket (Socket *dest, size_t offset,
+  virtual int fastCopyToSocket (Socket *dest, off_t offset,
                                 MemBuf *buf, size_t *nbw);
 
   int truncate (u_long size = 0);
@@ -89,6 +88,7 @@ public:
 
   /*! Get the options mask used with openFile.  */
   u_long getOpenOptions (){return opt;}
+
 protected:
   /* Options used by open.  */
   u_long opt;
diff --git a/myserver/include/base/files_cache/cached_file.h 
b/myserver/include/base/files_cache/cached_file.h
index 6a5e05c..9a72c0b 100644
--- a/myserver/include/base/files_cache/cached_file.h
+++ b/myserver/include/base/files_cache/cached_file.h
@@ -41,20 +41,20 @@ public:
   virtual int openFile (string const &file, u_long opt, mode_t mask = 00700)
   {return openFile (file.c_str (), opt, mask);}
 
-  virtual size_t getFileSize ();
-  virtual int seek (size_t);
+  virtual off_t getFileSize ();
+  virtual int seek (off_t);
 
   using File::operator =;
   virtual int operator =(CachedFile);
   virtual int close ();
 
-  virtual int fastCopyToSocket (Socket *dest, size_t offset,
+  virtual int fastCopyToSocket (Socket *dest, off_t offset,
                                 MemBuf *buf, size_t *nbw);
 
   virtual int write (const char *buffer, size_t len, size_t *nbw);
 
 protected:
-  size_t fseek;
+  off_t fseek;
   CachedFileBuffer *buffer;
 };
 #endif
diff --git a/myserver/include/base/files_cache/cached_file_buffer.h 
b/myserver/include/base/files_cache/cached_file_buffer.h
index 57dcc84..a9ddc3c 100644
--- a/myserver/include/base/files_cache/cached_file_buffer.h
+++ b/myserver/include/base/files_cache/cached_file_buffer.h
@@ -41,7 +41,7 @@ public:
   void setFactoryToNotify (CachedFileFactory *cff);
   CachedFileFactory* getFactoryToNotify (){return factoryToNotify;}
 
-  size_t getFileSize (){return fileSize;}
+  off_t getFileSize (){return fileSize;}
   CachedFileBuffer (const char* filename);
   CachedFileBuffer (File* file);
   CachedFileBuffer (const char* buffer, u_long size);
diff --git a/myserver/include/base/files_cache/membuf_file.h 
b/myserver/include/base/files_cache/membuf_file.h
index 2163a2d..4695095 100644
--- a/myserver/include/base/files_cache/membuf_file.h
+++ b/myserver/include/base/files_cache/membuf_file.h
@@ -42,21 +42,21 @@ public:
   virtual int openFile (string const &file, u_long opt, mode_t mask = 00700)
   {return openFile (file.c_str (), opt, mask);}
 
-  virtual size_t getFileSize ();
-  virtual int seek (size_t);
+  virtual off_t getFileSize ();
+  virtual int seek (off_t);
 
   virtual int close ();
 
   using File::operator =;
 
-  virtual int fastCopyToSocket (Socket *dest, size_t offset,
+  virtual int fastCopyToSocket (Socket *dest, off_t offset,
                                 MemBuf *buf, size_t *nbw);
 
-  virtual size_t getSeek ();
+  virtual off_t getSeek ();
   virtual int write (const char* buffer, size_t len, size_t *nbw);
 
 protected:
-  size_t fseek;
+  off_t fseek;
   MemBuf *buffer;
 };
 #endif
diff --git a/myserver/include/http_handler/http_file/http_file.h 
b/myserver/include/http_handler/http_file/http_file.h
index e672e9a..944197a 100644
--- a/myserver/include/http_handler/http_file/http_file.h
+++ b/myserver/include/http_handler/http_file/http_file.h
@@ -40,8 +40,9 @@ protected:
                string& filename);
   int deleteFile (HttpThreadContext* td,
                   string& filename);
+
 private:
-  static void generateEtag (string & etag, u_long mtime, u_long size);
+  static void generateEtag (string & etag, u_long mtime, off_t size);
 };
 
 
diff --git a/myserver/include/protocol/http/http_request.h 
b/myserver/include/protocol/http/http_request.h
index b15d69f..8aa386a 100644
--- a/myserver/include/protocol/http/http_request.h
+++ b/myserver/include/protocol/http/http_request.h
@@ -52,8 +52,8 @@ struct HttpRequestHeader : public HttpHeader
   string uriOpts;
   char *uriOptsPtr;
   string rangeType;
-  u_long rangeByteBegin;
-  u_long rangeByteEnd;
+  off_t rangeByteBegin;
+  off_t rangeByteEnd;
   int uriEndsWithSlash;
 
   /*! Digest authorization scheme stuff.  */
diff --git a/myserver/include/protocol/http/http_thread_context.h 
b/myserver/include/protocol/http/http_thread_context.h
index a778952..56033b1 100644
--- a/myserver/include/protocol/http/http_thread_context.h
+++ b/myserver/include/protocol/http/http_thread_context.h
@@ -85,7 +85,7 @@ struct HttpThreadContext
   File inputData;
   File outputData;
   int authScheme;
-  Http* http;
+  Http *http;
   MimeRecord *mime;
   int sentData;
   SecurityToken securityToken;
diff --git a/myserver/src/base/file/file.cpp b/myserver/src/base/file/file.cpp
index 3a3555c..f103d14 100644
--- a/myserver/src/base/file/file.cpp
+++ b/myserver/src/base/file/file.cpp
@@ -270,22 +270,20 @@ int File::close ()
   Returns the file size in bytes.
   Returns -1 on errors.
  */
-size_t File::getFileSize ()
+off_t File::getFileSize ()
 {
-  u_long ret;
   struct stat fStats;
-  ret = checked::fstat (handle, &fStats);
-  if (ret)
-    return (u_long)(-1);
-  else
-    return fStats.st_size;
+
+  checked::fstat (handle, &fStats);
+
+  return fStats.st_size;
 }
 
 /*!
   Change the position of the pointer to the file.
   \param initialByte The new file pointer position.
  */
-int File::seek (size_t initialByte)
+int File::seek (off_t initialByte)
 {
   u_long ret;
   ret = checked::checkError (gnulib::lseek (handle, initialByte, SEEK_SET));
@@ -297,7 +295,7 @@ int File::seek (size_t initialByte)
 
   \return The current file pointer position.
  */
-size_t File::getSeek ()
+off_t File::getSeek ()
 {
   off_t ret = gnulib::lseek (handle, 0, SEEK_CUR);
   if (ret < 0)
@@ -365,12 +363,12 @@ int File::read (char* buffer, size_t buffersize, size_t* 
nbr)
   \param buf Temporary buffer that can be used by this function.
   \param nbw Number of bytes sent.
  */
-int File::fastCopyToSocket (Socket *dest, size_t firstByte, MemBuf *buf, 
size_t *nbw)
+int File::fastCopyToSocket (Socket *dest, off_t firstByte, MemBuf *buf, size_t 
*nbw)
 {
   *nbw = 0;
 #ifdef HAVE_SYS_SENDFILE_H
   off_t offset = firstByte;
-  size_t fileSize = getFileSize ();
+  off_t fileSize = getFileSize ();
   while (1)
     {
       int ret = sendfile (dest->getHandle (), getHandle (), &offset,
diff --git a/myserver/src/base/files_cache/cached_file.cpp 
b/myserver/src/base/files_cache/cached_file.cpp
index 2e6eb5f..7b2cc97 100644
--- a/myserver/src/base/files_cache/cached_file.cpp
+++ b/myserver/src/base/files_cache/cached_file.cpp
@@ -125,7 +125,8 @@ int CachedFile::operator =(CachedFile f)
  */
 int CachedFile::read (char* buffer, size_t buffersize, size_t* nbr)
 {
-  size_t toRead = std::min (buffersize, this->buffer->getFileSize () - fseek);
+  size_t toRead = std::min ((size_t) (this->buffer->getFileSize () - fseek),
+                            buffersize);
   const char* src = &(this->buffer->getBuffer ()[fseek]);
   if (nbr)
     *nbr = toRead;
@@ -162,7 +163,7 @@ int CachedFile::close ()
   Returns the file size in bytes.
   Returns -1 on errors.
  */
-size_t CachedFile::getFileSize ()
+off_t CachedFile::getFileSize ()
 {
   return buffer->getFileSize ();
 }
@@ -171,7 +172,7 @@ size_t CachedFile::getFileSize ()
   Change the position of the pointer to the file.
   \param initialByte The new file pointer position.
  */
-int CachedFile::seek (size_t initialByte)
+int CachedFile::seek (off_t initialByte)
 {
   if (initialByte > buffer->getFileSize ())
     return -1;
@@ -197,7 +198,7 @@ int CachedFile::write (const char* buffer, size_t len, 
size_t *nbw)
   \param buf Temporary buffer that can be used by this function.
   \param nbw Number of bytes sent.
  */
-int CachedFile::fastCopyToSocket (Socket *dest, size_t firstByte,
+int CachedFile::fastCopyToSocket (Socket *dest, off_t firstByte,
                                   MemBuf *buf, size_t *nbw)
 {
   return dest->write (&(this->buffer->getBuffer ()[firstByte]),
diff --git a/myserver/src/base/files_cache/membuf_file.cpp 
b/myserver/src/base/files_cache/membuf_file.cpp
index 949f634..55e7852 100644
--- a/myserver/src/base/files_cache/membuf_file.cpp
+++ b/myserver/src/base/files_cache/membuf_file.cpp
@@ -71,7 +71,7 @@ int MemBufFile::read (char *data, size_t len, size_t *nbr)
 {
   const char *buf = buffer->getBuffer ();
 
-  *nbr = min (len, buffer->getLength () - fseek);
+  *nbr = min (len, (size_t) (buffer->getLength () - fseek));
   if (*nbr)
     memcpy (data, buf, *nbr);
 
@@ -112,7 +112,7 @@ int MemBufFile::openFile (const char*, u_long, mode_t mask)
 /*!
   \see File#getFileSize.
 */
-size_t MemBufFile::getFileSize ()
+off_t MemBufFile::getFileSize ()
 {
   return buffer->getLength ();
 }
@@ -120,7 +120,7 @@ size_t MemBufFile::getFileSize ()
 /*!
   \see File#seek.
 */
-int MemBufFile::seek (size_t newSeek)
+int MemBufFile::seek (off_t newSeek)
 {
   fseek = newSeek;
   return 0;
@@ -137,7 +137,7 @@ int MemBufFile::close ()
 /*!
   \see File#fastCopyToSocket.
 */
-int MemBufFile::fastCopyToSocket (Socket *dest, size_t offset,
+int MemBufFile::fastCopyToSocket (Socket *dest, off_t offset,
                                   MemBuf *buf, size_t *nbw)
 {
   const char *data = buffer->getBuffer ();
@@ -157,7 +157,7 @@ int MemBufFile::write (const char* buffer, size_t len, 
size_t *nbw)
 /*!
   \see File#getSeek.
 */
-size_t MemBufFile::getSeek ()
+off_t MemBufFile::getSeek ()
 {
   return fseek;
 }
diff --git a/myserver/src/http_handler/http_file/http_file.cpp 
b/myserver/src/http_handler/http_file/http_file.cpp
index 4f977a8..e00ae9b 100644
--- a/myserver/src/http_handler/http_file/http_file.cpp
+++ b/myserver/src/http_handler/http_file/http_file.cpp
@@ -41,7 +41,7 @@ using namespace std;
  */
 int HttpFile::putFile (HttpThreadContext* td, string& filename)
 {
-  u_long firstByte = td->request.rangeByteBegin;
+  off_t firstByte = td->request.rangeByteBegin;
   int successCode = 500;
   File file;
   int symFlags = td->http->areSymlinksAllowed () ? 0
@@ -173,7 +173,7 @@ int HttpFile::deleteFile (HttpThreadContext* td,
   \param atime Resource last modified time.
   \param size Resource size.
  */
-void HttpFile::generateEtag (string & etag, u_long mtime, u_long fsize)
+void HttpFile::generateEtag (string & etag, u_long mtime, off_t fsize)
 {
 #define ROL(x, y) ((x << y) | (x >> (32 - y)))
   /* Do a bit rotation to have less significative bits in the middle.  */
@@ -199,11 +199,11 @@ int HttpFile::send (HttpThreadContext* td, const char 
*filenamePath,
     With this routine we send a file through the HTTP protocol.
     Open the file and save its handle.
    */
-  size_t filesize = 0;
+  off_t filesize = 0;
   File *file = NULL;
   size_t bytesToSend;
-  size_t firstByte = td->request.rangeByteBegin;
-  size_t lastByte = td->request.rangeByteEnd;
+  off_t firstByte = td->request.rangeByteBegin;
+  off_t lastByte = td->request.rangeByteEnd;
   bool keepalive = false;
   bool useChunks = false;
   bool useModifiers = false;
@@ -336,7 +336,7 @@ int HttpFile::send (HttpThreadContext* td, const char 
*filenamePath,
     if (!useModifiers)
       {
         ostringstream buffer;
-        buffer << (u_int) bytesToSend;
+        buffer << bytesToSend;
         td->response.contentLength.assign (buffer.str ());
       }
 
diff --git a/myserver/src/protocol/http/http_headers.cpp 
b/myserver/src/protocol/http/http_headers.cpp
index 69c9285..890df6d 100644
--- a/myserver/src/protocol/http/http_headers.cpp
+++ b/myserver/src/protocol/http/http_headers.cpp
@@ -162,14 +162,14 @@ u_long HttpHeaders::buildHTTPRequestHeader (char * str,
                                MAX - (long)(pos - str));
       pos += myserver_strlcpy (pos, " ", MAX - (long)(pos - str));
 
-      if (request->rangeByteBegin != (u_long) -1)
+      if (request->rangeByteBegin < 0)
         {
           sprintf (buffer, "%lu", request->rangeByteBegin);
           pos += myserver_strlcpy (pos, buffer, MAX - (long)(pos - str));
         }
 
       pos += myserver_strlcpy (pos, "-", MAX - (long)(pos - str));
-      if (request->rangeByteEnd != (u_long) -1)
+      if (request->rangeByteEnd < 0)
         {
           sprintf (buffer, "%lu", request->rangeByteEnd);
           pos += myserver_strlcpy (pos, buffer, MAX - (long)(pos - str));
@@ -621,8 +621,8 @@ int HttpHeaders::readReqRangeLine (HttpRequestHeader 
*request,
                                    const char *token,
                                    int *lenOut)
 {
-  char rangeByteBegin[13];
-  char rangeByteEnd[13];
+  char rangeByteBegin[32];
+  char rangeByteEnd[32];
   const char *localToken = token;
   size_t i = 0;
   rangeByteBegin[0] = '\0';
@@ -676,13 +676,13 @@ int HttpHeaders::readReqRangeLine (HttpRequestHeader 
*request,
   if (rangeByteBegin[0] == 0)
     request->rangeByteBegin = 0;
   else
-    request->rangeByteBegin = (u_long) atol (rangeByteBegin);
+    request->rangeByteBegin = atoll (rangeByteBegin);
 
   if (rangeByteEnd[0] == '\r')
     request->rangeByteEnd = 0;
   else
     {
-      request->rangeByteEnd = (u_long) atol (rangeByteEnd);
+      request->rangeByteEnd = atoll (rangeByteEnd);
       if (request->rangeByteEnd < request->rangeByteBegin)
         return 400;
     }
diff --git a/myserver/tests/test_file.cpp b/myserver/tests/test_file.cpp
index 258290a..15dd712 100644
--- a/myserver/tests/test_file.cpp
+++ b/myserver/tests/test_file.cpp
@@ -129,7 +129,7 @@ public:
     for (size_t i = 0; i < bufLen; i++)
       CPPUNIT_ASSERT_EQUAL (buf[i], readbuf[i]);
 
-    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), nbr);
+    CPPUNIT_ASSERT_EQUAL ((size_t) tfile->getFileSize (), nbr);
     CPPUNIT_ASSERT_EQUAL (tfile->close (), 0);
 
     try
@@ -163,7 +163,7 @@ public:
   {
     CPPUNIT_ASSERT_EQUAL (openHelper (), 0);
     CPPUNIT_ASSERT_EQUAL (tfile->seek (1), 0);
-    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (size_t) 1);
+    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (off_t) 1);
   }
 
   void testBinary ()
@@ -196,22 +196,22 @@ public:
 
     CPPUNIT_ASSERT_EQUAL (openHelper (), 0);
 
-    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), (size_t) 0);
+    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), (off_t) 0);
 
     const char *data = "Hello World!"; /* Something very original.  */
     const size_t dataLen = strlen (data);
 
     CPPUNIT_ASSERT_EQUAL (tfile->writeToFile (data, dataLen, &nbw), 0);
 
-    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), dataLen);
+    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), (off_t) dataLen);
 
     CPPUNIT_ASSERT_EQUAL (tfile->truncate (dataLen / 2), 0);
 
-    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), dataLen / 2);
+    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), (off_t) dataLen / 2);
 
     CPPUNIT_ASSERT_EQUAL (tfile->writeToFile (data, dataLen, &nbw), 0);
 
-    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), dataLen + dataLen / 2);
+    CPPUNIT_ASSERT_EQUAL (tfile->getFileSize (), (off_t) (dataLen + dataLen / 
2));
 
     try
       {
diff --git a/myserver/tests/test_membuf_file.cpp 
b/myserver/tests/test_membuf_file.cpp
index 0225809..ee0009b 100644
--- a/myserver/tests/test_membuf_file.cpp
+++ b/myserver/tests/test_membuf_file.cpp
@@ -93,10 +93,10 @@ public:
     const size_t len = strlen (data);
     size_t nbw;
 
-    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (size_t) 0);
+    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (off_t) 0);
     CPPUNIT_ASSERT_EQUAL (tfile->write (data, len, &nbw), 0);
     CPPUNIT_ASSERT_EQUAL (len, nbw);
-    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), nbw);
+    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (off_t) nbw);
   }
 
   void testRead ()
@@ -109,7 +109,7 @@ public:
     tfile->read (buffer, len, &nbr);
     CPPUNIT_ASSERT_EQUAL (nbr, (size_t) 0);
     CPPUNIT_ASSERT_EQUAL (tfile->write (data, len, &nbw), 0);
-    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), nbw);
+    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (off_t) nbw);
 
     CPPUNIT_ASSERT_EQUAL (tfile->seek (0), 0);
     CPPUNIT_ASSERT_EQUAL (tfile->read (buffer, 512, &nbr), 0);
@@ -119,9 +119,9 @@ public:
   void testSeek ()
   {
     size_t seek = 12L;
-    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (size_t) 0);
+    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (off_t) 0);
     CPPUNIT_ASSERT_EQUAL (tfile->seek (seek), 0);
-    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), seek);
+    CPPUNIT_ASSERT_EQUAL (tfile->getSeek (), (off_t) seek);
   }
 
 };



commit 0e5cdde5f3fe247c583418f48f2f276241db8226
Author: Giuseppe Scrivano <address@hidden>
Date:   Fri Aug 20 21:55:26 2010 +0200

    Add lseek module from gnulib.

diff --git a/myserver/bootstrap.conf b/myserver/bootstrap.conf
index 67c9f5f..e72cd84 100644
--- a/myserver/bootstrap.conf
+++ b/myserver/bootstrap.conf
@@ -47,6 +47,7 @@ gettimeofday
 git-version-gen
 ioctl
 listen
+lseek
 malloc
 mkostemp
 mktime

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

Summary of changes:
 myserver/bootstrap.conf                            |    1 +
 myserver/include/base/file/file.h                  |   10 +++++-----
 myserver/include/base/files_cache/cached_file.h    |    8 ++++----
 .../include/base/files_cache/cached_file_buffer.h  |    2 +-
 myserver/include/base/files_cache/membuf_file.h    |   10 +++++-----
 .../include/http_handler/http_file/http_file.h     |    3 ++-
 myserver/include/protocol/http/http_request.h      |    4 ++--
 .../include/protocol/http/http_thread_context.h    |    2 +-
 myserver/src/base/file/file.cpp                    |   20 +++++++++-----------
 myserver/src/base/files_cache/cached_file.cpp      |    9 +++++----
 myserver/src/base/files_cache/membuf_file.cpp      |   10 +++++-----
 myserver/src/http_handler/http_file/http_file.cpp  |   12 ++++++------
 myserver/src/protocol/http/http_headers.cpp        |   12 ++++++------
 myserver/tests/test_file.cpp                       |   12 ++++++------
 myserver/tests/test_membuf_file.cpp                |   10 +++++-----
 15 files changed, 63 insertions(+), 62 deletions(-)


hooks/post-receive
-- 
GNU MyServer



reply via email to

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