comparison lib/rfc959.c @ 647:c197c8fb1e62

2004-12-20 Brian Masney <masneyb@gftp.org> * lib/rfc959.c lib/ftpcommon.h - removed the quote filename functionality in the SITE CHMOD and SITE UTIME commands
author masneyb
date Tue, 21 Dec 2004 01:30:20 +0000
parents 117bcf24add2
children f16c4e75070e
comparison
equal deleted inserted replaced
646:cd38f25b7c5e 647:c197c8fb1e62
413 413
414 if ((endpos = strchr (stpos, ' ')) == NULL) 414 if ((endpos = strchr (stpos, ' ')) == NULL)
415 return (GFTP_ERETRYABLE); 415 return (GFTP_ERETRYABLE);
416 416
417 *endpos = '\0'; 417 *endpos = '\0';
418 parms->quote_filename = 0;
419 418
420 if (strcmp (stpos, "UNIX") == 0) 419 if (strcmp (stpos, "UNIX") == 0)
421 { 420 request->server_type = GFTP_DIRTYPE_UNIX;
422 request->server_type = GFTP_DIRTYPE_UNIX;
423 if (strstr (endpos + 1, "BSD") == NULL)
424 parms->quote_filename = 1;
425 }
426 else if (strcmp (stpos, "VMS") == 0) 421 else if (strcmp (stpos, "VMS") == 0)
427 request->server_type = GFTP_DIRTYPE_VMS; 422 request->server_type = GFTP_DIRTYPE_VMS;
428 else if (strcmp (stpos, "MVS") == 0 || 423 else if (strcmp (stpos, "MVS") == 0 ||
429 strcmp (stpos, "OS/MVS") == 0) 424 strcmp (stpos, "OS/MVS") == 0)
430 request->server_type = GFTP_DIRTYPE_MVS; 425 request->server_type = GFTP_DIRTYPE_MVS;
1701 g_return_val_if_fail (request != NULL, GFTP_EFATAL); 1696 g_return_val_if_fail (request != NULL, GFTP_EFATAL);
1702 g_return_val_if_fail (file != NULL, GFTP_EFATAL); 1697 g_return_val_if_fail (file != NULL, GFTP_EFATAL);
1703 g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL); 1698 g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL);
1704 1699
1705 parms = request->protocol_data; 1700 parms = request->protocol_data;
1706 if (parms->quote_filename) 1701 tempstr = g_strdup_printf ("SITE CHMOD %o %s\r\n", mode, file);
1707 tempstr = g_strdup_printf ("SITE CHMOD %o \"%s\"\r\n", mode, file);
1708 else
1709 tempstr = g_strdup_printf ("SITE CHMOD %o %s\r\n", mode, file);
1710 1702
1711 ret = rfc959_send_command (request, tempstr, 1); 1703 ret = rfc959_send_command (request, tempstr, 1);
1712 g_free (tempstr); 1704 g_free (tempstr);
1713 1705
1714 if (ret < 0) 1706 if (ret < 0)
1785 1777
1786 datestr = rfc959_time_t_to_mdtm (request, datetime); 1778 datestr = rfc959_time_t_to_mdtm (request, datetime);
1787 if (datestr == NULL) 1779 if (datestr == NULL)
1788 return (GFTP_EFATAL); 1780 return (GFTP_EFATAL);
1789 1781
1790 if (parms->quote_filename) 1782 tempstr = g_strconcat ("SITE UTIME ", datestr, " ", file, "\r\n", NULL);
1791 tempstr = g_strconcat ("SITE UTIME ", datestr, " \"", file, "\"\r\n", NULL);
1792 else
1793 tempstr = g_strconcat ("SITE UTIME ", datestr, " ", file, "\r\n", NULL);
1794 1783
1795 g_free (datestr); 1784 g_free (datestr);
1796 1785
1797 ret = rfc959_send_command (request, tempstr, 1); 1786 ret = rfc959_send_command (request, tempstr, 1);
1798 g_free (tempstr); 1787 g_free (tempstr);
1855 1844
1856 dparms = dest_request->protocol_data; 1845 dparms = dest_request->protocol_data;
1857 sparms = src_request->protocol_data; 1846 sparms = src_request->protocol_data;
1858 1847
1859 dparms->data_connection = -1; 1848 dparms->data_connection = -1;
1860 dparms->quote_filename = sparms->quote_filename;
1861 dparms->is_ascii_transfer = sparms->is_ascii_transfer; 1849 dparms->is_ascii_transfer = sparms->is_ascii_transfer;
1862 dparms->is_fxp_transfer = sparms->is_fxp_transfer; 1850 dparms->is_fxp_transfer = sparms->is_fxp_transfer;
1863 dparms->auth_tls_start = sparms->auth_tls_start; 1851 dparms->auth_tls_start = sparms->auth_tls_start;
1864 dparms->data_conn_read = sparms->data_conn_read; 1852 dparms->data_conn_read = sparms->data_conn_read;
1865 dparms->data_conn_write = sparms->data_conn_write; 1853 dparms->data_conn_write = sparms->data_conn_write;