<!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-04-04)</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-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1773/cpukit
* sapi/include/confdefs.h, sapi/src/exinit.c,
score/include/rtems/bspsmp.h, score/src/percpu.c, score/src/thread.c:
Rename rtems_smp_maximum_processor to
rtems_configuration_smp_maximum_processor. Eliminate printk().
</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.2792&r2=text&tr2=1.2793&diff_format=h">M</a></td><td width='1%'>1.2793</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/sapi/include/confdefs.h.diff?r1=text&tr1=1.161&r2=text&tr2=1.162&diff_format=h">M</a></td><td width='1%'>1.162</td><td width='100%'>cpukit/sapi/include/confdefs.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/sapi/src/exinit.c.diff?r1=text&tr1=1.57&r2=text&tr2=1.58&diff_format=h">M</a></td><td width='1%'>1.58</td><td width='100%'>cpukit/sapi/src/exinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/include/rtems/bspsmp.h.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>cpukit/score/include/rtems/bspsmp.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/percpu.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>cpukit/score/src/percpu.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/src/thread.c.diff?r1=text&tr1=1.67&r2=text&tr2=1.68&diff_format=h">M</a></td><td width='1%'>1.68</td><td width='100%'>cpukit/score/src/thread.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2792 rtems/cpukit/ChangeLog:1.2793
--- rtems/cpukit/ChangeLog:1.2792 Thu Mar 24 06:21:57 2011
+++ rtems/cpukit/ChangeLog Mon Apr 4 11:39:58 2011
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1773/cpukit
+ * sapi/include/confdefs.h, sapi/src/exinit.c,
+ score/include/rtems/bspsmp.h, score/src/percpu.c, score/src/thread.c:
+ Rename rtems_smp_maximum_processor to
+ rtems_configuration_smp_maximum_processor. Eliminate printk().
+
</font> 2011-03-24 Ralf Corsépius <ralf.corsepius@rtems.org>
* include/rtems/bsd/sys/queue.h, include/rtems/bsd/sys/cdefs.h:
<font color='#006600'>diff -u rtems/cpukit/sapi/include/confdefs.h:1.161 rtems/cpukit/sapi/include/confdefs.h:1.162
--- rtems/cpukit/sapi/include/confdefs.h:1.161 Wed Mar 16 15:05:04 2011
+++ rtems/cpukit/sapi/include/confdefs.h Mon Apr 4 11:40:00 2011
</font><font color='#997700'>@@ -2161,9 +2161,10 @@
</font> * in an SMP configuration.
*/
#if defined(CONFIGURE_INIT)
<font color='#880000'>- uint32_t rtems_smp_maximum_processors = CONFIGURE_SMP_MAXIMUM_PROCESSORS;
</font><font color='#000088'>+ uint32_t rtems_configuration_smp_maximum_processors = \
+ CONFIGURE_SMP_MAXIMUM_PROCESSORS;
</font> #else
<font color='#880000'>- extern uint32_t rtems_smp_maximum_processors;
</font><font color='#000088'>+ extern uint32_t rtems_configuration_smp_maximum_processors;
</font> #endif
/*
* Instantiate the Per CPU information based upon the user configuration.
<font color='#006600'>diff -u rtems/cpukit/sapi/src/exinit.c:1.57 rtems/cpukit/sapi/src/exinit.c:1.58
--- rtems/cpukit/sapi/src/exinit.c:1.57 Wed Mar 16 15:05:04 2011
+++ rtems/cpukit/sapi/src/exinit.c Mon Apr 4 11:40:00 2011
</font><font color='#997700'>@@ -163,7 +163,8 @@
</font> * Discover and initialize the secondary cores in an SMP system.
*/
#if defined(RTEMS_SMP)
<font color='#880000'>- _SMP_Processor_count = bsp_smp_initialize( rtems_smp_maximum_processors );
</font><font color='#000088'>+ _SMP_Processor_count =
+ bsp_smp_initialize( rtems_configuration_smp_maximum_processors );
</font> #endif
_System_state_Set( SYSTEM_STATE_BEFORE_MULTITASKING );
<font color='#006600'>diff -u rtems/cpukit/score/include/rtems/bspsmp.h:1.1 rtems/cpukit/score/include/rtems/bspsmp.h:1.2
--- rtems/cpukit/score/include/rtems/bspsmp.h:1.1 Wed Mar 16 15:05:05 2011
+++ rtems/cpukit/score/include/rtems/bspsmp.h Mon Apr 4 11:40:00 2011
</font><font color='#997700'>@@ -87,7 +87,7 @@
</font> * This variable is set during the SMP initialization sequence to
* indicate the Maximum number of CPUs in this system.
*/
<font color='#880000'>-extern uint32_t rtems_smp_maximum_processors;
</font><font color='#000088'>+extern uint32_t rtems_configuration_smp_maximum_processors;
</font>
/**
* @brief Initialize Secondary CPUs
<font color='#006600'>diff -u rtems/cpukit/score/src/percpu.c:1.3 rtems/cpukit/score/src/percpu.c:1.4
--- rtems/cpukit/score/src/percpu.c:1.3 Fri Mar 18 09:12:46 2011
+++ rtems/cpukit/score/src/percpu.c Mon Apr 4 11:40:00 2011
</font><font color='#997700'>@@ -40,9 +40,7 @@
</font> */
size = Configuration.interrupt_stack_size;
_Per_CPU_Information_p[0] = &_Per_CPU_Information[0];
<font color='#880000'>- for (cpu=1 ; cpu < rtems_smp_maximum_processors; cpu++ ) {
-
- printk("Initializing cpu control structure %d\n", cpu );
</font><font color='#000088'>+ for (cpu=1 ; cpu < rtems_configuration_smp_maximum_processors; cpu++ ) {
</font>
Per_CPU_Control *p = &_Per_CPU_Information[cpu];
<font color='#006600'>diff -u rtems/cpukit/score/src/thread.c:1.67 rtems/cpukit/score/src/thread.c:1.68
--- rtems/cpukit/score/src/thread.c:1.67 Wed Mar 16 15:05:06 2011
+++ rtems/cpukit/score/src/thread.c Mon Apr 4 11:40:00 2011
</font><font color='#997700'>@@ -94,7 +94,7 @@
</font> * coupled multiprocessing system, account for the MPCI Server Thread.
*/
#if defined(RTEMS_SMP)
<font color='#880000'>- maximum_internal_threads = rtems_smp_maximum_processors;
</font><font color='#000088'>+ maximum_internal_threads = rtems_configuration_smp_maximum_processors;
</font> #else
maximum_internal_threads = 1;
#endif
</pre>
<p> </p>
<a name='cs2'></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-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1768/bsps
* shared/irq/irq_asm.S: The nbench benchmark highlighted the fact that
we do not perform a cld before calling C code in the ISR. This was
historically not a problem but gcc 4.3 changed the behavior. From
http://gcc.gnu.org/gcc-4.3/changes.html
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/i386/ChangeLog.diff?r1=text&tr1=1.77&r2=text&tr2=1.78&diff_format=h">M</a></td><td width='1%'>1.78</td><td width='100%'>c/src/lib/libbsp/i386/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/i386/ChangeLog.diff?r1=text&tr1=1.47.2.2&r2=text&tr2=1.47.2.3&diff_format=h">M</a></td><td width='1%'>1.47.2.3</td><td width='100%'>c/src/lib/libbsp/i386/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/i386/ChangeLog.diff?r1=text&tr1=1.64.2.1&r2=text&tr2=1.64.2.2&diff_format=h">M</a></td><td width='1%'>1.64.2.2</td><td width='100%'>c/src/lib/libbsp/i386/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S.diff?r1=text&tr1=1.23&r2=text&tr2=1.24&diff_format=h">M</a></td><td width='1%'>1.24</td><td width='100%'>c/src/lib/libbsp/i386/shared/irq/irq_asm.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S.diff?r1=text&tr1=1.8.6.2&r2=text&tr2=1.8.6.3&diff_format=h">M</a></td><td width='1%'>1.8.6.3</td><td width='100%'>c/src/lib/libbsp/i386/shared/irq/irq_asm.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S.diff?r1=text&tr1=1.16&r2=text&tr2=1.16.2.1&diff_format=h">M</a></td><td width='1%'>1.16.2.1</td><td width='100%'>c/src/lib/libbsp/i386/shared/irq/irq_asm.S</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/i386/ChangeLog:1.77 rtems/c/src/lib/libbsp/i386/ChangeLog:1.78
--- rtems/c/src/lib/libbsp/i386/ChangeLog:1.77 Wed Mar 16 15:05:17 2011
+++ rtems/c/src/lib/libbsp/i386/ChangeLog Mon Apr 4 11:44:46 2011
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1768/bsps
+ * shared/irq/irq_asm.S: The nbench benchmark highlighted the fact that
+ we do not perform a cld before calling C code in the ISR. This was
+ historically not a problem but gcc 4.3 changed the behavior. From
+ http://gcc.gnu.org/gcc-4.3/changes.html
+
</font> 2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>
PR 1729/cpukit
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/i386/ChangeLog:1.47.2.2 rtems/c/src/lib/libbsp/i386/ChangeLog:1.47.2.3
--- rtems/c/src/lib/libbsp/i386/ChangeLog:1.47.2.2 Mon May 18 12:45:21 2009
+++ rtems/c/src/lib/libbsp/i386/ChangeLog Mon Apr 4 11:45:01 2011
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1768/bsps
+ * shared/irq/irq_asm.S: The nbench benchmark highlighted the fact that
+ we do not perform a cld before calling C code in the ISR. This was
+ historically not a problem but gcc 4.3 changed the behavior. From
+ http://gcc.gnu.org/gcc-4.3/changes.html
+
</font> 2009-05-18 Joel Sherrill <joel.sherrill@OARcorp.com>
* shared/irq/irq.c, shared/irq/irq.h, shared/irq/irq_asm.S: Add shared
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/i386/ChangeLog:1.64.2.1 rtems/c/src/lib/libbsp/i386/ChangeLog:1.64.2.2
--- rtems/c/src/lib/libbsp/i386/ChangeLog:1.64.2.1 Wed Feb 2 09:14:30 2011
+++ rtems/c/src/lib/libbsp/i386/ChangeLog Mon Apr 4 11:44:55 2011
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1768/bsps
+ * shared/irq/irq_asm.S: The nbench benchmark highlighted the fact that
+ we do not perform a cld before calling C code in the ISR. This was
+ historically not a problem but gcc 4.3 changed the behavior. From
+ http://gcc.gnu.org/gcc-4.3/changes.html
+
</font> 2011-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.68, automake-1.11.1.
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.23 rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.24
--- rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.23 Wed Mar 16 15:05:17 2011
+++ rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S Mon Apr 4 11:44:46 2011
</font><font color='#997700'>@@ -167,6 +167,13 @@
</font> incl PER_CPU_ISR_NEST_LEVEL(ebx) /* one nest level deeper */
incl SYM (_Thread_Dispatch_disable_level) /* disable multitasking */
<font color='#000088'>+ /*
+ * GCC versions starting with 4.3 no longer place the cld
+ * instruction before string operations. We need to ensure
+ * it is set correctly for ISR handlers.
+ */
+ cld
+
</font> /*
* re-enable interrupts at processor level as the current
* interrupt source is now masked via i8259
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.8.6.2 rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.8.6.3
--- rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.8.6.2 Mon May 18 12:45:21 2009
+++ rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S Mon Apr 4 11:45:01 2011
</font><font color='#997700'>@@ -121,6 +121,13 @@
</font> movl ebp, esp
popl ebp
<font color='#000088'>+ /*
+ * GCC versions starting with 4.3 no longer place the cld
+ * instruction before string operations. We need to ensure
+ * it is set correctly for ISR handlers.
+ */
+ cld
+
</font> /*
* restore the original i8259 masks
*/
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.16 rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.16.2.1
--- rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.16 Sun Nov 29 21:47:10 2009
+++ rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S Mon Apr 4 11:44:55 2011
</font><font color='#997700'>@@ -145,6 +145,13 @@
</font> incl SYM (_ISR_Nest_level) /* one nest level deeper */
incl SYM (_Thread_Dispatch_disable_level) /* disable multitasking */
<font color='#000088'>+ /*
+ * GCC versions starting with 4.3 no longer place the cld
+ * instruction before string operations. We need to ensure
+ * it is set correctly for ISR handlers.
+ */
+ cld
+
</font> /*
* re-enable interrupts at processor level as the current
* interrupt source is now masked via i8259
</pre>
<p> </p>
<a name='cs3'></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-04-04 Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
PR 1722/networking
* ftpd/ftpd.c: FTPD fails to parse correctly FTP commands relating to
filenames with spaces in them.
</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.2793&r2=text&tr2=1.2794&diff_format=h">M</a></td><td width='1%'>1.2794</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.1539.2.72&r2=text&tr2=1.1539.2.73&diff_format=h">M</a></td><td width='1%'>1.1539.2.73</td><td width='100%'>cpukit/ChangeLog</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.84&r2=text&tr2=1.2346.2.85&diff_format=h">M</a></td><td width='1%'>1.2346.2.85</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ftpd/ftpd.c.diff?r1=text&tr1=1.23&r2=text&tr2=1.24&diff_format=h">M</a></td><td width='1%'>1.24</td><td width='100%'>cpukit/ftpd/ftpd.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ftpd/ftpd.c.diff?r1=text&tr1=1.18.2.1&r2=text&tr2=1.18.2.2&diff_format=h">M</a></td><td width='1%'>1.18.2.2</td><td width='100%'>cpukit/ftpd/ftpd.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ftpd/ftpd.c.diff?r1=text&tr1=1.23&r2=text&tr2=1.23.2.1&diff_format=h">M</a></td><td width='1%'>1.23.2.1</td><td width='100%'>cpukit/ftpd/ftpd.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2793 rtems/cpukit/ChangeLog:1.2794
--- rtems/cpukit/ChangeLog:1.2793 Mon Apr 4 11:39:58 2011
+++ rtems/cpukit/ChangeLog Mon Apr 4 12:08:34 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-04-04 Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
+
+ PR 1722/networking
+ * ftpd/ftpd.c: FTPD fails to parse correctly FTP commands relating to
+ filenames with spaces in them.
+
</font> 2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1773/cpukit
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.1539.2.72 rtems/cpukit/ChangeLog:1.1539.2.73
--- rtems/cpukit/ChangeLog:1.1539.2.72 Tue Mar 8 16:15:05 2011
+++ rtems/cpukit/ChangeLog Mon Apr 4 12:08:57 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-04-04 Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
+
+ PR 1722/networking
+ * ftpd/ftpd.c: FTPD fails to parse correctly FTP commands relating to
+ filenames with spaces in them.
+
</font> 2011-03-08 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1759/cpukit
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2346.2.84 rtems/cpukit/ChangeLog:1.2346.2.85
--- rtems/cpukit/ChangeLog:1.2346.2.84 Mon Mar 14 02:44:32 2011
+++ rtems/cpukit/ChangeLog Mon Apr 4 12:08:45 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-04-04 Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
+
+ PR 1722/networking
+ * ftpd/ftpd.c: FTPD fails to parse correctly FTP commands relating to
+ filenames with spaces in them.
+
</font> 2011-03-14 Chris Johns <chrisj@rtems.org>
PR 1757/filesystem
<font color='#006600'>diff -u rtems/cpukit/ftpd/ftpd.c:1.23 rtems/cpukit/ftpd/ftpd.c:1.24
--- rtems/cpukit/ftpd/ftpd.c:1.23 Fri May 7 04:07:17 2010
+++ rtems/cpukit/ftpd/ftpd.c Mon Apr 4 12:08:34 2011
</font><font color='#997700'>@@ -15,6 +15,10 @@
</font> *
* Changes:
*
<font color='#000088'>+ * 2010-12-02 Sebastien Bourdeauducq <sebastien@milkymist.org>
+ *
+ * * Support spaces in filenames
+ *<span style="background-color: #FF0000"> </span>
</font> * 2001-01-31 Sergei Organov <osv@javad.ru>
*
* * Hacks with current dir and root dir removed in favor of new libio
<font color='#997700'>@@ -1680,27 +1684,27 @@
</font> }
else if (!strcmp("RETR", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_retrieve(info, fname);
}
else if (!strcmp("STOR", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_store(info, fname);
}
else if (!strcmp("LIST", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_list(info, fname, 1);
}
else if (!strcmp("NLST", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_list(info, fname, 0);
}
else if (!strcmp("MDTM", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_mdtm(info, fname);
}
else if (!strcmp("SYST", cmd))
<font color='#997700'>@@ -1736,7 +1740,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> unlink(fname) == 0)
{
send_reply(info, 257, "DELE successful.");
<font color='#997700'>@@ -1758,15 +1762,14 @@
</font> {
send_reply(info, 550, "Access denied.");
}
<font color='#880000'>- else if(
- 2 == sscanf(args, "%o %254s", &mask, fname) &&
- chmod(fname, (mode_t)mask) == 0)
- {
- send_reply(info, 257, "CHMOD successful.");
- }
- else
- {
- send_reply(info, 550, "CHMOD failed.");
</font><font color='#000088'>+ else {
+ char *c;
+ c = strchr(args, ' ');
+ if((c != NULL) && (sscanf(args, "%o", &mask) == 1) && strncpy(fname, c+1, 254)<span style="background-color: #FF0000"> </span>
+ && (chmod(fname, (mode_t)mask) == 0))
+ send_reply(info, 257, "CHMOD successful.");
+ else
+ send_reply(info, 550, "CHMOD failed.");
</font> }
}
else
<font color='#997700'>@@ -1779,7 +1782,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> rmdir(fname) == 0)
{
send_reply(info, 257, "RMD successful.");
<font color='#997700'>@@ -1796,7 +1799,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> mkdir(fname, S_IRWXU | S_IRWXG | S_IRWXO) == 0)
{
send_reply(info, 257, "MKD successful.");
<font color='#997700'>@@ -1808,7 +1811,7 @@
</font> }
else if (!strcmp("CWD", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_cwd(info, fname);
}
else if (!strcmp("CDUP", cmd))
<font color='#006600'>diff -u rtems/cpukit/ftpd/ftpd.c:1.18.2.1 rtems/cpukit/ftpd/ftpd.c:1.18.2.2
--- rtems/cpukit/ftpd/ftpd.c:1.18.2.1 Wed Feb 4 23:22:38 2009
+++ rtems/cpukit/ftpd/ftpd.c Mon Apr 4 12:08:59 2011
</font><font color='#997700'>@@ -15,6 +15,10 @@
</font> *
* Changes:
*
<font color='#000088'>+ * 2010-12-02 Sebastien Bourdeauducq <sebastien@milkymist.org>
+ *
+ * * Support spaces in filenames
+ *<span style="background-color: #FF0000"> </span>
</font> * 2001-01-31 Sergei Organov <osv@javad.ru>
*
* * Hacks with current dir and root dir removed in favor of new libio
<font color='#997700'>@@ -1671,27 +1675,27 @@
</font> }
else if (!strcmp("RETR", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_retrieve(info, fname);
}
else if (!strcmp("STOR", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_store(info, fname);
}
else if (!strcmp("LIST", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_list(info, fname, 1);
}
else if (!strcmp("NLST", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_list(info, fname, 0);
}
else if (!strcmp("MDTM", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_mdtm(info, fname);
}
else if (!strcmp("SYST", cmd))
<font color='#997700'>@@ -1727,7 +1731,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> unlink(fname) == 0)
{
send_reply(info, 257, "DELE successful.");
<font color='#997700'>@@ -1749,15 +1753,14 @@
</font> {
send_reply(info, 550, "Access denied.");
}
<font color='#880000'>- else if(
- 2 == sscanf(args, "%o %254s", &mask, fname) &&
- chmod(fname, (mode_t)mask) == 0)
- {
- send_reply(info, 257, "CHMOD successful.");
- }
- else
- {
- send_reply(info, 550, "CHMOD failed.");
</font><font color='#000088'>+ else {
+ char *c;
+ c = strchr(args, ' ');
+ if((c != NULL) && (sscanf(args, "%o", &mask) == 1) && strncpy(fname, c+1, 254)<span style="background-color: #FF0000"> </span>
+ && (chmod(fname, (mode_t)mask) == 0))
+ send_reply(info, 257, "CHMOD successful.");
+ else
+ send_reply(info, 550, "CHMOD failed.");
</font> }
}
else
<font color='#997700'>@@ -1770,7 +1773,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> rmdir(fname) == 0)
{
send_reply(info, 257, "RMD successful.");
<font color='#997700'>@@ -1787,7 +1790,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> mkdir(fname, S_IRWXU | S_IRWXG | S_IRWXO) == 0)
{
send_reply(info, 257, "MKD successful.");
<font color='#997700'>@@ -1799,7 +1802,7 @@
</font> }
else if (!strcmp("CWD", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_cwd(info, fname);
}
else if (!strcmp("CDUP", cmd))
<font color='#006600'>diff -u rtems/cpukit/ftpd/ftpd.c:1.23 rtems/cpukit/ftpd/ftpd.c:1.23.2.1
--- rtems/cpukit/ftpd/ftpd.c:1.23 Fri May 7 04:07:17 2010
+++ rtems/cpukit/ftpd/ftpd.c Mon Apr 4 12:08:47 2011
</font><font color='#997700'>@@ -15,6 +15,10 @@
</font> *
* Changes:
*
<font color='#000088'>+ * 2010-12-02 Sebastien Bourdeauducq <sebastien@milkymist.org>
+ *
+ * * Support spaces in filenames
+ *<span style="background-color: #FF0000"> </span>
</font> * 2001-01-31 Sergei Organov <osv@javad.ru>
*
* * Hacks with current dir and root dir removed in favor of new libio
<font color='#997700'>@@ -1680,27 +1684,27 @@
</font> }
else if (!strcmp("RETR", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_retrieve(info, fname);
}
else if (!strcmp("STOR", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_store(info, fname);
}
else if (!strcmp("LIST", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_list(info, fname, 1);
}
else if (!strcmp("NLST", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_list(info, fname, 0);
}
else if (!strcmp("MDTM", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_mdtm(info, fname);
}
else if (!strcmp("SYST", cmd))
<font color='#997700'>@@ -1736,7 +1740,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> unlink(fname) == 0)
{
send_reply(info, 257, "DELE successful.");
<font color='#997700'>@@ -1758,15 +1762,14 @@
</font> {
send_reply(info, 550, "Access denied.");
}
<font color='#880000'>- else if(
- 2 == sscanf(args, "%o %254s", &mask, fname) &&
- chmod(fname, (mode_t)mask) == 0)
- {
- send_reply(info, 257, "CHMOD successful.");
- }
- else
- {
- send_reply(info, 550, "CHMOD failed.");
</font><font color='#000088'>+ else {
+ char *c;
+ c = strchr(args, ' ');
+ if((c != NULL) && (sscanf(args, "%o", &mask) == 1) && strncpy(fname, c+1, 254)<span style="background-color: #FF0000"> </span>
+ && (chmod(fname, (mode_t)mask) == 0))
+ send_reply(info, 257, "CHMOD successful.");
+ else
+ send_reply(info, 550, "CHMOD failed.");
</font> }
}
else
<font color='#997700'>@@ -1779,7 +1782,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> rmdir(fname) == 0)
{
send_reply(info, 257, "RMD successful.");
<font color='#997700'>@@ -1796,7 +1799,7 @@
</font> send_reply(info, 550, "Access denied.");
}
else if (
<font color='#880000'>- 1 == sscanf(args, "%254s", fname) &&
</font><font color='#000088'>+ strncpy(fname, args, 254) &&
</font> mkdir(fname, S_IRWXU | S_IRWXG | S_IRWXO) == 0)
{
send_reply(info, 257, "MKD successful.");
<font color='#997700'>@@ -1808,7 +1811,7 @@
</font> }
else if (!strcmp("CWD", cmd))
{
<font color='#880000'>- sscanf(args, "%254s", fname);
</font><font color='#000088'>+ strncpy(fname, args, 254);
</font> command_cwd(info, fname);
}
else if (!strcmp("CDUP", cmd))
</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>