Changeset ff49ffe in rtems
- Timestamp:
- Apr 4, 2011, 5:08:34 PM (10 years ago)
- Branches:
- 4.11, 5, master
- Children:
- bd9baa81
- Parents:
- 9c24c73
- Location:
- cpukit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/ChangeLog
r9c24c73 rff49ffe 1 2011-04-04 Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com> 2 3 PR 1722/networking 4 * ftpd/ftpd.c: FTPD fails to parse correctly FTP commands relating to 5 filenames with spaces in them. 6 1 7 2011-04-04 Joel Sherrill <joel.sherrilL@OARcorp.com> 2 8 -
cpukit/ftpd/ftpd.c
r9c24c73 rff49ffe 16 16 * Changes: 17 17 * 18 * 2010-12-02 Sebastien Bourdeauducq <sebastien@milkymist.org> 19 * 20 * * Support spaces in filenames 21 * 18 22 * 2001-01-31 Sergei Organov <osv@javad.ru> 19 23 * … … 1681 1685 else if (!strcmp("RETR", cmd)) 1682 1686 { 1683 s scanf(args, "%254s", fname);1687 strncpy(fname, args, 254); 1684 1688 command_retrieve(info, fname); 1685 1689 } 1686 1690 else if (!strcmp("STOR", cmd)) 1687 1691 { 1688 s scanf(args, "%254s", fname);1692 strncpy(fname, args, 254); 1689 1693 command_store(info, fname); 1690 1694 } 1691 1695 else if (!strcmp("LIST", cmd)) 1692 1696 { 1693 s scanf(args, "%254s", fname);1697 strncpy(fname, args, 254); 1694 1698 command_list(info, fname, 1); 1695 1699 } 1696 1700 else if (!strcmp("NLST", cmd)) 1697 1701 { 1698 s scanf(args, "%254s", fname);1702 strncpy(fname, args, 254); 1699 1703 command_list(info, fname, 0); 1700 1704 } 1701 1705 else if (!strcmp("MDTM", cmd)) 1702 1706 { 1703 s scanf(args, "%254s", fname);1707 strncpy(fname, args, 254); 1704 1708 command_mdtm(info, fname); 1705 1709 } … … 1737 1741 } 1738 1742 else if ( 1739 1 == sscanf(args, "%254s", fname) &&1743 strncpy(fname, args, 254) && 1740 1744 unlink(fname) == 0) 1741 1745 { … … 1759 1763 send_reply(info, 550, "Access denied."); 1760 1764 } 1761 else if( 1762 2 == sscanf(args, "%o %254s", &mask, fname) && 1763 chmod(fname, (mode_t)mask) == 0) 1764 { 1765 send_reply(info, 257, "CHMOD successful."); 1766 } 1767 else 1768 { 1769 send_reply(info, 550, "CHMOD failed."); 1765 else { 1766 char *c; 1767 c = strchr(args, ' '); 1768 if((c != NULL) && (sscanf(args, "%o", &mask) == 1) && strncpy(fname, c+1, 254) 1769 && (chmod(fname, (mode_t)mask) == 0)) 1770 send_reply(info, 257, "CHMOD successful."); 1771 else 1772 send_reply(info, 550, "CHMOD failed."); 1770 1773 } 1771 1774 } … … 1780 1783 } 1781 1784 else if ( 1782 1 == sscanf(args, "%254s", fname) &&1785 strncpy(fname, args, 254) && 1783 1786 rmdir(fname) == 0) 1784 1787 { … … 1797 1800 } 1798 1801 else if ( 1799 1 == sscanf(args, "%254s", fname) &&1802 strncpy(fname, args, 254) && 1800 1803 mkdir(fname, S_IRWXU | S_IRWXG | S_IRWXO) == 0) 1801 1804 { … … 1809 1812 else if (!strcmp("CWD", cmd)) 1810 1813 { 1811 s scanf(args, "%254s", fname);1814 strncpy(fname, args, 254); 1812 1815 command_cwd(info, fname); 1813 1816 }
Note: See TracChangeset
for help on using the changeset viewer.