forked from SethRobertson/libbk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
3406 lines (2137 loc) · 113 KB
/
ChangeLog
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
2010-01-21 James Tanis <jtt@outpost.tanis.org>
* lib/b_addrgroup.c (do_net_init_stream_connect): Fix a bug
introduced by the fixing of the bug mentioned below. This function
was taking improper advantage of the fact that the remote bni's
primary address was not yet set. With that fixed, this function
must now take note of the first time it is called (for a
particular addrgroup_state struct) and reset the address list.
(do_net_init_dgram_connect): ditto
* lib/b_netinfo.c (bk_netinfo_add_addr): Fix a bug introduced in
November 2001. When updating the bni with the first address, set
the primary address.
2010-01-19 James Tanis <jtt@outpost.tanis.org>
* lib/b_netinfo.c (bk_netinfo_from_sockaddr): Break up the
from_socket frunction so you that can also create a bni from a
sockaddr.
2009-10-01 James Tanis <jtt@outpost.tanis.org>
* lib/b_string.c (bk_string_tokenize_split): Also conf expand VARs
(not just their default values) when asked.
2009-01-25 James Tanis <jtt@mission.tanis.org>
* src/proto.c (proginit): C'mon! proginit should really have
argc/argv, right?
2008-08-22 James Tanis <jtt@stockade.tanis.org>
* lib/b_addrgroup.c (stream_connect_activity): Simply return if
the FD is closed; no need to cal net_init_abort().
2008-06-04 James Tanis <jtt@stockade.tanis.org>
* xml/b_search.c (bkxml_attrnode_valbyname): Pass flags to
bkxml_attrnode_data() which uses 'em instead of bkxml_attrsearch()
which doesn't.
2008-05-06 James Tanis <jtt@stockade.tanis.org>
* lib/b_string.c (bk_string_tokenize_split): := should have been
:- from the begining. We now support both.
2008-04-25 James Tanis <jtt@stockade.tanis.org>
* include/libbk.h (BK_INITIAL_STREQ): Macro for safely (I hope)
checking the initial substring (proper or not) of a string.
2008-04-17 James Tanis <jtt@stockade.tanis.org>
* lib/b_addrgroup.c: Don't run FD handler in some calls to
bk_run_close.
* lib/b_run.c (bk_run_close): Option to bk_run_close to be called
without running the FD handler.
2008-04-15 James Tanis <jtt@stockade.tanis.org>
* lib/b_addrgroup.c (listen_activity): For UDP obtain the remote
address with a NULL read and MSG_PEEK.
* include/libbk.h (BK_NET_FLAG_STANDARD_UDP): BAKA UDP is
officially deprecated (it was stupid and unnecessary).
* lib/b_url.c (bk_url_parse_authority): Change bk_url_authority to
look like other libbk structs.
2008-04-09 James Tanis <jtt@localhost.localdomain>
* ssl/b_ssl.c: Avoid a dangling reference by withdrawing the iofun
from the ioh structure before freeing the ssl state structure.
2007-12-10 James Tanis <jtt@stockade.tanis.org>
* lib/b_debug.c (bk_debug_istream): Function to return the
debugging stream
2007-12-04 James Tanis <jtt@stockade.tanis.org>
* lib/b_memx.c (bk_memx_append): Convert function to use count
instead of len, so as to match the rest of the memx API.
(bk_memx_info): Function export all values in a bk_memx.
(bk_memx_get): Allow memx to actually allocate extra elements
past the initial hint.
* bk_memx_size: constant which allows outsiders to know the size
of a bk_memx structure.
2007-09-13 James Tanis <jtt@outpost.tanis.org>
* lib/b_getbyfoo.c (bk_ether_aton): Convert a string ethernet
address to struct ether.
(bk_ether_ntoa): Convert a struct ether to a ethernet address
string.
2007-06-19 James Tanis <jtt@outpost.tanis.org>
* lib/b_ringdir.c (bk_ringdir_get_status): Work aroundf fencepost
error. May need to be reworked later.
2007-05-02 Alexander Dupuy <alex.dupuy@counterstorm.com>
* lib/b_ringdir.c (bk_ringdir_get_status): #9000: handle rings starting
at 1 instead of 0
2007-04-09 Alexander Dupuy <alex.dupuy@counterstorm.com>
* lib/b_shmipc.c: acknolwedged
2007-02-21 James Tanis <jtt@counterstorm.com>
* test/entropy/Makefile, lib/Makefile: $(BK_LIBM) is now obsolete
* Makefile, include/Makefile: All user to selectively *not* compile in
several baka features
2007-01-15 Seth Robertson <seth@counterstorm.com>
* test/test_threads.c: reversed test
2007-01-12 Brian Lindauer <lindauer@counterstorm.com>
* test/test_threads.c: #8756: Save someone a rollup headache.
2007-01-11 James Tanis <jtt@counterstorm.com>
* lib/b_procinfo.c, test/test_proc.c: New file.
2007-01-11 Alex Dupuy <alex.dupuy@counterstorm.com>
* lib/b_string.c (bk_vstr_cat): fix problems with "improved" allocation
2007-01-11 James Tanis <jtt@swift.sysdetect.com>
* lib/b_procinfo.c: Routines which handle the process table.
2006-11-15 Seth Robertson <seth@counterstorm.com>
* src/timeout.c: #8646: "if (finished) sleep(timeout)" has a race if
the child is reaped between the test of finished and the sleep. Using
alarm should in theory fix this which we are seeing at BAE continually,
unlike everywhere else.
2006-10-12 Alexander Dupuy <alex.dupuy@counterstorm.com>
* src/timeout.c: #8590: eliminate signal handler race condition that
returned timeout status (SIGALRM) if child finished just fast enough
2006-09-28 James Tanis <jtt@counterstorm.com>
* lib/b_string.c: Eliminate useless debugging #defines
2006-09-27 Seth Robertson <seth@doe.sysdetect.com>
* lib/mt19937-64.c (mt19937_init_by_array64): Plug a memory leak
by eliminating some code which would never be called under the
baka API, allow init_by_array to work more identically with public
implementations, and at the same time, make things epsilon faster.
Note that if we want to make things 1/epsilon faster, or at least
much faster, consider http://www.cs.hmc.edu/~geoff/mtwist.html
which would probably take a bit of porting and would be different
from this version (would produce the 32 bit implementation random
numbers instead of the 64 bit numbers our version generates). Not
a big deal for us.
2006-09-27 James Tanis <jtt@swift.sysdetect.com>
* lib/mt19937-64.c (mt19937_init_genrand64): Take mts as argument
so that it 1) doesn't leak memory and 2) actually has an effect.
2006-09-05 Alex Dupuy <alex.dupuy@counterstorm.com>
* src/timeout.c: compatibility with netatalk timeout [-t optional],
validate numeric options, allow signal names as well as numbers,
better error messages, propagate child signal termination status
2006-08-31 Seth Robertson <seth@counterstorm.com>
* include/libbk.h, lib/b_shmipc.c, src/shmcat.c: #8397: Allow shared
memory protocol to recover a little better from stale shmem segments
2006-08-17 Seth Robertson <seth@counterstorm.com>
* include/libbk.h, lib/b_shmipc.c, src/shmadm.c, src/shmcat.c: #8335:
Do the three way handshake to validate that everyone is OK with startup.
Add generation number cum write init timestamp to shm header and diag
program for value added diagnostics
2006-08-11 Seth Robertson <seth@counterstorm.com>
* include/libbk.h, lib/b_shmipc.c, src/shmadm.c, src/shmcat.c:
* test/sourcesink.c, */Makefile: #7859: Shared memory IPC data transfer
infrastructure
2006-08-09 Seth Robertson <seth@counterstorm.com>
* lib/b_ioh.c, test/writev.c: #7859: Improve write performance for
[primarily] pipe output devices
2006-08-03 Seth Robertson <seth@counterstorm.com>
* test/writev.c: performance testing for file i/o
2006-07-27 Alex Dupuy <alex.dupuy@counterstorm.com>
* lib/b_ringdir.c: #8185: lower err level of bk_ring errors as
well when DUMP_RING_FLAG_NOT_REQUIRED
2006-07-22 James Tanis <jtt@counterstorm.com>
* lib/b_strconv.c, lib/b_thread.c: WANT_STATIC=true and gcc 4.1.1 fixes
2006-07-20 Brian Lindauer <brian.lindauer@counterstorm.com>
* include/libbk_include.h: Add stddef.h for ptrdiff_t definition.
2006-05-03 James Tanis <jtt@outpost.tanis.org>
* src/bk_pty.c (progrun): bk_pty should do $PATH search.
2006-03-20 Brian Lindauer <brian.lindauer@counterstorm.com>
* lib/b_memx.c (bk_memx_append): Added bk_memx_append function.
2006-02-02 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_config.c (load_config_from_file): Allow infinite length configuration lines
2005-09-02 Alexander Dupuy <alex.dupuy@counterstorm.com>
* README.i18n: gcc-4 puts "const struct poptOption optionsTable[]"
in read-only code segment - hey - it's declared const, after all, and
this gets a SEGV when we localize one of the string pointers in it.
Don't declare it const, here, or in any of the umpteen dozen main()
functions that were cut&pasted from this
* include/libbk.h (BK_ENTRY_VOLATILE): BK_ENTRY_VOLATILE is
occasionally needed to prevent compiler warnings (errors) about
__bk_funinfo being clobbered by longjmp or vfork (or pthread_create).
<TRICKY>A special macro is needed because the __bk_funinfo pointer
variable *itself* (not the struct bk_funinfo it points to) must be
declared volatile - use cdecl to "explain" the crazy C syntax for this.
Seth had been using a "stupid" hack to force gcc to keep the variable
on the stack, but the gcc-4 optimizer is too smart and optimizes the
hack away, so we must use the volatile declaration correctly.</TRICKY>
* lib/b_thread.c (bk_thread_create, bk_thread_kill_others): use it
2005-03-17 James Tanis <jtt@cheviot.sysdetect.com>
* lib/b_string.c (bk_string_tokenize_split): Allow for user
defined braces which act like nesting quotes.
2005-02-15 James Tanis <jtt@cheviot.sysdetect.com>
* lib/b_time.c (bk_time_iso_format): Failure diagnostic and core
dump avoidence.
2005-02-07 Brian Lindauer <jbl@localhost.localdomain>
* lib/b_ringdir.c (bk_ringdir_init): Update checkpoint file at startup.
2005-01-20 James Tanis <jtt@cheviot.sysdetect.com>
* lib/b_run.c (bk_run_once): Protect against the generally
unwanted situatio of deadlock in select(2).
2005-01-18 James Tanis <jtt@cheviot.sysdetect.com>
* lib/b_exec.c (bk_pipe_to_process): Flag to allow child process
to close stdin/stdout of not needed.
2005-01-10 James Tanis <jtt@cheviot.sysdetect.com>
* lib/b_intinfo.c (intinfo_ioctl_map): Properly terminate nvmap.
2004-12-23 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_error.c (be_error_time): avoid gcc errs on call to localtime_r
* lib/b_debug.c (bk_debug_iprint): tv.tv_sec isn't necessarily a time_t
avoid gcc errs on calls to localtime_r where return ignored
* include/libbk_oscompat.h (gmtime_r, localtime_r): exact[ish] compat
2004-12-23 James Tanis <jtt@hawking.sysdetect.com>
* lib/b_time.c (bk_time_iso_parse): Allow for silent failure if
the user requests.
2004-12-22 Seth Robertson <seth@blue.sysdetect.com>
* lib/b_debug.c (bk_debug_iprint): If you enable bk_debug_iprint
debugging, you will get microsecond debug message accuracy
2004-12-22 Alexander Dupuy <dupuy@sysdetect.com>
* src/Makefile (LDLIBS): reduce unnecessary library dependencies
2004-12-22 Seth Robertson <seth@stevedore.StevesRUs.sysdetect.com>
* include/libbk_net.h: Add OPCODES to ARP define
2004-12-21 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_ringdir.c: don't make ring files executable
2004-12-21 Seth Robertson <seth@stevedore.StevesRUs.sysdetect.com>
* include/libbk_net.h: Clarify what the dynamically sized arp header
looks like so that you don't have to go to the reference manuals in
order the use the structure.
2004-12-16 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_addrgroup.c (bk_net_init): Fix documentation: timeouts are
actually in ms, not secs or usecs.
* lib/b_netutils.c: Fix documentation: timeouts are actually in
ms, not secs or usecs.
2004-12-15 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_exec.c (bk_fork_exec): Add function
2004-12-01 Brian Lindauer <lindauer@nicks.sysdetect.com>
* test/entropy/randtest.c (rt_end): Don't shadow new builtin cexp function.
2004-11-22 <jbl@localhost.localdomain>
* include/libbk.h (BK_STRCMP): Added BK_STRCMP.
2004-11-12 <jbl@localhost.localdomain>
* lib/b_ringdir.c (bk_ringdir_get_status): Added a settings file
and an API to retrieve current buffer status.
2004-10-27 James Tanis <jtt@fry.sysdetect.com>
* lib/b_config.c (config_manage): Null values should be
OK.
2004-10-25 James Tanis <jtt@fry.sysdetect.com>
* lib/b_string.c (bk_string_tokenize_split): Return an empty array
instead of an array with one empty element when input string is
empty.
2004-10-22 James Tanis <jtt@fry.sysdetect.com>
* lib/b_string.c (bk_string_tokenize_split): If we're going to
substitute a default value for a variable, recursively expand
that.
2004-10-21 James Tanis <jtt@fry.sysdetect.com>
* lib/b_string.c (bk_string_tokenize_split): Support
${VAR:=default} construction when doing expansion.
2004-08-26 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_pollio.c (bk_polling_io_read, bk_polling_io_write): don't
deadlock waiting for the i/o thread to do the work when running on
the i/o thread
* lib/b_run.c (struct bk_run): track thread executing bk_run_run
(bk_run_run): set br_iothread
(bk_run_on_iothread): new function to report if on i/o thread
2004-08-21 Seth Robertson <seth@sampson.sysdetect.com>
* lib/b_vptr.c (bk_vptr_cmp): When comparing keys of unequal length,
we lost track of what pos/neg value to return when the keys were
unequal in the raw data.
2004-08-16 Alexander Dupuy <dupuy@sysdetect.com>
* include/libbk_internal.h (struct bk_ioh): track max iov len here
* lib/b_ioh.c (bk_ioh_init): compute max iov len
(bk_ioh_stdwrfun): don't try to exceed max iov len for writev
* lib/b_netinfo.c (bni2sin, bni2sin6, bni2un): inet4 sockaddr len is
16, not just the 4 bytes of IP address [similarly for IPv6/unix]
2004-08-12 James Tanis <jtt@outpost.tanis.org>
* src/bttcp.c (connect_complete): Close out correct server handle.
(do_cancel): Also shut down server if set.
* lib/b_addrgroup.c (listen_activity): For DGRAM servers: remove
serving socket from serving after connecting it to client. Add new
socket to service.
2004-08-10 James Tanis <jtt@outpost.tanis.org>
* src/bttcp.c (set_run_over): Set the run over flag if it has not
already been set.
(do_cancel_relay): Function to cancel relay on ^C (needed for
udp).
* lib/b_relay.c (bk_relay_cancel): Function for allowing users to
cancel the relay in medias res.
* lib/b_addrgroup.c (listen_activity): Don't extract bag from as
until after you've checked for closing.
* lib/b_relay.c (bk_relay_iohhandler): Null out "my" ioh after
close to prevent resuse. Alter parameter declaration from array to
pointer to shut up Insure.
* lib/b_netinfo.c (bk_netinfo_from_socket): Once again, do *not*
use a struct sockaddr casted to struct sockaddr_FOO. It has only
14 bytes of sa_data, and sockaddr_FOO may have much more.
* lib/b_addrgroup.c (as_destroy): Null out bag after destruction
to prevent reuse.
2004-08-09 James Tanis <jtt@outpost.tanis.org>
* lib/b_addrgroup.c (listen_activity): Get DGRAM server handling
multiple connections.
2004-08-03 James Tanis <jtt@outpost.tanis.org>
* lib/b_netaddr.c (bk_netaddr_clone): Missed break in previously
unused case.
2004-08-04 Seth Robertson <seth@cheviot.sysdetect.com>
* lib/b_ioh.c (bk_ioh_is_canceled): It is not fully clear whether
bk_ioh_is_canceled should return only is_canceled or both
is_canceled and is_closed. There is no corresponding
ioh_is_closed function. The only use of it to date suggests that
both is good.
2004-07-14 Seth Robertson <seth@cheviot.sysdetect.com>
* lib/b_ioh.c (check_follow): Don't follow if we are canceled.
2004-07-12 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_strconv.c (bk_string_atou64_int): Allow caller to force base.
2004-07-09 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_ringbuf.c: Convert over to BK_SIMPLE_{UN,}LOCK() for
readability.
2004-07-08 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_netutils.c (bk_netutils_make_conn_verbose): If local
protocol string is not set, use the remote protostr.
2004-07-03 Seth Robertson <seth@cheviot.sysdetect.com>
* lib/b_run.c (bk_run_enqueue): Do not enqueue events if we are
attempting to destroy run. This is a sign of a self-scheduling
job gone awry, typically.
2004-06-29 Seth Robertson <seth@cheviot.sysdetect.com>
* src/timeout.c (main): Option to wait for process to exit after
signaling.
2004-06-30 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_intinfo.c (bk_intinfo_list_create): What the heck. Get the
HW addr in the linux way (but how do you "properly" determine the
HW *type*...)
2004-06-24 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_intinfo.c (bk_intinfo_list_create): FreeBSD fixes
* lib/b_exec.c (bk_pipe_to_process): work on systems without openpty,
get openpty definition on FreeBSD systems
* include/libbk_oscompat.h (strnlen, nearbyint, trunc): FreeBSD fixes
2004-06-24 Seth Robertson <seth@cheviot.sysdetect.com>
* lib/b_run.c (bk_run_signal): Track what signals we are handling
as part of bk_run. Block by default.
(bk_run_once): Block bk_run_signals by default most of the time.
Window the signals open for testing and for select. Insert
harangue about linux's lack of pselect(2)
* lib/b_ioh.c (IOH_EBLOCKINGINTR): Do not choke on EINTR from
read/write calls. Also be more careful about saving and restoring
errno.
2004-06-21 Seth Robertson <seth@cheviot.sysdetect.com>
* lib/b_pollio.c (bk_polling_io_write): Time is a timeout, even on
sync requests [though we are still not handling timeouts for
post-initial sync].
2004-06-21 Seth Robertson <seth@not.baka.org>
* lib/b_relay.c (bk_relay_iohhandler): Because we overfill the
output buffer when it fills up and we throttle, we should not
automatically unthrottle when we write one buffer. Theoretically,
this should NOT cause an infinite amount of memory to be sunk, but
we can seriously overfill especially if buffer sizes are in
increasing size order. While I was being stupid about something
else, I discovered this and assumed it was the problem.
2004-06-16 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_netutils.c (bk_netutils_make_conn): Arguments for
bk_netutils_make_conn_verbose() were totally in the wrong order.
2004-06-09 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_dll.c (bk_dll_insert_internal): Actually return return
value instead of always DICT_OK. DOH!
2004-06-09 Seth Robertson <seth@pearl.sysdetect.com>
* src/bttcp.c (connect_complete): Now with added verbosity about
connections accepted and completed.
* src/bkrelay.c: Now relaying!
2004-06-08 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_addrgroup.c (bk_addressgroup_suspend): Allow server
sockets to be suspended from being accepted for a time.
2004-06-08 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_vptr.c (bk_vptr_append): Make RO component (source
bk_vptr) constant.
2004-06-07 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_run.c (bk_run_signal): Shut up Insure.
* lib/b_realloc.c (bk_malloc_wrap_destroy): DOH! Use while() not
for() when destroying clc's.
* lib/b_general.c (bk_general_init): Initialize malloc wrapper if
__INSURE__
(bk_general_destroy): Destroy malloc wrapper if __INSURE__
2004-05-28 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_string.c (bk_string_csv_quote): Escape NEWLINES with the
correct sequence. Put NUL in correct spot (if there's space).
* lib/b_pollio.c (bk_polling_io_read): Null out event handler
after dequeue.
2004-05-27 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_string.c (bk_string_csv_quote): Function to quote string
for BAKA csv processing.
2004-05-19 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_ringbuf.c (bk_ring_read): Name a variable deadbeef and use
its address instead of 0xdeadbeef so that Insure will shut the
hell up.
2004-05-18 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_strconv.c (bk_string_xmlsafe): #963: don't print control chars
2004-05-06 Seth Robertson <seth@sysdetect.com>
* src/bk_daemon.c: Fix bk_daemon bug James introduced
2004-05-04 Brian Larkins <brian@sysdetect.com>
* lib/Makefile, lib/b_dll.c, include/libbk_inline.h:
fun defs in headers?
only for inline functions
but this one's too big.
* test/test_ringdir.c:
proto change broke this
add a null pointer or two
maybe missed commit?
* include/libbk.h:
casting lvalues?
not in gcc 3.3!
modify statements
2004-04-29 James Tanis <jtt@sysdetect.com>
* include/libbk.h: time_t is a long not an unsigned long
2004-04-29 Seth Robertson <seth@sysdetect.com>
* src/bk_funi.c: Handle -U gid initialization
2004-04-27 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_netutils.c, lib/b_string.c: stale commit
2004-04-27 James Tanis <jtt@sysdetect.com>
* include/libbk.h: Connection expire code.
2004-04-26 James Tanis <jtt@buscemi.sysdetect.com>
* src/bk_daemon.c (child): Only open stdin, stderr, and stdout on
/dev/null with -N if they are already closed.
2004-04-23 Seth Robertson <seth@pearl.sysdetect.com>
* src/bk_funi.c: Funi lives! (get away from the tyranny, and more
to the point double-shell-parse of su)
2004-04-23 Brian Lindauer <lindauer@malkmus.sysdetect.com>
* lib/b_time.c (bk_time_duration_parse): Add function to parse
durations in DdHhMmSs format.
2004-04-21 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_ringdir.c (bk_ringdir_destroy): Add checkpoint after
current open file closes.
(bk_ringdir_rotate): Add checkpoint after close in case we get
error before subsequent open.
2004-04-19 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_run.c (bk_run_destroy): Dequeue all events *before*
closing descriptors.
(bk_run_destroy): Do not delete hashes for event queue and
fdassoc's untill the bitter end, just ince case folks reference
them during shutdown.
* lib/b_ringdir.c (bk_ringdir_standard_destroy): Goto error in
destroy function is not a good idea (leak).
2004-04-16 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_ringdir.c (bk_ringdir_filename_predecessor): Use the
pattern with the full path.
2004-04-15 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_ringdir.c (bk_ringdir_standard_get_size): Return correct
value on error.
(bk_ringdir_standard_get_size): If the file descriptor is bad, try
to stat with the filename.
2004-04-14 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_ringdir.c (bk_ringdir_filename_predecessor): Use full path
pattern.
(bk_ringdir_filename_successor): ditto.
2004-04-07 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_ringdir.c: Iteration functions.
(bk_ringdir_did_rotate_occur): Function to test if rotation
occured on the last call to bk_ringdir_rotate().
(bk_ringdir_rotate): Set flag is rotation occrs.
(bk_ringdir_standard_get_fd): File descriptor accessor.
(brd_create): Verify that input pattern creates valid filenames.
2004-03-26 Alexander Dupuy <dupuy@sysdetect.com>
* include/libbk.h: bk_struct_registry_t as opaque struct, not void *
[using void * prevents gcc from finding bugs, requires extra casts]
* lib/b_string.c (bk_string_registry_insert): zero out unused entries;
don't reduce next_index on forced insert; verify string match on lookup
2004-03-25 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_string.c (bk_string_registry_insert): support for
BK_STR_REGISTRY_FLAG_FORCE
2004-02-21 Seth Robertson <seth@sysdetect.com>
* src/genrand.c: Generate random powerball numbers:
{ ./genrand -s 5 -n 52 | sort -n; ./genrand -s 1 -n 52; } |
awk '{sum=;sum++; print sum;}'
2004-02-16 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_rand.c (USE_MEM_ENTROPY): enable use of uninitialized memory
for extra entropy only if neither Insure nor Valgrind are around
2004-02-11 Seth Robertson <seth@sysdetect.com>
* lib/b_stats.c: Talk about how to improve accuracy
2004-02-09 Seth Robertson <seth@pearl.sysdetect.com>
* include/libbk_net.h (BAKA_TCPHDR_FLAGECE|FLAGCWR): Add "new" RFC
flags
2004-02-05 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_string.c (bk_memdiff): #2904: use u_char comparison
2004-02-05 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_string.c (bk_memdiff): #2904: workaround using memcmp
* xml/b_search.c (bkxml_nodesearch): Actually set *last like we
say we will
2004-01-29 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_cksum.c (bk_in_cksum): Simplify interface
2004-01-28 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_run.c (bk_run_once): Possibly required change for idle support.
2004-01-28 James Tanis <jtt@saint.sysdetect.com>
* lib/b_string.c (bk_string_expand): Look for expansions in
bk_conf too.
(bk_string_tokenize_split): Look for expansions in bk_conf if
caller asks.
2004-01-27 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_run.c (bk_run_once): We were running the polling function
twice instead of the idle functions.
2004-01-07 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_error.c (be_error_output): IF BK_ERROR_FLAG_MORE_FUN,
print function stack track for every error. Preferentially to
file output (syslog is avoided unless necessary).
2004-01-06 Seth Robertson <seth@buscemi.sysdetect.com>
* lib/b_run.c (bk_run_enqueue): We can get trapped in select with
an event ready to fire, but select being unaware. Resolve.
2004-01-05 Seth Robertson <seth@not.baka.org>
* lib/b_thread.c (bk_thread_continue): Const incorrect.
* lib/b_strconv.c (bk_string_demagnify): Not everyone has FP_NAN
defined. If not, then return sqrt(-1) (i.e. NaN).
* include/libbk_include.h: Include sys/ioctl.h and sys/filio.h when
appropriate.
* lib/b_ioh.c (bk_ioh_fdctl): Signed/unsigned error. Cast.
* lib/b_exec.c: Make finding declaration of openpty portable
2003-12-29 Alexander Dupuy <dupuy@sysdetect.com>
* src/bttcp.c (relay_finish): new gcc allows inline declaration of
newfd variable, a la C++, but old gcc [or ANSI C] does not
2003-12-29 Seth Robertson <seth@buscemi.sysdetect.com>
* lib/b_exec.c (bk_pipe_to_process): openpty for pty requirements,
allow stderr to dup to stdout.
* lib/Makefile (LT_LDLIBS): Additional library requirements.
* lib/b_relay.c (bk_relay_iohhandler): Allow user callback to
modify outgoing buffer, not discarding buffer.
(bk_relay_iohhandler): Carpe Data -- seize the data instead of
copying it when possible.
* src/bttcp.c (relay_finish): Implement transmit limits.
(main): Allow major numeric arguments to use kKmM etc notation.
* lib/b_strconv.c (bk_string_demagnify): Go in other direction
(from 1.5k -> 1530)
2003-12-28 Seth Robertson <seth@buscemi.sysdetect.com>
* src/bttcp.c: Raise default bttcp ioh buffer size. Implement
keepalives, --file-in/out/io instead of stdio.
2003-12-25 Seth Robertson <seth@now.baka.org>
* lib/b_strconv.c (bk_string_magnitude): Write a cute little
routine to print a number in a magnitude-sense. E.g. 1534 -> 1.5k
Works in powers of 2 and 10, variable precision, and with a range of
(-10^27+1 to 10^27-1) or (-2^90+1 to 2^90-1)
* include/libbk.h (struct bk_relay_ioh_stats): Create statistics
for bk_relay accounting.
* lib/b_relay.c (bk_relay_iohhandler): Implement aforementioned
statistics.
* src/Makefile (LOCAL_LDS): Specify LOCAL_LDS so we know where to
find bkssl and bkxml libraries.
* src/bttcp.c (relay_finish): Report transfer stats in verbose mode.
(connect_complete): Add socket buffer size/TCP nodelay options and support.
(main): Discriminate between --local-name and --length '-l' short args.
2003-12-10 James Tanis <jtt@pearl.sysdetect.com>
* include/libbkxml.h (BKXML_CHECK_NEXT_NODE_NAME_CHECK_THIS_NODE):
Resist the name police. Strike a blow for personal BAKA.
* xml/b_search.c (bkxml_check_next_node_name): Avoid core dump from
recent fix. [How can *nodep be uninitialized if we've already checked
for nodep?]. Answer: because *nodep is a copy-out; unless it is also
a copy-in, there is no requirement that the caller has initialized it.
2003-12-10 Alexander Dupuy <dupuy@sysdetect.com>
* include/libbkxml.h (BKXML_CHECK_THIS_NODE): stop the
BKXML_CHECK_NEXT_NODE_NAME_CHECK_THIS_NODE_NULL_NULL_SPAM_SPAM_INSANITY
* xml/b_search.c (bkxml_check_next_node_name): if nodep is an optional
copyout, then don't compare it to [uninitialized] node -- sez valgrind
2003-12-09 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_ioh.c (bk_ioh_shutdown): avoid idiocy trying to turn off reads
2003-12-08 James Tanis <jtt@pearl.sysdetect.com>
* xml/b_search.c (bkxml_check_next_node_name): Function to check
the name of the next element node [replaces many uses of
bkxml_nodesearch() while requiring "dtd correctness"]
2003-12-05 Alexander Dupuy <dupuy@sysdetect.com>
* include/libbk.h: declare bk_vptr_* functions
* lib/b_vptr.c: add bk_ prefix to all functions
(bk_vptr_append): moved from tagsets.c
(bk_vptr_trimleft): work if realloc() returns new ptr for smaller block
(bk_vptr_cmp): moved from fad_cluster.c/upad_plug.c
2003-12-04 Zhi-Da Zhong <zz@sysdetect.com>
* lib/b_vptr.c: vptr utilities -- just vptr_*trimleft() right now
* lib/Makefile: added b_vptr.c
* include/libbk.h: added vptr_*trimleft()
2003-12-02 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_strconv.c (bk_string_atoflag): parse flags without [] for
XXE-friendly featuresets
2003-12-01 Seth Robertson <seth@blue.sysdetect.com>
* lib/b_pollio.c (bk_polling_io_close): Don't try to flush writes
if write channel is dead.
* lib/b_ioh.c (bk_ioh_stdwrfun): Don't cry if writev returns
EWOULDBLOCK/EAGAIN
2003-11-22 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_string.c (bk_string_registry_idbystr): don't return the last id
if you can't find the string; return 0, as you're supposed to...
My god, we've only implemented the moral equivalent of String.intern()
half a dozen times and we *still* can't get it right?!?!]
* ssl/b_ssl.c, lib/b_*.c, include/libbk.h, include/libbkssl.h: massive
stupid "make worker -v useful" for debugging featuresets commit - aka
"make you regret that you ran make depend" after touching libbk*.h
2003-11-14 James Tanis <jtt@pearl.sysdetect.com>
* xml/b_search.c (bkxml_attrnode_valbyname): Convenience function
to extract a attribute value by name.
2003-10-28 James Tanis <jtt@pearl.sysdetect.com>
* xml/b_search.c (bkxml_attrnode_data): Make libxml to xml escape
processing on extracted strings.
2003-10-21 James Tanis <jtt@pearl.sysdetect.com>
* src/bdtee.c (out_file_handler): Continue relaying in the face of
a write error to the tee file.
(relay_tee): Only write NEWLINE before direction indicator when needed.
2003-10-20 James Tanis <jtt@pearl.sysdetect.com>
* src/bttcp.c (relay_finish): Only execute when the relay is
finsihed.
* src/bdtee.c (proginit): Truncate tee file if it exists.
(proginit): Close extraneous child descriptors.
* lib/b_ioh.c (BK_IOH_SHUTDOWN): Shutdown only works on full
duplex descriptors, close(2) others.
(bk_ioh_shutdown): Shutdown correct descriptor on SHUT_WR.
(ioh_execute_cmds): Ditto.
* lib/b_exec.c (bk_pipe_to_process): Allow caller to close all
"extraneous" descriptors (ie not stdin, stdout, stderr, and pipe
descriptors) in child.
(bk_pipe_to_exec): Close extraneous child desc's if asked.
(bk_pipe_to_cmd_tokenize): Ditto.
2003-10-16 James Tanis <jtt@pearl.sysdetect.com>
* lib/b_relay.c (bk_relay_iohhandler): If defined, invoke callback
on reads.
2003-10-27 James Tanis <jtt@pearl.sysdetect.com>
* test/entropy/randtest.c: <libbk.h> apparently not needed at all.
2003-10-07 Alexander Dupuy <dupuy@sysdetect.com>
* ssl/Make.include (BK_EXTERNAL_RPATH): #2174: don't embed build area,
use BK_SSL_RPATH = BK_INSTALLRPATH instead
2003-09-24 James Tanis <jtt@pearl.sysdetect.com>
* src/bk_daemon.c: Added functions to be quiet [i.e. not print pid
in parent] and to open stderr/stdout on a file with optional append.
2003-09-11 Seth Robertson <seth@buscemi.sysdetect.com>
* lib/b_ringbuf.c (bk_ring_length): Function to return current
size [number of items in] of ring.
2003-09-16 James Tanis <jtt@buscemi.sysdetect.com>
* xml/b_minimize.c: Functions (some moved from libfeatureset.c) to
mimimize and md5 an xml tree.
2003-09-15 James Tanis <jtt@buscemi.sysdetect.com>
* lib/b_ringbuf.c: Make NO_PTHREADS work.
2003-09-02 James Tanis <jtt@cheviot.sysdetect.com>
* lib/b_string.c (bk_string_registry_insert_by_id): Function to
"insert" [i.e. register] by id but which returns the string.
2003-08-25 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_ioh.c: fix for #2036: segfault after connection reset by peer
(ioh_close): provide indication of ioh validity on return
(bk_ioh_update): return 2 if ioh destroyed by close
(bk_ioh_shutdown, ioh_runhandler): deal with ioh destroyed by close
* lib/b_pollio.c (bk_polling_io_create): deal with ioh destruction
(bk_polling_io_close): deal with ioh destruction after shutdown
* lib/b_skid.c (bk_skid_authenticate): deal with ioh destruction
* ssl/b_ssl.c (bk_ssl_ioh_init): deal with ioh destruction
2003-08-25 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_ioh.c (ioh_internal_read): Move ioh_errno setting BEFORE
unlock activity, to preserve integrity of the errno.
2003-08-25 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_error.c (bk_error_irepeater_flush): #2033: eliminate possible
recursion into non-reentrant error code
2003-08-14 Seth Robertson <seth@sysdetect.com>
* src/timeout.c: Grrr. How many years has this lurked?
2003-07-25 James Tanis <jtt@sysdetect.com>
* lib/b_pollio.c, lib/b_ioh.c: error verbosity and valgrind integration
2003-07-16 Brian Larkins <brian@sysdetect.com>
* include/libbk_inline.h: arguments to _ko_compare() are [key, obj],
not [obj, key] otherwise it'd be called _ok_compare(). thanks to
inlining, this was very annoying and hard to find.
#1667 is busted on the joint.
2003-07-15 Seth Robertson <seth@startide.sysdetect.com>
* lib/b_ioh.c (CALL_BACK): #1697: Handler can sometimes be NULL,
so don't go dereferencing it...
2003-07-15 Alexander Dupuy <dupuy@sysdetect.com>
* lib/b_time.c (bk_time_iso_format): make struct timespec arg const