<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-07-22)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-07-22 Joel Sherrill <joel.sherrilL@OARcorp.com>

        PR 1839/filesystem
        * libcsupport/include/rtems/libio_.h, libcsupport/src/fchdir.c,
        libcsupport/src/fdatasync.c, libcsupport/src/fpathconf.c,
        libcsupport/src/fsync.c, libcsupport/src/ftruncate.c,
        libcsupport/src/read.c, libcsupport/src/readv.c,
        libcsupport/src/write.c, libcsupport/src/writev.c: Some calls did not
        return proper status for permission errors or incorrectly permissions
        at all.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.2886&r2=text&tr2=1.2887&diff_format=h">M</a></td><td width='1%'>1.2887</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/include/rtems/libio_.h.diff?r1=text&tr1=1.42&r2=text&tr2=1.43&diff_format=h">M</a></td><td width='1%'>1.43</td><td width='100%'>cpukit/libcsupport/include/rtems/libio_.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/fchdir.c.diff?r1=text&tr1=1.11&r2=text&tr2=1.12&diff_format=h">M</a></td><td width='1%'>1.12</td><td width='100%'>cpukit/libcsupport/src/fchdir.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/fdatasync.c.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>cpukit/libcsupport/src/fdatasync.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/fpathconf.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>cpukit/libcsupport/src/fpathconf.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/fsync.c.diff?r1=text&tr1=1.13&r2=text&tr2=1.14&diff_format=h">M</a></td><td width='1%'>1.14</td><td width='100%'>cpukit/libcsupport/src/fsync.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/ftruncate.c.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h">M</a></td><td width='1%'>1.15</td><td width='100%'>cpukit/libcsupport/src/ftruncate.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/read.c.diff?r1=text&tr1=1.19&r2=text&tr2=1.20&diff_format=h">M</a></td><td width='1%'>1.20</td><td width='100%'>cpukit/libcsupport/src/read.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/readv.c.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>cpukit/libcsupport/src/readv.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/write.c.diff?r1=text&tr1=1.20&r2=text&tr2=1.21&diff_format=h">M</a></td><td width='1%'>1.21</td><td width='100%'>cpukit/libcsupport/src/write.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/writev.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>cpukit/libcsupport/src/writev.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2886 rtems/cpukit/ChangeLog:1.2887
--- rtems/cpukit/ChangeLog:1.2886       Thu Jul 21 10:35:13 2011
+++ rtems/cpukit/ChangeLog      Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -1,3 +1,14 @@
</font><font color='#000088'>+2011-07-22    Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+       PR 1839/filesystem
+       * libcsupport/include/rtems/libio_.h, libcsupport/src/fchdir.c,
+       libcsupport/src/fdatasync.c, libcsupport/src/fpathconf.c,
+       libcsupport/src/fsync.c, libcsupport/src/ftruncate.c,
+       libcsupport/src/read.c, libcsupport/src/readv.c,
+       libcsupport/src/write.c, libcsupport/src/writev.c: Some calls did not
+       return proper status for permission errors or incorrectly permissions
+       at all.
+
</font> 2011-07-21        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * libnetworking/rtems/rtems_showipstat.c: Print IP input queue drops.

<font color='#006600'>diff -u rtems/cpukit/libcsupport/include/rtems/libio_.h:1.42 rtems/cpukit/libcsupport/include/rtems/libio_.h:1.43
--- rtems/cpukit/libcsupport/include/rtems/libio_.h:1.42        Thu Jul 21 07:03:25 2011
+++ rtems/cpukit/libcsupport/include/rtems/libio_.h     Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -123,20 +123,31 @@
</font>   } while (0)
 
 /*
<font color='#880000'>- *  rtems_libio_check_permissions
</font><font color='#000088'>+ *  rtems_libio_check_permissions_with_error
</font>  *
  *  Macro to check if a file descriptor is open for this operation.
<font color='#000088'>+ *  On failure, return the user specified error.
</font>  */
 
<font color='#880000'>-#define rtems_libio_check_permissions(_iop, _flag)          \
</font><font color='#000088'>+#define rtems_libio_check_permissions_with_error(_iop, _flag, _errno) \
</font>   do {                                                      \
       if (((_iop)->flags & (_flag)) == 0) {                 \
<font color='#880000'>-            rtems_set_errno_and_return_minus_one( EINVAL ); \
</font><font color='#000088'>+            rtems_set_errno_and_return_minus_one( _errno ); \
</font>             return -1;                                      \
       }                                                     \
   } while (0)
 
 /*
<font color='#000088'>+ *  rtems_libio_check_permissions
+ *
+ *  Macro to check if a file descriptor is open for this operation.
+ *  On failure, return EINVAL
+ */
+
+#define rtems_libio_check_permissions(_iop, _flag) \
+   rtems_libio_check_permissions_with_error(_iop, _flag, EINVAL )
+
+/*
</font>  *  rtems_filesystem_freenode
  *
  *  Macro to free a node.

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/fchdir.c:1.11 rtems/cpukit/libcsupport/src/fchdir.c:1.12
--- rtems/cpukit/libcsupport/src/fchdir.c:1.11  Thu Jul  1 10:12:36 2010
+++ rtems/cpukit/libcsupport/src/fchdir.c       Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -1,7 +1,7 @@
</font> /*
  *  fchdir() - compatible with SVr4, 4.4BSD and X/OPEN - Change Directory
  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-2000.
</font><font color='#000088'>+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -36,12 +36,6 @@
</font>   rtems_libio_check_is_open(iop);
 
   /*
<font color='#880000'>-   *  Now process the fchmod().
-   */
-
-  rtems_libio_check_permissions( iop, LIBIO_FLAGS_READ );
-
-  /*
</font>    * Verify you can change directory into this node.
    */
 

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/fdatasync.c:1.12 rtems/cpukit/libcsupport/src/fdatasync.c:1.13
--- rtems/cpukit/libcsupport/src/fdatasync.c:1.12       Thu Jul 15 03:10:47 2010
+++ rtems/cpukit/libcsupport/src/fdatasync.c    Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -1,7 +1,7 @@
</font> /*
  *  fdatasync() - POSIX 1003.1b 6.6.2 - Synchronize the Data of a File
  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-1999.
</font><font color='#000088'>+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -29,7 +29,7 @@
</font>   rtems_libio_check_fd( fd );
   iop = rtems_libio_iop( fd );
   rtems_libio_check_is_open(iop);
<font color='#880000'>-  rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
</font><font color='#000088'>+  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
</font> 
   /*
    *  Now process the fdatasync().

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/fpathconf.c:1.9 rtems/cpukit/libcsupport/src/fpathconf.c:1.10
--- rtems/cpukit/libcsupport/src/fpathconf.c:1.9        Thu Sep  4 13:54:13 2003
+++ rtems/cpukit/libcsupport/src/fpathconf.c    Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -1,7 +1,7 @@
</font> /*
  *  fpathconf() - POSIX 1003.1b - 5.7.1 - Configurable Pathname Varables
  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-1999.
</font><font color='#000088'>+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -33,7 +33,6 @@
</font>   rtems_libio_check_fd(fd);
   iop = rtems_libio_iop(fd);
   rtems_libio_check_is_open(iop);
<font color='#880000'>-  rtems_libio_check_permissions(iop, LIBIO_FLAGS_READ);
</font> 
   /*
    *  Now process the information request.

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/fsync.c:1.13 rtems/cpukit/libcsupport/src/fsync.c:1.14
--- rtems/cpukit/libcsupport/src/fsync.c:1.13   Thu Jul 15 03:10:47 2010
+++ rtems/cpukit/libcsupport/src/fsync.c        Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -1,7 +1,7 @@
</font> /*
  *  fsync() - POSIX 1003.1b 6.6.1 - Synchronize the State of a File
  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-1999.
</font><font color='#000088'>+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -29,7 +29,6 @@
</font>   rtems_libio_check_fd( fd );
   iop = rtems_libio_iop( fd );
   rtems_libio_check_is_open(iop);
<font color='#880000'>-  rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
</font> 
   /*
    *  Now process the fsync().

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/ftruncate.c:1.14 rtems/cpukit/libcsupport/src/ftruncate.c:1.15
--- rtems/cpukit/libcsupport/src/ftruncate.c:1.14       Thu Jul 15 03:10:47 2010
+++ rtems/cpukit/libcsupport/src/ftruncate.c    Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -32,6 +32,7 @@
</font>   rtems_libio_check_fd( fd );
   iop = rtems_libio_iop( fd );
   rtems_libio_check_is_open(iop);
<font color='#000088'>+  rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
</font> 
   /*
    *  Now process the ftruncate() request.
<font color='#997700'>@@ -45,7 +46,5 @@
</font>   if ( (*loc.ops->node_type_h)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY )
     rtems_set_errno_and_return_minus_one( EISDIR );
 
<font color='#880000'>-  rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
-
</font>   return (*iop->pathinfo.handlers->ftruncate_h)( iop, length );
 }

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/read.c:1.19 rtems/cpukit/libcsupport/src/read.c:1.20
--- rtems/cpukit/libcsupport/src/read.c:1.19    Mon Aug 23 18:19:31 2010
+++ rtems/cpukit/libcsupport/src/read.c Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -1,7 +1,7 @@
</font> /*
  *  read() - POSIX 1003.1b 6.4.1 - Read From a File
  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-2010.
</font><font color='#000088'>+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -32,7 +32,7 @@
</font>   rtems_libio_check_is_open( iop );
   rtems_libio_check_buffer( buffer );
   rtems_libio_check_count( count );
<font color='#880000'>-  rtems_libio_check_permissions( iop, LIBIO_FLAGS_READ );
</font><font color='#000088'>+  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
</font> 
   /*
    *  Now process the read().

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/readv.c:1.7 rtems/cpukit/libcsupport/src/readv.c:1.8
--- rtems/cpukit/libcsupport/src/readv.c:1.7    Wed Aug 25 17:25:18 2010
+++ rtems/cpukit/libcsupport/src/readv.c        Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -5,7 +5,7 @@
</font>  *
  *  http://www.opengroup.org/onlinepubs/009695399/functions/readv.html
  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-2007.
</font><font color='#000088'>+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -40,7 +40,7 @@
</font>   rtems_libio_check_fd( fd );
   iop = rtems_libio_iop( fd );
   rtems_libio_check_is_open( iop );
<font color='#880000'>-  rtems_libio_check_permissions( iop, LIBIO_FLAGS_READ );
</font><font color='#000088'>+  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
</font> 
   /*
    *  Argument validation on IO vector

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/write.c:1.20 rtems/cpukit/libcsupport/src/write.c:1.21
--- rtems/cpukit/libcsupport/src/write.c:1.20   Mon Aug 23 18:19:31 2010
+++ rtems/cpukit/libcsupport/src/write.c        Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -1,7 +1,7 @@
</font> /*
  *  write() - POSIX 1003.1b 6.4.2 - Write to a File
  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-2010.
</font><font color='#000088'>+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -39,7 +39,7 @@
</font>   rtems_libio_check_is_open( iop );
   rtems_libio_check_buffer( buffer );
   rtems_libio_check_count( count );
<font color='#880000'>-  rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
</font><font color='#000088'>+  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
</font> 
   /*
    *  Now process the write() request.

<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/writev.c:1.6 rtems/cpukit/libcsupport/src/writev.c:1.7
--- rtems/cpukit/libcsupport/src/writev.c:1.6   Wed Aug 25 17:25:18 2010
+++ rtems/cpukit/libcsupport/src/writev.c       Fri Jul 22 11:04:38 2011
</font><font color='#997700'>@@ -5,7 +5,7 @@
</font>  *
  *  http://www.opengroup.org/onlinepubs/009695399/functions/writev.html
  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-2007.
</font><font color='#000088'>+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -41,7 +41,7 @@
</font>   rtems_libio_check_fd( fd );
   iop = rtems_libio_iop( fd );
   rtems_libio_check_is_open( iop );
<font color='#880000'>-  rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
</font><font color='#000088'>+  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
</font> 
   /*
    *  Argument validation on IO vector
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>