1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
1997-08-15 Miles Bader <miles@gnu.ai.mit.edu>
* fname.c (ftp_conn_append_name, ftp_conn_basename): Make sure
CONN's SYSHOOKS field is valid before using it.
* ftpconn.h (struct ftp_conn): Add SYSHOOKS_VALID field.
(ftp_conn_validate_syshooks): New inline function.
* open.c (ftp_conn_sysify): Set SYSHOOKS_VALID.
* set-type.c (ftp_conn_set_type): If there's no connection, don't
open a new one, just save the type for later.
1997-08-09 Miles Bader <miles@gnu.ai.mit.edu>
* names.c (ftp_conn_cont_get_names): Check for interrupts.
* unix.c (ftp_conn_unix_cont_get_stats): Likewise.
* reply.c (ftp_conn_getline): Likewise.
* ftpconn.h (struct ftp_conn_hooks): Add INTERRUPT_CHECK field.
1997-08-08 Miles Bader <miles@gnu.ai.mit.edu>
* rmt.c (ftp_conn_rmt_transfer): If we get an error, close SRC_CONN
instead of aborting it, to avoid problems with some ftp servers.
* create.c (ftp_conn_create): Don't open the connection here.
* names.c (ftp_conn_cont_get_names): Use BASENAME hook instead of
FIX_NLIST_NAME.
(ftp_conn_start_get_names): Don't set DIR field.
(struct get_names_state): Remove DIR field.
(ftp_conn_cont_get_names): Don't free DIR field.
* ftpconn.h (struct ftp_conn_syshooks): Add APPEND_NAME and
BASENAME fields; remove FIX_NLIST_NAME field.
(ftp_conn_unix_append_name, ftp_conn_unix_basename): New declarations.
(ftp_conn_unix_fix_nlist_name): Declaration removed.
(ftp_conn_append_name, ftp_conn_basename): New declarations.
* unix.c (ftp_conn_unix_cont_get_stats): Pass only directory-
relative names to the callback function.
(ftp_conn_unix_append_name, ftp_conn_unix_basename): New functions.
(ftp_conn_unix_fix_nlist_name): Function removed.
(struct ftp_conn_unix_syshooks): Initialize APPEND_NAME and
BASENAME fields; remove FIX_NLIST_NAME initialization.
* fname.c: New file.
* Makefile (SRCS): Add fname.c
1997-08-07 Miles Bader <miles@gnu.ai.mit.edu>
* ftpconn.h (struct ftp_conn_syshooks): Add FIX_NLIST_NAME field.
(ftp_conn_unix_fix_nlist_name): New declaration.
* names.c (ftp_conn_cont_get_names): Support FIX_NLIST_NAME hook.
Free S->dir if necessary. Close or abort connection when done.
(struct get_names_state): Add DIR field.
(ftp_conn_start_get_names): Fill in S->dir field if necessary.
* unix.c (ftp_conn_unix_fix_nlist_name): New function.
(ftp_conn_unix_syshooks): Add ftp_conn_unix_fix_nlist_name.
1997-08-06 Miles Bader <miles@gnu.ai.mit.edu>
* open.c (ftp_conn_sysify): Handle REPLY_UNIMP_CMD for "syst".
* unix.c (parse_dir_entry): Re-enable mktime calls.
1997-08-04 Miles Bader <miles@gnu.ai.mit.edu>
* unix.c (ftp_conn_unix_cont_get_stats): If returning with an
error, ignore any return from ftp_conn_finish_transfer.
Wed Jun 4 14:17:30 1997 Miles Bader <miles@gnu.ai.mit.edu>
* Makefile (ftpcp, ftpdir): Rules removed.
* ftpcp.c, ftpdir.c: Files removed.
Thu May 29 17:24:40 1997 Miles Bader <miles@gnu.ai.mit.edu>
* ftpcp.c (doc): Update.
(econnect, eopen_wr, eopen_rd, efinish): New functions.
(struct epoint): Remove FD field.
Rename RMT_FILE & RMT_HOST to FILE & HOST.
(main): Remove array of epoints & loops, & just use RD & WR,
calling the e* functions above.
Support DST being a directory.
Wed May 14 15:22:17 1997 Miles Bader <miles@gnu.ai.mit.edu>
* open.c (ftp_conn_login): Correct defaulting of username.
Tue May 13 16:37:18 1997 Miles Bader <miles@gnu.ai.mit.edu>
* unix.c (ftp_conn_unix_cont_get_stats): Clean up our ftp transfer
when we're done.
Mon May 12 10:57:54 1997 Miles Bader <miles@gnu.ai.mit.edu>
* unix.c (ftp_conn_unix_cont_get_stats): Only abort when
necessary.
(ftp_conn_unix_start_get_stats): Allocate enough memory for REQ.
* cmd.c (ftp_conn_abort): Use ftp_conn_get_raw_reply instead of
ftp_conn_get_reply. Accept REPLY_ABORT_OK as a final reply.
* reply.c (ftp_conn_get_raw_reply): Renamed from ftp_conn_get_reply.
(ftp_conn_get_reply): New function.
* ftpconn.h (ftp_conn_get_raw_reply): New declaration.
Fri May 9 17:55:25 1997 Miles Bader <miles@gnu.ai.mit.edu>
* priv.h (REPLY_ABORT_OK): New macro.
* ftpdir.c (ftpdir2): Deal with new semantics of CONTENTS argument
to ftp_conn_get_stats.
* unix.c (struct get_stats_state): Add ADDED_SLASH field.
(ftp_conn_unix_start_get_stats): Don't use asprintf.
Set ADDED_SLASH field.
(ftp_conn_unix_cont_get_stats): Remove any initial `./' we added.
Abort CONN if we return an error.
Thu May 8 14:22:08 1997 Miles Bader <miles@gnu.ai.mit.edu>
* open.c (ftp_conn_open): Cast 2nd arg in connect call to `struct
sockaddr *'.
* cmd.c: Include <string.h>.
* stats.c (ftp_conn_start_get_stats, ftp_conn_get_stats):
Rename FORCE_DIR argument to CONTENTS.
* ftpconn.h (ftp_conn_get_stats, ftp_conn_start_get_stats,
ftp_conn_unix_start_get_stats): Rename FORCE_DIR argument to CONTENTS.
(struct ftp_conn_syshooks): Rename FORCE_DIR argument of
START_GET_STATS field type to CONTENTS.
* unix.c (struct get_stats_state): Add CONTENTS field.
(ftp_conn_unix_start_get_stats): Initialize it.
Change FORCE_DIR argument to CONTENTS.
Pass -A flag.
Prepend ./ to NAME if it doesn't contain a slash.
Reject names containg possible meta-characters.
* unix.c: Only include <hurd/hurd_types.h> if
HAVE_HURD_HURD_TYPES_H is defined.
(parse_dir_entry): Only set stat->st_fstype if FSTYPE_FTP is defined.
Only set stat->st_author if HAVE_STAT_ST_AUTHOR is defined.
* Makefile (CPPFLAGS): Add -DHAVE_HURD_HURD_TYPES_H.
Wed May 7 12:35:21 1997 Miles Bader <miles@gnu.ai.mit.edu>
* Makefile (SRCS): ftpconn.c replaced by resulting split files.
* errs.c: New file.
* ftpconn.c (ftp_conn_poss_file_errs): Moved to errs.c.
* open.c: New file.
* ftpconn.c (ftp_conn_login, ftp_conn_hello, ftp_conn_set_syshooks,
ftp_conn_choose_syshooks, ftp_conn_sysify, ftp_conn_open,
ftp_conn_close): Functions moved to open.c.
* ftpconn.c (ftp_conn_poss_file_errs): Renamed from
poss_file_errs; all references changed.
Made not static.
* xfer.c: New file.
* ftpconn.c (ftp_conn_finish_transfer, ftp_conn_start_transfer,
ftp_conn_open_data, ftp_conn_start_retrieve, ftp_conn_start_list,
ftp_conn_start_dir, ftp_conn_start_store): Functions moved to xfer.c.
* addr.c: New file.
* ftpconn.c p(ftp_conn_get_pasv_addr, ftp_conn_send_actv_addr):
Functions moved to addr.c.
* create.c: New file.
* ftpconn.c (ftp_conn_create, ftp_conn_free): Functions moved to create.c.
* priv.h: New file.
* xinl.c: New file.
* ftpconn.c (unexpected_reply): Function moved to priv.h.
(REPLY_*): Macros moved to priv.h.
* rmt.c: New file.
* ftpconn.c (ftp_conn_rmt_copy, ftp_conn_rmt_transfer): Functions
moved to rmt.c.
* cwd.c: New file.
* ftpconn.c (ftp_conn_cdup, ftp_conn_cwd, ftp_conn_get_cwd,
_cache_cwd): Functions moved to cwd.c.
* set-type.c: New file.
* ftpconn.c (ftp_conn_set_type): Function moved to set-type.c.
* stats.c: New file.
* ftpconn.c (ftp_conn_start_get_stats, ftp_conn_cont_get_stats,
ftp_conn_get_stats): Functions moved to stats.c.
* names.c: New file.
* ftpconn.h (ftp_conn_add_name_fun_t): New type.
(ftp_conn_start_get_names, ftp_conn_cont_get_names,
ftp_conn_get_names): New functions.
* unix.c (struct get_stats_state): Add NAME_LEN & NAME_ALLOCED fields.
(ftp_conn_unix_cont_get_stats): Retain S's name buffer between
entries, only growing it when needed; leave any copying to the client.
* ftpconn.h (ftp_conn_add_stat_fun_t): Make first 3 params const.
Update comment to say they should be copied if retained.
* Makefile (installhdrsubdir): New variable.
|