<!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-31)</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>
 <font color='#225522'><em>(on branch rtems-4-10-branch)</em></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-07-31 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.2346.2.98&r2=text&tr2=1.2346.2.99&diff_format=h">M</a></td><td width='1%'>1.2346.2.99</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.34.2.3&r2=text&tr2=1.34.2.4&diff_format=h">M</a></td><td width='1%'>1.34.2.4</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.9&r2=text&tr2=1.9.2.1&diff_format=h">M</a></td><td width='1%'>1.9.2.1</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.10&r2=text&tr2=1.10.8.1&diff_format=h">M</a></td><td width='1%'>1.10.8.1</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.9.8.1&diff_format=h">M</a></td><td width='1%'>1.9.8.1</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.11&r2=text&tr2=1.11.8.1&diff_format=h">M</a></td><td width='1%'>1.11.8.1</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.12&r2=text&tr2=1.12.8.1&diff_format=h">M</a></td><td width='1%'>1.12.8.1</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.15&r2=text&tr2=1.15.2.1&diff_format=h">M</a></td><td width='1%'>1.15.2.1</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.4&r2=text&tr2=1.4.2.1&diff_format=h">M</a></td><td width='1%'>1.4.2.1</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.16&r2=text&tr2=1.16.4.1&diff_format=h">M</a></td><td width='1%'>1.16.4.1</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.3&r2=text&tr2=1.3.2.1&diff_format=h">M</a></td><td width='1%'>1.3.2.1</td><td width='100%'>cpukit/libcsupport/src/writev.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2346.2.98 rtems/cpukit/ChangeLog:1.2346.2.99
--- rtems/cpukit/ChangeLog:1.2346.2.98  Tue Jul 19 08:14:07 2011
+++ rtems/cpukit/ChangeLog      Sun Jul 31 09:12:27 2011
</font><font color='#997700'>@@ -1,3 +1,14 @@
</font><font color='#000088'>+2011-07-31    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-19        Joel Sherrill <joel.sherrilL@OARcorp.com>
 
        PR 1838/filesystem

<font color='#006600'>diff -u rtems/cpukit/libcsupport/include/rtems/libio_.h:1.34.2.3 rtems/cpukit/libcsupport/include/rtems/libio_.h:1.34.2.4
--- rtems/cpukit/libcsupport/include/rtems/libio_.h:1.34.2.3    Wed May 25 09:17:51 2011
+++ rtems/cpukit/libcsupport/include/rtems/libio_.h     Sun Jul 31 09:12:29 2011
</font><font color='#997700'>@@ -124,20 +124,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.9 rtems/cpukit/libcsupport/src/fchdir.c:1.9.2.1
--- rtems/cpukit/libcsupport/src/fchdir.c:1.9   Thu Jun 11 20:53:32 2009
+++ rtems/cpukit/libcsupport/src/fchdir.c       Sun Jul 31 09:12:29 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.10 rtems/cpukit/libcsupport/src/fdatasync.c:1.10.8.1
--- rtems/cpukit/libcsupport/src/fdatasync.c:1.10       Thu Sep  4 13:54:13 2003
+++ rtems/cpukit/libcsupport/src/fdatasync.c    Sun Jul 31 09:12:29 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.9.8.1
--- rtems/cpukit/libcsupport/src/fpathconf.c:1.9        Thu Sep  4 13:54:13 2003
+++ rtems/cpukit/libcsupport/src/fpathconf.c    Sun Jul 31 09:12:29 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.11 rtems/cpukit/libcsupport/src/fsync.c:1.11.8.1
--- rtems/cpukit/libcsupport/src/fsync.c:1.11   Thu Sep  4 13:54:13 2003
+++ rtems/cpukit/libcsupport/src/fsync.c        Sun Jul 31 09:12:29 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.12 rtems/cpukit/libcsupport/src/ftruncate.c:1.12.8.1
--- rtems/cpukit/libcsupport/src/ftruncate.c:1.12       Sun Apr 18 01:05:34 2004
+++ rtems/cpukit/libcsupport/src/ftruncate.c    Sun Jul 31 09:12:29 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='#006600'>diff -u rtems/cpukit/libcsupport/src/read.c:1.15 rtems/cpukit/libcsupport/src/read.c:1.15.2.1
--- rtems/cpukit/libcsupport/src/read.c:1.15    Wed Sep 30 03:20:31 2009
+++ rtems/cpukit/libcsupport/src/read.c Sun Jul 31 09:12:29 2011
</font><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.4 rtems/cpukit/libcsupport/src/readv.c:1.4.2.1
--- rtems/cpukit/libcsupport/src/readv.c:1.4    Sun Apr 25 14:50:05 2010
+++ rtems/cpukit/libcsupport/src/readv.c        Sun Jul 31 09:12:29 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.16 rtems/cpukit/libcsupport/src/write.c:1.16.4.1
--- rtems/cpukit/libcsupport/src/write.c:1.16   Thu Sep 20 17:25:14 2007
+++ rtems/cpukit/libcsupport/src/write.c        Sun Jul 31 09:12:29 2011
</font><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.3 rtems/cpukit/libcsupport/src/writev.c:1.3.2.1
--- rtems/cpukit/libcsupport/src/writev.c:1.3   Sun Nov 29 07:35:32 2009
+++ rtems/cpukit/libcsupport/src/writev.c       Sun Jul 31 09:12:29 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>