Mercurial > gftp.yaz
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; |