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