]> sjero.net Git - wget/blob - src/ChangeLog
[svn] Sort commands[].
[wget] / src / ChangeLog
1 2000-11-06  Hrvoje Niksic  <hniksic@arsdigita.com>
2
3         * init.c: commands[] need to be sorted!  ("base" wasn't.)
4
5 2000-11-05  Hrvoje Niksic  <hniksic@arsdigita.com>
6
7         * wget.h (DO_REALLOC_FROM_ALLOCA): Use braces to disambiguate
8         `if'.
9
10 2000-11-05  Hrvoje Niksic  <hniksic@arsdigita.com>
11
12         * url.c (construct): Insert unneeded initialization for the
13         compiler to shut up.
14
15         * config.h.in: Define _XOPEN_SOURCE to 500 to get the prototype
16         for strptime() (*duh*).  Define _SVID_SOURCE to get S_IFLNK which
17         otherwise gets lost when you define _XOPEN_SOURCE.
18
19         * utils.c (touch): Include the file name in the error message.
20         From Debian.
21
22 2000-11-05  Hrvoje Niksic  <hniksic@arsdigita.com>
23
24         * log.c (logvprintf): Use vsnprintf() in all cases.  If necessary,
25         resize the buffer to fit the formated message.  That way, messages
26         of arbitrary size may be printed.
27         (logvprintf): Use saved_append() to optionally log the last
28         several lines of output.
29         (logputs): Ditto.
30         (log_close): Adapt to new data structures.
31         (log_dump): Ditto.
32         (redirect_output): Print messages to stderr, not to stdout.
33
34         * log.c (saved_append_1): New function.  Replaces the old logging
35         system ("log all output until 10M characters") with a new, much
36         more reasonable one ("log last screenful of text").
37         (saved_append): New function; call saved_append_1.
38         (free_log_line): New function.
39
40 2000-11-05  Hrvoje Niksic  <hniksic@arsdigita.com>
41
42         * url.c (construct): Fix comment.
43         (find_last_char): Document.
44
45 2000-11-04  Hrvoje Niksic  <hniksic@arsdigita.com>
46
47         * snprintf.c: New file.
48
49 2000-11-03  Hrvoje Niksic  <hniksic@arsdigita.com>
50
51         * wget.h: If HAVE_STDARG_H is not defined, don't declare argument
52         types to logprintf() and debug_logprintf().
53
54 2000-11-02  Hrvoje Niksic  <hniksic@arsdigita.com>
55
56         * ftp.c (ftp_loop_internal): Hide the password from the URL when
57         printing non-verbose.  Problem spotted by Dariusz Mlynarczyk
58         <darekm@bydg.lomac.com.pl>.
59
60 2000-11-02  Junio Hamano  <junio@twinsun.com>
61
62         * ftp-basic.c (ftp_login): Make comparison case-insensitive.
63
64 2000-11-02  Tyler Riddle  <triddle@liquidmarket.com>
65
66         * http.c (known_authentication_scheme_p): Recognize NTML
67         authentication.
68         (create_authorization_line): Treat NTML the same as `Basic'.
69
70 2000-11-02  Hrvoje Niksic  <hniksic@arsdigita.com>
71
72         * retr.c (retrieve_url): Free url before returning.
73         (retrieve_url): Free mynewloc before returning.
74         Spotted by Mark A. Mankins <Mankins_Mark@prc.com>.
75
76 2000-11-02  Hrvoje Niksic  <hniksic@arsdigita.com>
77
78         * url.c (parseurl): Remove possible reading past the end of
79         sup_protos[].  Spotted by Mark A. Mankins <Mankins_Mark@prc.com>.
80
81 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
82
83         * main.c (main): In case of opt.downloaded overflowing, print
84         <overflow> instead of a totally bogus random value.
85
86         * retr.c (retrieve_from_file): Ditto.
87
88         * recur.c (recursive_retrieve): Ditto.
89
90         * main.c (main): Ditto.
91
92         * http.c (http_loop): Ditto.
93
94         * ftp.c (ftp_loop_internal): Use downloaded_increase() instead of
95         `+=', and downloaded_exceeds_quota() instead of the simple-minded
96         check.
97         (ftp_retrieve_list): Ditto.
98         (ftp_retrieve_dirs): Ditto.
99         (ftp_retrieve_glob): Ditto.
100
101         * retr.c (downloaded_increase): New function.  Notice overflows of
102         opt.downloaded.
103         (downloaded_exceeds_quota): Make sure that opt.downloaded is not
104         used if it overflowed.
105
106         * options.h (struct options): New member downloaded_overflow.
107
108 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
109
110         * wget.h (enum): Remove extra space after last enumeration.
111
112 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
113
114         * main.c (main): Use legible_very_long() for printing
115         opt.downloaded.
116
117         * utils.c (legible_1): New function that operates on strings and
118         does the brunt of legible()'s work.
119         (legible): Use legible_1().
120         (legible_very_long): New function; dump the argument with
121         sprintf(), and call legible_1().
122
123         * options.h (struct options): Use VERY_LONG_TYPE for
124         opt.downloaded.
125
126         * sysdep.h (VERY_LONG_TYPE): Define it to have a 64-bit or greater
127         type.
128
129         * config.h.in: Make sure that SIZEOF_LONG and SIZEOF_LONG_LONG get
130         defined.  Define HAVE_LONG_LONG if long long is available.
131
132 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
133
134         * utils.c (long_to_string): Update with a later, better version.
135
136 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
137
138         * url.c (path_simplify_with_kludge): New function.
139         (path_simplify_with_kludge): Disable it.  Instead...
140         (parse_dir): ...make sure that at this point the right thing is
141         done, i.e. that "query" part of the URL (?...) is always assigned
142         to the file, never to the directory portion of the path.
143
144 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
145
146         * retr.c (retrieve_url): Detect redirection cycles.
147
148 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
149
150         * url.c (get_urls_html): Decode HTML entities using
151         html_decode_entities.
152
153         * html.c (htmlfindurl): Don't count the `#' in numeric entities
154         (&#NNN;) as an HTML fragemnt.
155         (html_decode_entities): New function.
156
157 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
158
159         * html.c (htmlfindurl): Fix recognition of # HTML fragments.
160
161 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
162
163         * url.c (construct): Rewritten for clarity.  Avoids the
164         unnecessary copying and stack-allocation the old version
165         performed.
166
167 2000-10-31  Hrvoje Niksic  <hniksic@arsdigita.com>
168
169         * ftp.c (getftp): Ditto.
170
171         * http.c (gethttp): Rewind the stream when retrying from scratch.
172
173 2000-10-31  Hrvoje Niksic  <hniksic@arsdigita.com>
174
175         * retr.c (retrieve_url): Use url_concat() to handle relative
176         redirections instead of /ad hoc/ code.
177
178         * url.c (url_concat): New function encapsulating weird
179         construct().
180         (urllen_http_hack): New function.
181         (construct): When constructing new URLs, recognize that `?' does
182         not form part of the file name in HTTP.
183
184 2000-10-13  Adrian Aichner  <adrian@xemacs.org>
185
186         * retr.c: Add msec timing support for WINDOWS.
187         * retr.c (reset_timer): GetSystemTime() on WINDOWS.
188         * retr.c (elapsed_time): Calculate delta time to msec on WINDOWS.
189
190 2000-10-27  Dan Harkless  <dan-wget@dilvish.speed.net>
191
192         * retr.c (retrieve_url): Manually applied T. Bharath
193         <TBharath@responsenetworks.com>'s patch to get wget to grok
194         illegal relative URL redirects.  Reformatted and re-commented it.
195
196 2000-10-23  Dan Harkless  <dan-wget@dilvish.speed.net>
197
198         * connect.c (make_connection and bindport): Manually applied Rob
199         Mayoff <mayoff@dqd.com>'s 1.5.3 patch to add --bind-address,
200         changing coding style to GNU's.
201
202         * ftp.c (ftp_loop_internal): --delete-after wasn't implemented for
203         files downloaded via FTP.  Per a comment, .listing files were not
204         counted towards number of bytes and files downloaded because they're 
205         deleted anyway.  Well, they aren't under -nr, so count them then.
206
207         * init.c: Manually applied Rob Mayoff's 1.5.3 patch to add
208         --bind-address, alphabetizing, changing coding style to GNU's,
209         commenting, and renaming cmd_ip_address() to cmd_address() to
210         imply hostnames also okay.
211                 
212         * main.c (main): --delete-after didn't delete the root of the
213         tree.  Ignore --convert-links if --delete-after was specified.
214         Manually applied Rob Mayoff's 1.5.3 patch to add --bind-address,
215         fixing duplicate use of added-since-1.5.3 case value.
216         (print_help): Clarified that --delete-after deletes local files.
217         Rob forgot to add a line for his new --bind-address option.
218                 
219         * options.h (struct options): Manually applied Rob Mayoff's patch
220         to add --bind-address (bind_address structure member).
221                 
222         * recur.c (recursive_retrieve): Improved comment; added DEBUGP().
223         Ignore --convert-links if --delete-after was specified.
224                 
225         * retr.c (retrieve_from_file): Just added a DEBUGP().
226                 
227 2000-10-19  Dan Harkless  <dan-wget@dilvish.speed.net>
228
229         * ftp.c (ftp_loop_internal): downloaded_file() enumerators changed.
230         (getftp): Applied Piotr Sulecki <Piotr.Sulecki@ios.krakow.pl>'s
231         patch to work around FTP servers that incorrectly respond to the
232         "REST" command with the remaining size rather than the total file size.
233                 
234         * http.c (gethttp): Improved a comment and added code to tack on
235         ".html" to text/html files without that extension when -E specified.
236         (http_loop): Use new downloaded_file() enumerators and deal with
237         the case of gethttp() called xrealloc() on u->local.
238
239         * init.c (commands): Added new "htmlextension" command.
240         Also renamed John Daily's cmd_quad() to the more descriptive
241         cmd_lockable_boolean(), alpha-sorted the CMD_DECLARE()s and
242         removed duplicate cmd_boolean() declaration.
243
244         * main.c (print_help): Added my new -E / --html-extension option.
245         (main): Undocumented --email-address option previously used -E synonym.
246         Stole it away for the much more deserving --html-extension's use.
247
248         * options.h (struct options): Added html_extension field.
249
250         * url.c (convert_links): URL X that we saved as X.html locally due
251         to -E needs to be backed up as X.orig, not X.html.orig.  Added comments.
252         (downloaded_file): Now remembers if we added .html extension to a file.
253
254         * url.h (downloaded_file_t): Added extra enumerators to support above.
255         (downloaded_file): Now takes and returns a downloaded_file_t.
256
257         * wget.h (unnamed "dt" enum): Added ADDED_HTML_EXTENSION enumerator.
258         
259 2000-10-09  Dan Harkless  <dan-wget@dilvish.speed.net>
260
261         * html.c (htmlfindurl): Added unneeded initialization to quiet warning.
262                 
263         * main.c (print_help): Clarified what --retr-symlinks does.
264         
265 2000-09-15  John Daily  <jdaily@cyberdude.com>
266
267         * init.c: Add support for "always" and "never" values to allow
268         .wgetrc to override commandline (useful e.g. with .pm files
269         calling `wget --passive-ftp' when your firewall doesn't allow that).
270
271         * ftp.c (getftp): passive_ftp is first option to support always/never.
272
273 2000-08-30  Dan Harkless  <dan-wget@dilvish.speed.net>
274
275         * ftp.c (ftp_retrieve_list): Use new INFINITE_RECURSION #define.
276         
277         * html.c: htmlfindurl() now takes final `dash_p_leaf_HTML' parameter.
278         Wrapped some > 80-column lines.  When -p is specified and we're at a 
279         leaf node, do not traverse <A>, <AREA>, or <LINK> tags other than 
280         <LINK REL="stylesheet">.
281         
282         * html.h (htmlfindurl): Now takes final `dash_p_leaf_HTML' parameter.
283         
284         * init.c: Added new -p / --page-requisites / page_requisites option.
285
286         * main.c (print_help): Clarified that -l inf and -l 0 both allow
287         infinite recursion.  Changed the unhelpful --mirrior description
288         to simply give the options it's equivalent to.  Added new -p option.
289         (main): Added some comments; handle new -p / --page-requisites.
290         
291         * options.h (struct options): Added new page_requisites field.
292
293         * recur.c: Changed "URL-s" to "URLs" and "HTML-s" to "HTMLs".
294         Calculate and pass down new `dash_p_leaf_HTML' parameter to
295         get_urls_html().  Use new INFINITE_RECURSION #define.
296
297         * retr.c: Changed "URL-s" to "URLs".  get_urls_html() now takes
298         final `dash_p_leaf_HTML' parameter.
299
300         * url.c: get_urls_html() and htmlfindurl() now take final
301         `dash_p_leaf_HTML' parameter.
302
303         * url.h (get_urls_html): Now takes final `dash_p_leaf_HTML' parameter.
304
305         * wget.h: Added some comments and new INFINITE_RECURSION #define.
306         
307 2000-08-23  Dan Harkless  <dan-wget@dilvish.speed.net>
308
309         * main.c (print_help): -B / --base was not mentioned.
310
311 2000-08-22  Dan Harkless  <dan-wget@dilvish.speed.net>
312
313         * main.c (print_help): Modified -nc description to mention that it
314         also prevents the creation of multiple versions of the same file
315         with ".<number>" suffixes.
316
317 2000-07-14  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
318
319         * retr.c (retrieve_url): Consistently strdup opt.referer when
320         setting u->referer.
321
322 2000-06-09  Dan Harkless  <dan-wget@dilvish.speed.net>
323
324         * main.c (print_help): --help output for --waitretry was over 80 cols.
325
326 2000-06-09  Hrvoje Niksic  <hniksic@iskon.hr>
327
328         * url.c (encode_string): Fix comment.
329         Suggested by Herold Heiko <Heiko.Herold@previnet.it>.
330
331 2000-06-01  Const Kaplinsky  <const@ce.cctpu.edu.ru>
332
333         * ftp.c (ftp_retrieve_list): Change permissions only on plain
334         files.
335
336 2000-06-01  Hrvoje Niksic  <hniksic@iskon.hr>
337
338         * url.c (str_url): Print the port number only if it's different
339         from the default port number for that protocol.
340
341 2000-05-22  Dan Harkless  <dan-wget@dilvish.speed.net>
342
343         * main.c (print_help): Added --help line for Damir Dzeko
344         <ddzeko@zesoi.fer.hr>'s until-now-undocumented --referer option.
345         Removed comments that --referer and --waitretry were undocumented.
346         Changed "`.wgetrc' command" to "`.wgetrc'-style command" on --help
347         line for --execute.
348
349 2000-05-18  Hrvoje Niksic  <hniksic@iskon.hr>
350
351         * ftp.c (getftp): Ditto.
352
353         * http.c (gethttp): Check for return value of fclose/fflush.
354
355 2000-04-12  Hrvoje Niksic  <hniksic@iskon.hr>
356
357         * host.c (store_hostaddress): Instead of shifting ADDR, start
358         copying from the correct address.
359
360 2000-04-12  Hrvoje Niksic  <hniksic@iskon.hr>
361
362         * http.c (gethttp): Don't free REQUEST -- it was allocated with
363         alloca().
364         Pointed out by Gisle Vanem <gvanem@eunet.no>.
365
366 2000-04-04  Dan Harkless  <dan-wget@dilvish.speed.net>
367
368         * host.c (store_hostaddress): R. K. Owen's patch introduces a
369         "left shift count >= width of type" warning on 32-bit
370         architectures.  Got rid of it by tricking the compiler w/ a variable.
371         
372         * url.c (UNSAFE_CHAR): The macro didn't include all the illegal
373         characters per RFC1738, namely everything above '~'.  It also
374         generated a warning on OSes where char =~ unsigned char.  Fixed.
375         
376 1998-10-17  Hrvoje Niksic  <hniksic@srce.hr>
377
378         * http.c (http_process_type): Removed needless strdup(), a memory
379         leak.
380
381 1998-09-25  Hrvoje Niksic  <hniksic@srce.hr>
382
383         * html.c (htmlfindurl): Set PH to the first occurrence of `#'.
384
385 1998-09-25  Simon Munton  <simonm@m4data.co.uk>
386
387         * init.c (wgetrc_file_name): Don't free HOME under Windows.
388
389 1998-12-01  "R. K. Owen"  <rkowen@Nersc.GOV>
390
391         * host.c (store_hostaddress): Fix for big endian 64-bit machines.
392
393 1998-12-01  Hrvoje Niksic  <hniksic@srce.hr>
394
395         * url.c (UNSAFE_CHAR): New macro.
396         (contains_unsafe): Use it.
397         (encode_string): Ditto.
398
399 1998-12-01  Hrvoje Niksic  <hniksic@srce.hr>
400
401         * main.c (i18n_initialize): Use LC_MESSAGES only if available.
402
403 2000-03-31  Hrvoje Niksic  <hniksic@srce.hr>
404
405         * Use TOUPPER/TOLOWER.
406
407 1998-12-22  Alexander V. Lukyanov  <lav@yars.free.net>
408
409         * ftp-opie.c (btoe): Zero-terminate OSTORE.
410
411 2000-03-21  Hrvoje Niksic  <hniksic@iskon.hr>
412
413         * wget.h (DO_REALLOC_FROM_ALLOCA): Ditto.
414
415         * sysdep.h (ISALNUM): New macro.
416         (TOLOWER): Ditto.
417         (TOUPPER): Ditto.
418
419 2000-03-10  Dan Harkless  <dan-wget@dilvish.speed.net>
420
421         * html.c (idmatch): Implemented checking of my new --follow-tags
422         and --ignore-tags options.
423         
424         * init.c (commands): Added comment reminding people adding new
425         entries doing allocation to add corresponding freeing in cleanup().
426         (commands): Added new followtags and ignoretags commands.
427         (cleanup): Free storage for new followtags and ignoretags.
428         
429         * main.c: Use of "comma-separated list" was random -- normalized
430         it.  Did some alphabetization.  Added comments pointing out
431         "Options without arguments" and "Options accepting an argument"
432         sections of long_options[].  Added new options --follow-tags and
433         -G / --ignore-tags.  Added comment that Damir's --referer is
434         currently undocumented.  Added comment that Heiko's --waitretry is
435         partially undocumented (mentioned in --help but not in
436         wget.texi).  Moved improperly sorted 24, 129, and 'G' cases.
437         
438         * options.h (struct options): Added new fields follow_tags and
439         ignore_tags. 
440         
441         * wget.h: Added "#define EQ 0" so we can say "strcmp(a, b) == EQ".
442         
443 2000-03-02  Dan Harkless  <dan-wget@dilvish.speed.net>
444
445         * ftp.c (ftp_loop_internal): Heiko introduced "suggest explicit
446         braces to avoid ambiguous `else'" warnings.  Eliminated them.
447         
448         * http.c (gethttp): Dan Berger's query string patch is totally
449         bogus.  If you have two different URLs, gen_page.cgi?page1 and
450         get_page.cgi?page2, they'll both be saved as get_page.cgi and the
451         second will overwrite the first.  Also, parameters to implicit
452         CGIs, like "http://www.host.com/db/?2000-03-02" cause the URLs to
453         be printed with trailing garbage characters, and could seg fault.
454         Backing out the patch, which Dan B. informed me by email was just
455         a kludge to download StarOffice from Sun made necessary due to
456         wget's unconditional escaping of certain characters (room for an
457         option there?).
458         (http_loop): Heiko introduced "suggest explicit braces to avoid
459         ambiguous `else'" warnings.  Eliminated them.
460         
461         * main.c: Heiko's --wait / --waitretry backwards compatibility
462         code looks to have been totally untested -- automatic variable
463         'wr' was used without being initialized, and a long int was passed
464         into setval()'s char* val parameter.
465         
466         * recur.c (parse_robots): Applied Edward J. Sabol
467         <sabol@alderaan.gsfc.nasa.gov>'s patch for Guan Yang's reported
468         problem with "User-agent:<space>*<space>" lines in robots.txt.
469         
470         * url.c (parseurl, str_url): Removing Dan Berger's code (see
471         http.c above for explanation).
472         
473 1999-08-25  Heiko Herold  <Heiko.Herold@previnet.it>
474
475         * ftp.c: Respect new option waitretry.
476
477 2000-01-30  Damir Dzeko  <ddzeko@zesoi.fer.hr>
478
479         * http.c (gethttp): Send custom Referer, if required.
480
481 1999-09-24  Charles G Waldman  <cgw@fnal.gov>
482
483         * netrc.c (parse_netrc): Allow passwords to contain spaces.
484
485         * netrc.c (parse_netrc): New function.
486
487 1999-09-17  Dan Berger  <dberger@ix.netcom.com>
488
489         * http.c (gethttp): Send it.
490
491         * url.c (parseurl): Detect query string in HTTP URL-s.
492         (str_url): Print it.
493
494 2000-03-02  HIROSE Masaaki  <hirose31@t3.rim.or.jp>
495
496         * html.c (html_allow): Add <link href=...> and <script src=...>.
497
498 1999-05-02  andrew deryabin  <djsf@softhome.net>
499
500         * http.c (gethttp): Specify port in `Host' header only if it's
501         different from 80.
502
503 1998-11-03  Edward J. Sabol  <sabol@alderaan.gsfc.nasa.gov>
504
505         * recur.c (recursive_retrieve): If a finite maximum depth is
506         specified, and we're are already at that depth, don't download the
507         HTML file for parsing.
508
509 2000-03-01  Dan Harkless  <dan-wget@dilvish.speed.net>
510
511         * ftp.c (ftp_loop_internal): Call new downloaded_file() function,
512         even though we don't do conversion on HTML files retrieved via
513         FTP, so _current_ usage of downloaded_file() makes this call unneeded. 
514         (ftp_retrieve_list): Added a comment saying where we need to
515         stat() a .orig file if FTP'd HTML file conversion is ever implemented.
516         (ftp_retrieve_list): "Local file '%s' is more recent," is sometimes
517         a lie -- reworded as "Server file no newer than local file '%s' --".
518         
519         * http.c (http_loop): Fixed a typo and clarified a comment.
520         (http_loop): When -K and -N are specified together, compare size
521         and timestamp of server file X against local file X.orig (if
522         extant) rather than converted local file X.
523         (http_loop): "Local file '%s' is more recent," is sometimes a lie
524         -- reworded as "Server file no newer than local file '%s' --".
525         (http_loop): Call new downloaded_file() function to prevent
526         wrongful overwriting of .orig file when -N is specified.
527         
528         * url.c (convert_links): When -K specified, only rename X to
529         X.orig if downloaded_file() returns TRUE.  Otherwise when we skip
530         file X due to -N, we clobber an X.orig from a previous invocation.
531         (convert_links): Call the failsafe xstrdup(), not the real strdup().
532         (convert_links): Added a note asking anyone who understands how
533         multiple URLs can correspond to a single file to comment it.
534         (downloaded_file): Added this new function.
535         
536         * url.h (downloaded_file): Added prototype for this new function
537         as well as its downloaded_file_t enum type.
538
539         * wget.h (boolean): Added this new typedef and TRUE and FALSE #defines.
540
541 2000-02-29  Dan Harkless  <dan-wget@dilvish.speed.net>
542
543         * version.c: Upped version to developer-only "1.5.3+dev".
544
545 2000-02-18  Dan Harkless  <dan-wget@dilvish.speed.net>
546
547         * init.c (backup_converted): Added this new option.
548
549         * main.c (-K / --backup-converted): Added this new option.
550
551         * options.h (backup_converted): Added this new option.
552
553         * url.c (convert_links): When backup_converted is specified, save
554         file X as X.orig before converting.
555
556         * url.h (urlpos): Fixed typo -- said "Rekative" instead of "Relative".
557
558 1998-09-21  Hrvoje Niksic  <hniksic@srce.hr>
559
560         * version.c: Wget 1.5.3 is released.
561
562 1998-09-21  Hrvoje Niksic  <hniksic@srce.hr>
563
564         * host.c (ftp_getaddress): Don't warn when reverse-lookup of local 
565         address doesn't yield FQDN.
566
567 1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
568
569         * cmpt.c (strerror): Fix declaration of sys_errlist.
570
571 1998-09-11  Hrvoje Niksic  <hniksic@srce.hr>
572
573         * main.c (main): Don't use an array subscript as the first
574         argument to STRDUP_ALLOCA.
575         From Kaveh R. Ghazi.
576
577 1998-09-11  Szakacsits Szabolcs  <szaka@sienet.hu>
578
579         * html.c (htmlfindurl): Download table background.
580
581 1998-09-11  Hans Grobler  <grobh@conde.ee.sun.ac.za>
582
583         * init.c (parse_line): Would free *com before allocating it.
584         (parse_line): Would free com instead of *com.
585
586 1998-09-10  Howard Gayle  <howard@fjst.com>
587
588         * url.c (get_urls_html): Would drop the last character of the
589         link.
590
591 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
592
593         * http.c (http_loop): Don't print status code if quiet.
594
595 1998-09-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
596
597         * log.c: Use <stdarg.h> only when __STDC__.
598
599 1998-09-10  Adam D. Moss  <adam@foxbox.org>
600
601         * html.c (htmlfindurl): Download <layer src=...>.
602
603 1998-09-10  Howard Gayle  <howard@fjst.com>
604
605         * ftp.c (ftp_retrieve_list): Don't update the time stamp of a file 
606         not retrieved.
607
608 1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>
609
610         * utils.c: Include <libc.h> on NeXT.
611
612 1998-06-26  Heinz Salzmann  <heinz.salzmann@intermetall.de>
613
614         * url.c (get_urls_html): Fix calculation of URL position.
615
616 1998-06-23  Hrvoje Niksic  <hniksic@srce.hr>
617
618         * version.c: Wget 1.5.2 is released.
619
620 1998-06-23  Dave Love  <d.love@dl.ac.uk>
621
622         * ftp.c, init.c, netrc.c: Include errno.h.
623
624         * http.c: Include errno.h and time header.
625
626         * Makefile.in (exext): Define.
627         (install.bin, uninstall.bin): Use it.
628
629 1998-06-21  Hrvoje Niksic  <hniksic@srce.hr>
630
631         * http.c (http_loop): Don't attempt to compare local and remote
632         sizes if the remote size is unknown.
633
634 1998-06-16  Hrvoje Niksic  <hniksic@srce.hr>
635
636         * url.c (get_urls_html): Use malloc() instead of alloca in the
637         loop.
638
639 1998-06-13  Hrvoje Niksic  <hniksic@srce.hr>
640
641         * version.c: Wget 1.5.2-b4 is released.
642
643 1998-06-13  Hrvoje Niksic  <hniksic@srce.hr>
644
645         * url.c (get_urls_html): Ignore spaces before and after the URI.
646
647 1998-06-08  Wanderlei Antonio Cavassin  <cavassin@conectiva.com.br>
648
649         * ftp.c (getftp): Translate `done'.
650
651 1998-06-06  Hrvoje Niksic  <hniksic@srce.hr>
652
653         * version.c: Wget 1.5.2-b3 is released.
654
655 1998-06-06  Alexander Kourakos  <awk@bnt.com>
656
657         * init.c (cleanup): Close dfp, don't free it.
658
659 1998-06-06  Hrvoje Niksic  <hniksic@srce.hr>
660
661         * utils.c (make_directory): Twiddle.
662
663         * config.h.in: Added template for access().
664
665 1998-06-05  Mathieu Guillaume  <mat@cythere.com>
666
667         * html.c (htmlfindurl): Download <input src=...>
668
669 1998-06-03  Hrvoje Niksic  <hniksic@srce.hr>
670
671         * utils.c (file_exists_p): Use access() with two arguments.
672
673 1998-05-27  Martin Kraemer  <Martin.Kraemer@mch.sni.de>
674
675         * netrc.c (parse_netrc): Correct logic.
676
677 1998-05-27  Hrvoje Niksic  <hniksic@srce.hr>
678
679         * ftp.c (getftp): Added `break'; suggested by Lin Zhe Min
680         <ljm@ljm.wownet.net>.
681
682 1998-05-24  Hrvoje Niksic  <hniksic@srce.hr>
683
684         * version.c: Wget 1.5.2-b2 is released.
685
686 1998-05-18  Juan Jose Rodriguez  <jcnsoft@jal1.telmex.net.mx>
687
688         * mswindows.h: Don't translate mkdir to _mkdir under Borland.
689
690 1998-05-17  Hrvoje Niksic  <hniksic@srce.hr>
691
692         * retr.c (elapsed_time): Return correct value when
693         HAVE_GETTIMEOFDAY is undefined.
694
695 1998-05-13  Hrvoje Niksic  <hniksic@srce.hr>
696
697         * version.c: Wget 1.5.2-b1 is released.
698
699 1998-05-08  Hrvoje Niksic  <hniksic@srce.hr>
700
701         * getopt.c (_getopt_internal): Use exec_name instead of argv[0].
702         (_getopt_internal): Don't translate `#if 0'-ed strings.
703
704 1998-05-06  Douglas E. Wegscheid  <wegscd@whirlpool.com>
705
706         * mswindows.c (ws_handler): Use fork_to_background().
707
708 1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>
709
710         * version.c: Wget 1.5.1 is released.
711
712 1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>
713
714         * http.c (parse_http_status_line): Avoid `minor' and `major'
715         names.
716
717 1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>
718
719         * utils.c (mkdirhier): Renamed to make_directory.
720
721 1998-05-01  Hrvoje Niksic  <hniksic@srce.hr>
722
723         * mswindows.c (fork_to_background): Define under Windows.
724
725         * utils.c (fork_to_background): New function.
726
727         * html.c (htmlfindurl): Removed rerdundant casts.
728
729 1998-05-01  Douglas E. Wegscheid  <wegscd@whirlpool.com>
730
731         * mswindows.c (ws_mypath): Cache the path.
732
733 1998-04-30  Douglas E. Wegscheid  <wegscd@whirlpool.com>
734
735         * ftp.h: Prefix enum ftype members with FT_.
736
737         * ftp-ls.c, ftp.c, html.h: Adjust accordingly.
738
739         * mswindows.h: Use stat under Borland, _stat under MSVC.
740
741 1998-04-28  Hrvoje Niksic  <hniksic@srce.hr>
742
743         * http.c (known_authentication_scheme_p): New function.
744         (gethttp): Handle authorization more correctly.
745
746         * ftp-basic.h: Removed.
747
748         * cmpt.h: Removed.
749
750         * utils.c: Include <unistd.h> before <pwd.h>; needed under SunOS
751         with gcc 2.8.
752         (numdigit): Use `while' loop.
753
754         * http.c (create_authorization_line): Detect authentication
755         schemes case-insensitively.
756
757         * http.c (extract_header_attr): Use strdupdelim().
758         (digest_authentication_encode): Move declaration of local
759         variables to smaller scope.
760         (digest_authentication_encode): Reset REALM, OPAQUE and NONCE.
761         (create_authorization_line): Detect authentication schemes
762         case-insensitively.
763
764         * utils.c (touch): Constify.
765
766         * http.c (gethttp): Report a nicer error when no data is received.
767
768         * rbuf.h (RBUF_READCHAR): Ditto.
769
770         * ftp-basic.c (ftp_response): Use sizeof.
771
772 1998-04-27  Hrvoje Niksic  <hniksic@srce.hr>
773
774         * retr.c (print_percentage): EXPECTED is long, not int.
775         (print_percentage): Use floating-point arithmetic to avoid
776         overflow with large files' sizes multiplied with 100.
777
778 1998-04-27  Gregor Hoffleit  <flight@mathi.uni-heidelberg.de>
779
780         * config.h.in: Added pid_t stub.
781
782         * sysdep.h (S_ISREG): Moved here from mswindows.h (NeXT doesn't
783         define it).
784
785 1998-04-20  Hrvoje Niksic  <hniksic@srce.hr>
786
787         * version.c: Wget 1.5.0 is released.
788
789 1998-04-18  Hrvoje Niksic  <hniksic@srce.hr>
790
791         * url.c (str_url): Ditto.
792
793         * ftp-basic.c (ftp_rest): Use new name.
794
795         * utils.c (long_to_string): Renamed from prnum().
796
797 1998-04-16  Hrvoje Niksic  <hniksic@srce.hr>
798
799         * version.c: Wget 1.5-b17 is released.
800
801 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
802
803         * headers.c (header_get): New argument FLAGS.
804
805         * http.c (gethttp): If request is malformed, bail out of the
806         header loop.
807         (gethttp): Check for empty header *after* the status line checks.
808         (gethttp): Disallow continuations for status line.
809
810 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
811
812         * version.c: Wget 1.5-b16 is released.
813
814 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
815
816         * init.c (commands): Renamed `always_rest' to `continue'.
817
818 1998-04-05  Hrvoje Niksic  <hniksic@srce.hr>
819
820         * all: Use it.
821
822         * log.c (logputs): New argument.
823         (logvprintf): Ditto.
824         (logprintf): Ditto.
825
826 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
827
828         * http.c (http_atotm): Update comment.
829
830         * main.c (i18n_initialize): Set LC_MESSAGES, not LC_ALL.
831
832         * wget.h: Renamed ENABLED_NLS to HAVE_NLS.
833
834         * main.c (i18n_initialize): New function.
835         (main): Use it.
836
837         * log.c: Include <unistd.h>.
838
839         * retr.c (show_progress): Cast alloca to char *.
840
841 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
842
843         * version.c: Wget 1.5-b15 is released.
844
845 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
846
847         * utils.h: Declare file_non_directory_p().
848
849 1998-04-03  Hrvoje Niksic  <hniksic@srce.hr>
850
851         * main.c (main): It's `tries', not `numtries' now.
852
853 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
854
855         * init.c (getperms): Removed.
856
857 1998-04-01  Tim Charron  <tcharron@interlog.com>
858
859         * log.c (logvprintf): Don't use ARGS twice.
860
861 1998-04-01  John  <john@futuresguide.com>
862
863         * mswindows.c: Cleaned up.
864
865 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
866
867         * version.c: Wget 1.5-b14 is released.
868
869 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
870
871         * ftp-opie.c (STRLEN4): New macro.
872         (btoe): Use it.
873
874 1998-04-01  Junio Hamano  <junio@twinsun.com>
875
876         * http.c: Document all the Digest functions.
877
878 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
879
880         * utils.c (file_non_directory_p): Renamed from isfile().
881
882         * mswindows.h (S_ISREG): New macro, suggested by Tim Adam.
883
884 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
885
886         * utils.c (mkdirhier): Use 0777 instead of opt.dirmode.
887
888         * init.c (cmd_spec_dotstyle): Use 48 dots per line for binary
889         style.
890         (cmd_permissions): Removed.
891
892         * config.h.in: Add template for WORDS_BIGENDIAN.
893
894 1998-03-31  Junio Hamano  <junio@twinsun.com>
895
896         * http.c (HEXD2asc): New macro.
897         (dump_hash): Use it.
898
899 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
900
901         * version.c: Wget 1.5-b13 is released.
902
903 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
904
905         * main.c (main): Don't try to use `com'.
906
907 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
908
909         * init.c (cmd_permissions): New function.
910
911 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
912
913         * version.c: Wget 1.5-b12 is released.
914
915 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
916
917         * init.c (commands): Renamed `numtries' to `tries'.
918         (cmd_spec_debug): Removed.
919         (home_dir): Under Windows, return `C:\' if HOME is undefined.
920
921 1998-03-29  Hrvoje Niksic  <hniksic@srce.hr>
922
923         * config.h.in: Define _XOPEN_SOURCE.
924
925         * init.c (check_user_specified_header): New function.
926         (cmd_spec_header): Use it.
927         (cmd_spec_useragent): New function.
928
929 1998-03-29  Hrvoje Niksic  <hniksic@srce.hr>
930
931         * version.c: Wget 1.5-b11 is released.
932
933 1998-03-28  Hrvoje Niksic  <hniksic@srce.hr>
934
935         * wget.h: Include <libintl.h> only if NLS is enabled.
936
937 1998-03-26  Hrvoje Niksic  <hniksic@srce.hr>
938
939         * options.h (struct options): Made `wait' a long.
940         (struct options): Ditto for `timeout'.
941
942 1998-03-19  Hrvoje Niksic  <hniksic@srce.hr>
943
944         * utils.c (exists): Renamed to file_exists_p.
945         (file_exists_p): Use access() if available.
946
947 1998-03-17  Hrvoje Niksic  <hniksic@srce.hr>
948
949         * utils.c (memfatal): Set save_log_p to 0 to avoid potential
950         infloop.
951
952         * log.c: do_logging -> save_log_p.
953
954         * config.h.in: Added template for HAVE_VSNPRINTF.
955
956 1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>
957
958         * init.c: Ditto.
959
960         * http.c: Protect declaration against non-ANSI compiler.
961
962         * log.c (logvprintf): Use vsnprintf() if available.
963
964         * getopt.c (main): Don't translate test stuff.
965
966 1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>
967
968         * version.c: Wget 1.5-b10 is released.
969
970 1998-03-11  Hrvoje Niksic  <hniksic@srce.hr>
971
972         * ftp.c (getftp): Don't translate "CWD %s".
973
974         * wget.h (GCC_FORMAT_ATTR): Renamed from FORMAT_ATTR.
975
976 1998-03-07  Hrvoje Niksic  <hniksic@srce.hr>
977
978         * ftp-opie.c (btoe): Use memcpy() instead of strncat().
979
980         * log.c (logputs): New function.
981         (logvprintf): Renamed from vlogmsg; use logputs().
982
983         * retr.c (show_progress): Print `[100%]' when the retrieval is
984         finished.
985
986         * init.c (run_wgetrc): Use FILE, not PATH.
987         (wgetrc_file_name): Ditto.
988
989 1998-03-07  Tim Adam  <tma@osa.com.au>
990
991         * recur.c (parse_robots): Correctly reset `entries' on empty
992         disallow.
993
994 1998-03-07  Hrvoje Niksic  <hniksic@srce.hr>
995
996         * init.c (cmd_spec_debug): Use cmd_boolean().
997
998 1998-02-23  Hrvoje Niksic  <hniksic@srce.hr>
999
1000         * http.c (gethttp): Create proxy-authorization correctly.
1001
1002 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
1003
1004         * md5.c: Ditto.
1005
1006         * getopt.c: Use ANSI function definitions.
1007
1008         * ftp-opie.c: New file.
1009
1010         * options.h: Don't redefine EXTERN.
1011
1012         * init.c: Sort it correctly.
1013
1014 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
1015
1016         * version.c: Wget 1.5-b9 is released.
1017
1018 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
1019
1020         * recur.c (recursive_retrieve): Reset `first_time'.
1021
1022         * ftp.c (getftp): Added `default' clause to switches of uerr_t.
1023
1024         * rbuf.c (rbuf_peek): Simplified.
1025         (rbuf_flush): Use MINVAL.
1026
1027         * wget.h (MINVAL): Moved from url.h.
1028
1029         * rbuf.h (RBUF_FD): New macro.
1030
1031         * url.c (add_url): Add to the head of the list.
1032
1033         * ftp.c (ftp_retrieve_list): Set the permissions to downloaded
1034         file.
1035         (getftp): Set the default permissions to 0600.
1036
1037 1998-02-21  Hrvoje Niksic  <hniksic@srce.hr>
1038
1039         * url.c (get_urls_html): Ditto.
1040         (convert_links): Ditto.
1041
1042         * recur.c (parse_robots): Ditto.
1043
1044         * html.c (ftp_index): Ditto.
1045
1046         * ftp-ls.c (ftp_parse_unix_ls): Open file as binary.
1047
1048         * init.c (defaults): Initialize `opt' to zero via memset.
1049
1050         * http.c (digest_authentication_encode): goto considered harmful.
1051
1052 1998-02-19  Hrvoje Niksic  <hniksic@srce.hr>
1053
1054         * ftp.c (delelement): Simplify and fix leak.
1055
1056 1998-02-18  Hrvoje Niksic  <hniksic@srce.hr>
1057
1058         * http.c (dump_hash): Use HEXD2ASC instead of home-grown stuff.
1059
1060         * url.h (HEXD2ASC): Removed warning.
1061
1062         * init.c (comind): Use binary search.
1063         (commands): Reorganized.
1064         (setval): Ditto.
1065         (cmd_boolean): New function.
1066         (cmd_number): Ditto.
1067         (cmd_number_inf): Ditto.
1068         (cmd_string): Ditto.
1069         (cmd_vector): Ditto.
1070         (cmd_directory_vector): Ditto.
1071         (cmd_bytes): Ditto.
1072         (cmd_time): Ditto.
1073         (cmd_spec_debug): Ditto.
1074         (cmd_spec_dirmode): Ditto.
1075         (cmd_spec_dirstruct): Ditto.
1076         (cmd_spec_dotstyle): Ditto.
1077         (cmd_spec_header): Ditto.
1078         (cmd_spec_htmlify): Ditto.
1079         (cmd_spec_mirror): Ditto.
1080         (cmd_spec_outputdocument): Ditto.
1081         (cmd_spec_recursive): Ditto.
1082         (settime): Merged with cmd_time().
1083         (setbytes): Merged with cmd_bytes().
1084         (setonoff): Merged with cmd_boolean().
1085         (onoff): Ditto.
1086
1087 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
1088
1089         * Makefile.in (distclean): Remove `config.h'.
1090
1091 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
1092
1093         * version.c: Wget 1.5-b8 is released.
1094
1095 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
1096
1097         * http.c (digest_authentication_encode): New function.
1098         (create_authorization_line): Use it.
1099         (dump_hash): New function.
1100         (digest_authentication_encode): Use it.
1101
1102         * fnmatch.c: Renamed from `mtch.c'.
1103
1104 1998-02-15  Karl Eichwalder  <ke@suse.de>
1105
1106         * main.c (main): Tag "Written by..." string as translatable.
1107
1108 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
1109
1110         * wget.h (FREE_MAYBE): New macro.
1111
1112         * http.c (create_authorization_line): Don't use ANSI C string
1113         concatenation feature.
1114         (basic_authentication_encode): Use alloca() for temporary
1115         variables.
1116
1117         * recur.h: Ditto.
1118
1119         * http.c: Ditto.
1120
1121         * headers.h: Ditto.
1122
1123         * ftp-basic.c: Protect declaration against non-ANSI compiler.
1124
1125         * http.c (create_authorization_line): Cast `unsigned char *' to
1126         `char *' for sprintf, to shut up the noisy Digital Unix cc.
1127
1128 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
1129
1130         * version.c: Wget 1.5-b7 is released.
1131
1132 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
1133
1134         * cmpt.c (strstr): Synched with glibc-2.0.6.
1135
1136         * ftp-basic.c (calculate_skey_response): Ditto.
1137         (calculate_skey_response): Use alloca().
1138
1139         * http.c (create_authorization_line): Work with FSF's version of
1140         md5.c.
1141
1142         * md5.c: New file, from GNU libc.
1143
1144 1998-02-14  Hrvoje Niksic  <hniksic@srce.hr>
1145
1146         * url.h (URL_CLEANSE): Name the temporary variable more carefully.
1147
1148 1998-02-13  Hrvoje Niksic  <hniksic@srce.hr>
1149
1150         * http.c (basic_authentication_encode): New function, instead of
1151         the macro.
1152
1153 1998-02-13  Junio Hamano  <junio@twinsun.com>
1154
1155         * http.c: Add HTTP-DA support.
1156         * ftp-basic.c: Add Opie/S-key support.
1157         * config.h.in, Makefile.in: Add HTTP-DA and Opie/S-key support.
1158         * md5.c, md5.h: New files.
1159
1160 1998-02-13  Hrvoje Niksic  <hniksic@srce.hr>
1161
1162         * http.c (http_process_range): Renamed from hprocrange().
1163         (http_process_range): Parse the whole header.
1164
1165         * headers.c: New file.
1166         (header_process): New function.
1167         (header_get): Renamed from fetch_next_header.
1168
1169         * all: Include utils.h only where necessary.
1170
1171         * wget.h: Declare xmalloc(), xrealloc() and xstrdup() here.
1172
1173         * wget.h: Add provisions for dmalloc.
1174
1175 1998-02-12  Hrvoje Niksic  <hniksic@srce.hr>
1176
1177         * version.c: Wget 1.5-b6 is released.
1178
1179 1998-02-12  Hrvoje Niksic  <hniksic@srce.hr>
1180
1181         * ftp.c (ftp_loop): Determine `filename' more precisely.
1182
1183         * init.c (setval): Don't set `opt.quiet' if output-document is
1184         `-'.
1185
1186         * log.c (log_init): Print to STDERR instead of STDOUT.
1187         (vlogmsg): Use STDERR by default.
1188         (logflush): Ditto.
1189
1190 1998-02-11  Simon Josefsson  <jas@pdc.kth.se>
1191
1192         * host.c: Use addr_in again.
1193
1194 1998-02-08  Karl Eichwalder  <karl@suse.de>
1195
1196         * http.c (gethttp): Fixed typo.
1197
1198 1998-02-08  Hrvoje Niksic  <hniksic@srce.hr>
1199
1200         * version.c: Wget 1.5-b5 is released.
1201
1202 1998-02-08  Hrvoje Niksic  <hniksic@srce.hr>
1203
1204         * retr.c (show_progress): Use it.
1205
1206         * log.c (logflush): New function.
1207
1208         * wget.h: Utilize __attribute__ if on gcc.
1209
1210 1998-02-07  Hrvoje Niksic  <hniksic@srce.hr>
1211
1212         * http.c (base64_encode_line): New argument LENGTH.
1213         (BASIC_AUTHENTICATION_ENCODE): Use it.
1214         (BASIC_AUTHENTICATION_ENCODE): Take length of HEADER into account.
1215
1216         * main.c (main): Fixed fprintf() format mismatch.
1217
1218 1998-02-06  Hrvoje Niksic  <hniksic@srce.hr>
1219
1220         * version.c: Wget 1.5-b4 is released.
1221
1222 1998-02-03  Simon Josefsson  <jas@pdc.kth.se>
1223
1224         * host.c: use sockaddr_in instead of addr_in.
1225
1226 1998-02-04  Hrvoje Niksic  <hniksic@srce.hr>
1227
1228         * init.c (cleanup): Use it.
1229
1230         * recur.c (recursive_cleanup): New function.
1231
1232         * retr.c (retrieve_from_file): Ditto.
1233
1234         * main.c (main): Use it.
1235
1236         * recur.c (recursive_reset): New function.
1237
1238         * retr.c (retrieve_from_file): Ditto.
1239
1240         * main.c (main): Simplify call to recursive_retrieve().
1241
1242         * recur.c (recursive_retrieve): Removed FLAGS argument.
1243
1244         * http.c (gethttp): Changed call to iwrite().
1245
1246 1998-02-03  Hrvoje Niksic  <hniksic@srce.hr>
1247
1248         * url.c (get_urls_html): Ditto.
1249         (free_urlpos): Ditto.
1250         (mkstruct): Ditto.
1251         (construct): Ditto.
1252
1253         * retr.c (retrieve_url): Move declaration of local variables to
1254         smaller scope.
1255
1256         * url.c (urlproto): Use it.
1257         (parseurl): Ditto.
1258         (str_url): Ditto.
1259         (get_urls_html): Ditto.
1260
1261         * utils.h (ARRAY_SIZE): New macro.
1262
1263         * url.c (proto): Moved from url.h.
1264
1265         * url.h (URL_CLEANSE): Reformatted.
1266         (USE_PROXY_P): Renamed from USE_PROXY.
1267
1268         * ftp-basic.c: Adjust to the new interface of iwrite().
1269
1270         * ftp-basic.c (ftp_port): Use alloca().
1271
1272 1998-02-03  Hrvoje Niksic  <hniksic@srce.hr>
1273
1274         * version.c: Wget 1.5-b3 is released.
1275
1276         * host.c (ftp_getaddress): Don't print to stderr directly.
1277
1278         * init.c (setbytes): Support `g' for gigabytes.
1279         (cmdtype): New specification CTIME.
1280         (setval): Use it with settime().
1281         (commands): Use it for WAIT and TIMEOUT.
1282
1283 1998-02-02  Hrvoje Niksic  <hniksic@srce.hr>
1284
1285         * http.c (BASIC_AUTHENTICATION_ENCODE): New macro.
1286         (gethttp): Use it.
1287
1288         * utils.c (unique_name_1): Moved from url.c.
1289         (unique_name): Ditto.
1290
1291         * url.c (url_filename): Ditto.
1292
1293         * log.c (redirect_output): Changed call to unique_name().
1294
1295         * url.c (unique_name_1): Renamed from unique_name().
1296         (unique_name): Changed interface.
1297
1298         * init.c (enum cmdid): Moved from init.h.
1299         (cmdtype): Ditto.
1300         (struct cmd): Ditto.
1301
1302         * main.c (main): Use it.
1303         (main): Moved `--backups' to not have a short option.
1304
1305         * options.h (struct options): New member BACKGROUND.
1306
1307         * main.c (print_help): Rearranged.
1308         (main): New long options for -n* short options: --no-directories,
1309         --no-host-directories, --non-verbose, --no-host-lookup and
1310         --dont-remove-listing.
1311
1312 1998-02-01  Hrvoje Niksic  <hniksic@srce.hr>
1313
1314         * main.c (main): Use log_close().
1315
1316         * log.c: New variable LOGFP.
1317         (vlogmsg): Use it.
1318         (redirect_output): Don't open /dev/null; set LOGFP to stdin
1319         instead.
1320         (log_close): New function.
1321
1322         * options.h (struct options): Removed LFILE.
1323
1324         * log.c (log_enable): Removed.
1325
1326         * main.c (main): Use it.
1327
1328         * log.c (log_init): New function.
1329
1330         * url.c (get_urls_html): Removed needless assignment to BASE.
1331
1332         * host.c (add_hlist): Don't set CMP needlessly.
1333
1334         * utils.c (match_backwards): Ditto.
1335         (in_acclist): Ditto.
1336
1337         * url.c (findurl): Ditto.
1338
1339         * netrc.c (parse_netrc): Ditto.
1340
1341         * log.c (log_dump): Ditto.
1342
1343         * html.c (html_quote_string): Ditto.
1344
1345         * ftp-basic.c (ftp_request): Made static.
1346
1347         * connect.c: Made global variables static.
1348
1349         * url.c (construct): Ditto.
1350
1351         * init.c (init_path): Avoid assignment inside `if'-condition.
1352
1353         * ftp.c: Don't include in.h or winsock.h.
1354
1355         * ftp.c (ftp_loop): Use SZ.
1356
1357         * connect.c (bindport): Cast &addrlen to int *.
1358         (conaddr): Ditto.
1359
1360         * init.c (initialize): Don't use SYSTEM_WGETRC unconditionally.
1361
1362 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
1363
1364         * ftp.c (getftp): Initialize opt.ftp_pass here.
1365         (ftp_retrieve_dirs): Use alloca().
1366
1367         * init.c (defaults): Don't initialize opt.ftp_pass.
1368
1369         * sysdep.h (S_ISLNK): Declare for OS/2; ditto for lstat.
1370         From Ivan F. Martinez <ivanfm@ecodigit.com.br>.
1371
1372 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
1373
1374         * recur.c (parse_robots): Check for comments more correctly.
1375
1376         * host.c (ftp_getaddress): Use STRDUP_ALLOCA.
1377         (ftp_getaddress): Add diagnostics when reverse-lookup yields only
1378         hostname.
1379
1380 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
1381
1382         * version.c: Wget 1.5-b2 is released.
1383
1384         * netrc.c (NETRC_FILE_NAME): Moved from netrc.h.
1385
1386         * utils.c (proclist): Pass FNM_PATHNAME to fnmatch().
1387
1388         * ftp-basic.c (ftp_pasv): Avoid unnecessary casting to unsigned
1389         char.
1390
1391         * log.c: Don't attempt to hide arguments from ansi2knr.
1392
1393         * cmpt.c: Synched strptime() and mktime() with glibc-2.0.6.
1394
1395         * ansi2knr.c: Use a later version, from fileutils-3.16l alpha.
1396
1397         * ftp.c (getftp): Ditto.
1398
1399         * http.c (gethttp): Use it.
1400
1401         * retr.c (get_contents): New argument EXPECTED; pass it to
1402         show_progress().
1403         (show_progress): New argument EXPECTED; use it to display
1404         percentages.
1405
1406         * init.c (setval): Ditto.
1407
1408         * http.c (gethttp): Ditto.
1409         (http_loop): Ditto.
1410
1411         * ftp.c (getftp): Ditto.
1412         (ftp_loop_internal): Ditto.
1413
1414         * ftp-ls.c (ftp_parse_unix_ls): Use abort() instead of assert(0).
1415
1416         * sysdep.h (CLOSE): Simplify; use DEBUGP.
1417
1418         * netrc.c (search_netrc): Use alloca().
1419
1420         * init.c (defaults): Initialize no_flush.
1421
1422         * log.c (vlogmsg): Don't flush if no_flush.
1423
1424         * options.h (struct options): New variable no_flush.
1425
1426         * main.c (main): Don't play games with buffering.
1427
1428         * log.c (vlogmsg): Flush the output after every message.
1429
1430 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
1431
1432         * init.c (parse_line): Ditto.
1433
1434         * url.c (get_urls_html): Ditto.
1435
1436         * main.c (main): Don't cast to unsigned char.
1437
1438         * init.c (run_wgetrc): Don't cast to unsigned char.
1439         (parse_line): Accept char instead of unsigned char.
1440
1441         * html.c (htmlfindurl): Use char instead of unsigned char.
1442
1443         * all: Use them.
1444
1445         * sysdep.h: Add wrappers to ctype macros to make them
1446         eight-bit-clean:
1447
1448 1998-01-30  Hrvoje Niksic  <hniksic@srce.hr>
1449
1450         * html.c (htmlfindurl): Download <img lowsrc=...>
1451
1452         * main.c (main): Ignore SIGPIPE.
1453
1454         * connect.c (select_fd): New argument WRITEP.
1455         (iwrite): Call select_fd().
1456
1457 1997-02-27  Fila Kolodny <fila@ibi.com>
1458
1459         * ftp.c (ftp_retrieve_list): If retrieving symlink and the proper
1460         one already exists, just skip it.
1461
1462 1998-01-30  Hrvoje Niksic  <hniksic@srce.hr>
1463
1464         * http.c (gethttp): Cosmetic changes.
1465
1466         * http.c (check_end): Allow `+D...' instead of `GMT'.
1467         From Fabrizio Pollastri <pollastri@cstv.to.cnr.it>.
1468
1469         * url.c (process_ftp_type): New function.
1470         (parseurl): Use it.
1471
1472         * connect.c (iwrite): Allow writing in a few chunks.
1473         (bindport): Made SRV static, so addr can point to it.
1474         (select_fd): Removed HPUX kludge.
1475
1476         * host.c (free_hlist): Incorporated into clean_hosts().
1477
1478 1998-01-29  Hrvoje Niksic  <hniksic@srce.hr>
1479
1480         * host.c (hlist): Made static.
1481         (search_address): Cosmetic change.
1482
1483 1998-01-29  Hrvoje Niksic  <hniksic@srce.hr>
1484
1485         * version.c: Wget v1.5-b1 is released.
1486
1487         * http.c (hgetlen): Use sizeof() to get the header length.
1488         (hgetrange): Ditto.
1489         (hgettype): Ditto.
1490         (hgetlocation): Ditto.
1491         (hgetmodified): Ditto.
1492         (haccepts_none): Ditto.
1493
1494         * main.c (main): Updated `--version' and `--help' output, as per
1495         Francois Pinard's suggestions.
1496
1497         * main.c: Include locale.h; call setlocale(), bindtextdomain() and 
1498         textdomain().
1499
1500         * config.h.in: Define stubs for I18N3.
1501
1502         * wget.h: Include libintl.h.
1503
1504 1998-01-28  Hrvoje Niksic  <hniksic@srce.hr>
1505
1506         * url.c (mkstruct): Check for opt.cut_dirs.
1507         (mkstruct): alloca()-te more, xmalloc() less.
1508
1509         * utils.c (load_file): Check for ferror().
1510
1511         * url.c (get_urls_file): Close only the files we opened.
1512         (get_urls_html): Ditto.
1513         (count_slashes): New function.
1514
1515         * http.h: Removed.
1516
1517         * http.c (gethttp): Respect username and password provided by
1518         proxy URL.
1519         (base64_encode_line): Write into an existing buffer instead of
1520         malloc-ing a new one.
1521         (struct http_stat): Moved from http.h
1522
1523         * retr.c (retrieve_url): Free SUF.
1524
1525         * all: Removed lots of unnecessary .h dependencies.
1526
1527         * html.c (global_state): Made static.
1528
1529         * utils.h (ALLOCA_ARRAY): New macro.
1530
1531         * main.c (main): New option `--cut-dirs'.
1532
1533         * url.c (construct): Use alloca() for T.
1534
1535         * utils.c (mkdirhier): Use STRDUP_ALLOCA.
1536
1537         * host.c (_host_t): Moved from host.h.
1538         (struct host): Renamed from _host_t.
1539         (store_hostaddress): Use STRDUP_ALLOCA for INET_S.
1540         (realhost): Ditto.
1541
1542         * host.h: Don't include url.h.
1543
1544         * ftp.c (LIST_FILENAME): Moved from ftp.h.
1545
1546         * init.c (DEFAULT_FTP_ACCT): Moved from ftp.h.
1547
1548         * main.c (main): Enable log if the output goes to a TTY.
1549
1550         * connect.h: Removed unused constant `BACKLOG'.
1551
1552         * config.h.in: Check for isatty().
1553
1554         * Makefile.in (LINK): Use CFLAGS when linking.
1555
1556 1998-01-27  Hrvoje Niksic  <hniksic@srce.hr>
1557
1558         * mswindows.c (ws_hangup): Use redirect_output().
1559
1560         * main.c (redirect_output_signal): New function; use
1561         redirect_output().
1562
1563         * log.c (redirect_output): New function, based on hangup(), which
1564         is deleted.
1565
1566         * log.c (vlogmsg): New function.
1567
1568         * wget.h (DEBUGP): Use debug_logmsg().
1569
1570         * main.c (hangup): Use it.
1571
1572         * log.c (log_dump): New function.
1573
1574         * utils.h (DO_REALLOC): Use `long' for various sizes.
1575
1576         * http.c (hskip_lws): Use `while', for clarity.
1577         (HTTP_DYNAMIC_LINE_BUFFER): New constant.
1578         (fetch_next_header): Use it instead of DYNAMIC_LINE_BUFFER.
1579
1580         * ftp-basic.c (FTP_DYNAMIC_LINE_BUFFER): New constant.
1581         (ftp_response): Use it instead of DYNAMIC_LINE_BUFFER.
1582
1583         * utils.c (DYNAMIC_LINE_BUFFER): Moved from utils.c.
1584         (LEGIBLE_SEPARATOR): Ditto.
1585         (FILE_BUFFER_SIZE): Ditto.
1586
1587         * retr.c (BUFFER_SIZE): Moved from retr.h.
1588
1589         * log.c: New file.
1590         (logmsg): Moved from utils.c.
1591         (debug_logmsg): New function.
1592
1593         * mswindows.h: Include it here.
1594
1595         * init.c: Ditto.
1596
1597         * utils.c: Don't include <windows.h>.
1598
1599 1998-01-25  Hrvoje Niksic  <hniksic@srce.hr>
1600
1601         * host.c (ftp_getaddress): Ditto.
1602
1603         * main.c (main): Use it.
1604
1605         * utils.h (STRDUP_ALLOCA): New macro.
1606
1607         * init.c: Prepend `wget: ' to error messages printed on stderr.
1608
1609         * utils.c (mkdirhier): Renamed from mymkdir.
1610         (touch): Renamed from my_touch.
1611         (pwd_cuserid): Renamed from my_cuserid().
1612
1613 1998-01-24  Andy Eskilsson  <andy.eskilsson@telelogic.se>
1614
1615         * utils.c (accdir): Process wildcards.
1616         (proclist): New function.
1617         (accdir): Use it to avoid code repetition.
1618
1619 1998-01-24  Hrvoje Niksic  <hniksic@srce.hr>
1620
1621         * recur.c (parse_robots): Respect opt.useragent; use alloca().
1622
1623         * http.c (gethttp): Construct useragent accordingly.
1624
1625         * version.c: Changed version string to numbers-only.
1626
1627         * main.c (print_help): List all the options.
1628
1629         * mswindows.c (windows_main_junk): Initialize argv0 here.
1630
1631 1998-01-24  Karl Heuer  <kwzh@gnu.org>
1632
1633         * netrc.c (search_netrc): Initialize `l' only after processing
1634         netrc.
1635
1636         * main.c (main): Don't trap SIGHUP if it's being ignored.
1637
1638 1998-01-24  Hrvoje Niksic  <hniksic@srce.hr>
1639
1640         * all: Use logmsg().
1641
1642         * utils.c (time_str): Moved from retr.c.
1643         (logmsg): New function.
1644         (logmsg_noflush): Ditto.
1645
1646         * rbuf.c: New file, moved buf_* functions here.
1647
1648         * ftp.c (ftp_expected_bytes): Moved from ftp-basic.c.
1649
1650         * ftp-basic.c (ftp_rest): Use prnum().
1651
1652         * ftp-basic.c: Ditto.
1653
1654         * ftp.c: Use the new reading functions and macros.
1655
1656         * retr.c (buf_initialize): New function.
1657         (buf_initialized_p): Ditto.
1658         (buf_uninitialize): Ditto.
1659         (buf_fd): Ditto.
1660
1661         * http.c (fetch_next_header): Use the BUF_READCHAR macro for
1662         efficiency.
1663         (gethttp): Use alloca() where appropriate.
1664
1665         * retr.c (buf_readchar): Use it.
1666         (buf_peek): Use rstreams.
1667
1668         * retr.h (BUF_READCHAR): New macro.
1669
1670         * init.c (home_dir): Rewritten for clarity.
1671         (init_path): Ditto.
1672
1673         * mswindows.c (ws_backgnd): Made static.
1674         (read_registry): Ditto.
1675         (ws_cleanup): Ditto.
1676         (ws_handler): Ditto.
1677
1678 1998-01-23  Hrvoje Niksic  <hniksic@srce.hr>
1679
1680         * alloca.c: New file.
1681
1682         * Makefile.in (ALLOCA): Define.
1683
1684         * mswindows.c (ws_help): Constify.
1685         (ws_help): Use alloca.
1686
1687         * mswindows.c: Reformat.
1688
1689         * all: Added _(...) annotations for I18N snarfing and translation.
1690
1691         * host.c (ftp_getaddress): Nuke SYSINFO.
1692         (ftp_getaddress): Don't use getdomainname().
1693         (ftp_getaddress): Use uname(), where available.
1694
1695         * http.c (gethttp): Protect a stray fprintf().
1696
1697         * init.c (settime): New function.
1698         (setval): Treat WAIT specially, allowing suffixes like `m' for
1699         minutes, etc.
1700
1701 1998-01-21  Hrvoje Niksic  <hniksic@srce.hr>
1702
1703         * url.c (get_urls_html): Use alloca() for TEMP.
1704
1705 1998-01-21  Jordan Mendelson  <jordy@wserv.com>
1706
1707         * url.c (rotate_backups): New function.
1708
1709         * http.c (gethttp): Ditto.
1710
1711         * ftp.c (getftp): Rotate backups.
1712
1713 1997-12-18  Hrvoje Niksic  <hniksic@srce.hr>
1714
1715         * all: Renamed nmalloc(), nrealloc() and nstrdup() to xmalloc(),
1716         xrealloc() and xstrdup().  Use the new functions.
1717
1718         * url.c (decode_string): Made static.
1719         (has_proto): Ditto.
1720         (parse_dir): Ditto.
1721         (parse_uname): Ditto.
1722         (mkstruct): Ditto.
1723         (construct): Ditto.
1724         (construct_relative): Ditto.
1725
1726         * retr.c (show_progress): Made static.
1727
1728         * recur.c (robots_url): Made static.
1729         (retrieve_robots): Ditto.
1730         (parse_robots): Ditto.
1731         (robots_match): Ditto.
1732
1733         * main.h: Removed.
1734
1735         * main.c (printhelp): Made static.
1736         (hangup): Ditto.
1737
1738         * init.c (comind): Made static.
1739         (defaults): Ditto.
1740         (init_path): Ditto.
1741         (run_wgetrc): Ditto.
1742         (onoff): Ditto.
1743         (setonoff): Ditto.
1744         (setnum): Ditto.
1745         (myatoi): Ditto.
1746         (getperms): Ditto.
1747         (setbytes): Ditto.
1748
1749         * http.c (fetch_next_header): Made static.
1750         (hparsestatline): Ditto.
1751         (hskip_lws): Ditto.
1752         (hgetlen): Ditto.
1753         (hgetrange): Ditto.
1754         (hgettype): Ditto.
1755         (hgetlocation): Ditto.
1756         (hgetmodified): Ditto.
1757         (haccepts_none): Ditto.
1758         (gethttp): Ditto.
1759         (base64_encode_line): Ditto.
1760         (mktime_from_utc): Ditto.
1761         (http_atotm): Ditto.
1762
1763         * html.c (idmatch): Made static.
1764
1765         * host.c (search_host): Made static.
1766         (search_address): Ditto.
1767         (free_hlist): Ditto.
1768
1769         * ftp.c (getftp): Made static.
1770         (ftp_loop_internal): Ditto.
1771         (ftp_get_listing): Ditto.
1772         (ftp_retrieve_list): Ditto.
1773         (ftp_retrieve_dirs): Ditto.
1774         (ftp_retrieve_glob): Ditto.
1775         (freefileinfo): Ditto.
1776         (delelement): Ditto.
1777
1778         * ftp-ls.c (symperms): Made static.
1779         (ftp_parse_unix_ls): Ditto.
1780
1781         * connect.c (select_fd): Made static.
1782
1783         * utils.c (xmalloc): Renamed from nmalloc.
1784         (xrealloc): Renamed from nrealloc.
1785         (xstrdup): Renamed from nstrdup.
1786
1787         * getopt.c (exchange): Use alloca.
1788
1789         * mswindows.c (mycuserid): Use strncpy.
1790
1791         * New files mswindows.c, mswindows.h, sysdep.h.  winjunk.c,
1792         systhings.h, windecl.h and winjunk.h removed.
1793
1794         * mswindows.c (sleep): New function.
1795
1796         * utils.c: Include <windows.h> under Windows.
1797
1798 1997-06-12  Darko Budor  <dbudor@zesoi.fer.hr>
1799
1800         * url.h (URL_UNSAFE): Change default under Windows.
1801
1802         * retr.c (retrieve_from_file): Respect opt.delete_after.
1803
1804         * main.c (main): Call ws_help on Windows.
1805
1806         * winjunk.c (windows_main_junk): New function.
1807
1808         * main.c (main): Junk-process argv[0].
1809
1810         * http.c (mktime_from_utc): Return -1 if mktime failed.
1811
1812         * http.c (http_loop): Ditto.
1813
1814         * ftp.c (ftp_loop_internal): Change title on Windows when using a
1815         new URL.
1816
1817         * winjunk.c (getdomainname): Lots of functions.
1818
1819 1997-06-12  Hrvoje Niksic  <hniksic@srce.hr>
1820
1821         * cmpt.c (strptime_internal): Handle years more correctly for
1822         `%y'.
1823
1824 1997-06-09  Mike Thomas <mthomas@reality.ctron.com>
1825
1826         * http.c (gethttp): Allocate enough space for
1827         `Proxy-Authorization' header.
1828
1829 1997-05-10  Hrvoje Niksic  <hniksic@srce.hr>
1830
1831         * version.c: Wget/1.4.5 is released.
1832
1833 1997-05-10  Hrvoje Niksic  <hniksic@srce.hr>
1834
1835         * retr.c (get_contents): Check return value of fwrite more
1836         carefully.
1837
1838 1997-03-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1839
1840         * cmpt.c (strptime_internal) [case 'Y']: Always subtract 1900 from
1841         year, regardless of century.
1842
1843 1997-03-30  Hrvoje Niksic  <hniksic@srce.hr>
1844
1845         * utils.c (isfile): Use `lstat' instead of `stat'.
1846
1847 1997-03-29  Hrvoje Niksic  <hniksic@srce.hr>
1848
1849         * utils.c (numdigit): Use explicit test.
1850
1851 1997-03-21  Hrvoje Niksic  <hniksic@srce.hr>
1852
1853         * http.c (http_loop): Always use `url_filename' to get u->local.
1854
1855 1997-03-20  Hrvoje Niksic  <hniksic@srce.hr>
1856
1857         * url.c: Recognize https.
1858
1859 1997-03-13  Hrvoje Niksic  <hniksic@srce.hr>
1860
1861         * recur.c (recursive_retrieve): Lowercase just the host name.
1862
1863 1997-03-09  Hrvoje Niksic  <hniksic@srce.hr>
1864
1865         * url.c (get_urls_file): Use the correct test.
1866         (get_urls_html): Ditto.
1867
1868 1997-03-07  Hrvoje Niksic  <hniksic@srce.hr>
1869
1870         * connect.c: Reverted addrlen to int.
1871
1872         * init.c (parse_line): Check for -1 instead of NONE.
1873
1874         * version.c: Changed version to 1.4.5.
1875
1876 1997-02-17  Hrvoje Niksic  <hniksic@srce.hr>
1877
1878         * init.c: New option netrc.
1879         (initialize): Don't parse .netrc.
1880
1881         * cmpt.c (recursive): Return rp.
1882         (strptime_internal): Match the long strings first, the abbreviated
1883         second.
1884
1885 1997-02-16  Hrvoje Niksic  <hniksic@srce.hr>
1886
1887         * http.c (check_end): New function.
1888         (http_atotm): Use it.
1889  
1890 1997-02-13  gilles Cedoc  <gilles@cedocar.fr>
1891
1892         * http.c (gethttp): Use them.
1893
1894         * init.c: New options proxy_user and proxy_passwd.
1895
1896 1997-02-14  Hrvoje Niksic  <hniksic@srce.hr>
1897
1898         * ftp.c (ftp_retrieve_list): Create links even if not relative.
1899
1900 1997-02-10  Hrvoje Niksic  <hniksic@srce.hr>
1901
1902         * recur.c (recursive_retrieve): Lowercase the host name, if the
1903         URL is not "optimized".
1904
1905         * host.c (realhost): Return l->hostname, even if it matches with
1906         host.
1907
1908 1997-02-10  Marin Purgar  <pmc@asgard.hr>
1909
1910         * connect.c: Make addrlen size_t instead of int.
1911         (conaddr): Ditto.
1912
1913 1997-02-09  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>
1914
1915         * systhings.h: Define S_ISLNK on NeXT too.
1916
1917 1997-02-09  Hrvoje Niksic  <hniksic@srce.hr>
1918
1919         * version.c: Released 1.4.3.
1920
1921         * url.c: Futher update to list of protostrings.
1922         (skip_proto): Skip `//' correctly for FTP and HTTP.
1923
1924         * url.c (get_urls_html): Handle bogus `http:' things a little
1925         different.
1926
1927         * main.c (main): Removed `follow-ftp' from `f'.
1928         (main): Dumped the `prefix-files' and `file-prefix' options and
1929         features; old and bogus.
1930         (main): Exit on failed setval() in `-e'.
1931
1932         * http.c (fetch_next_header): Use it to detect header continuation
1933         correctly.
1934
1935         * retr.c (buf_peek): New function.
1936
1937 1997-02-08  Hrvoje Niksic  <hniksic@srce.hr>
1938
1939         * wget.h: Include time.h and stuff.
1940
1941 1997-02-08  Roger Beeman  <beeman@cisco.com>
1942
1943         * ftp.c: Include <time.h>
1944
1945 1997-02-07  Hrvoje Niksic  <hniksic@srce.hr>
1946
1947         * url.c (findurl): Would read over buffer limits.
1948
1949 1997-02-06  Hrvoje Niksic  <hniksic@srce.hr>
1950
1951         * ftp-ls.c (ftp_parse_unix_ls): Allow spaces in file names.
1952
1953 1997-02-05  Hrvoje Niksic  <hniksic@srce.hr>
1954
1955         * http.c (http_atotm): Initialize tm.is_dst.
1956
1957 1997-02-02  Hrvoje Niksic  <hniksic@srce.hr>
1958
1959         * http.c (gethttp): Don't print the number of retrieved headers.
1960
1961         * main.c (main): New option `--no-clobber', alias for `-nc'.
1962
1963         * url.c: Recognize `https://'.
1964
1965 1997-02-01  Hrvoje Niksic  <hniksic@srce.hr>
1966
1967         * host.c (herrmsg): Don't use h_errno.
1968
1969 1997-01-30  Hrvoje Niksic  <hniksic@srce.hr>
1970
1971         * host.c (accept_domain): Use it.
1972
1973         * main.c (main): New option `--exclude-domains'.
1974
1975         * retr.c (retrieve_url): Use it.
1976         (retrieve_url): Bail out when an URL is redirecting to itself.
1977
1978         * url.c (url_equal): New function.
1979
1980 1997-01-29  Hrvoje Niksic  <hniksic@srce.hr>
1981
1982         * connect.c: Include arpa/inet.h instead of arpa/nameser.h.
1983
1984         * http.c (mk_utc_time): New function.
1985         (http_atotm): Use it; handle time zones correctly.
1986
1987 1997-01-28  Hrvoje Niksic  <hniksic@srce.hr>
1988
1989         * http.c: Ditto.
1990
1991         * ftp-basic.c: Use it instead of WRITE.
1992
1993         * connect.c (iwrite): New function.
1994
1995 1997-01-27  Hrvoje Niksic  <hniksic@srce.hr>
1996
1997         * cmpt.c (mktime): New function.
1998
1999         * netrc.c: Include <sys/types.h>.
2000
2001         * main.c (main): Wouldn't recognize --spider.
2002
2003         * retr.c (rate): Use `B', `KB' and `MB'.
2004         (reset_timer,elapsed_time): Moved from utils.c.
2005
2006         * ftp.c (ftp_retrieve_list): Ditto.
2007
2008         * http.c (http_loop): Don't touch the file if opt.dfp.
2009
2010 1997-01-24  Hrvoje Niksic  <hniksic@srce.hr>
2011
2012         * cmpt.c: New file.
2013
2014         * ftp.c (ftp_retrieve_glob): New argument semantics.
2015         (ftp_retrieve_dirs): Use it.
2016         (ftp_loop): Ditto.
2017
2018         * html.c (htmlfindurl): Recognize `'' as the quote char.
2019
2020 1997-01-23  Hrvoje Niksic  <hniksic@srce.hr>
2021
2022         * ftp.c (ftp_loop_internal): Use it.
2023
2024         * utils.c (remove_link): New function.
2025
2026 1997-01-22  Hrvoje Niksic  <hniksic@srce.hr>
2027
2028         * retr.c (retrieve_url): Require STRICT redirection URL.
2029
2030         * url.c (parseurl): New argument STRICT.
2031
2032         * http.c (hparsestatline): Be a little-bit less strict about
2033         status line format.
2034
2035 1997-01-21  Hrvoje Niksic  <hniksic@srce.hr>
2036
2037         * http.c (gethttp): Use it.
2038
2039         * main.c (main): Don't use '<digit>' as options.
2040
2041         * init.c: New option ignore_length.
2042
2043         * http.c (gethttp): Ditto.
2044         (http_loop): Check for redirection without Location:.
2045         (gethttp): Don't print Length unless RETROKF.
2046
2047         * ftp.c (getftp): Use it.
2048
2049         * url.c (mkalldirs): New function.
2050
2051         * utils.c (mymkdir): Don't check for existing non-directory.
2052
2053         * url.c (mkstruct): Don't create the directory.
2054
2055 1997-01-20  Hrvoje Niksic  <hniksic@srce.hr>
2056
2057         * init.c (setval): Removed NO_RECURSION checks.
2058
2059 1997-01-19  Hrvoje Niksic  <hniksic@srce.hr>
2060
2061         * version.c: "Released" 1.4.3-pre2.
2062
2063         * recur.c (recursive_retrieve): Bypass host checking only if URL
2064         is ftp AND parent URL is not ftp.
2065
2066         * ftp-basic.c (ftp_request): Print out Turtle Power.
2067
2068         * ftp.c (ftp_loop): Call ftp_retrieve_glob with 0 if there's no
2069         wildcard.
2070         (ftp_retrieve_glob): Call ftp_loop_internal even on empty list, if
2071         not glob.
2072
2073         * http.c (gethttp): Be a little bit smarter about status codes.
2074
2075         * recur.c (recursive_retrieve): Always reset opt.recursive when
2076         dealing with FTP.
2077
2078 1997-01-18  Hrvoje Niksic  <hniksic@srce.hr>
2079
2080         * retr.c (retrieve_url): New variable location_changed; use it for
2081         tests instead of mynewloc.
2082         (retrieve_url): Allow heuristic adding of html.
2083
2084         * url.c (url_filename): Don't use the `%' in Windows file names.
2085
2086         * http.c (http_loop): Always time-stamp the local file.
2087
2088         * http.c (http_loop): Ditto.
2089
2090         * ftp.c (ftp_retrieve_list): Use it.
2091
2092         * utils.c (my_touch): New function.
2093
2094         * ftp.c (ftp_retrieve_list): Use #ifdef HAVE_STRUCT_UTIMBUF
2095         instead of #ifndef NeXT.
2096
2097         * utils.c (strptime): New version, by Ulrich Drepper.
2098
2099 1997-01-17  Hrvoje Niksic  <hniksic@srce.hr>
2100
2101         * http.c (haccepts_none): Renamed from `haccepts_bytes'.
2102         (gethttp): If haccepts_none(), disable ACCEPTRANGES.
2103         (http_loop): Would remove ACCEPTRANGES.
2104
2105         * ftp.c (getftp): Call ftp_list with NULL.
2106
2107 1997-01-15  Hrvoje Niksic  <hniksic@srce.hr>
2108
2109         * html.c (ftp_index): Don't print minutes and seconds if we don't
2110         know them; beautify the output.
2111
2112         * ftp.c (getftp): Don't close the socket on FTPNSFOD.
2113
2114 1997-01-14  Hrvoje Niksic  <hniksic@srce.hr>
2115
2116         * utils.c (strptime): New function.
2117         (strptime): Don't use get_alt_number.
2118         (strptime): Don't use locale.
2119         (match_string): Made it a function.
2120
2121 1997-01-12  Hrvoje Niksic  <hniksic@srce.hr>
2122
2123         * http.c (http_atotm): New function.
2124         (http_loop): Use it.
2125
2126         * atotm.c: Removed from the distribution.
2127
2128         * http.c (base64_encode_line): Rewrite.
2129
2130 1997-01-09  Hrvoje Niksic  <hniksic@srce.hr>
2131
2132         * ftp.c (getftp): Use ftp_expected_bytes; print size.
2133
2134         * ftp-basic.c (ftp_response): Use ftp_last_respline.
2135         (ftp_expected_bytes): New function.
2136
2137         * ftp.c (getftp): Print the unauthoritative file length.
2138
2139         * ftp-ls.c: Renamed from ftp-unix.c.
2140         (ftp_parse_ls): Moved from ftp.c.
2141         (ftp_parse_unix_ls): Recognize seconds in time spec.
2142         (ftp_parse_unix_ls): Recognize year-less dates of the previous
2143         year.
2144
2145 1997-01-08  Hrvoje Niksic  <hniksic@srce.hr>
2146
2147         * ftp-basic.c: Don't declare errno if #defined.
2148
2149         * host.c (ftp_getaddress): Check for sysinfo legally.
2150
2151 1997-01-08  Darko Budor  <dbudor@diana.zems.fer.hr>
2152
2153         * connect.c (iread): Use READ.
2154
2155 1996-12-23  Hrvoje Niksic  <hniksic@srce.hr>
2156
2157         * url.c: Recognize finger, rlogin, tn3270, mid and cid as valid
2158         schemes.
2159
2160 1996-12-22  Hrvoje Niksic  <hniksic@srce.hr>
2161
2162         * host.c (ftp_getaddress): Allow `.' in hostname.
2163
2164 1996-12-26  Darko Budor <dbudor@zems.fer.hr>
2165
2166         * wget.h: READ and WRITE macros for use instead of read and write
2167         on sockets, grep READ *.c, grep WRITE *.c
2168
2169         * wsstartup.c: new file - startup for winsock
2170
2171         * wsstartup.h: new file
2172
2173         * win32decl.h: new file - fixup for <errno.h> and winsock trouble
2174
2175         * configure.bat: Configure utility for MSVC
2176
2177         * src/Makefile.ms,config.h.ms: new files for use with MSVC 4.x
2178
2179 1996-12-22  Hrvoje Niksic  <hniksic@srce.hr>
2180
2181         * version.c: Released 1.4.3-pre.
2182
2183         * utils.c (prnum): Accept long.
2184         (legible): Use prnum().
2185
2186         * connect.c (make_connection): Accept port as short.
2187         (bindport): Ditto.
2188
2189         * http.c (gethttp): Use search_netrc.
2190
2191 1996-12-21  Hrvoje Niksic  <hniksic@srce.hr>
2192
2193         * ftp.c (getftp): Use search_netrc.
2194
2195         * netrc.c (free_netrc): New function.
2196
2197         * init.c (home_dir): New function.
2198
2199         * url.c (convert_links): Allow REL2ABS changes.
2200
2201 1996-12-21  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
2202
2203         * netrc.c: New file.
2204         (parse_netrc, maybe_add_to_list): New functions.
2205
2206 1996-12-17  Hrvoje Niksic  <hniksic@srce.hr>
2207
2208         * retr.c (retrieve_url): Reset opt.recursion before calling
2209         ftp_loop if it is reached through newloc.
2210
2211         * init.c (run_wgetrc): Print the wgetrc path too, when reporting
2212         error; don't use "Syntax error", since we don't know if it is
2213         really a syntax error.
2214
2215 1996-12-16  Hrvoje Niksic  <hniksic@srce.hr>
2216
2217         * utils.c (acceptable): Extract the filename part of the path.
2218
2219         * recur.c (recursive_retrieve): Call acceptable() with the right
2220         argument; would bug out on wildcards.
2221
2222         * init.c (parse_line): Likewise.
2223
2224         * html.c (htmlfindurl): Cast to char * when calling stuff.
2225
2226 1996-12-15  Hrvoje Niksic  <hniksic@srce.hr>
2227
2228         * ftp.c (getftp): Use ftp_pasv.
2229
2230         * ftp-basic.c (ftp_request): Accept NULL value.
2231         (ftp_pasv): New function.
2232
2233         * options.h (struct options): Add passive FTP option.
2234
2235 1996-12-15  Hrvoje Niksic  <hniksic@srce.hr>
2236
2237         * url.c (parseurl): Debug output.
2238
2239         * utils.c (path_simplify): New one, adapted from bash's
2240         canonicalize_pathname().
2241
2242 1996-12-14  Hrvoje Niksic  <hniksic@srce.hr>
2243
2244         * ftp.c (getftp): Don't discard the buffer.
2245
2246         * retr.c (get_contents): New parameter nobuf.
2247
2248 1996-12-13  Shawn McHorse  <riffraff@txdirect.net>
2249
2250         * html.c (htmlfindurl): Recognize <meta contents="d; URL=...".
2251
2252         * init.c (setval): Strip the trailing slashes on CVECDIR.
2253
2254 1996-12-13  Hrvoje Niksic  <hniksic@srce.hr>
2255
2256         * init.c: Make excludes and includes under CVECDIR instead of
2257         CVEC.
2258
2259 1996-12-13  Shawn McHorse  <riffraff@txdirect.net>
2260
2261         * url.c (get_urls_html): Skip "http:".
2262
2263 1996-12-13  Hrvoje Niksic  <hniksic@srce.hr>
2264
2265         * utils.c (strcasecmp): From glibc.
2266         (strncasecmp): Also.
2267         (strstr): Also.
2268
2269         * url.c: Added javascript: to the list of URLs prefixes.
2270
2271 1996-12-12  Shawn McHorse  <riffraff@txdirect.net>
2272
2273         * recur.c (retrieve_robots): Print the warning message only if
2274         verbose.
2275
2276 1996-12-12  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>
2277
2278         * ftp.c (ftp_retrieve_list): Use NeXT old utime interface.
2279
2280 1996-12-12  Hrvoje Niksic  <hniksic@srce.hr>
2281
2282         * systhings.h: New file.
2283
2284         * ../configure.in: Check for utime.h
2285
2286         * ftp.c: Check whether we have unistd.h.
2287
2288 1996-11-27  Hrvoje Niksic  <hniksic@srce.hr>
2289
2290         * recur.c (recursive_retrieve): Send the canonical URL as referer.
2291         (recursive_retrieve): Call get_urls_html with the canonical URL.
2292
2293 1996-12-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2294
2295         * (configure.in, config.h.in, src/Makefile.in, src/*.[ch]): Add
2296         ansi2knr support for compilers which don't support ANSI style
2297         function prototypes and signatures.
2298
2299         * (aclocal.m4, src/ansi2knr.c, src/ansi2knr.1): New files.
2300
2301 1996-11-26  Hrvoje Niksic  <hniksic@srce.hr>
2302
2303         * url.c: Use it; Recognize paths ending with "." and ".." as
2304         directories.
2305         (url_filename): Append .n whenever file exists and could be a
2306         directory.
2307
2308         * url.h (ISDDOT): New macro.
2309
2310         * init.c (parse_line): Use unsigned char.
2311
2312         * url.c (get_urls_html): Cast to unsigned char * when calling
2313         htmlfindurl.
2314
2315         * html.c (htmlfindurl): Use unsigned char.
2316
2317         * version.c: Changed version to 1.4.3.
2318
2319 1996-11-25  Hrvoje Niksic  <hniksic@srce.hr>
2320
2321         * version.c: Released 1.4.2.
2322
2323         * ftp.c (getftp): Simplified assertion.
2324         (ftp_loop_internal): Remove symlink before downloading.
2325         (ftp_retrieve_list): Unlink the symlink name before attempting to
2326         create a symlink!
2327
2328         * options.h (struct options): Renamed print_server_response to
2329         server_response.
2330
2331         * ftp.c (rel_constr): Removed.
2332         (ftp_retrieve_list): Don't use it.
2333         (ftp_retrieve_list): Use opt.retr_symlinks.
2334
2335 1996-11-24  Hrvoje Niksic  <hniksic@srce.hr>
2336
2337         * main.c (main): New option retr_symlinks.
2338
2339         * url.c (convert_links): Print verbose message.
2340
2341 1996-11-24  Hrvoje Niksic  <hniksic@srce.hr>
2342
2343         * http.c (http_loop): Reset newloc in the beginning of function;
2344         would cause FMR in retrieve_url.
2345
2346 1996-11-23  Hrvoje Niksic  <hniksic@srce.hr>
2347
2348         * recur.c (convert_all_links): Find the URL of each HTML document,
2349         and feed it to get_urls_html; would bug out.
2350         (convert_all_links): Check for l2 instead of dl; removed dl.
2351
2352         * url.c (convert_links): Don't refer to freed newname.
2353
2354         * recur.c (recursive_retrieve): Add this_url to urls_downloaded.
2355
2356         * main.c (main): Print the OS_TYPE in the debug output, too.
2357
2358         * recur.c (recursive_retrieve): Check for opt.delete_after.
2359
2360         * main.c (main): New option delete-after.
2361
2362         * init.c (setval): Cleaned up.
2363
2364 1996-11-21  Hrvoje Niksic  <hniksic@srce.hr>
2365
2366         * Makefile.in (wget): Make `wget' the default target.
2367
2368         * ftp.c (ftp_loop_internal): Move noclobber checking out of the
2369         loop.
2370         (ftp_retrieve_list): Warn about non-matching sizes.
2371
2372         * http.c (http_loop): Made -nc non-dependent on opt.recursive.
2373
2374         * init.c (setnum): Renamed from setnuminf; New argument flags.
2375         (setval): Use it.
2376
2377         * main.c (main): Sorted the options.
2378         (main): New option --wait.
2379
2380 1996-11-21  Shawn McHorse  <riffraff@txdirect.net>
2381
2382         * html.c (htmlfindurl): Reset s->in_quote after getting out of
2383         quotes.
2384
2385 1996-11-20  Hrvoje Niksic  <hniksic@srce.hr>
2386
2387         * version.c: Changed version to 1.4.2.
2388
2389 1996-11-20  Hrvoje Niksic  <hniksic@srce.hr>
2390
2391         * version.c: Released 1.4.1.
2392
2393         * html.c (html_quote_string): New function.
2394         (ftp_index): Use it.
2395         (htmlfindurl): A more gentle ending debug message.
2396
2397         * ftp.c (ftp_loop): Check for opt.htmlify.
2398
2399         * init.c: New command htmlify.
2400
2401         * ftp.c (getftp): Nicer error messages, with `'-encapsulated
2402         strings.
2403         (ftp_loop): Print size of index.html.
2404
2405         * init.c (setval): Implement "styles".
2406
2407         * main.c (main): New option dotstyle.
2408
2409 1996-11-19  Hrvoje Niksic  <hniksic@srce.hr>
2410
2411         * ftp.c (getftp): Close the master socket in case of errors, after
2412         bindport().
2413
2414         * connect.c (bindport): Initialize msock to -1.
2415
2416         * ftp.c (getftp): Initialize dtsock to -1.
2417
2418         * connect.c (closeport): Don't close sock if sock == -1.
2419
2420 1996-11-18  Hrvoje Niksic  <hniksic@srce.hr>
2421
2422         * init.c (setnuminf): Nuked default value -- just leave unchanged.
2423         (setval): Don't send default values.
2424         (defaults): Use DEFAULT_TIMEOUT -- aaargh.
2425
2426         * options.h (struct options): Use long for dot_bytes.
2427
2428         * init.c (setquota): Renamed to setbytes.
2429         (setval): Use setbytes on DOTBYTES.
2430
2431 1996-11-17  Hrvoje Niksic  <hniksic@srce.hr>
2432
2433         * ftp.c (getftp): Initialize con->dltime.
2434
2435         * recur.c (recursive_retrieve): Use same_host instead of
2436         try_robots; simply load robots_txt whenever the host is changed.
2437         (recursive_retrieve): Free forbidden before calling parse_robots.
2438
2439 1996-11-16  Hrvoje Niksic  <hniksic@srce.hr>
2440
2441         * retr.c (show_progress): Use them.
2442
2443         * options.h (struct options): New options dot_bytes, dots_on_line
2444         and dot_spacing.
2445
2446 1996-11-16  Mark Boyns  <boyns@sdsu.edu>
2447
2448         * recur.c (recursive_retrieve): Retrieve directories regardless of
2449         acc/rej rules; check for empty u->file.
2450
2451 1996-11-14  Hrvoje Niksic  <hniksic@srce.hr>
2452
2453         * init.c (setval): Use it.
2454
2455         * utils.c (merge_vecs): New function.
2456
2457         * init.c (setval): Reset the list-type functions when encountering
2458         "".
2459
2460 1996-11-14  Shawn McHorse  <riffraff@txdirect.net>
2461
2462         * recur.c (recursive_retrieve): Use base_url instead of this_url
2463         for no_parent.
2464
2465 1996-11-14  Shawn McHorse  <riffraff@txdirect.net>
2466
2467         * html.c (htmlfindurl): Reset s->in_quote after exiting the quote.
2468
2469 1996-11-13  Hrvoje Niksic  <hniksic@srce.hr>
2470
2471         * utils.c (sepstring): Rewrote; don't use strtok.
2472
2473         * recur.c (recursive_retrieve): Enter assorted this_url to slist
2474         when running the first time.
2475         (retrieve_robots): Warn to ignore errors when robots are loaded.
2476
2477         * utils.c (load_file): Moved from url.c.
2478
2479         * http.c: Made static variables const too in h* functions.
2480
2481         * main.c (main): Renamed --continue-ftp to --continue.
2482
2483         * recur.c (recursive_retrieve): Use it.
2484
2485         * utils.c (frontcmp): New function.
2486
2487         * url.c (accdir): New function.
2488
2489         * html.c (htmlfindurl): Recognize <area href=...>.
2490
2491         * ftp.c (ftp_retrieve_dirs): Implemented opt.includes.
2492
2493         * init.c (setval): Free the existing opt.excludes and
2494         opt.includes, if available.
2495
2496         * main.c (main): New option -I.
2497
2498 1996-11-12  Hrvoje Niksic  <hniksic@srce.hr>
2499
2500         * ftp.c (ftp_retrieve_glob): Do not weed out directories.
2501
2502         * version.c: Changed version to 1.4.1.
2503
2504 1996-11-11  Hrvoje Niksic  <hniksic@srce.hr>
2505
2506         * version.c: Released 1.4.0.
2507
2508 1996-11-10  Hrvoje Niksic  <hniksic@srce.hr>
2509
2510         * main.c (main): Free com and val after parse_line.
2511         (printhelp): Reorder the listing.
2512
2513         * http.c: More robust header parsing.
2514
2515         * http.c: Allow any number of spaces, or no spaces, precede ':'.
2516         (hskip_lws): New function.
2517         (haccepts_bytes): New function.
2518         (gethttp): Use it.
2519
2520         * init.c (setval): Check header sanity.
2521         (setval): Allow resetting of headers.
2522
2523 1996-11-10  Hrvoje Niksic  <hniksic@srce.hr>
2524
2525         * http.c (http_loop): Don't use has_wildcards.
2526
2527         * http.c (gethttp): Free all_headers -- would leak.
2528
2529         * recur.c (recursive_retrieve): Initialize depth to 1 instead of
2530         0 -- this fixes a long-standing bug in -rl.
2531
2532 1996-11-09  Hrvoje Niksic  <hniksic@srce.hr>
2533
2534         * ftp.c: Use -1 as "impossible" value for con->fd.
2535
2536         * url.h (URL_SEPARATOR): Don't treat `*' and `+' as separators.
2537
2538         * init.c (parse_line): Use isalpha.
2539
2540         * ftp-unix.c: Use HAVE_UNISTD_H.
2541
2542         * mtch.c (has_wildcards): Don't match \.
2543
2544         * http.c (http_loop): Warn on HTTP wildcard usage.
2545
2546 1996-11-08  Hrvoje Niksic  <hniksic@srce.hr>
2547
2548         * url.c (url_filename): Do not create numbered suffixes if
2549         opt.noclobber -- would bug out on -nc.
2550
2551 1996-11-07  Hrvoje Niksic  <hniksic@srce.hr>
2552
2553         * recur.c (parse_robots): Don't chuck out the commands without
2554         arguments (`Disallow:<empty>' didn't work).
2555         (parse_robots): Compare versions lowercase.
2556         (parse_robots): Match on base_version, not version_string!
2557         (parse_robots): Handle comments properly.
2558         (parse_robots): Match versions in a sane way.
2559
2560         * init.c: Print nicer error messages.
2561
2562         * version.c: Changed version to 1.4.0.
2563
2564 1996-11-06  Hrvoje Niksic  <hniksic@srce.hr>
2565
2566         * version.c: Released 1.4.0-test2.
2567
2568         * init.c (run_wgetrc): Close fp.
2569
2570         * ftp.c (ftp_retrieve_dirs): Allocate the correct length for
2571         u->dir.
2572
2573 1996-11-06  Hrvoje Niksic  <hniksic@srce.hr>
2574
2575         * init.c (setquota): Allow inf as quota specification.
2576
2577 1996-11-05  Hrvoje Niksic  <hniksic@srce.hr>
2578
2579         * ftp.c (ftp_retrieve_dirs): Return QUOTEXC if quota exceeded.
2580         (ftp_retrieve_glob): Return QUOTEXC on quota exceeded.
2581
2582         * main.c (main): Check for quota by comparison with downloaded
2583         stuff, not from status.
2584
2585         * connect.c (select_fd): Should compile on HPUX without warnings now.
2586
2587         * ftp.c (ftp_get_listing): Check whether ftp_loop_internal
2588         returned RETROK.
2589
2590 1996-11-04  Hrvoje Niksic  <hniksic@srce.hr>
2591
2592         * ftp.c (ftp_retrieve_glob): Print the pattern nicely.
2593         (getftp): Return FTPRETRINT on control connection error.
2594
2595         * html.c (htmlfindurl): Recognize <embed src=...> and
2596         <bgsound src=...>.
2597         (ftp_index): Handle username and password correctly.
2598
2599         * main.c (main): Made `-np' a synonim for --no-parent.
2600
2601 1996-11-02  Hrvoje Niksic  <hniksic@srce.hr>
2602
2603         * ftp.c (ftp_loop): Check for opt.ftp_glob too before calling
2604         ftp_retrieve_glob.
2605
2606         * version.c: Changed version to 1.4.0-test2.
2607
2608 1996-11-02  Hrvoje Niksic  <hniksic@srce.hr>
2609
2610         * version.c: Released 1.4.0-test1.
2611
2612         * url.c (str_url): Don't use sprintf when creating %2F-prefixed
2613         directory.
2614         (convert_links): Removed definition of make_backup.
2615
2616         * http.h: Removed definition of MAX_ERROR_LENGTH.
2617
2618         * host.c (ftp_getaddress): Check for "(none)" domains.
2619
2620         * ftp.c (ftp_retrieve_dirs): Docfix.
2621
2622         * http.c (gethttp): Use ou->referer instead of u->referer.
2623
2624         * retr.c (retrieve_url): Reset u to avoid freeing pointers twice;
2625         this was known to cause coredumps on Linux.
2626
2627         * html.c (ftp_index): Cast the argument to local_time to time_t *.
2628
2629 1996-11-01  Hrvoje Niksic  <hniksic@srce.hr>
2630
2631         * connect.c (select_fd): Use exceptfds -- once and for all.
2632
2633         * retr.c (retrieve_from_file): Free filename after
2634         recursive_retrieve.
2635         (retrieve_from_file): Send RFIRST_TIME to recursive_retrieve on
2636         first-time retrieval.
2637         (retrieve_from_file): Return uerr_t; new argument, count.
2638         (retrieve_from_file): Break on QUOTEXC.
2639
2640         * init.c (setquota): Fixed a bug that caused rejection of
2641         non-postfixed values..
2642
2643 1996-10-30  Hrvoje Niksic  <hniksic@srce.hr>
2644
2645         * version.c: Changed name to wget.
2646
2647         * connect.c (iread): Smarter use of select.
2648         (select_fd): Set errno on timeout.  If not timeout, return 1
2649         instead of 0.
2650
2651 1996-10-29  Hrvoje Niksic  <hniksic@srce.hr>
2652
2653         * ftp.c (ftp_loop_internal): Don't use con->cmd before
2654         establishing it.
2655
2656 1996-10-26  Hrvoje Niksic  <hniksic@srce.hr>
2657
2658         * http.c (gethttp): Send correct referer when using proxy.
2659         (gethttp): Use struct urlinfo ou to access the relevant data; send
2660         correct authorization in all cases.
2661
2662         * host.c (same_host): Use skip_uname to skip username and
2663         password.
2664
2665         * url.c (skip_uname): New function.
2666         (parseurl): Use it.
2667
2668         * host.c (same_host): Do not assume HTTP -- same_host should now
2669         be totally foolproof.
2670
2671         * url.c (skip_proto): New function.
2672         (parse_uname): Use it.
2673
2674         * http.c (gethttp): Create local user and passwd from what is
2675         given.
2676
2677         * url.c (parseurl): Check for HTTP username and password too.
2678
2679 1996-10-25  Hrvoje Niksic  <hniksic@srce.hr>
2680
2681         * config.h.in: Removed #define gethostbyname R...
2682
2683 1996-10-22  Hrvoje Niksic  <hniksic@srce.hr>
2684
2685         * version.c: Changed version to 1.4.0-test1.
2686
2687 1996-10-21  Hrvoje Niksic  <hniksic@srce.hr>
2688
2689         * version.c: "Released" 1.4b29.
2690
2691         * recur.c (recursive_retrieve): Check for no_parent.
2692
2693         * init.c (setval): Option update.
2694
2695         * main.c (main): New option no-parent.
2696
2697         * options.h (struct options): New variable no_parent.
2698
2699         * recur.c (recursive_retrieve): Only files are checked for
2700         opt.accepts and opt.rejects.
2701         (recursive_retrieve): Check directories for opt.excludes.
2702         (recursive_retrieve): Make the dir absolute when checking
2703         opt.excludes.
2704
2705         * html.c (htmlfindurl): Recognize <applet code=...> and <script
2706         src=...>
2707
2708 1996-10-18  Hrvoje Niksic  <hniksic@srce.hr>
2709
2710         * ftp.c (getftp): Do not line-break assert entries at all.
2711         (ftp_retrieve_dirs): docfix.
2712
2713         * connect.c (select_fd): Use fd + 1 as nfds.
2714
2715         * version.c: Changed version to 1.4b29.
2716
2717 1996-10-18  Hrvoje Niksic  <hniksic@srce.hr>
2718
2719         * version.c: "Released" 1.4b28.
2720
2721         * ftp.c (ftp_loop_internal): Check whether f->size == len and
2722         don't continue the loop if it is.
2723         (ftp_get_listing): Remove list_filename on unsuccesful loop.
2724
2725 1996-10-17  Hrvoje Niksic  <hniksic@srce.hr>
2726
2727         * ftp.c (ftp_loop_internal): Use strcpy to initialize tmp.
2728         (getftp): Do not use multiline assert.
2729
2730         * http.c (hparsestatline): Use mjr and mnr instead of major and
2731         minor, which don't compile on Ultrix.
2732         (http_loop): Use strcpy() to initialize tmp.
2733
2734         * all: Geturl -> Fetch
2735
2736 1996-10-17  Hrvoje Niksic  <hniksic@srce.hr>
2737
2738         * recur.c (parse_robots): Fixed an off-by-one bug when looking for
2739         ':'.
2740
2741         * html.c (htmlfindurl): Fixed several possible off-by-one bugs by
2742         moving `bufsize &&' to the beginning of each check in for-loops.
2743
2744         * recur.c (parse_robots): Close fp on exit.
2745
2746         * url.c (mymkdir): Check for each directory before creating.
2747
2748 1996-10-16  Hrvoje Niksic  <hniksic@srce.hr>
2749
2750         * version.c: Changed version to 1.4b28.
2751
2752 1996-10-16  Hrvoje Niksic  <hniksic@srce.hr>
2753
2754         * version.c: "Released" 1.4b27.
2755
2756         * init.c (parse_line): Use isspace.
2757         (parse_line): Free *com on all errors.
2758
2759         * ftp.c (ftp_loop): Change FTPOK to RETROK before exiting.
2760         (delelement): Use next instead of f->next and prev instead of
2761         f->prev.
2762         (delelement): Free the members of the deleted element.
2763
2764         * http.c (http_loop): Do not return RETROK on code != 20x.
2765
2766         * init.c (cleanup): Free opt.user_header.
2767         (cleanup): Free opt.domains.
2768
2769         * url.c (freelists): Moved to cleanup().
2770
2771         * http.c (hparsestatline): Docfix.
2772
2773         * main.c (main): Return with error status on unsuccesful
2774         retrieval.
2775
2776         * init.c (setval): Do not remove listing when mirroring.
2777
2778         * url.c (url_filename): Use opt.fileprefix.
2779
2780         * ftp.c (ftp_get_listing): Use url_filename to get filename for
2781         .listing.
2782
2783         * main.c (main): New option: -rn.
2784
2785 1996-10-15  Hrvoje Niksic  <hniksic@srce.hr>
2786
2787         * Makefile.in (RM): Added RM = rm -f.
2788
2789         * host.c (clean_hosts): New function.
2790         (free_hlist): Just free the list, no reset.
2791
2792         * version.c: Changed version to 1.4b27.
2793
2794 1996-10-13  Hrvoje Niksic  <hniksic@srce.hr>
2795
2796         * version.c: "Released" 1.4b26.
2797
2798         * retr.c (retrieve_from_file): If call get_urls_html with
2799         opt.spider to make it silent in spider mode.
2800
2801         * url.c (str_url): Use CLEANDUP instead of URL_CLEANSE.
2802
2803         * url.h (CLEANDUP): New macro.
2804
2805         * http.c (gethttp): Fixed a bug that freed location only when it
2806         was NULL.
2807
2808         * retr.c (retrieve_url): Free url if it will not be stored,
2809         i.e. newloc is NULL.
2810
2811         * html.c (htmlfindurl): Handle exiting from quotes correctly; the
2812         old version would bug out on <a href="x#a"href="y">.
2813
2814         * html.h (state_t): New member in_quote.
2815
2816         * html.c (htmlfindurl): Free s->attr at the beginning of
2817         attr-loop.
2818
2819         * recur.c (recursive_retrieve): Recognize RCLEANUP.
2820         (tried_robots): Make hosts a global variable.
2821         (recursive_retrieve): Free constr after URL host optimization.
2822         (tried_robots): Free urlinfo before exiting.
2823
2824         * utils.c (free_slist): New function.
2825
2826         * recur.c (recursive_retrieve): Use flags to add cleanup
2827         possibility.
2828
2829         * main.c (main): Free filename after recursive_retrieve.
2830
2831         * http.c (gethttp): Store successful responses too.
2832
2833 1996-10-12  Hrvoje Niksic  <hniksic@srce.hr>
2834
2835         * all: Constified the whole source.  This required some minor
2836         changes in many functions in url.c, possibly introducing bugs -- I
2837         hope not.
2838
2839         * ftp-basic.c: Removed last_respline.
2840
2841         * http.c (gethttp): Free type.
2842
2843         * host.c (same_host): Free real1 and real2.
2844
2845         * main.c (main): New option --spider.
2846
2847         * retr.c (get_contents): Don't reset errno.
2848
2849         * main.c (main): Sorted the options.
2850
2851         * connect.c (iread): Set errno to ETIMEDOUT only if it was left
2852         uninitialized by select().
2853
2854         * http.c (http_loop): Print the time when the connection is
2855         closed.
2856         (gethttp): Debug-print the HTTP request.
2857
2858 1996-10-11  Hrvoje Niksic  <hniksic@srce.hr>
2859
2860         * connect.c (iread): Do not try reading after timeout.
2861
2862         * main.c (main): Would bug out on -T.
2863
2864         * connect.c (select_fd): Do not use exceptfds.
2865         (iread): Set ETIMEDOUT on select_fd <= 0.
2866
2867         * version.c: Changed version to 1.4b26.
2868
2869 1996-10-10  Hrvoje Niksic  <hniksic@srce.hr>
2870
2871         * version.c: "Released" 1.4b25.
2872
2873         * ftp-unix.c (ftp_parse_unix_ls): Ignore lines without file name
2874         or link name.
2875
2876         * http.c (gethttp): Add errcode to struct hstat.
2877         (http_loop): Use it.
2878
2879         * url.c (no_proxy_match): Simplify using char** for no_proxy.
2880
2881         * options.h (struct options): Make opt.no_proxy a vector.
2882
2883         * utils.c (sepstring): Use !*s instead of !strlen(s).
2884
2885         * init.c (setval): Set opt.maxreclevel to 0 on --mirror.
2886         (getperms): Use ISODIGIT instead of isdigit.
2887
2888         * ftp.c (getftp): Print time.
2889
2890         * main.c (main): Use legible output of downloaded quantity.
2891
2892         * ftp.c (getftp): Use elapsed_time().
2893         (ftp_loop_internal): Use rate().
2894
2895         * http.c (http_loop): Add download ratio output; Use rate().
2896
2897         * utils.c (rate): New function.
2898
2899 1996-10-09  Hrvoje Niksic  <hniksic@srce.hr>
2900
2901         * http.c (http_loop): Use timer.
2902
2903         * ftp.c: Split to ftp-basic.c and ftp.c
2904
2905         * utils.c (reset_timer): New function.
2906         (elapsed_time): New function.
2907
2908         * retr.c (show_progress): Make bytes_in_line and offs long; should
2909         work on 16-bit machines.
2910
2911 1996-10-08  Hrvoje Niksic  <hniksic@srce.hr>
2912
2913         * url.c (in_acclist): New argument backward.
2914
2915         * ftp.c (ftp_retrieve_glob): Use acceptable() to determine whether
2916         a file should be retrieved according to suffix.
2917         (ftp_get_listing): Check the return value of unlink; Do not call
2918         ftp_retrieve_dirs if depth reached maxreclevel.
2919         (ftp_retrieve_dirs): Check whether the directory is in
2920         exclude-list.
2921
2922         * main.c (main): Print the version number at the beginning of
2923         DEBUG output.
2924         (main): Use strrchr when creating exec_name.
2925
2926         * ftp.c (ftp_retrieve_glob): Do not close control connection.
2927
2928         * version.c: Changed version to 1.4b25.
2929
2930 1996-10-07  Hrvoje Niksic  <hniksic@srce.hr>
2931
2932         * version.c: "Released" 1.4b24.
2933
2934         * Makefile.in: Rewrite.
2935
2936         * ftp.c (ftp_loop_internal): Likewise.
2937
2938         * retr.c (time_str): Check for failed time().
2939
2940         * html.c (htmlfindurl): Recognize <fig src> and <overlay src> from
2941         HTML3.0.
2942
2943         * retr.c (time_str): Return time_t *.
2944
2945         * connect.c (bindport): Close msock on unsuccesful bind.
2946         (bindport): The same for getsockname and listen.
2947
2948         * retr.c (retrieve_url): Allow any number of retries on
2949         proxy.
2950
2951         * http.c (gethttp): Do not treat errno == 0 as timeout.
2952         (http_loop): Likewise.
2953         (http_loop): Cosmetic changes.
2954
2955         * connect.c (iread): Set errno to ETIMEDOUT in case of timeout.
2956
2957         * retr.c (get_contents): Reset errno.
2958
2959         * ftp.c (getftp): Minor fixes.
2960
2961 1996-10-06  Hrvoje Niksic  <hniksic@srce.hr>
2962
2963         * http.c: Do not use backups.
2964
2965         * geturl.1 (WARNING): Warn that man-page could be obsolete.
2966
2967         * getopt.c (getopt_long): Moved to getopt.c
2968
2969         * geturl.texi: Enhanced.
2970
2971         * main.c (main): Use it.
2972
2973         * recur.c (convert_all_links): New function.
2974
2975         * utils.c (add_slist): New argument flags.
2976
2977         * recur.c (recursive_retrieve): Update a list of downloaded URLs.
2978         (parse_robots): Do not chuck out empty value fields.
2979         (parse_robots): Make yourself welcome on empty Disallow.
2980
2981         * version.c: Changed version to 1.4b24.
2982
2983 1996-10-06  Hrvoje Niksic  <hniksic@srce.hr>
2984
2985         * version.c: "Released" 1.4b23.
2986
2987         * ftp.c (ftp_loop_internal): Get the time after getftp.
2988
2989         * Makefile.in (install.info): New target.
2990         (install): Use it.
2991
2992         * http.c (http_loop): Fix output when doing -O.
2993
2994 1996-10-05  Hrvoje Niksic  <hniksic@srce.hr>
2995
2996         * geturl.texi: New file.
2997
2998         * main.c (main): Do not print the warnings and download summary if
2999         opt.quiet is set.
3000
3001         * version.c: Changed version to 1.4b23.
3002
3003 1996-10-05  Hrvoje Niksic  <hniksic@srce.hr>
3004
3005         * "Released" 1.4b22.
3006
3007         * atotm.c (atotm): Use True and False instead of TRUE and FALSE,
3008         to avoid redefinition warnings.
3009
3010         * host.c (store_hostaddress): Use memcpy() to copy the address
3011         returned by inet_addr.
3012
3013         * version.c: Changed version to 1.4b22.
3014
3015 1996-10-04  Hrvoje Niksic  <hniksic@srce.hr>
3016
3017         * version.c: "Released" 1.4b21.
3018
3019         * ftp-unix.c (ftp_parse_ls): Renamed to ftp_parse_unix_ls.
3020
3021         * ftp.c (ftp_port): Use conaddr.
3022         (getftp): Print the file length.
3023         (ftp_retrieve_list): Check the stamps of plain files only.
3024
3025         * connect.c (closeport): Do not call shutdown().
3026         (conaddr): New function.
3027
3028         * html.c (ftp_index): Made it dfp-aware.
3029
3030         * init.c (cleanup): New name of freemem. Close opt.dfp.
3031
3032         * ftp.c (getftp): Use opt.dfp if it is set.
3033
3034         * ftp-unix.c (ftp_parse_ls): Recognize time in h:mm format.
3035
3036         * ftp.c (ftp_retrieve_dirs): Fixed a bug that caused incorrect
3037         CWDs to be sent with recursive FTP retrievals.
3038
3039 1996-10-03  Hrvoje Niksic  <hniksic@srce.hr>
3040
3041         * recur.c (parse_robots): Made it more compliant with "official"
3042         specifications.
3043
3044         * http.c: New function.
3045
3046         * ftp-unix.c (ftp_parse_ls): Added better debug output.
3047
3048         * ftp.c (getftp): Print out the LIST in case of
3049         opt.print_server_response.
3050
3051         * version.c: Changed version to 1.4b21.
3052
3053 1996-10-01  Hrvoje Niksic  <hniksic@srce.hr>
3054
3055         * version.c: "Released" 1.4b20.
3056
3057         * README: Update.
3058
3059         * http.c (gethttp): Preset lengths of various headers instead of
3060         calculating them dynamically.
3061         (gethttp): Check for 206 partial contents.
3062
3063 1996-09-30  Hrvoje Niksic  <hniksic@srce.hr>
3064
3065         * configure.in: Set SYSTEM_GETURLRC to $libdir/geturlrc
3066
3067         * http.c (gethttp): Send the port number in the Host: header.
3068
3069 1996-09-29  Hrvoje Niksic  <hniksic@srce.hr>
3070
3071         * http.c (gethttp): Send host: header.
3072         (gethttp): Add the possibility of user-defined headers.
3073         (gethttp): Move decision about pragma: no-cache to http_loop,
3074         where it belongs.
3075         (gethttp): Pass a struct instead of enormous argument list.
3076         (http_loop): Use a new, fancier display format.
3077         (ftp_loop): Likewise.
3078
3079         * main.c: (hangup): Turn off buffering of the new log file.
3080
3081         * install-sh: Likewise.
3082
3083         * config.sub: Replace with the one in autoconf-2.10
3084
3085         * geturl.1: Update.
3086
3087         * init.c: New options httpuser and httppasswd.
3088
3089         * http.c: (base64_encode_line): New function.
3090         (gethttp): Send authentication.
3091
3092         * connect.c (make_connection): Use store_hostaddress.
3093
3094 1996-09-28  Hrvoje Niksic  <hniksic@srce.hr>
3095
3096         * host.c (store_hostaddress): New function.
3097
3098         * NEWS: Update.
3099
3100         * http.c (hgetrange): New function.
3101         (gethttp): Use ranges.
3102
3103         * utils.c (numdigit): Accept long instead of int.
3104
3105         * http.c (http_loop): Add restart capabilities.
3106
3107         * ftp.c (ftp_retrieve_glob): Fixed a bug that could cause matchres
3108         being used uninitialized.
3109         (ftp_retrieve_list): Similar fix.
3110
3111         * host.c (add_hlist): Fixed a bug that could cause cmp being used
3112         uninitialized.
3113
3114         * url.c (construct_relative): New function.
3115
3116         * recur.c (recursive_retrieve): Use it.
3117
3118         * retr.c (convert_links): New function.
3119
3120 1996-09-27  Hrvoje Niksic  <hniksic@srce.hr>
3121
3122         * url.c (free_urlpos): New function.
3123
3124         * recur.c (recursive_retrieve): Adapt.
3125
3126         * url.c (get_urls_html): Return a linked list instead of a vector.
3127
3128         * url.c (get_urls_file): Return a linked list instead of a vector.
3129
3130         * geturl.1: Update.
3131
3132         * http.c (gethttp): Implement it.
3133
3134         * init.c (setval): New option: SAVEHEADERS
3135
3136         * ftp.c (ftp_loop_internal): Do not set restval if listing is to
3137         be retrieved. Lack of this test caused bugs when the connection
3138         was lost during listing.
3139
3140         * retr.c (retrieve_url): Fixed a bug that caused
3141         coredumps. *newloc is now reset by default.
3142         (retrieve_url): Lift the twenty-tries limit on proxies.
3143
3144         * version.c: Changed version to 1.4b20.
3145
3146 1996-09-20  Hrvoje Niksic  <hniksic@srce.hr>
3147
3148         * version.c: "Released" 1.4b19.
3149
3150 1996-09-19  Hrvoje Niksic  <hniksic@srce.hr>
3151
3152         * ftp.c (ftp_loop_internal): Renamed from ftp_1fl_loop.
3153         (getftp): Changed prototype to accept ccon *.
3154
3155 1996-09-17  Hrvoje Niksic  <hniksic@srce.hr>
3156
3157         * ftp.c (ftp_retrieve_list): Fixed a bug that caused setting
3158         incorrect values to files pointed to by symbolic links.
3159         (ftp_1fl_loop): Do not count listings among the downloaded URL-s.
3160
3161 1996-09-16  Hrvoje Niksic  <hniksic@srce.hr>
3162
3163         * url.c (mkstruct): Do not prepend "./" in front of a pathname.
3164
3165         * main.c (main): New option: --user-agent.
3166
3167         * geturl.1: Ditto.
3168
3169         * init.h: Ditto.
3170
3171         * init.c (setval): Ditto.
3172
3173         * main.c (main): Rename "server-headers" to "server-response".
3174
3175         * ftp-unix.c (ftp_parse_ls): Check for asterisks at the end of
3176         executables in 'ls -F' listings.
3177
3178 1996-09-15  Hrvoje Niksic  <hniksic@srce.hr>
3179
3180         * url.c (parseurl): Remove realloc() and sprintf().
3181         (str_url): Get rid of sprintf().
3182
3183         * recur.c (recursive_retrieve): Enable FTP recursion through proxy
3184         servers.
3185
3186         * url.h (URL_CLEANSE): Made it else-resistant.
3187         (USE_PROXY): New macro.
3188
3189 1996-09-14  Hrvoje Niksic  <hniksic@srce.hr>
3190
3191         * NEWS: Update.
3192
3193         * version.c: Changed version to 1.4b19.
3194
3195 1996-09-14  Hrvoje Niksic  <hniksic@srce.hr>
3196
3197         * version.c: "Released" 1.4b18.
3198
3199         * url.c: Made it reallocate space exponentially.
3200
3201 1996-09-14  Drazen Kacar  <dave@fly.cc.fer.hr>
3202
3203         * html.c (htmlfindurl): Added <frame src> and <iframe src> among
3204         the list of stuff to fetch.
3205
3206 1996-09-13  Hrvoje Niksic  <hniksic@srce.hr>
3207
3208         * url.c (get_urls_html): Fixed a bug that caused SIGSEGV's with
3209         -Fi.
3210
3211         * html.c (htmlfindurl): Rewrite.
3212
3213         * http.c (gethttp): Use opt.proxy_cache.
3214
3215         * main.c (main): Added --cache option.
3216
3217         * ftp.c (ftp_response): Print server response if opt.print_server
3218         response is set.
3219         (getftp): Print newlines after each request if the server response
3220         is to be printed.
3221         (ftp_response): Copy the last response line to last_respline.
3222
3223         * http.c (gethttp): Add Pragma: nocache for retried
3224         proxy-retrievals.
3225
3226         * ftp.c (getftp): Use it.
3227
3228         * retr.c (buf_discard): New function.
3229
3230         * ftp.c (ftp_response): Use buf_readchar().
3231         (getftp): Flush the control connection buffer before calling
3232         get_contents().
3233
3234         * retr.c (buf_readchar): New function.
3235         (buf_flush): New function.
3236         (get_contents): Use buf_readchar() instead of read(x, x, 1).
3237         (get_contents): Use buf_flush.
3238
3239 1996-09-12  Hrvoje Niksic  <hniksic@srce.hr>
3240
3241         * ftp.c: Incorporate changes to ftp_response.
3242
3243         * ftp.c (ftp_response): Allocate the server response dynamically,
3244         as in read_whole_line and fetch_next_header.
3245
3246         * utils.c (read_whole_line): Fixed a bug that prevented reading
3247         the last line if it is not \n-terminated. Also fixed a possible
3248         memory overflow.
3249
3250         * http.c (fetch_next_header): Return malloc-ed string as large as
3251         needed.
3252         (gethttp): Use new fetch_next_header.
3253
3254 1996-09-12  Hrvoje Niksic  <hniksic@srce.hr>
3255
3256         * http.c (hgetlen): Compute the header length the first time only.
3257         (hgettype): Ditto.
3258         (hgetlocation): Ditto.
3259         (hgetmodified): Ditto.
3260
3261 1996-09-11  Hrvoje Niksic  <hniksic@srce.hr>
3262
3263         * sample.geturlrc: Update.
3264
3265 1996-09-10  Hrvoje Niksic  <hniksic@srce.hr>
3266
3267         * http.c (http_loop): Ditto.
3268
3269         * ftp.c (getftp): Open the output file as binary.
3270
3271         * version.c: Changed version to 1.4b18.
3272
3273 1996-09-10  Hrvoje Niksic  <hniksic@srce.hr>
3274
3275         * version.c: "Released" 1.4b17.
3276
3277         * ftp-unix.c (ftp_parse_ls): If unable to open file, return NULL
3278         instead of failed assertion.
3279
3280 1996-09-09  Hrvoje Niksic  <hniksic@srce.hr>
3281
3282         * ftp.c (ftp_get_listing): Add a numbered suffix to LIST_FILENAME
3283         if a file of that name already exists.
3284
3285 1996-09-05  Hrvoje Niksic  <hniksic@srce.hr>
3286
3287         * ftp.c (ftp_1fl_loop): Handler FTPPORTERR and FOPENERR correctly.
3288
3289         * config.h.in: Define gethostbyname as Rgethostbyname when using
3290         Socks.
3291
3292         * configure.in: Check for -lresolv if using Socks.
3293
3294         * version.c: Changed version to 1.4b17.
3295
3296 1996-07-15  Hrvoje Niksic  <hniksic@srce.hr>
3297
3298         * version.c: "Released" 1.4b16.
3299
3300         * http.c (gethttp): More intelligent check for first line of HTTP
3301         response.
3302         (gethttp): Would bug out on time-stamping.
3303
3304         * version.c: Changed version to 1.4b16.
3305
3306 1996-07-11  Hrvoje Niksic  <hniksic@srce.hr>
3307
3308         * version.c: Released 1.4b15.
3309
3310         * http.c (http_loop): Print \n after the loop entry, not before.
3311
3312         * url.c (url_filename): Use ISDOT.
3313
3314         * url.h (ISDOT): New macro.
3315
3316         * recur.c (recursive_retrieve): Change only opt.recursive for
3317         following FTP.
3318
3319 1996-07-11  Antonio Rosella <antonio.rosella@agip.it>
3320
3321         * socks/geturl.cgi: Fixed version No.
3322
3323         * socks/download-netscape.html: Ditto.
3324
3325         * socks/download.html: Changed socks.html to download.html.
3326
3327 1996-07-11  Hrvoje Niksic  <hniksic@srce.hr>
3328
3329         * url.c (url_filename): Check for opt.dirstruct instead for
3330         opt.recursive && opt.dirstruct.
3331
3332         * init.c (defaults): Ditto.
3333         (defaults): Reset dirstruct by default.
3334         (setval): Set opt.dirstruct whenever setting recursive.
3335
3336         * init.h: Removed FORCEDIRHIER.
3337
3338         * INSTALL: Added -L to socks-description.
3339
3340         * version.c: Changed version to 1.4b15.
3341
3342 1996-07-10  Hrvoje Niksic  <hniksic@srce.hr>
3343
3344         * version.c: "Released" 1.4b14.
3345
3346         * geturl.1: Update AUTHOR to include Rosella as contributor.
3347
3348         * NEWS: Update.
3349
3350         * socks/geturl.cgi: Simplified command creation, nuked <blink>.
3351
3352         * socks/geturl.cgi: Wrap nutscape extensions within if $netscape.
3353         (cal_time): Fix == to eq.
3354
3355         * socks/geturl.cgi: GPL-ized with permission of A. Rosella.
3356
3357         * geturl.1 (hostname): Moved URL CONVENTIONS to the beginning.
3358
3359         * Makefile.in: Use @VERSION@.
3360
3361         * configure.in: Check version from version.c.
3362
3363         * socks/geturl.cgi: Changed /pub/bin/perl to /usr/bin/perl.
3364
3365         * socks/download.html: Created from download-netscape.html, made
3366         HTML-2.0 compliant.
3367
3368         * recur.c (recursive_retrieve): Set opt.force_dir_hier when
3369         following FTP links from recursions.
3370
3371 1996-07-09  Hrvoje Niksic  <hniksic@srce.hr>
3372
3373         * url.c (mymkdir): Fixed a bug that prevented mymkdir() to create
3374         absolute directories correctly.
3375
3376         * version.c: Changed version to 1.4b14.
3377
3378 1996-07-09  Hrvoje Niksic  <hniksic@srce.hr>
3379
3380         * version.c: "Released" 1.4b13.
3381
3382         * url.c (make_backup): New function.
3383
3384         * http.c (http_loop): Make a backup copy of the local file (using
3385         rename(2)) before opening it.
3386
3387         * main.c (main): Added --backups.
3388
3389         * host.c (ftp_getaddress): Bail out on failed mycuserid().
3390         (ftp_getaddress): Check for leading dot on MY_DOMAIN.
3391         (ftp_getaddress): Check for empty, null or (null) domain.
3392
3393         * url.c (get_urls_html): If this_url is NULL, the base must have a
3394         protocol.
3395         (parseurl): Use has_proto.
3396
3397         * retr.c (retrieve_url): Warn when proxy is used with more than 20
3398         retries.
3399
3400         * url.c (mkstruct): Create the directory (calling mymkdir()) only
3401         if it is not already there.
3402         (has_proto): New function.
3403         (get_urls_html): Eliminate the remaining call to findurl -- use
3404         has_proto.
3405
3406         * geturl.1: Ditto.
3407
3408         * main.c: Change -X to -x.
3409
3410         * url.c (url_filename): Simplify creation of filename if
3411         prefix_files is set.
3412         (url_filename): Simplify everything. And I do mean *everything*.
3413         (mkstruct): Add dir_prefix before hostname.
3414         (path_simplify): Fixed a bug that caused writing outside the path
3415         string in case of "." and ".." path strings.
3416
3417 1996-07-06  Hrvoje Niksic  <hniksic@srce.hr>
3418
3419         * init.c: Added --mirror.
3420
3421         * main.c (main): Added -X to force saving of directory hierarchy.
3422
3423         * ftp.c (ftp_retrieve_list): Added recursion depth counter.
3424         (ftp_retrieve_list): Check whether quota is exceeded.
3425
3426         * url.c (get_urls_html): Skip leading blanks for absolute URIs.
3427
3428         * http.c (gethttp): Use referer if present.
3429
3430         * recur.c (recursive_retrieve): Set u->referer before calling
3431         retrieve_url.
3432
3433         * url.c (newurl): Use memset to nullify the struct members.
3434         (freeurl): Free the referer field too.
3435
3436         * url.h: Added referer to urlinfo.
3437
3438         * geturl.1: Updated the manual to document some of the new features.
3439
3440         * utils.c (numdigit): Moved from url.c.
3441
3442         * README: Rewritten.
3443
3444         * config.h.in: Add the support for socks.
3445
3446         * configure.in: Add the support for socks.
3447
3448         * url.c (url_filename): If the dir_prefix is ".", work with just
3449         the file name.
3450         (url_filename): Do not look for .n extensions if timestamping if
3451         turned on.
3452
3453         * retr.c (show_progress): Skip the over-abundant restval data, and
3454         print the rest of it with ',' instead of '.'.
3455
3456 1996-07-05  Hrvoje Niksic  <hniksic@srce.hr>
3457
3458         * retr.c (show_progress): Changed second arg. to long (as it
3459         should be).
3460         (show_progress): Moved to retr.c.
3461         (get_contents): Moved to retr.c.
3462
3463         * version.c: Change version to 1.4b13.
3464
3465 1996-07-05  Hrvoje Lacko <hlacko@fly.cc.fer.hr>
3466
3467         * url.c (in_acclist): Would return after the first suffix.
3468
3469 1996-07-04  Hrvoje Niksic  <hniksic@srce.hr>
3470
3471         * version.c: "Released" 1.4b12.
3472
3473         * url.c (path_simplify): More kludgifications.
3474         (get_urls_html): Use new parameters for htmlfindurl.
3475
3476         * html.c: Removed memorizing "parser states", since the new
3477         organization does not require them.
3478
3479         * init.c (run_geturlrc): Use read_whole_line.
3480
3481         * ftp-unix.c (ftp_parse_ls): Use read_whole_line.
3482
3483         * recur.c (parse_robots): Use read_whole_line.
3484
3485         * utils.c (read_whole_line): New function.
3486
3487         * recur.c (tried_robots): Use add_slist/in_slist, *much* cleaner.
3488
3489         * host.c (ngethostbyname): Call inet_addr just once. Yet to be
3490         tested on OSF and Ultrix.
3491         (add_hlist): New function.
3492         (free_hlist): New function.
3493         (search_host): New function.
3494         (search_address): New function.
3495         (realhost): Use search_host, search_address and add_hlist.
3496         (same_host): Replaced realloc() with strdupdelim(), made
3497         case-insensitive, fixed a memory leak.
3498
3499         * html.c (ftp_index): Fixed tm_min and tm_sec to be tm_hour and
3500         tm_min, like intended.
3501
3502         * version.c: Change user agent information to
3503         Geturl/version.
3504
3505 1996-07-03  Hrvoje Niksic  <hniksic@srce.hr>
3506
3507         * utils.c: Renamed nmalloc.c to utils.c, .h likewise.
3508
3509         * url.c (acceptable): Always accept directories.
3510
3511         * ftp-unix.c (ftp_parse_ls): Support brain-damaged "ls -F"-loving
3512         servers by stripping trailing @ from symlinks and trailing / from
3513         directories.
3514
3515         * ftp.c (ftp_loop): Debugged the "enhanced" heuristics. :-)
3516
3517         * url.c (skip_url): Use toupper instead of UCASE.
3518
3519         * host.c (sufmatch): Made it case-insensitive.
3520
3521         * url.c (match_backwards_or_pattern): Fixed i == -1 to j == -1.
3522         (match_backwards): New function, instead of
3523         match_backwards_or_pattern.
3524
3525         * recur.c (recursive_retrieve): Increased performance by
3526         introducing inl, which reduces number of calls to in_slist to only
3527         one.
3528
3529         * ftp.c (ftp_loop): Enhanced the heuristics that decides which
3530         routine to use.
3531
3532         * main.c (printhelp): Removed the warranty stuff.
3533
3534 1996-07-02  Hrvoje Niksic  <hniksic@srce.hr>
3535
3536         * url.c (add_slist): Simplify.
3537         (match_backwards_or_pattern): New function.
3538         (in_acclist): Use match_backwards_or_pattern.
3539         (matches): Remove.
3540
3541 1996-06-30  Hrvoje Niksic  <hniksic@srce.hr>
3542
3543         * ftp.c (ftp_loop): Call ftp_index on empty file names, if not
3544         recursive.
3545
3546         * html.c (ftp_index): Fixed to work. Beautified the output.
3547
3548         * ftp.c (ftp_retrieve_glob): Another argument to control whether
3549         globbing is to be used.
3550         (ftp_retrieve_list): Compare the time-stamps of local and remote
3551         files to determine whether to download.
3552
3553 1996-06-29  Hrvoje Niksic  <hniksic@srce.hr>
3554
3555         * ftp.c (rel_constr): New function.
3556
3557         * retr.c (retrieve_from_file): Check for text/html before
3558         retrieving recursively.
3559
3560         * main.c (main): Check whether the file is HTML before going into
3561         recursive HTML retrieving.
3562
3563         * ftp.c (ftp_retrieve_list): Manage directories.
3564         (ftp_retrieve_glob): Pass all the file-types to ftp_retrieve_list.
3565         (ftp_1fl_loop): Fixed a bug that caused con->com to be incorrectly
3566         initialized, causing bugchecks in getftp to fail.
3567
3568         * configure.in: Check for symlink.
3569
3570         * ftp.c (ftp_retrieve_list): Added support for symlinks.
3571
3572         * version.c: "Released" 1.4b10.
3573
3574         * atotm.c (atotm): Redeclared as time_t.
3575
3576         * init.c: New variable "timestamping".
3577
3578         * main.c (main): New option 'N'.
3579
3580         * http.c (hgetlocation): Case-insensitive match.
3581         (hgetmodified): New function.
3582         (http_loop): Implement time-stamping.
3583
3584 1996-06-28  Hrvoje Niksic  <hniksic@srce.hr>
3585
3586         * version.c: Changed version to 1.4b10
3587
3588         * atotm.c: New file, from phttpd.
3589
3590         * options.h (struct options): New parameter timestamping.
3591
3592         * version.c: 1.4b9 "released".
3593
3594         * recur.c (recursive_retrieve): Used linked list (ulist) for
3595         faster storing of URLs.
3596
3597         * url.c (get_urls_html): Removed the old kludge with comparing the
3598         outputs of htmlfindurl and findurl.
3599         (get_urls_html): Added better protocol support here.
3600         (create_hash): Removed, as well as add_hash and in_hash.
3601         (addslist): New function.
3602         (in_slist): ditto
3603
3604         * version.c: Released 1.4b8, changed version to b9.
3605
3606 1996-06-27  Hrvoje Niksic  <hniksic@srce.hr>
3607
3608         * ftp.c (freefileinfo): New function.
3609         (delelement): New function.
3610
3611         * everywhere: GPL!
3612
3613         * ftp.c (ftp_loop): Use ccon.
3614         (ftp_retrieve_glob): Likewise.
3615
3616         * ftp.h: Define ccon, to define status of control connection.
3617
3618         * ftp.c (ftp_get_listing): New function.
3619         (ftp_retrieve_more): New function.
3620         (ftp_retrieve_glob): New function.
3621
3622 1996-06-25  Hrvoje Niksic  <hniksic@srce.hr>
3623
3624         * configure.in: Removed the search for cuserid().
3625
3626         * init.c (getmode): Renamed to getperms.
3627
3628 1996-06-24  Hrvoje Niksic  <hniksic@srce.hr>
3629
3630         * version.c: New version.
3631
3632         * main.c (hangup): New function, that handles hangup. Hangup
3633         signal now causes geturl to stop writing on stdout, and to write
3634         to a log file.
3635
3636         * ftp.c (getftp): "Released" 1.4b7.
3637
3638         * html.c (htmlfindurl): Ignore everything inside <head>...</head>.
3639         (ftp_index): Use fileinfo/urlinfo.
3640
3641         * ftp-unix.c (ftp_parse_ls): New function.
3642         (symperms): New function.
3643
3644         * ftp.c (ftp_1fl_loop): New function, to handle 1-file loops.
3645
3646         * retr.c (retrieve_url): Added FTP support.
3647
3648 1996-06-23  Hrvoje Niksic  <hniksic@srce.hr>
3649
3650         * geturl.h: Removed NOTFTP2HTML enum.
3651         Added DO_LOGIN, DO_CWD and DO_LIST. LIST_ONLY is obsolete.
3652
3653         * ftp.c (getftp): Resynched with urlinfo.
3654         (getftp): Removed HMTL-ization of index.html from getftp.
3655
3656         * version.c: 1.4b6 "released".
3657
3658         * options.h (options): New struct, to keep options in.
3659
3660         * http.c (http_loop,gethttp): Synched with proxy.
3661
3662         * retr.c (retrieve_url): Implemented proxy retrieval.
3663
3664         * main.c (main): Use retrieve_from_file.
3665
3666 1996-06-22  Hrvoje Niksic  <hniksic@srce.hr>
3667
3668         * retr.c (retrieve_from_file): New function.
3669
3670         * url.c (parseurl): Modified to return URLOK if all OK. Protocol
3671         can be found in u->proto.
3672
3673         * ftp.c (ftp_response): Fixed to accept multi-line responses as
3674         per RFC 959.
3675
3676         * recr.c (recursive_retrieve): Take newloc from retrieve_url.
3677
3678         * url.c (mymkdir): Removed the file of the same name, if one
3679         exists.
3680         (isfile): New function.
3681         (mkstruct): Fixed the '/' glitches.
3682         (path_simplify): Hacked to treat something/.. correctly.
3683
3684 1996-06-21  Hrvoje Niksic  <hniksic@srce.hr>
3685
3686         * http.c (gethttp): Close the socket after error in headers.
3687         (http_loop): HEOF no longer a fatal header.
3688
3689         * loop.c (retrieve_url): When dt is NULL, do not modify it. This
3690         simplifies the syntax of calling retrieve_url.
3691
3692         * recr.c (recursive_retrieve): Modified to use get_urls_html.
3693
3694         * url.c (get_urls_file): New function.
3695         (get_urls_html): New function.
3696
3697         * recr.c (recursive_retrieve): Patched up to conform to the
3698         standards.
3699
3700         * http.c (gethttp): Synched with the rest...
3701         (gethttp): Treat only CONREFUSED specially, with connection
3702         errors.
3703
3704         * init.c,geturl.1,http.c (http_loop): Removed kill_error.
3705
3706 1996-06-20  Hrvoje Niksic  <hniksic@srce.hr>
3707
3708         * http.c (http_loop): New function.
3709
3710         * loop.c: Removed *lots* of stuff from retrieve_url.
3711
3712         * url.c (parseurl): Changed to work with urlinfo. Integrated
3713         username finding and path parsing.
3714         (newurl): New function.
3715         (freeurl): New function.
3716         (mkstruct): Removed the old bogosities, made it urlinfo-compliant.
3717         (url_filename): Likewise.
3718         (path_simplify): Accept relative paths too.
3719         (opt_url): Made urlinfo-compliant, removed bogosities.
3720         (path_simplify): Expanded to accept relative paths.
3721         (str_url): A replacement for hide_url
3722         (decode_string): Fixed a bug that caused malfunctioning when
3723         encountering an illegal %.. combination.
3724         (opt_url): Removed the argument. Dot-optimizations are now default.
3725
3726         * nmalloc.c (strdupdelim): New function.
3727
3728         * url.h: Added the urlinfo structure
3729
3730 1996-06-19  Hrvoje Niksic  <hniksic@srce.hr>
3731
3732         * url.c (hide_url): Thrown out the protocol assertion. Do not
3733         change the URL if the protocol if not recognized.
3734         (findurl): Put continue instead of break.
3735
3736 1996-06-18  Hrvoje Niksic  <hniksic@srce.hr>
3737
3738         * sample.geturlrc: Changed the defaults to be commented out and
3739         harmless (previous defaults caused pains if copied to
3740         ~/.geturlrc).
3741
3742         * http.c (gethttp): Print the HTTP request in debug mode.
3743
3744         * connect.c (iread): Added EINTR check loop to select-ing
3745         too. EINTR is now correctly handled with select().
3746
3747         * TODO: new file
3748
3749 1996-05-07  Hrvoje Niksic  <hniksic@srce.hr>
3750
3751         * host.c (same_host): Made the function a little bit more
3752         intelligent regarding diversified URL syntaxes.
3753
3754         * url.c (skip_url): Spaces are now skipped after URL:
3755
3756         * Released 1.3.1 with the patch to prevent crashing when sending
3757         NULL to robot* functions and the patch to compile "out of the box"
3758         on AIX.
3759
3760         * recr.c (recursive_retrieve): Added checking whether this_url is
3761         NULL when calling the robot functions.
3762
3763         * ChangeLog: New file.