Changeset 425927e in rtems
- Timestamp:
- Apr 4, 2011, 5:08:59 PM (10 years ago)
- Branches:
- 4.9
- Children:
- 43ce60a
- Parents:
- 2fe013a1
- Location:
- cpukit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/ChangeLog
r2fe013a1 r425927e 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-03-08 Joel Sherrill <joel.sherrilL@OARcorp.com> 2 8 -
cpukit/ftpd/ftpd.c
r2fe013a1 r425927e 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 * … … 1672 1676 else if (!strcmp("RETR", cmd)) 1673 1677 { 1674 s scanf(args, "%254s", fname);1678 strncpy(fname, args, 254); 1675 1679 command_retrieve(info, fname); 1676 1680 } 1677 1681 else if (!strcmp("STOR", cmd)) 1678 1682 { 1679 s scanf(args, "%254s", fname);1683 strncpy(fname, args, 254); 1680 1684 command_store(info, fname); 1681 1685 } 1682 1686 else if (!strcmp("LIST", cmd)) 1683 1687 { 1684 s scanf(args, "%254s", fname);1688 strncpy(fname, args, 254); 1685 1689 command_list(info, fname, 1); 1686 1690 } 1687 1691 else if (!strcmp("NLST", cmd)) 1688 1692 { 1689 s scanf(args, "%254s", fname);1693 strncpy(fname, args, 254); 1690 1694 command_list(info, fname, 0); 1691 1695 } 1692 1696 else if (!strcmp("MDTM", cmd)) 1693 1697 { 1694 s scanf(args, "%254s", fname);1698 strncpy(fname, args, 254); 1695 1699 command_mdtm(info, fname); 1696 1700 } … … 1728 1732 } 1729 1733 else if ( 1730 1 == sscanf(args, "%254s", fname) &&1734 strncpy(fname, args, 254) && 1731 1735 unlink(fname) == 0) 1732 1736 { … … 1750 1754 send_reply(info, 550, "Access denied."); 1751 1755 } 1752 else if( 1753 2 == sscanf(args, "%o %254s", &mask, fname) && 1754 chmod(fname, (mode_t)mask) == 0) 1755 { 1756 send_reply(info, 257, "CHMOD successful."); 1757 } 1758 else 1759 { 1760 send_reply(info, 550, "CHMOD failed."); 1756 else { 1757 char *c; 1758 c = strchr(args, ' '); 1759 if((c != NULL) && (sscanf(args, "%o", &mask) == 1) && strncpy(fname, c+1, 254) 1760 && (chmod(fname, (mode_t)mask) == 0)) 1761 send_reply(info, 257, "CHMOD successful."); 1762 else 1763 send_reply(info, 550, "CHMOD failed."); 1761 1764 } 1762 1765 } … … 1771 1774 } 1772 1775 else if ( 1773 1 == sscanf(args, "%254s", fname) &&1776 strncpy(fname, args, 254) && 1774 1777 rmdir(fname) == 0) 1775 1778 { … … 1788 1791 } 1789 1792 else if ( 1790 1 == sscanf(args, "%254s", fname) &&1793 strncpy(fname, args, 254) && 1791 1794 mkdir(fname, S_IRWXU | S_IRWXG | S_IRWXO) == 0) 1792 1795 { … … 1800 1803 else if (!strcmp("CWD", cmd)) 1801 1804 { 1802 s scanf(args, "%254s", fname);1805 strncpy(fname, args, 254); 1803 1806 command_cwd(info, fname); 1804 1807 }
Note: See TracChangeset
for help on using the changeset viewer.