-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.1
17076 lines (12696 loc) · 598 KB
/
ChangeLog.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2021-04-28 Simon Josefsson <[email protected]>
telnet: Support --bind (-b) for NetKit compatibility.
* NEWS: Add.
* doc/inetutils.texi (telnet invocation): Add --bind (-b).
* telnet/commands.c (tn): New variables hostaddr and srchostp.
Parse -b parameter. Update usage string. If -b is set, call
getaddrinfo on it and pass that ai_addr on to bind.
* telnet/main.c (srcaddr): New global variable.
(argp_options): Add --bind (-b).
(parse_opt): Set srcaddr to -b value.
(main): Propagate -b value to tn function.
2021-02-11 Simon Josefsson <[email protected]>
* TODO: Add items discussed on mailing list.
2021-02-05 Simon Josefsson <[email protected]>
Use gnulib sys_types module so we can assume sys/types.h.
* tests/waitdaemon.c, tests/runtime-ipv6.c, tests/readutmp.c: Drop
HAVE_SYS_TYPES_H test.
* bootstrap.conf (gnulib_modules): Add explicit sys_types.
2021-02-05 Simon Josefsson <[email protected]>
Fix some autoreconf 2.71 warnings.
* configure.ac: Remove obsolete AC_HEADER_STDC, AC_HEADER_TIME,
AC_FUNC_SETVBUF_REVERSED, and AC_DECL_SYS_SIGLIST. Don't check
for sys/time.h, we never use the test result.
2021-02-01 Alfred M. Szmidt <[email protected]>
* ftp/ftp.c (getreply): Fix possible buffer overflow (backport
from OpenBSD); reported by O. Bittner, D. Maier, M. Munier,
J. Beier of SecT, TU Berlin.
2021-01-29 Simon Josefsson <[email protected]>
ping6: Don't allow unprivileged users to flood ping.
* ping/ping6.c (parse_opt): For non-root users, limit interval
like ping.c to avoid DoS. Reported in
<https://bugs.debian.org/926750>.
* ping/ping_common.h (PING_MIN_USER_INTERVAL): Add.
* ping/ping.c (MIN_USER_INTERVAL): Remove, replaced by
PING_MIN_USER_INTERVAL.
(parse_opt): Update use.
2021-01-28 Simon Josefsson <[email protected]>
* telnet/commands.c (logoutcmd): Renamed from logout. Conflicts
with system utmp.h's logout(3).
(cmdtab): Use logoutcmd instead of logout.
2021-01-28 Simon Josefsson <[email protected]>
* tests/libls.sh (LSDIR): Fix parallel testing. Found on Guix and
Debian, solution is to not use CWD as test directory for libls.
Inspired by trivial patch by Guillem Jover <[email protected]>.
2021-01-28 Simon Josefsson <[email protected]>
ping, ping6: Fix unchecked setuid return.
* ping/ping.c (main): Fail if setuid fail. Trivial patch from
Jayakrishna Vadayath <[email protected]>.
* ping/ping6.c (main): Likewise.
2021-01-28 Simon Josefsson <[email protected]>
* tests/hostname.sh: Use uname as fallback if system lack hostname
command. Only require mktemp when running root test.
2021-01-28 Simon Josefsson <[email protected]>
* tests/hostname.sh: Use system hostname, not system uname, for
comparison.
2021-01-28 Simon Josefsson <[email protected]>
* configure.ac: Don't call gl_FUNC_READLINE. Not needed since we
now use readline gnulib module.
2021-01-28 Simon Josefsson <[email protected]>
Fix link failure with absent -lutil on Solaris 10.
* configure.ac (LIBUTIL): Prefer PTY_LIBS in Makefile.am over
adding -lutil for pty-functions.
* src/Makefile.am (LDADD): Add PTY_LIB.
* telnetd/Makefile.am (LDADD): Likewise.
* tests/Makefile.am (identify_LDADD): Likewise.
2021-01-27 Simon Josefsson <[email protected]>
* bootstrap.conf (buildreq): Add gzip and xz.
2021-01-27 Simon Josefsson <[email protected]>
* .gitignore: Rewrite to use leading / for most top-level files,
and general update.
2021-01-26 Simon Josefsson <[email protected]>
Sync release process with gnulib approach.
* NEWS: Fix syntax to conform to gnulib release-prep rules.
* cfg.mk: Drop news-check-regexp.
* bootstrap.conf (gnulib_modules): Use readme-release. Drop now
implicit announce-gen, gnupload and maintainer-makefile.
* bootstrap.conf (bootstrap_epilogue): Add function, fixing
README-release.
* gl/top/README-release.diff: Add file.
* .gitignore: Add README-release.
* cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Add, for
README-release.diff.
* configure.ac (AC_INIT): Don't use sed-expression, it is
incompatible with gnulib's do-release-commit-and-tag.
* cfg.mk (git-version-gen-tag-sed-script): Drop.
* .prev-version: Add file, indicating 1.9.4 as previous release.
* README-alpha (Release procedures): Removed, replaced by
README-release.
* cfg.mk (release-prep-hook): Don't disable it, we now support it.
2021-01-25 Simon Josefsson <[email protected]>
Silence 'make syntax-check'.
* libls/ls.c: Don't include <intprops.h> if we are not using it.
2021-01-25 Simon Josefsson <[email protected]>
Don't use deprecated gnulib module 'gettext' and replace
readline.m4 with gnulib readline module.
* bootstrap.conf (gnulib_modules): Remove gettext. Add readline.
* am/readline.m4: Remove file.
2021-01-25 Simon Josefsson <[email protected]>
Only do what git-version-gen recommends regarding .version.
* Makefile.am (DISTCLEANFILES): Don't distclean
$(top_builddir)/.version.
2021-01-25 Simon Josefsson <[email protected]>
Fix hostname.sh to not call system hostname, and improve
diagnostics.
* tests/hostname.sh: Fix typo. Improve output on failures.
2021-01-25 Simon Josefsson <[email protected]>
Fix 'make check' on broken platforms without /etc/protocols.
* tests/traceroute-localhost.sh: Skip test if /etc/protocols
doesn't exist, copied from existing code in tests/inetd.sh.
* tests/ping-localhost.sh: Likewise.
2021-01-25 Simon Josefsson <[email protected]>
git-version-gen: Sync with git-version-gen usage instructions.
* Makefile.am (EXTRA_DIST): Add.
(BUILT_SOURCES): Use srcdir.
(.version): Likewise.
2021-01-24 Simon Josefsson <[email protected]>
* configure.ac: Fix disabling when all rcmd is missing.
* configure.ac: Warn when rcmd is missing.
* README-alpha (Prerequisites): Mention xz, for dist.
2021-01-24 Simon Josefsson <[email protected]>
Build/doc fixes.
* README-alpha (Checking Out the Sources): Use git URL mentioned
on Savannah page.
(Prerequisites): Add bash, gcc, ncurses.
* bootstrap: Updated from gnulib.
2020-11-10 Mats Erik Andersson <[email protected]>
* configure.ac (AC_PREREQ): Require autoconf 2.64, caused
by changes in Gnulib.
2020-06-05 Mats Erik Andersson <[email protected]>
* ifconfig/system/linux.c (linux_if_nameindex): New, incompatible
signature of contemporary Gnulib function read_file().
2020-05-10 Mats Erik Andersson <[email protected]>
* whois/data.h (hide_strings): Add Brazilian pattern.
* whois/ip6_del_list: Update with more ranges.
2020-05-08 Mats Erik Andersson <[email protected]>
whois: Delegation list for IPv6 ranges.
* whois/.gitignore: Add `ip6_del.h'.
* whois/Makefile.am (BUILT_SOURCES): Add `ip6_del.h'.
(EXTRA_DIST): Add `ip6_del_list', `ip6_del.h', `make_ip6_del.pl'.
(noinst_HEADERS): Add `ip6_del.h'.
(ip6_del.h): New target.
* whois/data.h (ip6_assign): New array.
* whois/ip6_del_list: New file.
* whois/make_ip6_del.pl: New file.
* whois/whois.c (whichwhois): Regard absence of period, colon,
and hyphen as evidence of NSI NIC or ASN. Test for this and for
email address before any test for numeric addressing. Implement
code for IPv6 delegation matching, to be triggered by the presence
of a colon in the given query string.
2020-05-07 Mats Erik Andersson <[email protected]>
whois: Tweak command line arguments.
* whois/whois.c (whichwhois): Skip any single character token,
as it must be a search directive for a server. Prune the known
IPv6 delegations to reflect only the valid one. Use ARIN as
default IPv6 serving instance, since the old 6BONE server is no
longer responsive.
2020-05-07 Mats Erik Andersson <[email protected]>
whois: Improved hiding of legal disclaimers.
* whois/as_del_list: Two additional delegations.
* whois/data.h (hide_strings): Add string patterns for present
day services at ARIN, LACNIC, and RIPE.
* whois/whois.c (do_query): After successful location of a stop
pattern, go back into search state, instead of cancelling further
matching. The service at ARIN inserts identical disclaimer at
the beginning, as well as at the end of a response.
2020-05-06 Mats Erik Andersson <[email protected]>
* bootstrap: Updated from gnulib.
2020-04-27 Tim Rühsen <[email protected]>
telnet: Use memove for overlapping memory instead of strncpy.
Overlapping source and destination buffers are not supported
by strncpy and give undefined results.
7.24.2.3 of ISO/IEC 9899:201x:
"If copying takes place between objects thatoverlap,
the behavior is undefined."
* telnet/commands.c (cmds): Use memove for overlapping memory
instead of strncpy.
2020-04-12 Mats Erik Andersson <[email protected]>
whois: Delegation of IP and AS.
Attempt improving the list of IP range delegation within the scope
of old A-class ranges. The intention is to establish as many
ranges of width 22, or wider, and also to verify old claims.
* whois/as_del_list: Update and correct existing AS range
delegations, and add a few more, random but existing.
* whois/ip_del_list: Add a large number of delegations within
former A-class ranges, and correct two erroneous instances.
* whois/whois.c (whereas): Raise the upper limit of known ASN.
(queryformat): Rewrite query statement intended for ARIN.
2020-04-06 Mats Erik Andersson <[email protected]>
whois: Include ERX ranges for APNIC.
The content of the following web page was scanned to identify
the ranges within old B-classes that were assigned to APNIC
by the ERX project, Early Registration Transfer. After some
cross checking, a few intermediate ranges for other registars
were included for better resolution.
https://www.apnic.net/manage-ip/manage-historical-resources/erx-project/erx-transfer-to-apnic/
* whois/ip_del_list: Add a large amount of APNIC address ranges.
2020-04-05 Mats Erik Andersson <[email protected]>
Support for libidn2 in addition to libidn.
* am/libidn.m4 (have_IDN2, have_IDN): New local variables.
Detect presence of libidn2 by checking for `idn2_to_ascii_lz',
but still aim at backwards compatibility. Detect header file
`idna.h' as well as `idn2.h', but prefer libidn2 to libidn,
should both libraries be detected.
* configure.ac (--with-idn): Mention that IDN2 is acceptable.
(idn_link): New variable.
(ftp_PROPS, ping_PROPS, talk_PROPS, telnet_PROPS, tftp_PROPS)
(traceroute_PROPS): Update these to state `idn', or `idn2'.
* ftp/ftp.c [HAVE_IDN2_H && HAVE_IDN2]: Include `idn2.h'.
[(!HAVE_IDN2_H || !HAVE_IDN2) && HAVE_IDNA_H]: Include `idna.h'.
(hookup) [HAVE_IDN || HAVE_IDN2]: Use compatibility function
idna_to_ascii_lz().
* ping/libping.c (ping_set_dest): Likewise.
* ping/ping6.c (ping_set_dest): Likewise.
* src/tftp.c (resolve_name): Likewise.
* src/traceroute.c (main): Likewise.
* talk/get_addrs.c (get_addrs)
[HAVE_DECL_GETADDRINFO || HAVE_IDN || HAVE_IDN2]: Declare ERR.
[HAVE_IDN || HAVE_IDN2]: Likewise.
* telnet/commands.c (tn): Declare HOSTTMP. Likewise.
2020-04-04 Alfred M. Szmidt <[email protected]>
* ping/ping6.c (print_packet_too_big): Use %u when printing MTU.
2020-02-29 Tim Rühsen <[email protected]>
uucpd: Fix buffer overflows.
This fixes several missing string termination issues with strncpy.
Also REMOTEHOST of size NI_MAXHOST was strcpy'ed into LINE, which
just had 32 bytes on the stack.
* src/uucpd.c (SCPYN): Promote macro to global scope, but expand
its action by writing the final NUL character.
(dologin): Increase size of LINE. Use existing macro SCPYN
instead of strncpy.
[PATH_LASTLOG && HAVE_STRUCT_LASTLOG]: Delete local macro SCPYN.
2020-02-29 Tim Rühsen <[email protected]>
uucpd: Fix heap buffer overflow.
Usernames >= 56 bytes would overflow the char arrays Username and
Logname. This change mitigates this, but still silently truncates
these arrays. Silent truncation should be checked throughout the
code, possibly within a more comprehensive code review.
* src/uucpd.c (Username, Logname): Increase size to 72 bytes.
(doit): Use snprintf instead of sprintf.
2020-02-29 Tim Rühsen <[email protected]>
telnet: Use strdup instead malloc+strcpy.
* telnet/commands.c (tn): Assign HOSTNAME using strdup().
2020-02-29 Tim Rühsen <[email protected]>
telnet: Fix -Wsign-compare in suboption.
* telnet/telnet.c (suboption): Explicitly cast sizeof() to int.
2020-02-29 Tim Rühsen <[email protected]>
telnetd: Silence -Wimplicit-fallthrough.
* telnetd/state.c (willoption): Squeelch warning.
2020-02-29 Tim Rühsen <[email protected]>
telnetd: Silence unused warning for getterminaltype.
* telnetd/utility.c (getterminaltype): Squeelch warning.
2020-02-29 Tim Rühsen <[email protected]>
ftp: Silence -Wimplicit-fallthrough warning.
* ftp/domacro.c (domacro): Squeelch warning.
2020-02-29 Tim Rühsen <[email protected]>
ftp: Silence -Wimplicit-fallthrough.
* ftp/cmds.c (domap): Squeelch warning.
2020-02-29 Tim Rühsen <[email protected]>
ftp: Fix multipliers for M(ega) and G(iga).
This is *not* a fix as the comment accidentally states. It is to
silence -Wimplicit-fallthrough and to avoid multiple
multiplications in case of a non-optimized build. The HASHBYTES
type needs to be reviewed later as g/G only allows digits 1 and 2
without integer overflow, which is undefined behavior.
* ftp/cmds.c (sethash): Remove cascaded multiplications.
2020-02-29 Tim Rühsen <[email protected]>
ftp: Fix return value of remglob.
* ftp/cmds.c (remglob): Switch roles of old values after NULL check.
2020-02-29 Tim Rühsen <[email protected]>
ftp: Fix possible buffer overflow.
* ftp/ftp.c (hookup): Terminate string after strncpy.
2020-02-29 Tim Rühsen <[email protected]>
ftp: Fix two misuses of strncpy (read buffer overflow).
* ftp/ftp.c (pswitch): Correctly set the terminating NUL.
2020-02-29 Tim Rühsen <[email protected]>
talk: Fix uninitialized variable NREADY.
* talk/ctl_transact.c (ctl_transact): Initialize NREADY to 0.
2020-02-29 Tim Rühsen <[email protected]>
whois: Silence -Wimplicit-fallthrough.
* whois/whois.c (main): Squeelch warning.
2020-02-29 Tim Rühsen <[email protected]>
ping, ping6: Silence -Wimplicit-fallthrough.
* ping/ping.c (parse_opt): Squeelch warning.
* ping/ping6.c (parse_opt): Likewise.
2020-02-17 Tim Rühsen <[email protected]>
ping6: Fix memleak in ping_set_dest.
* ping/ping6.c (ping_set_dest): New function signature.
Rearrange code to avoid memory leak.
* ping/ping6.h (ping_set_dest): Change signature in declaration.
2020-02-17 Tim Rühsen <[email protected]>
ping: Fix memleak in ping_set_dest.
* ping/libping.c (ping_set_dest): New function signature.
Rearrange code to avoid memory leak.
[HAVE_DECL_GETADDRINFO]: Rename P as RHOST.
* ping/ping.h (ping_set_dest): Change signature in declaration.
2020-02-16 Tim Rühsen <[email protected]>
libls: Remove unused variable kflag.
* libls/ls.c (ls_main): Remove unused variable.
2020-02-16 Tim Rühsen <[email protected]>
ftpd: Fix multiple definition (GCC 10).
* ftpd/extern.h (errcatch): Declare as extern.
* ftpd/ftpd.c (errcatch): Define variable.
2020-02-16 Tim Rühsen <[email protected]>
telnetd: Fix multiple definition (GCC 10).
* telnetd/utility.c (not42): Declare as extern.
2020-02-16 Tim Rühsen <[email protected]>
* src/rcp.c (tolocal): Remove unused variable LEN.
2020-02-16 Tim Rühsen <[email protected]>
telnet: Fix silent truncation (off-by-one check)
If the DISPLAY variable had exactly 44 bytes, the SE byte (end sub
negotiation) was silently truncated. This concerns CVE-2019-0053.
* telnet/telnet.c (suboption): Add case of equality in conditional,
supplementing strict inequality.
2020-02-21 Mats Erik Andersson <[email protected]>
Various compiler warnings, getting closer to `-Werror'.
* libls/print.c (printlong): The functions major() and minor() have
no portable value type, so cast as `int'.
* ping/ping.c (decode_type): Initialize HOSTNAME to NULL.
* src/hostname.c (parse_opt, main) <SET_NAME_ACTION>: The prototype
of sethostname() is not portable, so cast as `void *'. Do this
also on both members in a conditional clause.
* src/logger.c (parse_level): Cast PRIORITYNAMES and FACILITYNAMES
as `CODE *', since BSD-systems assign these a constant type.
* src/syslogd.c (textpri, cfline): Likewise.
* src/rcp.c (source, rsource): Type length of `stat.st_mode' is not
portable, so cast as `int'.
* src/traceroute.c (trace_write): Make loop variable I unsigned.
2020-02-20 Mats Erik Andersson <[email protected]>
rexecd, rshd: Avoid false failure message.
* src/rexecd.c (doit) [HAVE_SETLOGIN]: Only call setsid() in case
the session leader is different from the present process.
* src/rshd.c (doit) [HAVE_SETLOGIN]: Likewise.
2020-02-20 Mats Erik Andersson <[email protected]>
rcp: Recursive reception was broken.
The commit 67b49c54 broke the use case of locally receiving
multiple files for a recursive copying action. This was found
and established by Zhixiong Chi. Now revert the relevant part
of the old commit, as the suggested patch is nearly a verbatim
change back. The differences await further analysis.
Original report is contained in:
https://lists.gnu.org/archive/html/bug-inetutils/2019-12/msg00000.html
* src/rcp.c (sink) [targisdir]: Revert to the legacy, and functional,
implementation of string allocation.
2020-02-10 Mats Erik Andersson <[email protected]>
Simplify coding of test program `runtime-ipv6', by using
standard getopt() library function, thus making the code
self sufficient.
* tests/runtime-ipv6.c: Migrate away from argp_parse() to
standard getopt(). Let environment variable VERBOSE contribute
a short message in case the program tests successfully.
Also use AI_NUMERICSERV for completeness.
2020-02-09 Mats Erik Andersson <[email protected]>
test-snprintf: New test program.
An implementation dependent feature of snprintf() is tested.
The BSD unices and OpenSolaris relatives are known to be more
forgiving, than is Linux/glibc and kfreebsd/glibc. The issue
was brought to our attention by Zhixiong Chi in:
https://lists.gnu.org/archive/html/bug-inetutils/2019-05/msg00002.html
* tests/test-snprintf.c: New file.
* tests/Makefile.am (check_PROGRAMS, TESTS): Add `test-snprintf'.
* tests/.gitignore: Likewise.
2020-02-04 Mats Erik Andersson <[email protected]>
Buffer overflow in tftp and tftpd.
Recent versions of Gnu libc and Gcc are injecting buffer checks
into strcpy(). Both executables, tftp and tftpd, are effectively
copying into a formally declared `char th_msg[1]', ignorant of
the underlying buffer being of size PKTSIZE.
Problem was reported by Mike Gilbert and Ricardo Ribalda Delgado:
https://lists.gnu.org/archive/html/bug-inetutils/2017-12/msg00001.html
https://lists.gnu.org/archive/html/bug-inetutils/2019-07/msg00002.html
* src/tftp.c (nak): Replace strcpy() by memcpy(), after the
needed calculation of string length.
* src/tftpd.c (nak): Likewise.
* tests/tftp.sh: New compound test with multiple requests.
2020-02-03 Mats Erik Andersson <[email protected]>
whois: AUDA services Australia.
Update server name. Forwarded from Adam King:
https://lists.gnu.org/archive/html/bug-inetutils/2018-07/msg00001.html
* whois/tld_serv_list (.au): Update server, now at AUDA.
2020-02-03 Mats Erik Andersson <[email protected]>
Better portability for BSD install.
Install hooks for programs that require root ownership, were written
with GNU install in mind. Reported and suggested by Bill Cole:
https://lists.gnu.org/archive/html/bug-inetutils/2018-07/msg00005.html
* ping/Makefile.am (install-ping-hook): Place program switches
to INSTALL_PROGRAM before file argument, thus helping BSD install.
Rewrite failure comment, and add exit error code.
* src/Makefile.am (install-traceroute-hook, install-rsh-hook)
(install-rlogin-hook, install-rcp-hook): Likewise.
2020-02-01 Mats Erik Andersson <[email protected]>
tests: Less system logging.
* tests/ftp-localhost.sh (LOGGING): New variable. Let the server
program do system logging only if LOGGING has been defined.
* tests/tftp.sh (LOGGING): Likewise. Add a test case where a
non-existing file is requested. Check that the number of tries
and of successes agree in order to suppress the final text.
* README: Add some remarks on our testing abilities.
2020-01-31 Mats Erik Andersson <[email protected]>
whois: IP delegation update.
* whois/ip_del_list: Update with entries as stated by IANA
with publication date 2019-12-27.
2020-01-31 Mats Erik Andersson <[email protected]>
whois: Failure of service name.
The IANA has made badly founded changes to the list of port names,
promoting `nicname' and introducing the aliases list `Who Is',
thus making `Who' and `Is' into functional services, and also
loosing `whois'. Some systems were careless enough to adopt
this badly wrought change. Reported by Shahab Vahedi in:
https://lists.gnu.org/archive/html/bug-inetutils/2020-01/msg00023.html
* whois/whois.c (openconn): Fall back to service `nicname',
should `whois' fail.
2020-01-29 Mats Erik Andersson <[email protected]>
More work on CVE-2019-0053.
Telnet protocol messages must not be corrupted when buffer
overflows are detected, but should be reported as errors.
* telnet/telnet.c (suboption): Check that prepared protocol
message in fact fits in intermediary buffer without truncation.
Tweak indentation for visibility of protocol elements in snprintf.
Allocate space also for final NUL-character.
* telnetd/telnetd.c (telnetdrun): Increase DATA string size by one.
* telnetd/termstat.c (localstat, flowstat, clientstat): Likewise.
Insufficiently declared length of string variable.
* telnetd/utility.c (printsub): Declare TBUF with maximal extent.
2020-01-28 Mats Erik Andersson <[email protected]>
Better test coverage, mostly IPv6.
* tests/ftp-localhost.sh [TEST_IPV6 && TARGET6]: Add the possible
test cases that existed for IPv4, but did not for IPv6.
[do_transfer]: Explicitly remove copied $PUTME for reliability.
[TEST_IPV6 && TARGET6 && do_transfer]: New test for name mapping.
* tests/syslogd.sh [do_unix_socket || do_inet_socket]: Do priority
`notice' for each of local socket, IPv4 socket, and IPv6 socket,
as is applicable.
(COUNT_WRAP): Reworked calculation on grounds as above.
[do_inet_socket && TEST_IPV6 && TARGET6]: Test facilities `user.info'
and `user.debug' with IPv6.
* tests/tftp.sh (do_secure_setting): Test all of $ADDRESSES.
* tests/.gitignore: Add runtime-ipv6 to list.
2020-01-27 Mats Erik Andersson <[email protected]>
Portability to an old Solaris shell.
* tests/tools.sh.in (EGREP, FGREP, RUNTIME_IPV4, RUNTIME_IPV6):
Inside parameter substitution, put value between quotes, since
some old shells stumble on non-quoted space characters.
* tests/ifconfig.sh (evaluation of FORMAT): Likewise.
Make sure that scripts are individually executable.
* tests/ftp-parser.sh (EXEEXT): Test empty before reading tools.sh.
* tests/libls.sh (EXEEXT): Likewise.
* tests/ifconfig_modes.sh: Read tools.sh.
2020-01-26 Mats Erik Andersson <[email protected]>
Examination of testing scripts.
* tests/ftp-localhost.sh [TEST_IPV4 && TARGET]: Implement one
additional level of indentation in this large text block.
Some additional fixes of indentation and improved readability.
* tests/inetd.sh: Improve regex when refusing test directories.
* tests/syslogd.sh: Likewise.
* tests/ping-localhost.sh: Use back quotes for portability.
* tests/traceroute-localhost.sh: Likewise.
2020-01-24 Mats Erik Andersson <[email protected]>
runtime-ipv6: Implicit dependency on services file.
In a chrooted test environment, access to a particular
resource like /etc/services, need not be granted.
* tests/runtime-ipv6.c: Replace symbolic service name `tftp'
by a numerical and harmless port string.
2020-01-24 Mats Erik Andersson <[email protected]>
Separation of test cases according to IPv4, and to IPv6.
The two precious macros TEST_IPV4 and TEST_IPV6 are controlling
whether the indicated address family is checked in our tests.
Test coverage is left unequal.
* configure.ac (TEST_IPV4): New macro. The new switch
`--disable-ipv4' suppresses IPv4 during target `check'.
* tests/Makefile.am (tools_subst): Replace @TEST_IPV4@.
* tests/tools.sh.in (TEST_IPV4, RUNTIME_IPV4, RUNTIME_IPV6):
New variables.
(TEST_IPV4, TEST_IPV6): If either is `auto', make a runtime check
for availability, and set to `no' in case of failure.
* tests/runtime-ipv6.c: Implement switches `-4' and `-6', making
it possible to test for either address family at runtime.
[EAI_NODATA]: Return this error in a corner case, or else EAI_FAIL.
* tests/ftp-localhost.sh: Remove code now existing in tools.sh.in.
Separate existing test cases according to IPv4 and IPv6, by means
of conditionals with TEST_IPV4 and TARGET, or TEST_IPV6 and TARGET6.
[TEST_IPV4 = TEST_IPV6 = no]: Skip test.
* tests/ping-localhost.sh: Likewise.
* tests/syslogd.sh: Likewise.
* tests/telnet-localhost.sh: Likewise.
* tests/tftp.sh: Likewise.
* tests/ifconfig.sh [TEST_IPV4 = no]: Skip test.
* tests/inetd.sh (TARGET6): New variable.
[TEST_IPV4 = TEST_IPV6 = no]: Skip test.
Implement subcases for IPv6, and condition old cases on TEST_IPV4.
* tests/traceroute-localhost.sh [TEST_IPV4 = no]: Skip test.
[TEST_IPV4 && TARGET]: Condition each case completely.
2020-01-22 Mats Erik Andersson <[email protected]>
Correctly detect presence of IPv6.
* tests/runtime-ipv6.c [AI_ADDRCONFIG] (hints.ai_flags):
Add AI_ADDRCONFIG for better selectivity.
2020-01-20 Mats Erik Andersson <[email protected]>
Test robustly in absence of IPv6.
For systems without functional IPv6 addressing at runtime,
suppress this address family in our tests, whenever IPv6 was
configured as autodetected. Helpful answer by Bruno Haible
originating from effects in a Raspbian system:
https://lists.gnu.org/archive/html/bug-inetutils/2020-01/msg00021.html
* tests/Makefile.am (check_PROGRAMS): Add `runtime-ipv6'.
* tests/ftp-localhost.sh (RUNTIME_IPV6): New variable.
[TEST_IPV6 == auto]: Set TEST_IPV6 to `no' when runtime presence
of IPv6 is in the negative. Thus effectively inhibiting all use
within this script of IPv6 addresses.
* tests/ping-localhost.sh: Likewise.
* tests/syslogd.sh: Likewise.
* tests/telnet-localhost.sh: Likewise.
* tests/tftp.sh: Likewise.
* tests/runtime-ipv6.c: New file.
* configure.ac (AC_ISC_POSIX): Delete obsolete test.
2020-01-18 Mats Erik Andersson <[email protected]>
Minor portability glitches in Solaris and in AIX.
* am/libcurses.m4 (IU_LIB_TERMCAP) [!_XOPEN_CURSES]: Conditionally
include the header <term.h>.
* telnet/telnet.c [HAVE_CURSES_TGETENT & !_XOPEN_CURSES]: Likewise.
* telnetd/utility.c [HAVE_CURSES_TGETENT & !_XOPEN_CURSES]: Likewise.
* ftp/ftp.c (h_errno): Delete declaration, not in use.
* ftpd/ftpd.c (FTP_NAMES): Assign a value to this macro.
2020-01-14 Mats Erik Andersson <[email protected]>
Make test of ftp-parser slightly more forgiving. Darwin systems
might prepend a path stem to local directory. Assaf Gordon reported
https://lists.gnu.org/archive/html/bug-inetutils/2020-01/msg00005.html
* tests/ftp-parser.sh: Check number of responses to mixed command
list, and extract any prepended path resulting from `lcd'.
(DIR_STEM): New variable. This modifies matching test after `lpwd'.
2020-01-13 Mats Erik Andersson <[email protected]>
The Gnulib module `regex' requires linking that was not made
explicit in our source. Discovered by Bruno Haible with AIX 7.2.
https://lists.gnu.org/archive/html/bug-inetutils/2020-01/msg00012.html
* talkd/Makefile.am (LD_ADD): Add $(LIBTHREAD) and $(LIB_MBRTOWC).
2020-01-13 Mats Erik Andersson <[email protected]>
Attempt to build correctly on Cygwin, new and old. Reported
and suggested by Bruno Haible in
https://lists.gnu.org/archive/html/bug-inetutils/2020-01/msg00013.html
* configure.ac: Check for header <arpa/tftp.h>. When it is
missing disable the targets `tftp', and `tftpd'.
* am/enable.m4 (IU_ENABLE_FOO): Append $EXEEXT to `target_BUILD'.
2020-01-12 Mats Erik Andersson <[email protected]>
Suppress building of remote execution commands on systems that
offer no rcmd functionality. This happens with embedded systems
like Alpine Linux and musl libc, as reported by Assaf Gordon and
Bruno Haible.
* configure.ac: Check for function rcmd(). Disable building
of `rcp', `rlogin', and `rsh' when no rcmd variant is present.
(WITH_RCMD): New precompiler macro.
2020-01-11 Mats Erik Andersson <[email protected]>
The glibc manual page for ether address specifies <netinet/ether.h>.
Use this for GNU/Linux in the hope of resolving also musl libc, as
used with Alpine Linux. Reported by Bruno Haible.
* ifconfig/system/linux.c [HAVE_NETINET_ETHER_H]: Include the
library header <netinet/ether.h> instead of the system specific
header <linux/if_ether.h>.
2020-01-11 Mats Erik Andersson <[email protected]>
Consistent use of `grep' tools in scripts.
* configure.ac (EGREP, FGREP): New and precious variables.
* tests/Makefile.am (tools_subst): Replace @EGREP@ and @FGREP@.
* tests/ftp-parser.sh (reply): Use $EGREP to detect size in answer,
and apply a single, alternating regex.
* tests/ifconfig_modes.sh: Replace all `grep' by $GREP.
* tests/inetd.sh: Likewise.
* tests/libls.sh: Likewise. Drop unused `-e' flag.
* tests/syslogd.sh: Likewise. Use `$FGREP -f' instead of
non-portable `$GREP -f'. In two cases where `grep' needed
multiple regexes, use $EGREP and alternating regexes.
* tests/tools.sh.in (EGREP, FGREP): New variables.
2020-01-01 Simon Josefsson <[email protected]>
telnet: Validate supplied environment variables. CVE-2019-0053
* telnet/telnet.c (suboption): Use snprintf instead of sprintf.
* telnet/utilities.c (printsub): Likewise.
2020-01-01 Guillem Jover <[email protected]> (tiny change)
* ping/ping_echo.c (struct icmp_diag): Fix typo.
2020-01-01 Simon Josefsson <[email protected]>
* NEWS: Document user-visible changes since last release.
2020-01-01 Simon Josefsson <[email protected]>
* THANKS: Credit Mats.
2020-01-01 Simon Josefsson <[email protected]>
* cfg.mk: Silence 'make syntax-check'.
2020-01-01 Simon Josefsson <[email protected]>
* bootstrap: Updated from gnulib.
2020-01-01 Simon Josefsson <[email protected]>
* telnet/telnet.c (telsnd): Telnet -E(no escape) is treating
_POSIX_VDISABLE char as escape.
Reported by Mikhail Bychek <[email protected]>.
2018-11-12 Mats Erik Andersson <[email protected]>
* src/tftpd.c (main): Add LOG_NDELAY to openlog(). The file
descriptor for logging must be active before chrooting happens.
2018-11-09 Mats Erik Andersson <[email protected]>
* bootstrap: Updated from gnulib.
* configure.ac (AC_PREREQ): Require autoconf 2.63. Gnulib needs
a more recent version due to demands put forward by libtool.
2018-09-06 Simon Josefsson <[email protected]>
* README-alpha (Development): Remove broken links.
* bootstrap: Updated from gnulib.
2017-07-10 Omer Anson <[email protected]> (tiny change)
* src/hostname.c (parse_file): Free name and allocate one extra
byte for it.
2017-07-10 Omer Anson <[email protected]> (tiny change)
* src/hostname.c (set_name): Handle case when hostname_new is
NULL.
2017-07-10 Omer Anson <[email protected]> (tiny change)
* ftpd/ftpd.c (options) <max-timeout>: Mention mandatory argument.
2017-06-22 Omer Anson <[email protected]> (tiny change)
* ftp/main.c (main): Don't assume that uninitialized argv[argv] is
NULL.
2017-03-04 Mats Erik Andersson <[email protected]>
telnetd: Use tty, not pty on Solaris.
Setting of terminal attributes as well setting of window size
must be done via the slave descriptor, not the master descriptor.
* telnetd/term.c [SOLARIS || SOLARIS10] (set_termbuf):
New variables NAME, TTY. A call to ptsname() reveals whether
`pty' is a master. Then open that file, update TTY, and call
_term_setattr().
[SOLARIS || SOLARIS10] (init_termbuf): Simplify to use a single
call to _term_getattr(), similar to set_termbuf().
* telnetd/termstat.c: Include <fcntl.h>.
[TIOCSWINSZ && (SOLARIS || SOLARIS10)] (clientstat) <TELOPT_NAWS>:
New variables NAME, TTY. Similar mechanism as above, but call
ioctl with window size.
[TIOCSWINSZ && (SOLARIS || SOLARIS10)] (defer_terminit): Likewise.
2017-03-03 Mats Erik Andersson <[email protected]>
Test utility displays some termcaps.
* tests/Makefile.am (identify_LDADD): Set to contain
`$(top_builddir)/lib/libgnu.a' and `$(LIBUTIL)'.
* tests/identify.c: Include <string.h>.
[HAVE_TERMIOS_H]: Include <errno.h>, <termios.h>, <pty.h>.
[HAVE_TERMIOS_H && HAVE_FCNTL_H]: Include <fcntl.h>.
[HAVE_TCGETATTR] (test_flag): New macro.
[HAVE_TCGETATTR] (do_termcap): New function.
[HAVE_TCGETATTR] (main): Call do_termcap().
2017-03-02 Fredrik Fornwall <[email protected]> (tiny change)
ftp: Portability to Android.
Without a check for HAVE_DECL_GETPASS and without making a
local function declaration, the implicit declaration causes
crashes on 64-bit systems lacking declared getpass(), such
as Android. Reported in:
http://lists.gnu.org/archive/html/bug-inetutils/2016-10/msg00000.html
* ftp/cmds.c [!HAVE_DECL_GETPASS] (user, account): Declare getpass()
as external function.
* ftp/ftp.c (login): Likewise.
2017-03-02 Mats Erik Andersson <[email protected]>
whois: Update Canadian TLD server.
Old host name no longer exists. Reported by Neil Mayhem:
http://lists.gnu.org/archive/html/bug-inetutils/2017-01/msg00000.html
* whois/tld_serv_list (.ca): New host 'whois.cira.ca'.
2017-02-27 Mats Erik Andersson <[email protected]>
telnetd: Portability of TTY termcap to Solaris systems.
* telnetd/term.c: Include header <fcntl.h>.
[SOLARIS10 || SOLARIS] (init_termbuf): If applicable, open
the slave TTY and extract terminal capabilities, since these
systems do not assign a line discipline to the master PTY.
New variables NAME and TTY.
2017-02-27 Mats Erik Andersson <[email protected]>
telnetd: Portable option debugging.
BSD systems assign IAC and _POSIX_VDISABLE the common decimal
value 255. Hence the NVT enforces value duplication more often
during their transmission, than GNU and Solaris systems do.
* telnetd/utility.c (printsub) <LM_SLC>: Increase suboption
pointer I sufficiently to counteract duplication. This has
to distinguish between in/out/none. In recursive mode,
suppress newline at the end of suboption printing.
* telnetd/slc.c (send_slc) <SLC_EC, SLC_EL, SLC_EW, SLC_RP>
<SLC_LNEXT>: Editing characters are reported using SLC_DEFAULT
rather than ignored due to SLC_NOSUPPORT, when they are not
supported locally. This conforms with RFC 1184, section 2.4.
The test for support checks the set 'current', not 'defset',
which fits the wording found in RFC 1184.
2017-02-23 Mats Erik Andersson <[email protected]>
telnetd: Scrub USER from environment.
Discard the environment variable USER. It will later be set
properly for autologin, but at least one BSD system passes
a preset value when telnetd starts, a value which will cause
rejected login when autologin is not in effect.
* telnetd/telnetd.c (telnetd_setup): Unset environment
variable USER before calling getterminaltype().
2017-02-21 Mats Erik Andersson <[email protected]>
* bootstrap: Updated from gnulib.
2017-02-21 Mats Erik Andersson <[email protected]>
telnetd: Debugging of mainly line mode options.