annotate lib/ftpcommon.h @ 847:14858879916f

2006-11-2 Brian Masney <masneyb@gftp.org> * lib/ftpcommon.h lib/ftps.c lib/rfc959.c - use the encoded filename length to determine how many bytes should be sent in the command to the remote server. Don't use the strlen() function since there may be a NUL character in the filename. ATTENTION INTERNATIONAL USERS: If you have time, can you test the filename encoding in CVS? All of the necessary changes were made to the local, FTP and SSH protocols. Let me know if you see any problems.
author masneyb
date Fri, 03 Nov 2006 03:23:19 +0000
parents 435b11d2d628
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
389
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
1 /*****************************************************************************/
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
2 /* ftpcommon.h - common data structures for RFC959 and FTPS */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
3 /* Copyright (C) 1998-2003 Brian Masney <masneyb@gftp.org> */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
4 /* */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
5 /* This program is free software; you can redistribute it and/or modify */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
6 /* it under the terms of the GNU General Public License as published by */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
7 /* the Free Software Foundation; either version 2 of the License, or */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
8 /* (at your option) any later version. */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
9 /* */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
10 /* This program is distributed in the hope that it will be useful, */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
11 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
12 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
13 /* GNU General Public License for more details. */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
14 /* */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
15 /* You should have received a copy of the GNU General Public License */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
16 /* along with this program; if not, write to the Free Software */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
17 /* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
18 /*****************************************************************************/
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
19
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
20 /* $Id$ */
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
21
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
22 #include "gftp.h"
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
23
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
24 struct rfc959_params_tag
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
25 {
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
26 gftp_getline_buffer * datafd_rbuf,
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
27 * dataconn_rbuf;
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
28 int data_connection;
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
29 unsigned int is_ascii_transfer : 1,
647
c197c8fb1e62 2004-12-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 541
diff changeset
30 is_fxp_transfer : 1;
389
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
31 int (*auth_tls_start) (gftp_request * request);
390
0444232dc494 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 389
diff changeset
32 ssize_t (*data_conn_read) (gftp_request * request, void *ptr, size_t size,
0444232dc494 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 389
diff changeset
33 int fd);
0444232dc494 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 389
diff changeset
34 ssize_t (*data_conn_write) (gftp_request * request, const char *ptr,
0444232dc494 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 389
diff changeset
35 size_t size, int fd);
389
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
36 };
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
37
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
38 typedef struct rfc959_params_tag rfc959_parms;
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
39
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
40 int rfc959_send_command ( gftp_request * request,
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
41 const char *command,
847
14858879916f 2006-11-2 Brian Masney <masneyb@gftp.org>
masneyb
parents: 820
diff changeset
42 ssize_t command_len,
820
435b11d2d628 2006-10-1 Brian Masney <masneyb@gftp.org>
masneyb
parents: 647
diff changeset
43 int read_response,
435b11d2d628 2006-10-1 Brian Masney <masneyb@gftp.org>
masneyb
parents: 647
diff changeset
44 int dont_try_to_reconnect );
389
b39a312323ec 2003-2-3 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
45