forked from zeek/zeekctl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
1957 lines (1224 loc) · 66.1 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
1.7-5 | 2017-07-11 08:45:32 -0500
* Use SHA-1 instead of MD5 to compute config hash values. Addresses BIT-1817.
(Daniel Thayer)
1.7 | 2017-06-26 15:55:09 -0700
* Release 1.7.
1.6-3 | 2017-06-26 10:52:27 -0400
* Set a value for the global_hash_seed global constan
Upon broctl install or deploy, broctl now sets a random value for the Bro
script constant global_hash_seed. This value is stored in the broctl
state database so that we can use the same value every time after it is
created.
This is needed for bloom filters to be mergeable across a bro cluster.
Addresses BIT-1819. (Daniel Thayer)
1.6 | 2017-06-06 17:43:14 -0500
* Release 1.6
* Pruning CHANGES a bit (Daniel Thayer)
1.5-49 | 2017-04-30 12:53:44 -0400
* Allow more than one logger to be defined.
This adds initial support for running a Bro cluster with multiple logger
processes. This is primarily useful for installations that use something
like Kafka or Logstash to aggregate logs. (Daniel Thayer)
* Add a "--version" option to show broctl version (Daniel Thayer)
* Added a new option MailReceivingPackets to allow users to disable
broctl cron mail that no packets were seen on an interface. (Daniel Thayer)
* A large number of unused code removal and code cleanups (Daniel Thayer)
* Fix some failing tests when using python 3 (Daniel Thayer)
* The "start" helper script now reports error if PID string is empty (Daniel
Thayer)
* Fixed the sorting of node names in command output (e.g. "worker-10"
should be output after "worker-2"). Now the order of names is based on
the "count" node attribute instead of the name. (Daniel Thayer)
* Fixed some bugs in stats-to-csv script (proxies were being handled like
workers, and it was assuming that the manager is named "manager").
Also added more error checking. (Daniel Thayer)
* Fix potential cases of unhandled IndexError and ValueError. (Daniel Thayer)
* Fixed a few cases where the ps plugin didn't return non-zero when an
error occurred. (Daniel Thayer)
* Fix shell scripts to no longer depend on bash (Daniel Thayer)
* Improve the run_cmds() and run_localcmd() functions by returning output
as a string (instead of list of strings) and check and handle output
string correctly in all cases. (Daniel Thayer)
1.5-21 | 2017-03-17 13:18:58 -0400
* Fix some tests to make sure the test tmp dir is removed (Daniel Thayer)
* Update crash-diag script due to recent change where "bro -v" now outputs
the version to stdout. Also fixed crash-diag to not show stderr output
from running "bro -N". (Daniel Thayer)
* Add a new broctl option to expire crash directories
Added functionality to broctl cron to remove crash directories older than
the number of days specified in the new option CrashExpireInterval (the
default value is 0, which means crash directories never expire). (Daniel
Thayer)
* Add a test for expiration of crash directories (Daniel Thayer)
* Reduce disk usage of post-terminate and crash-diag
Changed post-terminate and crash-diag so that the bro binary is not
copied when there is no core file. Also, the crash report is now
saved to disk only when crash-diag is run from post-terminate (i.e.,
the "diag" command will no longer create any files). (Daniel Thayer)
* Change archive-log to use "mv" instead of "cp"
Changed archive-log to "mv" (rather than "cp") logs when not using gzip
for better efficiency. This means we will not have the logs in the tmp
directory when Bro crashes, so the scripts have now been simplified to
never attempt to keep a copy of archived logs in the tmp dir (previously,
logs >100MB were always being deleted anyway). (Daniel Thayer)
1.5-12 | 2017-03-13 13:43:43 -0400
* Prevent the broctl check and scripts commands from hanging
Changed the check-config script to run bro with the "-a" option
when running "broctl check" in the hope that this will prevent broctl
from hanging for any reason. The "-a" option prevents bro
from running any bro script statements (previously, "check" would
cause bro to exit after handling the bro_init event) but should still
be able to identify the same bro scripting errors as before.
Also, to prevent "broctl scripts" from hanging, set the value
of "exit_only_after_terminate" to False (in broctl/check.bro) in case
another script sets the value of that constant to True. Since "bro -a"
prevents bro from creating the loaded_scripts.log file, that option
cannot be used with "broctl scripts". (Daniel Thayer)
1.5-9 | 2017-01-26 16:38:17 -0500
* Fix some failing tests
Added a new broctl option, called StopWait, to force the stop command
to wait for the post-terminate script to finish. This is needed
because some tests were failing due to background log-archive processes
creating logs after "broctl stop" finished, which was preventing the
test directory from being deleted. (Daniel Thayer)
* Fix post-terminate to not generate invalid timestamps
Fixed the code that tries to extract the base name and timestamp
from a log filename, because it wasn't extracting them correctly
when the base name contained a period (this doesn't happen for any
of the standard Bro logs) or if the timestamp in the filename wasn't in
the format YYYY-MM-DD-HH-MM-SS (this could happen if Bro terminates
but for some reason doesn't execute the code in the writers/ascii.bro
script that renames the log, or if someone uses a different forma
by redefining Log::default_rotation_date_format). The fix involves
first removing the log suffix, then trying to extract the timestamp
in one of the two default timestamp formats. This procedure is more
reliable than the previous method of making assumptions about how many
period characters should be in a log filename.
Also, when Bro terminates normally, post-terminate now just tries to
archive all log files, instead of only those that were rotated. This
is to avoid missing any logs. This also means that the
stderr.log/stdout.log files are now archived when Bro terminates
normally (instead of only when Bro crashes), which is useful to
capture any error messages from archive-log or Bro.
Also fixed an issue that could occasionally occur when post-terminate
archives an unrotated log file (i.e., no timestamp in the filename)
and a different log with the same base name was archived after
post-terminate started, then the computed start time of the unrotated
log would be later than the end time. Fixed by setting the start time
to equal the end time.
Also added the node name to the subject line in the email sent when
post-terminate fails to archive a log. (Daniel Thayer)
* Add error checking of archive-log timestamp parameters
Check if the format of the timestamp command-line parameters matches
the required format. If not, exit with an error message. This will
prevent archive-log from creating an archived log file with a corrup
filename or in a directory with a corrupt name.
Also simplified the code that gets the current century. (Daniel Thayer)
1.5-5 | 2017-01-26 13:34:37 -0500
* Fix crash-diag script to use the correct debugger, because on some systems
the correct debugger to use is not called "gdb" (currently, this
affects OS X and OpenBSD). (Daniel Thayer)
1.5-2 | 2016-12-06 12:35:40 -0800
* Don't show output of "ulimit -v" in crash reports on OpenBSD; adjusting
it always fails and showing the value only creates confusion. (Daniel Thayer)
1.5 | 2016-11-16 14:51:05 -0800
* Pruning CHANGES a bit. (Daniel Thayer)
* Update broctl.rst using "make doc". (Daniel Thayer)
1.5-beta2 | 2016-11-02 11:08:45 -0700
* Release 1.5-beta2.
1.5-beta-56 | 2016-11-02 13:44:41 -0400
* A number of portability fixes, mostly related to OpenBSD. (Daniel Thayer)
1.5-beta-48 | 2016-11-02 13:38:34 -0400
* Fix bug where standalone bro port isn't recorded to state.db, and
add more test cases. (Daniel Thayer)
1.5-beta-41 | 2016-11-01 09:34:19 -0700
* Add support for local-logger.bro site policy script. (Daniel Thayer)
* Add a few clarifications to broctl documentation. (Daniel Thayer)
1.5-beta-31 | 2016-10-07 14:55:07 -0400
* Improve diag command output. (Daniel Thayer)
* Add new option SitePolicyScripts to replace SitePolicyStandalone.
Also marked SitePolicyManager, SitePolicyWorker, and SitePolicyStandalone
as deprecated in the documentation. (Daniel Thayer)
* Fix a couple of failing tests. (Daniel Thayer)
* Fix a failing test on FreeBSD. (Daniel Thayer)
* Improved the documentation, especially documentation of node attributes,
documentation of broctl commands, and added a section about Bro/BroControl
communication. (Daniel Thayer)
1.5-beta-24 | 2016-09-26 16:24:21 -0400
* Define all BroControl exceptions in the new exceptions.py file.
The broctl client will now handle only those exceptions, showing a
useful error message instead of a stack trace. As before, if a
standard Python exception is raised (this is not expected to occur),
then broctl will terminate with a stack trace, which is useful to
help debug the problem. (Daniel Thayer)
1.5-beta-22 | 2016-09-26 16:11:21 -0400
* Fix crash-diag script to not confuse log files with core files
Fixed the crash-diag script to not include any log filenames that
contain the word "core" in the list of core files. (Daniel Thayer)
* Improve crash-diag script's handling of core filenames
Fixed the script to handle filenames that contain a space. (Daniel Thayer)
1.5-beta-19 | 2016-09-26 15:50:22 -0400
* Fix a bug where broctl loses state of running Bro nodes
If a node name contains uppercase letters, then restarting broctl while
that node is running results in a confusing warning about that node still
running, and broctl discards the PID of that node. Fixed by converting
the node name to lowercase before checking the state database (where all
keys are converted to lowercase).
Addresses BIT-1676. (Daniel Thayer)
* Report an error if a user defines node names differing only by case (such
as "worker-1" and "Worker-1"). This check is needed because keys
in the state db are converted to lowercase. (Daniel Thayer)
* Improve error messages for plugin API functions (Daniel Thayer)
* Removed the restriction that plugin state variables must be string
type, because normal state variables have no such restriction. (Daniel Thayer)
* Fixed the getGlobalOption() function in the plugin API. It did not
convert its argument to lowercase, and could return the value of a
state variable.
Also simplified some code by replacing the config has_attr() function
with a new function get_option(), which helps reduce the number of places
in the code where keys are converted to lowercase. (Daniel Thayer)
* Do not set a plugin state var. with invalid name (Daniel Thayer)
* Improve code that sets plugin option values
Improved error messages to include the name of the plugin, and fixed a
problem where any option with an invalid name was being set (now such
options are skipped). (Daniel Thayer)
* Simplify some broctl cron-related code by using get_state() (Daniel Thayer)
* Fix the subst() function for non-string data types (Daniel Thayer)
* Code simplification involving the config get_state() function
Added an optional default parameter to the config get_state() function,
and changed that function to convert the key to lowercase. These changes
help simplify some code by reducing the number of conversions to lowercase. (Daniel Thayer)
* Simplify code by not converting option values to lowercase (Daniel Thayer)
* Fix problem with custom node keys that are not lowercase (Daniel Thayer)
* Improve documentation of case-sensitive issues in broctl (Daniel Thayer)
* Remove redundant lowercase conversions of state var. names (Daniel Thayer)
1.5-beta-2 | 2016-09-01 12:03:46 -0400
* Improve crash reports by showing Bro plugin info (Daniel Thayer)
1.5-beta | 2016-08-12 13:20:27 -0700
* Release 1.5-beta.
* Fix rsync error message to not show ssh login banner. (Daniel Thayer)
* Run "make doc" to update broctl.rst (Daniel Thayer)
* Pruning CHANGES a bit (Daniel Thayer)
1.4-150 | 2016-08-09 13:38:17 -0400
* Show python stack trace if unexpected exception is raised.
(Daniel Thayer)
* Improve broctl error messages and error handling across the board.
(Daniel Thayer)
* Add a new optional node type "logger" that will handle logging
instead of the manager. (Daniel Thayer)
1.4-132 | 2016-07-14 18:23:27 -0400
* Don't run capstats on interfaces with packet source prefix. (Daniel Thayer)
1.4-130 | 2016-07-13 14:36:34 -0400
* Improve the text of crash reports with instructions on how to
get a backtrace, which should reduce the amount of useless crash
reports mailed to the Bro team. (Daniel Thayer)
1.4-127 | 2016-07-06 08:58:18 -0500
* Ignore packet source prefix of interface name when using capstats. (Jan Grashoefer)
1.4-125 | 2016-07-02 17:53:42 -0500
* New plugin function "broctl_config" so plugin authors can add their own
script code to the autogenerated broctl-config.bro script. (Seth Hall)
1.4-122 | 2016-07-02 12:05:23 -0500
* Follow symlinks to directories when searching for plugins. (Jon Siwek)
1.4-119 | 2016-06-28 11:11:19 -0400
* Fix race condition in reading/writing broctl-config.sh (Daniel Thayer)
1.4-117 | 2016-06-22 12:14:37 -0400
* Improve broctl behavior when unable to stop a node. (Daniel Thayer)
1.4-112 | 2016-06-14 16:14:52 -0700
* Fix a failing test on some platforms and improve its error
message. (Daniel Thayer)
* Add Bro plugin directory to broctl plugin search path. (Daniel Thayer)
* Update test baselines. (Daniel Thayer)
* Changed the default value of the StatusCmdShowAll option so that
the broctl status command runs faster. (Daniel Thayer)
* Changed the status-timefmt test so that it can be run in parallel
with the other tests. (Daniel Thayer)
* Remove dead code and update docs. (Daniel Thayer)
* Rename serialization set for cluster tests. (Daniel Thayer)
* Change node hostname resolution to be more consistent. (Daniel Thayer)
* Add another test for broctl start command. (Daniel Thayer)
* Prevent start helper from getting in infinite loop. (Daniel Thayer)
1.4-100 | 2016-05-17 16:22:25 -0700
* Updating baseline for Bro control framework change. (Robin Sommer)
* Fix for running broctl tests on OS X 10.11 (Daniel Thayer)
1.4-96 | 2016-04-28 13:43:22 -0400
* Fix inconsistent return value data type for some commands, so that
they always return a CmdResult. (Daniel Thayer)
1.4-94 | 2016-04-28 13:29:34 -0400
* Fix the top command on OS X 10.10 or newer. (Daniel Thayer)
* Fix build-bro script for running broctl tests on FreeBSD. (Daniel Thayer)
1.4-91 | 2016-03-31 15:08:24 -0500
* Explicitly close the Broccoli connection to avoid resource leak. (Aaron Eppert)
1.4-89 | 2016-03-31 12:02:19 -0500
* Prevent ssh login banners from appearing in broctl output. (Jon Schipp)
1.4-87 | 2016-03-31 10:35:47 -0400
* Eliminate unnecessary writes to the state db. (Daniel Thayer)
1.4-84 | 2016-03-11 16:32:46 -0600
* Support ip command for getting local IP addrs. (Jon Schipp)
1.4-77 | 2016-01-20 14:44:36 -0500
* Changed LogExpireInterval to allow users to specify a more
granular log expire interval, which is a number followed by
a unit: "day", "hr", or "min". An integer value with no unit
is still allowed and interpreted the same as before. (Daniel Thayer)
* More verbose error message for logexpireinterval value. (Daniel Thayer)
* Prevent log expire interval from being less than rotation interval. (Daniel Thayer)
* Improve the ps test diff canonifier. (Daniel Thayer)
* Improve the cron-expire test script. (Daniel Thayer)
1.4-70 | 2016-01-19 22:42:10 -0600
* Fix custom plugin commands to behave more like built-in commands. (Aaron Eppert/Daniel Thayer)
* Add README.rst -> doc/broctl.rst symlink. Addresses BIT-1413 (Johanna Amann)
1.4-61 | 2015-12-19 13:39:47 -0800
* Add broctl.cfg options PcapSnaplen and PcapBuflen to set pcap's
packet snap length and buffer size, respectively. (Jan Grashoefer)
1.4-57 | 2015-12-11 12:00:07 -0500
* Simplify some code and fix a test that can fail on OS X. (Daniel Thayer)
* Improvements to broctl documentation. (Daniel Thayer)
* Improve diagnostic and error messages. (Daniel Thayer)
* Add more private IP space to etc/networks.cfg (Daniel Thayer)
* Add a new broctl option, MailArchiveLogFail, to control sending
log archive mail. (Daniel Thayer)
* Check for invalid option names and values more carefully. (Daniel Thayer)
* Fix use of ssh to always use IP address to avoid host key verification
failures, and use BatchMode consistently to avoid a misleading
error message when rsync fails. (Daniel Thayer)
* Changed post-terminate to attempt to archive logs that have already
been rotated. Also changed crash-diag output file extension to no
longer use ".log" in order to avoid post-terminate trying to
archive it. (Daniel Thayer)
* Send email if post-terminate fails to archive logs, and changed
the post-terminate script to run archive-log serially instead
of multiple instances simultaneously in the background.
(Daniel Thayer)
* Rename logs in the spool/tmp/post-terminate directory to indicate
they were successfully archived when archive-log is run with the "-c"
option. (Daniel Thayer)
* Capture output of background post-terminate script to file
"post-terminate.out" which might be helpful for debugging
problems with log archival. (Daniel Thayer)
* Add bro node type to post-terminate dir name (Daniel Thayer)
1.4-36 | 2015-12-08 13:21:05 -0500
* Fix problem of unexpected ifconfig output with some locales (Daniel Thayer)
1.4-34 | 2015-10-27 21:13:15 -0500
* Added plugin for custom load balancing (Jan Grashoefer)
1.4-30 | 2015-08-21 17:23:39 -0700
* Updating submodule(s).
1.4-28 | 2015-07-29 15:33:37 -0500
* Handle a missing broctl-config.sh symlink (Justin Azoff)
1.4-26 | 2015-07-27 14:13:43 -0400
* Create broctl-config.sh automatically (Daniel Thayer)
* Undo a previous change for lb_procs error checking (Daniel Thayer)
* Update broctl.rst by running "make doc" (Daniel Thayer)
* Convert boolean config values to python bool type (Daniel Thayer)
1.4-20 | 2015-07-27 09:12:44 -0400
* Merge remote-tracking branch 'origin/topic/dnthayer/ticket1434' (Justin Azoff)
* Improve the broctl top helper script for FreeBSD (Daniel Thayer)
1.4-18 | 2015-07-27 09:03:22 -0400
* Improve error message for invalid broctl plugin config values (Daniel Thayer)
* Improve error message for invalid broctl config values (Daniel Thayer)
* Improve error checking for local IP addresses (Daniel Thayer)
* Cleanup some error msgs and source code comments (Daniel Thayer)
* Close ssh connections upon config reload (Daniel Thayer)
* Check for dangling Bro nodes every time node.cfg is loaded (Daniel Thayer)
* Improve check for dangling Bro nodes (Daniel Thayer)
* Remove unnecessary state variable type conversions (Daniel Thayer)
* Convert config option values to correct data type (Daniel Thayer)
* Check config file contents rather than timestamp (Daniel Thayer)
* Add ability for broctl to reload its configuration, which the
deploy command will do if a config file change is detected. (Daniel Thayer)
* Avoid caching config values because config might change (Daniel Thayer)
* Update a broctl test file (Daniel Thayer)
* Keep track of both loaded plugins and active plugins (Daniel Thayer)
* Reorganize some code (no changes in functionality) (Daniel Thayer)
* Remove some config options and add a new one (Daniel Thayer)
1.4-1 | 2015-07-22 13:20:49 -0500
* Fix test setup script to not overwrite LD_LIBRARY_PATH (Jon Siwek)
1.4 | 2015-06-09 09:19:56 -0500
* Release 1.4.
1.4-beta-22 | 2015-06-02 10:34:44 -0500
* Update broctl man page for deploy command (Daniel Thayer)
* Updating baselines. (Robin Sommer)
1.4-beta-20 | 2015-05-28 12:15:28 -0700
* Slight output tweaks. (Robin Sommer)
1.4-beta-19 | 2015-05-28 11:59:39 -0700
* Improve documentation on site-specific customization. (Daniel
Thayer)
* Don't use daemon threads in ssh_runner. (Daniel Thayer)
* Improve broctl documentation. (Daniel Thayer)
* Fix minor error with restart clean. (Daniel Thayer)
* Improve and extend tests. (Daniel Thayer)
* Improve error messages related to the env_vars option. (Daniel Thayer)
* Remove code that was automatically removing quoted values of the
env_vars option. (Daniel Thayer)
* Show help when user runs broctl with unknown command. (Daniel
Thayer)
* Improve visibility of archive-log error messages. (Daniel Thayer)
* Add sanity checks on broctl options. (Daniel Thayer)
* Improve error messages involving the state database file.
Addresses BIT-1397 (Daniel Thayer)
* Fixed error when a broctl command outputs binary data. (Daniel
Thayer)
* Fix the config change warnings on Python 3. (Daniel Thayer)
* Fix an issue with the ps plugin where the "run-bro" script would
appear in the output on some systems. (Daniel Thayer)
* Inform user to run broctl deploy to get started. (Daniel Thayer)
* Fix communication with muxer for newer Python versions. (Daniel
Thayer)
* Set correct Python path in Python scripts. (Daniel Thayer)
1.4-beta | 2015-05-07 20:26:22 -0700
* Release 1.4-beta.
1.3-221 | 2015-04-22 15:20:20 -0500
* Improve the test build script to show build error output. (Daniel Thayer)
1.3-220 | 2015-04-21 14:54:49 -0400
* Fix problem where use of broargs causes error message (Daniel Thayer)
* Avoid unnecessary string building in logging functions (Daniel Thayer)
* Handle broctl output messages more consistently (Daniel Thayer)
* Don't show certain warnings when they're not useful (Daniel Thayer)
* Fix the interactive command tab completion feature (Daniel Thayer)
* Simplify some SQL and remove unused code in the state database (Daniel Thayer)
1.3-212 | 2015-04-17 15:27:14 -0500
* Fix the use of the "first-line" helper script (Daniel Thayer)
* Added a new broctl option "CommandTimeout" that specifies the number
of seconds to wait for a command to return results. This value is
passed to ssh_runner. (Daniel Thayer)
* Improve error reporting for ssh_runner (Daniel Thayer)
* Changed the status command to run only one helper script so that the
status command takes half as long to run in the worst-case scenario.
This involved replacing the "cat-file" helper with a new one that
can handle multiple files, and only outputs the first line of each file.
(Daniel Thayer)
* Remove unused default timeout values in ssh_runner. Also changed the
ping timeout and changed the code to actually use it. (Daniel Thayer)
* Fix response handling (Justin Azoff)
* Enable json serialization of CmdResult objects (Justin Azoff)
* Enable BatchMode for ssh
From the ssh manual:
If set to ``yes'', passphrase/password querying will be disabled.
This option is useful in scripts and other batch jobs where no user
is present to supply the password. (Justin Azoff)
* Improve some error messages (Daniel Thayer)
* Fix to prevent broctl from hanging when an exception occurs.
Make sure that the finish method is called (to signal that we're done
to the ssh_runner worker threads). (Daniel Thayer)
1.3-197 | 2015-04-16 16:15:25 -0500
* Use daemon threads only for remote hosts (Daniel Thayer)
* Fix to prevent the broctl stop command from hanging (Daniel Thayer)
* Remove the run-cmd helper script (Daniel Thayer)
1.3-185 | 2015-04-03 14:54:06 -0400
* Update test baselines. (Daniel Thayer)
* Improved error reporting in several cases. (Daniel Thayer)
* Added checks if there are any nodes to start or stop to avoid
executing code unnecessarily. (Daniel Thayer)
* Preserve order of hosts in command lists to be executed. (Daniel
Thayer)
* Catch the KeyboardInterrupt exception. (Daniel Thayer)
* Reorganize code for the df command. (Daniel Thayer)
* Python 3 compatibility fixes. (Daniel Thayer)
* Make sure "broctl deploy" error messages are visible. (Daniel Thayer)
* Speedup the deploy command by checking only one node of each node
type. (Daniel Thayer)
* Fix a race condition that results in data loss on the SSH control
channels. (Daniel Thayer)
* While waiting for lock, show owning PID of lock. (Daniel Thayer)
* Make sure broctl always closes any file that it opens. (Daniel Thayer)
* Update broctl install requirements list. (Daniel Thayer)
* Don't show log header lines in "broctl scripts" output. (Daniel
Thayer)
* Added functions to cleanup before broctl terminates (Daniel
Thayer)
1.3-165 | 2015-03-30 13:46:23 -0500
* BIT-1326: Add configure-time check for required sqlite3 python
module. (Jon Siwek)
1.3-162 | 2015-03-17 09:36:26 -0700
* Update the documentation. (Daniel Thayer)
* Add a new command "deploy" which does a "check", "install", and
"restart". The intention of this command is to reduce the chance
that users will forget to install after modifying their
configuration. (Daniel Thayer)
* Sort broctl command output for easy readability.
* Remove duplicate nodes from input so that broctl can't run a
command twice for the same Bro node. (Daniel Thayer)
* Improve error output. (Daniel Thayer)
* Allow specifying alternate Bro script directory via "--scriptdir"
option of the configure script when building Bro. (Daniel Thayer)
* Allow specifying alternate location for etc/ directory via the
"--conf-files-dir" option of the configure script when building
Bro. (Daniel Thayer)
* Simplify internals of the main broctl script. (Daniel Thayer)
* Removed the use of BROCTL_INSTALL_PREFIX for modifying the install
prefix at run-time. This was only intended for use by the test
scripts. Now the test setup scripts just modify all the files
where the install prefix is hard-coded. (Daniel Thayer)
1.3-150 | 2015-03-04 12:17:42 -0800
* Significant improvements (mostly internal), reorganization, and
cleanup across the whole code base. (Justin Azoff and Daniel
Thayer)
This includes:
- Refactor broctl to make it usable as a library (reduce global
state, module-level setup code, and functions return results
instead of printing).
- Integrate ssh_runner code into broctl to fix current problems
(use only one connection per host instead of one per Bro node;
broctl shouldn't hang when a host goes down or if we forgot to
run "broctl install"),
- Write state info using SQLite state storage instead of writing
to a plain text file (broctl.dat).
- When the node config changes, we now do additional checks if
there are any Bro nodes running that are no longer in our node
config and warn user if any are detected.
- Keep track of the expected state (running or stopped) of each
Bro node, and have broctl cron start or stop nodes as needed.
- Improved broctl cron by adding two new options (MailHostUpDown
and StatsLogEnable) to enable users the option to turn off
unwanted functionality to speed up broctl cron and reduce the
chance of errors.
- When broctl cron tries to send email but fails, now it will
output a message that includes the text it was trying to mail.
- Silence warning messages that are intended for interactive use
of broctl when broctl cron runs to reduce unwanted emails from
cron.
- Added new broctl option StatusCmdShowAll to enable users to
speed up "broctl status" significantly.
- Fixed the stats-to-csv script to not create files that can
never include any data.
- Fixed archive-log script to detect exit status of gzip or cp
command, so that we don't delete log file when the archival
fails.
- Improved post-terminate script to process log files more
consistently.
- Made all broctl command output go to stdout (previously, some
output would go to stderr, which made grepping or redirecting
the output more difficult),
- Improved the default broctl.cfg file to show more of the
useful options.
- Added more error checks to help catch errors earlier.
- Some error message output is more specific and helpful now.
1.3-12 | 2014-12-08 13:53:23 -0800
* Add man page for broctl. (Raúl Benencia)
1.3-9 | 2014-12-01 12:03:53 -0600
* Remove execute permission on scripts not needing it. (Raúl Benencia)
1.3-8 | 2014-10-31 09:17:27 -0500
* BIT-1166: Add configure options to fine tune local state dirs.
(Jon Siwek)
1.3 | 2014-06-02 08:59:01 -0700
* Fix for capstats to display correct interface name when using
PF_RING+DNA with pfdnacluster_master. (Daniel Thayer)
* Fix for capstats with PF_RING+DNA pfdnacluster_master.
(Daniel Thayer)
1.3-beta | 2014-05-19 16:29:36 -0500
* Improve documentation of PFRINGFirstAppInstance option (Daniel Thayer)
* Update broctl.rst with "make doc" (no other changes) (Daniel Thayer)
* Move some content into the main Bro docs in a new section "Cluster
Configuration". (Daniel Thayer)
* Rename the broctl option pfringdnafirstappinstance to
pfringfirstappinstance. (Daniel Thayer)
* Remove references to the now unused BROMAGIC (Daniel Thayer)
1.2-129 | 2014-05-01 20:58:28 -0700
* A bug fix and feature add for PF_Ring support. (Seth Hall)
- Reset the app_instance for the case where there
are multiple dnaclusters on a single host.
- Add naming support for zerocopy (zc) clusters.
* Use a hash to determine if a config change occurred. (Daniel Thayer)
* Change hosts() function in the plugin API to return a list of
nodes instead of just hostnames. (Daniel Thayer)
* Add warnings when node config or broctl.cfg has changed. (Daniel Thayer)
* Code simplification, remove the unused broctl "home" option, and
improved a couple warning messages. (Daniel Thayer)
* Fixed a bug where broctl cron could email about the "$total"
pseudo-node not receiving any packets. (Daniel Thayer)
* Code reorganization for the getDf function to avoid direct output
and thereby reporting the same error message multiple times for
the same host. (Daniel Thayer)
* Cleanup some code for style consistency, reformat some comments to
fit on an 80-column display, and remove some dead code. (Daniel
Thayer)
* Replace the update-stats script with Python code. (Daniel Thayer)
* Gather disk usage by host rather than by node. The output now also
shows both node and host names and is now sorted by node type.
* Adjust column widths for top, netstats, peerstatus commands.
(Daniel Thayer)
* Change the broctl exec command to run only once per host. (Daniel
Thayer)
* Changed the hosts() function so that it preserves the order of the
returned node list as it was sorted by the nodes() function.
(Daniel Thayer)
1.2-106 | 2014-04-10 08:32:18 -0700
* Update test baselines, and minor code cleanup. (Daniel Thayer)
1.2-104 | 2014-04-05 01:01:29 -0400
* Updated PF_Ring plugin now supports PF_Ring+DNA. (Seth Hall)
1.2-99 | 2014-03-30 22:21:20 +0200
* Update documentation with better install/setup instructions.
Addresses BIT-1160 (Daniel Thayer)
1.2-97 | 2014-03-16 07:40:31 -0700
* Minor doc update for a broctl option. (Daniel Thayer)
* Adjust broctl status output to avoid bad column alignment. (Daniel
Thayer)
* Do not ping when checking if a host is alive. Removed the ping
from the host alive check because the ping might be blocked by a
firewall, and neither Bro nor broctl needs the ability to ping
hosts. (Daniel Thayer)
* If the current version of Bro doesn't match the version when
broctl install was previously run, then a warning message (to run
broctl install) is displayed when broctl starts. Addresses
BIT-1152. (Daniel Thayer)
* Reduce the risk of losing track of state info. Changed the way
broctl updates PIDs and crash flags by writing the new values to
disk immediately, one at a time, as soon as each new value is
available. Also changed the way that the state file is updated
when each command finishes by doing the update as an atomic
operation. (Daniel Thayer)
* Better error handling for a number of broctl commands. (Daniel Thayer)
* Improve error output when broctl install has not been run yet.
(Daniel Thayer)
* Fix a failing test on FreeBSD 10. (Daniel Thayer)
* Changed the output of the check command to be more specific about
what it is actually checking. (Daniel Thayer)
* Improve handling of dead hosts and closed/hanging connections.
(Daniel Thayer)
* Fixed a typo in the run-bro script that was causing the memlimit
option to be ignored. Added added a test to verify that memlimit
is used. (Daniel Thayer)
* Simplify code that execs commands locally. (Daniel Thayer)
* Prevent infinite loop in start helper script if it cannot execute
the run-bro script. (Daniel Thayer)
* pf_ring plugin: Show error if lb_procs is needed but not given,
and disable plugin if not used. (Daniel Thayer)
* Catch an exception that is raised when loading a plugin that does
not override all required methods, and output an error message.
(Daniel Thayer)
* Fix start helper script to return nonzero on error. (Daniel
Thayer)
* Improve start/stop command output for crashed nodes.
* Added a test for stopping a node that crashes during shutdown.
(Daniel Thayer)
1.2-73 | 2014-02-28 14:44:51 -0800
* Added ability of broctl cron to expire entries in stats.log that
are older than the number of days specified in the new broctl
option StatsLogExpireInterval. Addresses BIT-123. (Daniel Thayer)
* Add broctl option BroPort to change the starting Bro port.
Addresses BIT-1117. (Daniel Thayer)
1.2-66 | 2014-02-06 20:29:20 -0800
* Make sure logs are archived after broctl kills Bro. Addresses
BIT-1126. (Daniel Thayer)
1.2-63 | 2014-02-04 09:10:39 -0800
* Fix a few sporadic test failures. (Daniel Thayer)
1.2-61 | 2014-01-31 11:11:39 -0800
* Fix error handling for process command. (Daniel Thayer)
* Update and improve the tests of broctl process. (Daniel Thayer)
* Improve broctl help message for the process command. (Daniel
Thayer)
* Reorder the broctl process command Bro arguments. Addresses
BIT-1124. (Daniel Thayer)
1.2-56 | 2014-01-28 15:54:14 -0800