forked from bstansell/conserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
1015 lines (938 loc) · 53 KB
/
CHANGES
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
CHANGES
=======
version 8.2.7 (July 7, 2022):
- configure.ac: autoconf-2.70 fix (Lars Wendler <[email protected]>)
- Add high baud rates (Peter Chubb <[email protected]>)
- Make compile --with-ipv6 & setproctitle (Bjoern A. Zeeb <[email protected]>)
- conserver.cf: devicesubst add 'b' for baud rate (Bjoern A. Zeeb <[email protected]>)
- Reflect that baud values have increased to 7 digits (Bjoern A. Zeeb <[email protected]>)
- cirrus-ci: move to freebsd-13-0 (Bryan Stansell <[email protected]>)
- configure.ac: support libgssapi_krb5 (Jiri Kastner <[email protected]>)
version 8.2.6 (October 19, 2020):
- try and address license concerns with LICENSE.md
- replace usleep with nanosleep (Rosen Penev <[email protected]>)
- console: Add 'k' option to exit on console-down (Mylène Josserand <[email protected]>)
- Fix #48 - apply ipv4 CIDR access list when compiled with ipv6 support
version 8.2.5 (May 1, 2020):
- support SO_PEERCRED as well as ucred (Stuart Henderson <[email protected]>)
- fix TLS with LibreSSL, it doesn't have :@SECLEVEL=0 (Stuart Henderson <[email protected]>)
- Handle INGSSACCEPT case when processing GSSAPI (Ryan Steinmetz <[email protected]>)
- Store status_minor when calling gss_release_buffer() (Ryan Steinmetz <[email protected]>)
- Add conditional for FreeBSD to use the correct structure element for address (Ryan Steinmetz <[email protected]>)
- Fix #35 - check for sed inplace style
- fix host consoles in combination --with-ipv6 (Tobias Waldekranz <[email protected]>)
- Fix #38 - task execution error message
- Prevent GetMaxFiles() debug output from going to forked processes
version 8.2.4 (March 26, 2019):
- Correct man page typo (Ed Maste <[email protected]>)
- Remove autotools generated files from repo and create with release
- Better integration of Cirrus CI - FreeBSD, Linux, and MacOS
- Moving README to markdown
- Fix #12 - Remote infomation flags (i.e. "-x") cannot be filtered by console
- Fix #8 - defaultaccess appears broken
- Rename configure.in and use autoreconf
- Better use of version.h and letting configure build things with versions
version 8.2.3 (March 17, 2019):
- Correct 'impi' typo (Ed Maste <[email protected]>)
- Correct argument type passed to time() (Ed Maste <[email protected]>)
- Fix compilation without deprecated OpenSSL APIs (Rosen Penev <[email protected]>)
- Fix compilation without deprecated OpenSSL 1.1 APIs (Rosen Penev <[email protected]>)
- Fix #6 - clang "-Wstring-plus-int" warning (Bryan Stansell <[email protected]>)
- configure.in: Add test for closefrom (Ed Maste <[email protected]>)
- regenerate autoconf files (Ed Maste <[email protected]>)
- Use closefrom if available (Ed Maste <[email protected]>)
- Correct typo (Ed Maste <[email protected]>)
- Add Cirrus-CI FreeBSD CI build config (Ed Maste <[email protected]>)
- off by one found by Ed Maste (Bryan Stansell <[email protected]>)
version 8.2.2 (May 28, 2018):
- fixes for OpenSSL 1.1+ - patch by Eneas U de Queiroz
- adjustments to documentation after move to github
- removal of old RCS/CVS tags since we have git
version 8.2.1 (Jun 2, 2015):
- added TCP keepalives between client and server - TCP-based consoles
already had the code - this was mostly an oversight
- patch for SEGV and task execution - patch by Artem Savkov
- expanded break sequences from [1-9] to [1-9a-z] - based on patch by
Artem Savkov <[email protected]>
version 8.2.0 (Apr 20, 2014):
- added --with-trust-uds-cred which uses getsockopt() to fetch and
trust the client uid, bypassing password lookups - patch by Anton
Lundin <[email protected]>
- missing closedir() causing memory leak - patch by Anton Lundin
- sending a break signal over IPMI was broken - based on patch by
Alexander Y. Fomichev <[email protected]>
- IPv6 support (marked as experimental at this point because it's
untested (except by the author), there's a lack of documentation, and
I'm hoping for non-getifaddrs() system support) - patch by Milos
Vyletel <[email protected]>
- no more K&R compiler support
version 8.1.20 (Apr 4, 2014):
- IPMI serial over LAN support via FreeIPMI - based on patch by Anton
D. Kachalov <[email protected]>
- minor cleanup of code, removal of gcc warnings and such that should
have no fuctional change
version 8.1.19 (Sep 26, 2013):
- prevent select/read loop when EOF on non-pty input (console) -
reported by Chris Marget <[email protected]>
- "!" syntax prefixing use of group names not honored - reported by
Zonker <[email protected]>
- fixed memory leak using timestamps - patch by Karvendhan M.
- deprecated --with-cycladests (noop now) - cross-compilation should
work without it as autologin now expects setpgrp() to take two
arugments instead of testing for it
- no automatic checks for an empty password when using PAM
authentication - based on discussion with Ryan Kirkpatrick
- added 'sslcacertificatefile' and 'sslcacertificatepath' client
configuration options - based on patch by Aki Tuomi <[email protected]>
- added 'sslcacertificatefile' and 'sslreqclientcert' server
configuration options
- added --with-req-server-cert to force clients to require a certificate
from the server when using SSL - based on emails with Thor Simon
- added server-side tasks (see conserver.cf man page) that are invoked
by the client (useful for things like IPMI-based power control of
servers, invoking resets of terminal server ports, or anything else
that requires scripting) - ideas from patch by Anton Lundin
<[email protected]> and discussion on mailing list (2011)
- added 'confirm' option to break sequences
- added 'breaklist' option to limit exposure of break sequences to
consoles
- sending of break signals is now announced to all attached clients
version 8.1.18 (Nov 11, 2010):
- install man pages read-only and improved the contributed redhat init
script - patches by Eric Biederman <[email protected]>
- spec file improvements in contrib/redhat-rpm - patch by Jodok Ole
Muellers <[email protected]>
- GSS-API patch for client code - patch by Andras Horvath
version 8.1.17 (Sep 29, 2009):
- fix for interface detection when HAVE_SA_LEN is defined - first
detected on NetBSD 5.0 and patched by Chris Ross
- first person to connect to a console wanting read/write now gets it
once the active user drops read/write - suggested by Thomas Gardner
- fix typo when setting nonblocking socket for client connections,
fixing stall issues - patch by Eric Biederman
- GSS-API patch (--with-gssapi) to help with Kerberos tokens - patch by
Nate Straz <[email protected]>
- authenticate username without @REALM when using GSS-API
(--with-striprealm) - based on patch by Andras Horvath
- various contrib/redhat-rpm fixes - patch by Fabien Wernli
- fix handling of read(stdin) returning -1 in console client - patch by
Ed Swierk <[email protected]>
version 8.1.16 (Apr 10, 2007):
- added 'replstring' substitution option - inspired by
conversation with Owen DeLong <[email protected]>
- added '^Ecn' option for writing a note to the logfile - patch
by Bryan Schmersal <[email protected]>
- fixed leaking file descriptors when 'host' and 'uds' consoles
fail to connect - based on patch by Michael Heironimus
version 8.1.15 (Dec 31, 2006):
- protection again telnet option negotation loops - patch by
Robby Griffin <[email protected]>
- console now prints the attach/detach sequences when suspended
- added --with-cycladests configure option to allow
cross-compiling on a cyclades ts - patch by Matt Johnson
- added master conserver host to 'console -x' output for
'device' consoles - patch by Matt Johnson <[email protected]>
- fixed parsing error when dealing with encapsulated
client/server options
version 8.1.14 (Apr 9, 2006):
- fixed rpm conserver.spec file - based on patch by Martin Evans
- added 'uds' console type for unix domain socket connections -
based on patch by DJ Gregor <[email protected]>
- probing of interfaces under cygwin (and possibly others?) now
skips unconfigured interfaces (even if flagged as up!) -
reported by Chris Riddoch <[email protected]>
- added the '!login' console option to prevent clients from
connecting to a console - suggested by Greg Tillman
- added a 'noop' console type for consoles you'd like to name,
but have no connection to - suggested by Greg Tillman
- deprecated escape commands removed from the code
- added '^EcP' and '^EcR' sequences to set the playback and
replay line lengths
- new console config options 'playback' and 'replay' to let the
client set prefered output lengths (with a special feature for
a size of zero)
- prefer strlcpy() over strcpy() - based on patch by Peter
Valchev <[email protected]>
- fixed bug where '^Eco' by user on an 'exec' console with an
'initcmd' causes input by user to be ignored (could be other
console types as well) - reported by Mark Wedel
- made POSIX termios code in autologin a requirement (since
conserver requires it) and cleaned up a few other issues -
based on reports by Arthur Clune <[email protected]>
version 8.1.13 (Jan 15, 2006):
- use SIOCGIFNUM for interface count (if available) and catch
EINVAL on Solaris - patch by Peter Jeremy
- console output now resets idle timer - suggested by Peter
Saunders <[email protected]>
- bug fix for conserver process running out of control and using
up cpu - debugged with Alexandra N. Kossovsky
version 8.1.12 (Sep 5, 2005):
- printf() fix for autologin - patch by Menno Duursma
- newly spawned (from SIGHUP) processes didn't properly close
primary socket
- SSL certificates now work again (anonymous ciphers are not
allowed if a certificate is used)
- client options -x, -u, -w, and -i can now take a console name
to restrict output - suggested by Evan McClure
- convert program now installed in $libdir/conserver - patch by
Petter Reinholdtsen <[email protected]>
- we now ignore SIGXFSZ, if it exists
- added 'limited' access option to remove certain functionality
from users - suggested by Sven Michels <[email protected]>
- added client option -z/-Z for sending commands to servers
(reload, quit, etc) - based on suggestion by Joshua Pincus
- added 'execrunas' and 'initrunas' console options to allow
'exec' and 'initcmd' execution as another user and/or group -
based on patch by Gary Mills <[email protected]>
- the east coast mirror had to shut down (for now, at least)
- crash from bad pointer manipulation during log replay - reported by
Ryan Kirkpatrick <[email protected]>
version 8.1.11 (Nov 9, 2004):
- fixed array bounds and stack tromping - reported by Emmett
Hogan <[email protected]>
- most recent client to ask for read-write now gets it (used to
be first client to connect)
- client read-write mode now separate from console up/down state
- 'make autologin.install' now compiles autologin - reported by
Graham Merrill <[email protected]>
- new 'autocomplete' option for controlling shortest-prefix
console name matching (which has always been on)
- client now blocks on ^Eco, waiting for status of connection
- added 'a' and 'A' for upper and lowercase alphanumeric
(0-9a-z) conversions to the *subst config items - based on
patch by Jonathan Chen <[email protected]>
version 8.1.10 (Sep 21, 2004):
- fix "forwarding level too deep" issue with '^Ec;' - reported
by Han Pilmeyer <[email protected]>
version 8.1.9 (Jul 14, 2004):
- fixed bug processing access lists when duplicates exist in the
list - reported by Phil Dibowitz <[email protected]>
- fixed bug where 'idletimeout' was not recognized in default
blocks - reported by John Cagle <[email protected]>
- added an 'autocomplete' config option to set the console name
autocompletion behavior - suggested by John Stoffel
version 8.1.8 (Jun 9, 2004):
- added 'initspinmax' and 'initspintimer' console options to
help calm console initialization "spinning"
- fixed setsockopt() error on 64bit solaris - reported by Trond
Hagen <[email protected]>
version 8.1.7 (May 28, 2004):
- cleaned up the manpages a bit to make things clearer and more
standard - reported by Dave Stuit <[email protected]>
- added an east coast mirror! http://conserver.syr.edu/ -
thanks to Christopher T. Beers <[email protected]>
- primary group of users not included in '@group' syntax -
reported by Phil Dibowitz <[email protected]>
- changed '@group' behavior such that groups are checked when
needed, instead of cached at startup, which is more logical
- missing variables when building convert with tcp_wrappers -
reported by Nikolaos Papavassiliou
- added --with-rpath option - suggested by Phil Dibowitz
version 8.1.6 (May 25, 2004):
- added ability to configure client via system-wide console.cf
file and per-user .consolerc - suggested (independently) by
Erik Sjolund <[email protected]> and Trevor Fiatal
- fixed bug where break strings were not properly sent -
reported by Tim Small <[email protected]>
- fixed bug in config file 'protocol' value handling - reported
by Kees Cook <[email protected]>
- conserver no longer uses the local domain name in the default
access list (the default list is only created if no access
list is specified in the configuration file) - inspired by
William P LePera <[email protected]>
- added a 'terminal' console configuration block for printing
strings when attaching and detaching from consoles - suggested
by Richard Threadgill <[email protected]>
version 8.1.5 (May 7, 2004):
- changed remaining O_NDELAY flags to O_NONBLOCK
- added PROTOCOLS file to describe the client/server protocol
- added '#include' capability to conserver.cf file
- added '@group' syntax to conserver.cf file to support use of
system groups
- added -U client option to allow client to ask for encryption
but fall back to non-encrypted connections otherwise -
suggested by Mike Hendon <[email protected]>
- fixed bug where socket not properly deleted on exit - reported
by William P LePera <[email protected]>
- added 'initdelay' option for throttling startup of consoles -
suggested by Jay McCanta <[email protected]>
version 8.1.4 (Apr 13, 2004):
- fixed macro use in manpages to hopefully be more compatible
- removed extra newline of --MARK-- range output
- fixed bug where server -b option wasn't working - reported by
Nathan R. Hruby <[email protected]>
- fixed client segfault when using -R, -t, -d, and -b options
- added a --with-uds configure option to have all client/server
communication happen via unix domain sockets - suggested by
William P LePera <[email protected]>
version 8.1.3 (Mar 22, 2004):
- fixed small memory and file descriptor leak in client when
using '^Ec;'
- '^Ec;' now only disconnects from the previous console only
after a successfully move to a new console, allowing you to
abort the move - suggested by Christopher T. Beers
version 8.1.2 (Mar 11, 2004):
- better handling of client command (^Ec|) when user is bumped,
conserver is reconfigured, etc
- added 'initsubst' option for 'initcmd' substitutions like
'devicesubst' and 'execsubst' - based on patch by Bill
Sommerfeld <[email protected]>
- modified and added to *subst (initsubst, etc) syntax to allow
for flexibility and future enhancement
- changed 'port' and 'portinc' minimums from 1 to 0 - it allows
more flexibility and helps with 0-based counting
- removed unportable sys/cdefs.h from contrib/chat/chat.c -
patch by Bill Sommerfeld <[email protected]>
- added --with-extmsgs configure switch to enable entertaining
messages
- marked various undocumented client commands as deprecated so
that they can be removed in a future version
- added ability to "move" to a new console via '^Ec;' -
suggested by Christopher T. Beers <[email protected]>
- added a dump of console information when -S is used twice -
suggested by Todd Stansell <[email protected]>
version 8.1.1 (Feb 10, 2004):
- fixed mistake in Makefiles where rpmbuild fails - reported by
Martin Evans <[email protected]>
- fixed a couple typos - reported by Matt Selsky
version 8.1.0 (Jan 18, 2004):
- fixes for HP-UX compilation - patch by Petter Reinholdtsen
- fixes for compilation under various operating systems -
patch by Albert Chin <[email protected]>
- added a 'protocol' option for either 'telnet' or 'raw' socket
communication - also reflected in -i output
- changed the client/server protocol to use 0xff as a command
character for sending control commands - similiar to the
telnet protocol - improves the ^Ec| interaction
- client -E option now disables ssl encryption attempts, useful
for broken SSL environents - suggested by Graydon Dodson
- bad error message connecting non-ssl client with ssl-required
server - reported by Graydon Dodson <[email protected]>
- added note about pam configuration to conserver.passwd.man -
suggested by Erik Sjolund <[email protected]>
- improved telnet protocol option handling such that connections
to standard telnet ports should work properly
version 8.0.9 (Dec 10, 2003):
- fixed major bug in connect() handling which causes most
socket-based consoles to timeout after 10 seconds - reported
by Tom Rataski <[email protected]>
- added a couple details to the 'logfilemax' manpage entry
version 8.0.8 (Dec 2, 2003):
- added client ^Ec| sequence for running a command on the client
and having it's I/O directed to the console - inspired by
discussions with David Williamson
<[email protected]> years ago ;-)
- touched up Makefiles to test against .h files
- fixed inability to replay the console log while the console is
down - reported by Matt Selsky <[email protected]>
- added a console 'logfilemax' option for rotating the console
logfile once the file is greater than the specified size
- added sample configuration files to conserver.cf/samples
- tweaked some failure messages and initcmd notifications
version 8.0.7 (Nov 20, 2003):
- renamed util.[ch] to cutil.[ch] to prevent name conflict with
system util.h, reordered some #includes, and fixed a configure
test for sys/proc.h to build on OpenBSD 3.4 (and probably
others) - reported by Kurt Raschke <[email protected]>
- fixed missing semi-colon for cygwin build - reported by
Raymond Richmond <[email protected]>
version 8.0.6 (Nov 16, 2003):
- code was missing regarding the 'setproctitle' option - patch
by Dmitry Morozovsky <[email protected]>
- fixed the order of access list checking when
--with-trustrevdns is used
- fixed various spelling errors - patches by Matt Selsky
- added console 'idletimeout' and 'idlestring' options to
trigger the sending of 'idlestring' after a lack of activity
for 'idletimeout' seconds - suggested by Ian Potts
- added console 'portbase' and 'portinc' options to allow
specifying a formula for referencing ports - inspired by Todd
Stansell <[email protected]>
- fixed problem where console 'port' option didn't take port
names (manpage said it did)
- added server -U option and configuration option 'unifiedlog'
to allow a copy of all console activity to go to a single file
- removed all sprintf() calls
- added 'devicesubst' and 'execsubst' console options for doing
replacements with calculated port numbers on the 'device' and
'exec' values
- NULL characters in console data caused data loss because of
strlen() usage - reported by Toby Gerhart <[email protected]>
- fixed a couple errors in contrib/redhat-rpm/conserver.spec -
reported by Martin Evans <[email protected]>
- added capability to use '!' in user access lists to prevent a
user from having access - suggested by Matt Selsky
version 8.0.5 (Oct 31, 2003):
- added 'loghostnames' config option (default is on) to log
client hostnames instead of ip addresses (like pre-8.0.0) -
suggested by Han Pilmeyer <[email protected]>
- fixed bug where 'daemonmode' config file option wasn't being
used
- fixed potential logfile (-L) opening problem processing SIGHUP
- fixed various potential conserver.cf issues with 'config'
block values processing SIGHUP
- added 'setproctitle' config option (default is off) to enable
changing the process title to contain runtime information -
patch by Dmitry Morozovsky <[email protected]>
version 8.0.4 (Oct 10, 2003):
- fixed client rejection bug that can nearly never happen -
reported by Han Pilmeyer <[email protected]>
- fixed bug where client is reconnected to the previous console
when non-exact console names are used - reported by Rolf
Petter Halle <[email protected]>
- fixed bug where exact matchs on a remote console name never
happened - reported by Toby Gerhart <[email protected]>
- fixed bug where SIGHUP fails to update console aliases -
reported by Han Pilmeyer <[email protected]>
version 8.0.3 (Oct 6, 2003):
- the SIGHUP process fails to pick up changes to certain fields
because of a horribly broken SwapStr() function [broken in
all previous 8.0.x versions] - reported by Toby Gerhart
version 8.0.2 (Oct 5, 2003):
- reworked the i/o calls to better buffer data
- added console 'motd' option for holding a "message of the
day", displayed to the client on attachment to console -
suggested by Toby Gerhart <[email protected]>
- added ^Ecm client command for displaying MOTD and integrated
it into the client console attachment sequence
- now unallocate client lists when forking new child conserver
processes
- changed strdup() to local StrDup() so dmalloc can gracefully
track changes
- added a ^Ec; sequence to let client signal server when it's
ready to see console data, otherwise a chatty console can
cause the login sequence to fail and you can never attach to
the console
version 8.0.1 (Sep 29, 2003):
- fixed bug in access list parsing where multiple addresses per
line can cause errors - reported by Jay McCanta
- changed client password prompt to show hostname passed down by
the server - suggested by Toby Gerhart <[email protected]>
- fixed bug where remote console names were only search for
substring matches - reported by Toby Gerhart
- the server -M option wasn't being used properly to limit the
consoles managed by the host
- added 'initcmd' console option which allows a command to
interact with a console right after a console is opened -
suggested by Greg Woods <[email protected]>
- added the chat program contributed by Greg Woods
<[email protected]> to the contrib/chat directory
- added WUNTRACED to waitpid() for catching suspended processes
- reworded some client/server messages to be clearer
- embedded non-printable characters in break lists now display
correctly when '^Ecl?' is used
- in case client aborts unexpectedly, terminal state should
now be restored to normal
version 8.0.0 (Sep 22, 2003):
- better error messages and management of the user's password
- 8.0.0-beta4 mistakenly lost conserver.passwd usage
- empty passwords now don't trigger a passwd prompt (like 7.2.7)
- upgraded to autoconf-2.57 and use recent config.guess/sub
files - suggested by Jorgen Hagg <[email protected]>
- we now install the conserver.rc file as well as sample
conserver.cf and conserver.passwd files in
$(prefix)/share/examples/conserver - suggested by
Hubert Feyrer <[email protected]>
version 8.0.0-beta4 (Aug 24, 2003):
- totally rewrote the client/server communication, allowing SSL
connections to occur first, protecting *all* information
- added 'admin' keyword to the 'access' portion of the config
file for specifying users able to issue the 'quit' command
- removed client -G option since it's not really useful any more
- added client -t option for sending "text messages" to users,
which is similar to broadcast messages, but you can specify
the user and/or console - suggested by Trevor Fiatal
- added client -d option for disconnecting users specified by
username and/or console - suggested by Trevor Fiatal
- removed --with-64bit configure option as 64bit operation is
reported to work just fine
- break strings with '\d' are interpreted as a delay, which can
be specified in the config file (default 250ms)
- removed 'reset -x' portion of default break sequence #3
- remote conserver hostnames now properly match - had to be a
character string match previously
- hostname aliases now checked against access lists and the
matched name is used for logging
- added --with-trustrevdns to enable the use of reverse DNS
information for access list checks [not recommended] - see the
INSTALL file for full details on who should actually need this
Many thanks to Chuck Rouzer <[email protected]> for all the
help with FreeBSD support and the following issues...
- fixed 'make test' problem on hosts where 'localhost' doesn't
resolve to 127.0.0.1
- fixed interface probe problem under *BSD
- added openpty() interface for pty allocation
version 8.0.0-beta3 (Aug 8, 2003):
- master process no longer forks on client requests - handles
them with select() like child process
- alarm()/SIGALRM usage removed and replaced with counters and
timer on select() call
- removed caching of timeouts to terminal servers - each
socket connection now has a proper timeout (and can happen
simultaniously)
- partial write()s are properly buffered and retried
- made all sockets (including SSL) non-buffered
- client now supports piping data to it and properly printing
all server data ("echo '^Ecr^Ec.' | console universe")
version 8.0.0-beta2 (Jul 17, 2003):
- console aliases added with 'aliases' console keyword
- two stop bit support for serial devices - requested by Kelly
Setzer <[email protected]>
- added support for inet_aton() over inet_addr()
- all server interfaces now used to identify console management
- server interfaces probed with SIOCGIFCONF ioctl, if available
- added flow control options 'ixon', 'ixany', 'ixoff', and
'crtscts'
- added info to console client -i output
- man pages updated, however the wording needs work
version 8.0.0-beta1 (Jul 4, 2003):
- ***NOTICE*** the format of conserver.cf and conserver.passwd
has completely changed. see the INSTALL file for
upgrade instructions (it should be "fairly painless").
some documentation has been updated to reflect the new world,
some hasn't - my goal for beta2 is to have all the docs updated
- many command-line options now also conserver.cf options options
- POSIX termios interface now required for compilation - some
POSIX requirements were already in the code and others will
undoubtedly creep in as time goes by
- configure --with-regex option removed because of conserver.cf
and conserver.passwd changes
- added -S option to server for syntax checking of the
configuration file - suggested by Dave Stuit <[email protected]>
- authorized users now either have r/w or r/o access to consoles
- getpassword.o replaces getpass() and getpassphrase() so we can
get any string length
- fixed rm commands in test script - patch by Petter Reinholdtsen
version 7.2.7 (Apr 9, 2003):
- added test suite ('make test') for basic client/server
communication tests
- changed configure script to provide better checking of options,
hp-ux specifics, and functions
- console names are no longer case-sensitive
- fixed case-sensitive DNS name comparisons - reported by
Peter Chubb <[email protected]> via Jorgen Hagg
- added dmalloc and openssl version numbers to -V output
- reordered includes for openssl-0.9.7a compatibility
- conserver.rc looks at pidfile to find the master pid - suggested
by Petter Reinholdtsen <[email protected]>
- misplaced code regarding --with-regex - patch by Andreas Wrede
- added password support for HP-UX trusted systems - immense
help by Greg Brown <[email protected]>
- potential SIGUSR1 bug where cached terminal server availability
wasn't being cleared correctly - reported by Dave Stuit
- server is now more forgiving about errors instead of just
giving up and shutting everything down
- consoles that have trouble coming up (and are forced down)
now log when they come back up - suggested by Dave Stuit
version 7.2.6 (Mar 10, 2003):
- the -b conserver option was mostly broken (since 7.2.0)
- changed logging format so that all messages are of a similar
form
- fixed bad port number in 'cached previous timeout' message -
reported by Dave Stuit <[email protected]>
- now using pid_t type for better compatibility
- fixed the RPM and Solaris package to include the man
page for conserver.passwd - suggested by R P Herrold
- added restart option (-HUP) to conserver startup scripts
- added -B option to client for sending messages to a single
server - suggested by Dave Stuit <[email protected]>
- added --with-dmalloc for memory usage debugging
- bug with multiple interfaces and -M option not maching hostname
in configuration file - patch by Igor Sviridov <[email protected]>
- memory leak using openssl library plugged
- automatic reinitialization of failed consoles now retries
every minute like the manpage says it does - reported by Chris
Fowler <[email protected]>
- when -R option is used, substring matches on console names
from clients only match local console names (and if that
fails just remote console names) but ambiguous name list
returns both local and remote consoles - suggested by Todd
Stansell <[email protected]>
version 7.2.5 (Jan 27, 2003):
- fixed many documentation bugs - reported by Dave Stuit
- added -I option to client which operates like -i, but on the
primary conserver only - suggested by Dave Stuit
- added SIGUSR2, which does not reread the configuration file,
but does everything else SIGHUP does - suggested at LISA 2002
- fixed bug where LOGDIR setting gets used even if no logfile
is wanted
- added -R option to server to prevent client redirection to
other conserver hosts - suggested by Todd Stansell
version 7.2.4 (Oct 14, 2002):
- added --with-openssl for some client/server encryption
- added -E option to client and server to allow for non-encrypted
connections (encryption is the default if compiled in)
- added -c option so credentials (certificate and key) can be
exchanged between client and server
- expanded -V output to show what optional bits actually got
compiled into the code (libwrap, regex, etc)
- compilation errors on non-shadow file systems without using
--with-pam - reported by Jesper Frank Nemholt <[email protected]>
- client now prefers $LOGNAME, then $USER, then the current uid
for its -l default - suggested by Dave Stuit <[email protected]>
- putting back socklen_t usage - it's the right thing to do,
so tell me where it breaks things
- configure options --with-cffile and --with-pwdfile now
recognize fully-qualified pathnames - suggested by Kjell
Andresen <[email protected]>
version 7.2.3 (Sep 23, 2002):
- checking for duplicate console names got lost in the major
7.2.0 rewrite of that code. it's back now, with a couple of
other edge-case fixes i noticed while scanning the code -
reported by Dave Stuit <[email protected]>
- added --with-pam and PAM authentication support - suggested
by Stu May <[email protected]>
- added -F server option to prevent automatic reinitialization
of failed consoles ('|' syntax consoles which exit with a
zero status are still reinitialized) - requested by William P
LePera <[email protected]> and Malcolm Gibbs
- successful automatic reinitialization of consoles now attaches
a client that wants read-write mode
- added read-only client wish to become read-write in -i output
- moved to autoconf-2.54 and fixed some small configure.in bugs
Many thanks to John R. Jackson <[email protected]> for the following
fixes, cleanups, and enhancements...
- "lost timestamps" bug (SIGALRM/sleep()/usleep()/tcp_wrapper
interaction)
- compiler warnings, bad fileOpenFD tests, and ability to use
a colon after an equal in the config file (LOGDIR=C:\Logs)
- autologin fix for Solaris BSM support
version 7.2.2 (Jun 05, 2002):
- added 'n' as token for no-parity - patch by Greg A. Woods
- extra timestamps occur when consoles come back up after being
down longer than their timestamp period - reported by Dave
Stuit <[email protected]>
- AIX 5.1 pseudo-terminal support broken - patch by William P
LePera <[email protected]>
- PID file overwritten and not unlinked on exit - reported by
William P LePera <[email protected]>
- signals cleaned up in master, child, and sub-proc sections
- SIGPIPE now ignored - reported by Greg A. Woods
version 7.2.1 (Mar 25, 2002):
- bug regarding timestamp/break reading - patch by Benn Oshrin
- console names in conserver.passwd can be regular expressions
if enabled using --with-regex - based on code from Vladislav
Patenko <[email protected]>
- breaks recorded to console logs if 'b' option used in
timestamp-spec - suggested by Dave Stuit <[email protected]>
version 7.2.0 (Mar 12, 2002):
- check for valid baud rates (invalid resulted in '0') -
reported by Andrew Gallatin <[email protected]>
- a broadcast messages to others on your console can now be
sent via ^Ecb
version 7.2.0-beta3 (Feb 25, 2002):
- allow for 57600 and 115200 baud rates - patch by Andreas
Wrede <[email protected]>
- TCP traffic now escaped according to Telnet protocol
- the highly desired dynamic reconfiguration of conserver is
here! the HUP signal now triggers a read of the
configuration file and adjustment of consoles
- configure flags shown in -V output
version 7.2.0-beta2 (Feb 14, 2002):
- new -W client option for showing who's attached to a single
conserver master - suggested by Dave Stuit <[email protected]>
- maxfiles() clashes with HP-UX 11 'maxfiles' variable - patch
by Adam Morris <[email protected]>
- removed use of socklen_t type for better compatibility
- removed TELCMD/TELOPT use for compatibility
version 7.2.0-beta1 (Jan 29, 2002):
- static structures and strings are now dynamic in server
- MAXGRP (--with-maxgrp) has been removed as it's now dynamic
- new -m server option for setting the maximum consoles per
process - the default is still set with --with-maxmemb
- new -i client option (and ^Eci) that displays console
information in a machine-parseable format
- two debug levels (second level by using two -D options)
- ANSI prototypes and definitions (when available)
version 7.1.4 (Jan 21, 2002):
- console -[PqQ] didn't work - patch by Han Pilmeyer
- maxfiles() didn't check FD_SETSIZE - patch by Justin Grudzien
- New -o and -O server flags for automatically reconnecting
downed consoles - patch by Benn Oshrin <[email protected]>
- Automatic reconnection of consoles on read failures, retried
every minute
- Up to nine break sequences can be defined in the
configuration file and assigned to consoles individually,
accessed via new ^ecl[?0-9] escape sequences
- console logs are marked with "up" and "down" timestamps
The following based on code by John R. Jackson <[email protected]>
- sequential timestamps merged into one range during playback
- timestamps done on "nice" boundaries (hour, minute, etc.)
- lots of code cleanup, optimizations, etc.
version 7.1.3 (Oct 16, 2001):
- NetBSD 1.5 termios bug/compatibility - patch by Andreas Wrede
- Missing quotes broke ^ecl1 code - reported by William Charles
- Alternate break code didn't exist for local ports
version 7.1.2 (Oct 15, 2001):
- fixed line-based timestamp code - reported by Benn Oshrin
- tcp_wrappers support (--with-libwrap)
- CLOCAL bit set for local ports - patch by Egan Ford
- timestamp added to 'lost carrier' error - suggested by Todd
Stansell <[email protected]>
- Alternate break sequence for Solaris 8 is available as ^ecl2
escape sequence - patch by William Charles
The following suggested by Trevor Fiatal <[email protected]>
- Widened username field of 'console -w' output
- Added server hostname to password entry prompt
- AC_CHECK_LIB replaced with AC_SEARCH_LIBS in configure.in so
that irrelevant (and sometimes incompatible) libraries aren't
linked in
version 7.1.1 (Aug 4, 2001):
- Now using getlogin() for real username info - suggested by
Dave Stuit <[email protected]>
- gethostbyname() failure for a console now doesn't cause a
shutdown - reported by Todd Stansell <[email protected]>
- Shutdown via client -q/-Q fixed (broken in 7.1.0 because of
master process fork() code)
- Password file parsing fixed to allow for empty passwords -
allowing users to access conserver without a password prompt
- Both the password and configuration files no longer have
line length limitations, they now support comments (`#' lines),
and lines with leading whitespace are continuations of
previous lines
- Client hostname/ip sometimes not printed - reported by Todd
Stansell <[email protected]>
version 7.1.0 (Jul 26, 2001):
- Hostname in access list that began with a digit was treated as
an IP address - only strings using [0-9./] are considered CIDR
notation and they must be of the form a.b.c.d[/n]
- Fixed SIGHUP always opening logfile(-L) - shouldn't without -d
- Fixed 'make install' problem under MacOS X and cygwin
- Client -l option totally broken in 7.0.3 - patch by Daniel E.
Singer <[email protected]>
- Client now accepts IP addresses from server and server now sends
the IP of the socket instead of its hostname to the client,
fixing part of the multi-interface problem
- Client no longer passes hostname to server along with username
- Client now turns off IEXTEN so stuff like ^V passes through
- Server now pauses one second when reopening a TCP-based console
to give the terminal server a chance to clean up
- Master server process now fork()s when accepting clients
- timestamp-spec can be numeric only ('m' default)
- Ambiguous console name error now shows ambiguous list
- Console list in conserver.passwd can now have whitespace
- Access lists in conserver.cf can now use ',' as a separator
- Added special '*any*' username in conserver.passwd
- Username match (real or '*any*') now stops conserver.passwd file
processing - allowing you to lock out users
- Added -u flag to server to enable "unloved" output - this is the
opposite of the old -n flag, which now does nothing
- Added -7 flag to client and server for stripping the high bit
of data on either side (--disable-8bit removed)
- Added -b to server to specify the base port number for the
secondary communication channel - based on code from Enrik
Berkhan <[email protected]>
- Changed -d and -D flags to -r and -R in client - now -D enables
debugging mode in the client (and -d is unused)
- Changed -r to -G in client so -r could be used for the above
- Client now uses getpassphrase() (if available) for > 8 char
passwords - pointed out by Gregory Bond <[email protected]>
- Improved signal handling
- Improved process handling (POSIX waitpid() now necessary)
- Significant rework of STREAMS-based pseudo-tty code
- TCP connections ('!' config syntax) now have some Telnet protocol
knowledge, removing the "noise" seen when connecting to a terminal
server - reported by Todd Stansell <[email protected]>
- Various code and message "pretty-printing" done
- Client and server both run in Windows (tested with Windows
2000) under the cygwin environment thanks to a debug-fest with
Emmett Hogan <[email protected]>
- Using autoconf version 2.50
- Man pages reworked and conserver.passwd page created by Dave
Stuit <[email protected]> - the pain he suffered documenting
the program (and pointing out many of the bugs fixed above)
should help endless others
version 7.0.3 (Jul 5, 2001):
- "Off by 1" bug in 7.0.2 line-oriented timestamp code fixed (extra
chars in logfile) reported by Matthew Cheek <[email protected]>
- TODO file added to distribution
- 'attached', 'detached', and 'bumped' actions now written to
console logs that have 'a' in timestamp-spec field
- Default timestamp specification with TIMESTAMP= in .cf file
- Config file much more forgiving about whitespace in fields
- gethostbyaddr() failures are no longer fatal
- Added -M to server to specify the address to listen on
based on code from Enrik Berkhan <[email protected]>
- Added -p option to client and server to specify the port to
connect to and listen on (--with-port still sets the default)
- Added logfile output when going into daemon mode
- Added --with-logfile to configure
- Added -L to override compile-time logfile location
- SIGHUP reopens this logfile as well as previous behavior
- Run as root only restriction removed - warning now (if necessary)
- More #defines for FreeBSD compatibility
- Using inet_ntoa() now instead of peeking at bytes
- Fixed up -V (and -Vv) output for client and server
- Increased conserver.passwd read buffer (CheckPasswd())
- Removed DO_VIRTUAL #if's - always build that code now
- Removed ORIGINAL_CODE #if's (old non-CIDR access list parsing)
- Changed undocumented -p option to -P in console client
- man pages updated to reflect a little more reality
version 7.0.2 (Jun 15, 2001):
- Bogus "ambiguous server abbreviation" with distributed server
setup fixed
- Hostname not passed with username from console client
- Fixed pseudo-terminal ('|' syntax in .cf file) bug with Solaris
and other STREAMS-based systems (actually works now in 7.X)
- Line-oriented timestamps in logfiles (see 'l' mark
specification) based on patch from Benn Oshrin
- Generalized debugging output, info messages and error messages
- Moved library search up in configure.in so function calls are
detected properly
- Permissions of install-sh were wrong
- Trimmed the README file and now distribute conserver.html
- Redhat RPM bundle (contrib/redhat-rpm) contributed by Paul
Heinlein <[email protected]>
- Cleaned up gcc warnings (for Solaris 7, at least)
- Makefiles now use .c.o: specification instead of %.o:
version 7.0.1 (May 3, 2001):
- 8bit on by default now (use --disable-8bit for old behavior)
- FreeBSD patches by Bill Fenner <[email protected]>
(hopefully *BSD systems will compile cleaner now)
- Bad error reporting on getsockopt() found by Bill Fenner
- PID file patch by Martin Andrews <[email protected]>
version 7.0.0 (Feb 18, 2001):
- GNU configure-based packaging!!!
All work done by Mark D. Roth <[email protected]>.
Thank you!
- Removed conserver/cons.h and moved options into --with
and --enable configure arguments
- ioctl() bug found by Ross Parker <[email protected]>
- Removed last of the "loopback preference" code in
console/console.c - should have been removed a long time ago
version 6.1.7 (Dec 14, 2000):
- Documented no parity option in conserver.cf.man
- Lowered default CONNECTTIMEOUT to 10 seconds
- Changed more internal references to GNAC
- Shell command support just plain broken (tracked down and
slain by Rob Joyce <[email protected]>)
- Added a -P option for specifying the password file
- CPARITY setting reflected in -V output
- New version numbering scheme and packaging
version 6.16 (Sep 8, 2000):
- Changed the main GNAC references to Certainty Solutions
- Made the comment blocks in conserver/cons.h a little less
confusing
- There are *NO* code changes to this version. If you have
version 6.15, you're good to go.
version 6.15 (Mar 6, 2000):
- Added debug flag (-D) and the beginning of debug output
- A timeout can now be set for TCP connect() calls. The
default is 30 seconds. Hosts not responding are only
tried once at startup (per child), lessening the impact
of a down terminal server. See CONNECTTIMEOUT in
conserver/cons.h.
version 6.14 (Jan 5, 2000):
- Determining if the local conserver controls a port (with
@conserver spec) we now compare ip addresses instead of
hostnames
- Invalid argument now shows -h output
version 6.13 (Dec 1, 1999):
- High-bit always stripped from network - now follows
CPARITY setting in cons.h (found by Daniel Andersson
- New conserver -i flag for on-demand connects/disconnects
to console ports (contributed by Thomas E. Knowles
- Solaris, Linux, and others now use tcsendbreak()
version 6.12 (Aug 24, 1999):
- Blank line bug after '%%' in .cf file (found by Miss
Himali Patel <[email protected]>)
Special thanks to Michael Sullivan <[email protected]> for
the following improvements and fixes...
- Read result bug in group.c caused lock up
- Signal handling fixes and cleanup
- Several minor spelling errors in strings and comments
- Solaris package creation scripts (contrib/solaris-package)
- Extended syntax of the access restrictions to understand
network numbers with optional netmasks
version 6.11 (May 14, 1999):
- Added broadcast capability in client (-b option)
- Protected certain escape sequences from end-user use
- Added "console server shutting down" broadcast
- Improved local tty break code (thanks Craig and Brian!)
version 6.10 (Jan 26, 1999):
- Documentation fixes
- Web page up and running
version 6.09:
- Added more documentation (look for README and INSTALL files).
- Fixed up man pages so they are more accurate.
version 6.08:
- Added support for Linux 2.X and IRIX 6.X
- Fixed "suspend" code in client - it shouldn't have worked
before, but slow connections could explain it.
version 6.07:
- Porting infrastructure has been set up in ./port. Solaris