File: ChangeLog

package info (click to toggle)
ocamlnet 4.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 51,764 kB
  • ctags: 16,446
  • sloc: ml: 148,419; ansic: 10,989; sh: 1,885; makefile: 1,355
file content (1187 lines) | stat: -rw-r--r-- 36,513 bytes parent folder | download | duplicates (2)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
2016-06-19  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Release 4.1.2

	* Fixes so that OCamlnet builds with OCaml-4.03

2016-02-29  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Release 4.1.1

	* Cryptography: adding basic support for public key cryptography
	  (provided by GnuTLS)

2016-01-31  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Authentication: the module types for SASL and HTTP authentication
	  have been changed to a stateless style. Added an experimental
	  SCRAM module for HTTP.

2016-01-29  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Nethttp_client: Supporting Digest authentication with
	  SHA-256 as hash algorithm. Supporting Basic authentication
	  with "charset" parameter.

2016-01-24  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* XDR/RPC: supporting that direct mappings can be disabled
	  when this is disadvantegous. For now, this is done for
	  internal RPC services, because direct mappings do not
	  copy values, which would be very surprising here.

2015-12-01  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Netplex: adding support for so-called internal services.
	  This is a fast and type-safe way of exchanging messages
	  between netplex containers.

2015-11-28  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* ALL MODULES: Transitioning to the new "bytes" type for
	  mutable strings while using "string" only for immutable
	  strings. If compiled with OCaml-4.02 or newer, Ocamlnet
	  is built with the -safe-string compiler option.

2015-11-16  Gerd Stolpmann  <gerd@zotac>

	* Netplex_sharedvar: implementing a new protocol that uses shared
	  memory for announcing variable updates. Also, almost all functions
	  can now be called from controller context.

	* Netsys_global: new module, for keeping a dictionary of global
	  strings. The dictionary is connected with Netplex_sharedvar, so
	  that the strings can be updated across process boundaries if used
	  with Netplex.

	* Netsys_polysocket: adding this module

2015-07-05  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Netsys_polypipe: adding this module

2015-01-05  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Netasn1_encoder: new module for encding ASN.1 messages

-- OCamlnet-4.1 fork

2015-10-03  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Netnumber: on 64 bit platforms, the functions lt_uint4 and
	  lt_uint8 were wrong. Fixed now.

2015-06-21  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Release 4.0.4

	* GnuTLS: compatibility with GnuTLS-3.4.2

	* Nethttpd_plex: the post_add_hook was not called by accident
	  (since OCamlnet-4); this is now fixed.

	* Nethtml: new option case_sensitive

2015-06-14  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* GnuTLS: initializing the library on-demand. This avoids that
	  /dev/random is kept open all the time since program start, and
	  works around incompatibilities with Netplex. (Thomas Calderon
	  found the problem.)

	* GnuTLS: setting DH parameters on certificates (this was forgotten in
	  previous releases). (Thomas Calderon found the problem.)

2015-04-27  Gerd Stolpmann  <gerd@zotac>

	* Release 4.0.3

	* GnuTLS: supporting GnuTLS versions where SRP is disabled.
	  Supporting GnuTLS-3.4.

2015-02-26  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Release 4.0.2

	* OpenBSD build: fix linker option (Christopher Zimmermann)

2015-02-23  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Equeue: There is a new method request_proxy_notification,
	  which is only used by Uq_engines.qseq_engine (but unfortunately
	  needs to appear in the public type of the object). This new
	  method permits that chains of Uq_engines.qseq_engine pairs
	  can now be arbitrarily long without consuming too much memory
	  and without the danger of getting stack overflows.

	  This fixes issues where notification chains got too long. In
	  particular, we saw a stack overflow when retrieving a video
	  stream via HTTP. The stream was sent with many chunks, resulting
	  in a long Uq_engines.qseq_engine chain.

	  Implementers of engines can simply define request_proxy_notification
	  as no-ops.

2015-01-27  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Nethttp.set_content_range: this function generated an incorrect
	  header (the "bytes" word was missing). (Trk Edwin)

2015-01-18  Gerd Stolpmann <gerd@gerd-stolpmann.de>

	* Release 4.0.1

	* _oasis is generated from _oasis.in

2014-12-30  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Netplex: the Netplex socket directory has a different default
	  if not specified in the config file.

	* Netshm: the POSIX specifier has now two args

	* IPv6: automatically enabled if there is a global IPv6 address

        * Unicode tables: Moved them to a separate netunidata library.
	  This library needs to be linked in for getting access to the
	  tables (this is no longer the default).

	* Renamings: Http_client, Ftp_client etc. => Nethttp_client,
	  Netftp_client
          Mimestring => Netmime_string
	  Xdr => Netxdr

	* Netmime: moved functions to Netmime_header and Netmime_channels

        * Netmech_scram: Removed the check that passwords only consist of
	  ASCII chars. The user can now call Netsaslprep.saslprep.

        * Removed: rpc-auth-dh, nethttpd-for-netcgi2

2014-09-28  Gerd Stolpmann  <gerd@zotac>

	* Http_client: the authentication mechanisms are now encapsulated
	  in a first-class module HTTP_MECHANISM. So far, there is Digest
	  authentication in this form. The signature of HTTP_MECHANISM
	  is similar to SASL_MECHANISM.

	  Another visible change is that the insecure Basic authentication
	  is no longer enabled for non-TLS-secured connections. This can be
	  changed back by setting flags, though.

	  Some fixes in the design improve Digest authentication for proxy
	  connections.

2014-09-19  Gerd Stolpmann  <gerd@zotac>

	* Netpop: implementating SASL authentication for POP3. Moved Netpop
	  into netclient.
	* Netsmtp: implementing SASL authentication for SMTP. Moved Netsmtp
	  into netclient.
	* Adding a framework for SASL, and a number of mechanisms
	  (PLAIN, CRAM-MD5, DIGEST-MD5, SCRAM-SHA1).

2014-08-31  Gerd Stolpmann  <gerd@e130>

	* fcgi/scgi/ajp connectors: exporting a handle_connection function,
	  and unifying existing such functions (Christopher Zimmermann)

2014-08-20  Gerd Stolpmann  <gerd@zotac>

        * adding support for modular cryptography (symmetric ciphers and
	  digests)
	* SCRAM is now implemented with the new crypto providers
	* removing dependency on Cryptokit
	* removed library netgssapi; now part of netsys/netstring
	* removed library netmech-scram; now part of netstring

Ocamlnet-4 adds:

	- new library netgss-system
	- new library nettls-gnutls
	- removed equeue-ssl and rpc-ssl
	- X.500 modules Netasn1, Netdn, Netx509
	- Crypto definitions Netsys_crypto_types, Netsys_crypto
	- TLS modules Netsys_tls, Nettls_support
	- Support for SASL and GSSAPI
	- Moved many functions from Uq_engines to new modules in
	  the equeue library (Uq_client, Uq_server, Uq_multiplex,
	  Uq_transfer)

Development of Ocamlnet-4 starts
======================================================================

2014-10-27  Gerd Stolpmann  <gerd@thinkpad>

	* Release ocamlnet-3.7.7

2014-10-19  Gerd Stolpmann  <gerd@e130.lan.sumadev.de>

	* Netsys_posix.mli.mkfifoat: this function is not supported on
	  OS X 10.10, and this is now detected at config time.

2014-09-16  Gerd Stolpmann  <gerd@e130>

	* Release ocamlnet-3.7.6

	* netstring-pcre: removing dependency on camlp4 (an oversight).

2014-09-06  Gerd Stolpmann  <gerd@e130>

	* Fixing bad format strings (Damien Doligez)

2014-08-31  Gerd Stolpmann  <gerd@e130>

	* Release ocamlnet-3.7.5

	* Windows: various fixes, including int sizes for 64-bit Windows,
	  the invocation of cppo, and CR characters. Also, unixsupport.h
	  is now used instead of declaring the prototypes directly.
	  (Andreas Hauptmann)

	* C99: use int64_t instead of int64 in C code. The latter is gone
	  in OCaml-4.02. (Richard Jones)

2014-08-25  Gerd Stolpmann  <gerd@zotac>

	* Build: no longer requiring camlp4 (as it is not distributed with
	  ocaml-4.02)

	* Fixing some unit tests

2014-08-24  Gerd Stolpmann  <gerd@zotac>

	* Netexn: new exception representation in ocaml-4.02

	* Build: renaming file for a configure test to avoid a
	  naming conflict (Richard Jones)

2013-10-01  Gerd Stolpmann  <gerd@zotac>

	* Release OCamlnet-3.7.4

	* Https_client and aggressive connection caching: In previous
	  versions there was a problem with the reinitialization of the
	  SSL socket when a former connection was reused. The fix requires
	  an API change of connection_cache: The SSL socket can now be
	  stored with the inactive connection.

	* Http_client: fixing a bug with connection caching: Address
	  resolution was not taken into account for computing the key
	  in the connection cache.

2013-09-30  Gerd Stolpmann  <gerd@zotac>

	* ssl_exts_stubs.c: releasing global lock on shutdown error
	  (Trk Edwin)

2013-09-08  Gerd Stolpmann  <gerd@zotac>

	* Uq_ssl: Fix error path when SSL connection fails during the
	  handshake

	* NB. Ocamlnet-3.7.1 to 3.7.3 only contain fixes of the build
	  system, and one minor change to make ocaml-4.01 happy

2013-08-30  Gerd Stolpmann  <gerd@e130>

	* Release Ocamlnet-3.7.0

	* Shell.to_file: implement the append flag as documented
	  (bug reported by David Chase)

	* The libraries netcamlbox and netmulticore are now only built
	  if completely supported.

	* Porting netcamlbox and netmulticore to ocaml-4.01:
	  There are new implementations in OCaml for caml_modify and
	  caml_initialize that are incompatible with our usage here.
	  Fortunately, these symbols are now weak, and we can override
	  them. This is done in netsys.outofheap, and for the time being
	  we just use the old implementation from ocaml-4.00.

2013-08-30  Gerd Stolpmann <gerd@gerd-stolpmann.de>

	* Porting netsys to ocaml-4.01: O_CLOEXEC is now supported
	  if found

2013-08-19  Gerd Stolpmann  <gerd@e130>

	* Netsys_sem: fix for systems that don't have
	  Netsys_posix.sysconf_open_max (e.g. Win32).
	  (Davild Allsopp)

2013-08-16  Gerd Stolpmann  <gerd@e130>

	* Http_fs: read method: fixing a problem with resent messages

	* Http_client: better reaction after "100" responses

	* Http_client: implementing verbose_response_header, and
	  verbose_response_contents again

	* Uq_ssl: debugging of payload data (Uq_ssl.Debug.dump_data)

2013-08-13  Gerd Stolpmann  <gerd@e130>

	* Http_fs: fixing chunked encoding for PUT (this is already done
	  in Http_client)

	* Nethttp: new function base_code

	* Http_client: handling the case better that an unknown status code is
	  returned by the server. Before, [response_status] simply
	  raised [Not_found]. Now, the base status is returned instead.

2013-07-31  Gerd Stolpmann  <gerd@zotac>

	* Extending ocamlrpcgen: It supports now six new directives,
	  _lowercase, _uppercase, _capitalize, _prefix, _equals,
	  and _tuple (see documentation).

2013-07-21  Gerd Stolpmann  <gerd@samsung>

	* Release Ocamlnet-3.6.6

	* Netplex_container: emits now backtraces if these are enabled.

	* Http_fs: adding [last_response_status] method

	* Rpc_client: fixing a potential endless loop when session IDs
	  are reused

	* Rpc_client: fixing the shutdown when a TCP connection is
	  immediately refused, and GSS-API authentication is active.

2013-06-16  Gerd Stolpmann  <gerd@zotac>

	* Netcgi_fcgi.run: no longer ignoring the sockaddr argument
	  (problem reported by Watanabe Masaki)

2013-06-13 Gerd Stolpmann

        * Remove duplicate method Netpop.stat

2013-06-06  Gerd Stolpmann  <gerd@zotac>

	* Release Ocamlnet-3.6.5

	* Build fix for netstring-pcre

2013-06-03  Gerd Stolpmann  <gerd@zotac>

        * Release Ocamlnet-3.6.4

	* Regular expressions: The config switch -enable-pcre no
	  longer switches the default backend to PCRE. The default
	  remains Str, and only Netstring_pcre is additionally
	  built. The new switch -enable-full-pcre has now the
	  stronger meaning of also using PCRE as default backend.

	  New documentation page Regexp explaining this.

	* Netmcore_basics.txt: more documentation for Netmulticore

2013-05-27  Gerd Stolpmann  <gerd@samsung>

	* Netgzip.ml: Fixing a bug in the inflating pipe (bad calculation
	  of the crc)

	* Netplex_mbox: implementation of a simple message box allowing
	  communication between Netplex components. This module does
	  neither need Netmulticore nor Netcamlbox, but is relatively slow.

2013-05-13  Gerd Stolpmann  <gerd@samsung>

	* netcgi2-apache: fixing build against apache-2.4.

	* netcgi2-apache: fixing bug that PKGNAME was incorrect

	* netcgi2-apache: the directory of the OCaml stdlib is now
	  added via rpath to mod_netcgi_apache.so so that
	  libcamlrun_shared.so is automatically found

	* Http_client: more liberal interpretation of the "domain" part
	  of authentication keys

	* src/netsys/netsys_c_poll.c: Fix FD_CLOEXEC
	  (Guillem Jover <guillem@hadrons.org>)

2013-03-29  Gerd Stolpmann  <gerd@samsung>

	* Http_client authentication: The domain for authentication
	  keys can be set to ["*"]. Also, port number can be omitted
	  in such domains.

	* Http_client authentication: adding skip_challenges auth style

	* Uq_engines: New [qseq_engine] class. This is the same as
	  [seq_engine], but it does not forward pure progress events.
          The operator [++] is now backed by [qseq_engine]. This change
	  fixes performance bugs (e.g. Http_client had problems with
	  HTTP responses consisting of many chunks).

2013-02-12  Gerd Stolpmann  <gerd@samsung>

	* Netmcore, Netmcore_process: also adding a function [run] in
	  in addition to [startup] for jobs that want to return something.
	  With [join_nowait] one can now get the result of the first process.
	  Also updated examples/multicore/create_join.ml.

2013-02-10  Gerd Stolpmann  <gerd@samsung>

	* Netplex_main: new function [run], designed for compute
	  jobs run under Netplex regime

	* Netdate: adding ISO-8601 week numbering. Fixing test suite
	  and some bugs

2013-01-13  Gerd Stolpmann  <gerd@samsung>

	* Release OCamlnet-3.6.3

	* Netmcore_heap.mli: allowing to [add] bigarrays. New
	  function [add_string] for creating uninitialized strings on
	  heaps. New function [add_immutable] for retaining value sharing.

	* Netsys_mem: New options [Copy_conditionally] and [Keep_atom]
	  for function [init_value].

2012-12-26  Gerd Stolpmann  <gerd@samsung>

	* Release OCamlnet-3.6.2

	* netsys_c_subprocess.c: fixing a deadlock issue
	  (when calling commands via the Shell library)

2012-11-19  Gerd Stolpmann  <gerd@samsung>

	* Netdate: Fix interpretation of the ~localzone argument
	  of several functions. Now the timezone is assumed for the
	  target time, not the calling time

	* Netdate: Adding localization

	* Netconversion: Adding functions for converting to lowercase/
	  uppercase/titlecase, and for case-insensitive comparison

2012-11-07  Gerd Stolpmann  <gerd@samsung>

	* Release OCamlnet-3.6.1

	* Fix Netfs.copy: When the copy method throws EXDEV, it is
	  fallen back to a streaming-type copy

	* Several fixes for OS X

	* Daemonizer: now using a signal for waiting until the children
	  are up and running

	* Fixes for OCaml-4.00

2012-09-30 Gerd Stolpmann <gerd@gerd-stolpmann.de>
	* Better endianness check as suggested by Matias Giovannini

	* Fixing handling of `Recv_send_implied sockets in
	  socket_multiplex_controller

2012-08-27 Gerd Stolpmann <gerd@gerd-stolpmann.de>

	* netzip: it is now autodetected whether the camlzip library
	  is available under the findlib name "zip" or "camlzip"

2012-07-20  Gerd Stolpmann  <gerd@samsung>

	* Release Ocamlnet-3.6

	* Netsys_sem: a new abstraction for emulating anonymous
	  semaphores on systems that only provide named semaphores,
	  like OS X. All users of semaphores inside Ocamlnet now
	  base on Netsys_sem.

2012-07-19  Gerd Stolpmann  <gerd@samsung>

	* reimplementing Netstring_str for the case the Str engine
	  is used. It is now thread-safe without having to use
	  mutexes.

	* The default is now -disable-pcre

	* The module Netstring_pcre has been moved to a library of its
	  own, namely netstring-pcre. It is only installed if -enable-pcre

2012-06-27 Gerd Stolpmann <gerd@gerd-stolpmann.de>

	* Nethttp.Header.best_media_type: improved
	  (patch by Christopher Zimmemann)

2012-06-22 Gerd Stolpmann

        * Netsys_mem.alloc_memory_pages: one can now mark the memory
          pages as executable

2012-05-31  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* src/netsys/configure: disabling POSIX semaphore check
	  for win32

2012-05-26 Gerd Stolpmann <gerd@gerd-stolpmann.de>

	* Fixes for OpenBSD (by Christopher Zimmermann)

	* Netcgi connectors (SCGI, AJP, FCGI): unifying the ~sockaddr
          and ~port arguments. ~port now also assumes a loopback binding.
          (Suggested by Christopher Zimmermann).

2012-03-15  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Allowing posix_spawn again for MacOS. It turns out the
	  number of file actions is limited. If we are above the
	  limit, posix_spawn is not used.

2012-03-01  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Ssl_exts: adding function for returning the fingerprint of
	  a certificate

	* Https_client: new verify callback for additional certificate
	  checks

2012-02-29  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Release Ocamlnet-3.5.1

	* Fixing various build problems:
	  - FreeBSD-9: clock_getcpuclockid problem
	  - FreeBSD-9: PATH_MAX problem
	  - Mac OS: disbling posix_spawn (cannot debug this right now)
	  - Linux: adding -lpthread to ocamlopt link flags

2012-02-22  Gerd Stolpmann  <gerd@samsung>

	* Release Ocamlnet-3.5

	* Documentation: new Equeue_howto introduction into Equeue/engines

2012-02-21  Gerd Stolpmann  <gerd@samsung>

	* Netplex: new option "greedy_accpepts" for improving the speed
	  of Netplex systems accepting new connections at a very high
	  rate (> 1000/s).

	* Netplex: the constant workload manager gets the option
	  max_jobs_per_thread.

2012-02-20  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Netchannels: new option ~pass_through for buffered netchannels

	* Netshm_data.string_manager: speeding up (using memory_of_bigarray)

	* Netsys_mem.memory_of_bigarray: added

	* Netmcore_condition: There is now a second kind of wait_entry
	  allowing it to wait via file descriptor polling.

2012-02-16  Gerd Stolpmann  <gerd@samsung>

	* Http_client: fixing the case that a non-idempotent request
	  needs authentication, but should always be tried again even
	  if reconnect_mode does not allow to create a new connection.

	* Netplex: making many container methods/functions thread-safe

2012-02-15  Gerd Stolpmann  <gerd@samsung>

	* Uq_mt: this new module coordinates access to shared
	  engine-based resources from multiple threads (e.g.
	  share an RPC client by several threads)

	* Uq_ssl + Https_client: fixing problem when the client
	  times out while still connecting. Before, the module closed the
	  file descriptor too early. (Thanks to Henry Hughes for
	  reporting.)

2012-02-14  Gerd Stolpmann  <gerd@samsung>

	* XDR/RPC: implemented direct mapping from byte representation
	  to Ocaml value. Use new switch -direct with ocamlrpcgen to
	  enable.

2012-02-10  Gerd Stolpmann  <gerd@samsung>

	* Xdr: additional check against invalid XDR messages.

	* Xdr: calling Netnumber instead of Rtypes

	* Netnumber: speeding int8 readers and writers up (only on
	  64 bit systems)

2012-02-08  Gerd Stolpmann  <gerd@samsung>

	* epoll: Adding support. This is exported as "event aggregator" in
	  Netsys_posix (the API is prepared for other poll implementations).
	  There is also Netsys_pollset_posix.accelerated_pollset.

	* Netplex: Adding container_event_system and container_run
	  to [processor_hooks] so users can override these functions
	  (for using Lwt in Netplex containers).

2012-02-06  Gerd Stolpmann  <gerd@samsung>

	* Netsys_posix: Adding a second implementation for spawn
	  basing on posix_spawn

2012-02-05  Gerd Stolpmann  <gerd@samsung>

	* Netsys_posix: Adding POSIX clock functions. These allow
	  operations with nanosecond resolution

	* Netlog and Netdate have been extended to support high
	  resolution clocks. New "nanos" field in Netdate.t.

	* Netsys_posix: Adding event abstraction. Under Linux this is backed by
	  eventfd and timerfd. For other OS, an emulation with pipes is
	  available.

	* Netsys_posix: Adding POSIX timers. They can be connected with
	  events (the event is signaled when the timer expires).

	* Netsys in general: Splitting netsys_c.c up into several files.
	  Improved configure script.

	* Netplex_log: Using the new standard formatter.

2012-01-23  Gerd Stolpmann  <gerd@samsung>

	* Http_client: forgot to configure Digest authentication
	  for the convenience module (thanks to Paolo Donadeo for
	  finding it)

2012-01-13  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Fix memory leak: Adding finalizer for Netsys_posix.poll_mem
	  values (thanks to Henry Hughes)

	* Fix (build): ocamlrpcgen respects existing OCAMLPATH
	  (Dmitry Grebeniuk)

2011-12-30 Gerd Stolpmann <gerd@gerd-stolpmann.de>

        * Security: adding limit max_arguments to Netcgi. This is more
          a general measure of precaution against DoS attacks where
          a specially crafted POST request contains many keys that
          collide massively in the hash table. Actually, Ocamlnet is
          not directly vulnerable; however, application programs can
          nevertheless be when they access a degenerated hash table.

2011-10-12  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Release 3.4.1

2011-10-11  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Rpc_client: new functions get_xid_of_last_call, and
	  abandon_call

2011-09-23  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* rpc-auth-local: Implementing this for more types of OS.

	* Rpc: fixing some bugs

2011-09-20  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Rpc_client and Rpc_server: disabling the Nagle
	  algorithm. At the same time, Rpc_transport is improved
	  so it almost never calls write() several times with
	  small strings.

2011-09-10  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* bugfixes in the Netplex shutdown procedure

2011-08-30  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Uq_io: adding input_lines_e

	* IPv6 support for Neturl and Uq_resolver. Also fixes in Uq_socks5
	and netcgi2.

	* Netplex: print line number for syntax errors in config files.

	* Netplex: the method socket_directory returns an absolute
	path. The method startup_directory is now also available in
	containers.

	* Release 3.4

2011-08-29  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Http_client: one can set a different proxy server for each
	transport type

	* Netfs: new methods read_file and write_file, for file-based
	downloads and uploads, respectively.

	* Netfs: new method cancel to stop an upload prematurely

	* Http_fs, Ftp_fs: new method translate to get the URL for a file
	operation

	* Ftp_fs: the get_password and get_account functions take the user
	name as input 

2011-08-23  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Build fixes for Ocaml-3.11. There were some regressions.

2011-08-16  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* netcgi_apache: adding support for Findlib
	  (new directives NetcgiRequire et al)

2011-08-05  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Released: ocamlnet-3.3.7

2011-08-03  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Netplex: new workload_hook. It is called whenever a
	  connection is accepted or terminated.

	* Netplex: new config conn_limit to set the maximum number
	  of connections a container can accept

	* Netplex: new config gc_when_idle to run Gc.full_major
	  when the container is idle for some time

	* Reducing memory consumption (Uq_io and users such as
	  Http_client, Netplex, Rpc) by recycling bigarray buffers
	  more quickly

	* New admin messages netplex.mem.major, netplex.mem.compact,
	  netplex.mem.pools, netplex.mem.stats

	* Docs netplex_admin.txt

2011-07-29  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Shell: calling subprograms did not work when multi-threading
	  was enabled because of a caml_leave_blocking_section
	  without prior caml_enter_blocking_section. This is fixed.

	* Uq_ssl: Changed the method of closing SSL tunnels. Before,
	  a close-notify SSL message was sent, and also expected by the
	  peer before the connection was closed on TCP level. Now,
	  we half-close the TCP connection immediately after sending
	  close-notify. This seems to fix some SSL sessions where the
	  server ignores close-notify, and only reacts on TCP closes.
	  This method of closing seems to be ok with the standard,
	  which is apparently not very precise on SSL closures.

	* Released: Ocamlnet-3.3.6

2011-07-20  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Fix filter in Rpc_server: they are no longer accidentally reset for
          longer TCP messages

	* Fix Http_client: avoiding an assert when the server immediately 
	  responds without awaiting the request

	* Mimestring: reimplementing the MIME scanner w/o regexps. Also new
          string processing functions for iterating over lines.

        * Nethttpd: banning all regexps in message parsing that could cause
          stack overflows 

	* Nethttpd: Returning better Content-Encoding for statically served 
	  files. In particular, the encoding of compressed files is taken
	  into account

	* Released: Ocamlnet-3.3.5
	
2011-07-12  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Shell_sys: Fixing descriptor assignments (avoiding EBADF
	  errors)

	* Netplex: support for TCP_NODELAY in servers
	
	* Released: Ocamlnet-3.3.4

2011-06-24  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Rpc_client: fix for GSS-API authentication how
	  exceptions are passed back to the caller, avoiding
	  double callbacks

	* Packing error for Netglob_lex.

2011-06-16  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Rpc_client: fix when trying several authentication methods:
	  The original call is no longer marked as pending. This avoids
	  a hanging event system.

	* Netsys_posix: adding with_tty, tty_read_password

2011-06-14  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Adding Netsockaddr module, and a few conversion functions
	  for socksymbol

2011-06-13  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Fix: sending HTTP requests in URL-encoded form (thanks to
	  Joel Reymont for pointing it out)

	* Fix: redirects after POST

	* Fix: timeouts in Unixqueue_pollset no longer cause failed
	  assertions (thanks to Stphane Legrand)

	* Released: Ocamlnet-3.3.3

2011-06-12  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Fix: Http_client removed the query path from URLs accidentally

	* Released: Ocamlnet-3.3.2
	
2011-06-10  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Released: Ocamlnet-3.3.1

2011-06-10  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* FTP protocol: Finishing Ftp_client (w/ API changes). Adding Ftp_fs

	* HTTP protocol: adding support for TLS

	* HTTP protocol: can handle compression automatically

	* Adding tutorial for Netclient

	* Using Uq_resolver, finally

	* Adding Uq_lwt for (limited) compatibility with Lwt

	* Reorganizing regression test suite

2011-05-06  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Unixqueue: important bug fixes that were introduced since
	  Ocamlnet-3.2, and affect e.g. Http_client.

2011-04-29  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Preventing errors "Netchannels: Suppressed error in close_out:
  	  Netchannels.Closed_channel" (tentative fix)

2011-04-28  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Reverting Netencoding.Url to the implementation used
	  in Ocamlnet-2. The new impl introduces some incompatibilities
	  with Neturl.

	* Ocamlnet can now also be built without PCRE! Just configure
	  with -disable-pcre.

2011-04-14  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Test release: 3.3.0test1

	* Netmulticore: adding a lot of modules for managing shared
	  heaps. Also contains a tutorial now.

2011-03-07  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Netnumber: better successor of Rtypes, with both big-endian
	  and little-endian support. Rtypes is still available as
	  legacy module

	* Xdr, Xdr_mstring, Rtypes: have been moved to the "netstring"
	  library part

	* Adding support for GSS-API: The generic interface is defined in
	  Netgssapi. ONC-RPC support can be found in Rpc_auth_gssapi.
	  The authentication framework of ONC-RPC had to be slightly
	  extended.

	* Adding the SCRAM authentication method. Also includes an
	  encapsulation as GSS-API method.

	* Rpc_client: one can now set the user identifier (also for Rpc_proxy)

	* Rpc_server: added is_dummy

	* Netsys_rng: secure random numbers on all platforms
	
2011-01-31  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Rpc_proxy: if initial_ping is enabled, the calls are queued
	  up in the right order.

	* Netsys_posix: also allowing flags POSIX_FADV_* for better
	  compatibility with extunix.

2011-01-30 Gerd Stolpmann <gerd@gerd-stolpmann.de>

	* Build fixes for FreeBSD 8.1

	* Build fixes for Ocaml 3.11

2011-01-17  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Http_fs: PUT semantics can be better controlled with the
	  If-Match and If-None-Match headers.

	* Netchannels: Fixing some close_out problems when errors
	  occur while closing

2011-01-04  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Optimizations (especially async code)

	* Netplex_sharedvar.dump: new function for debugging

2010-12-23  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Released: Ocamlnet-3.2

	* Http_fs: fixing the case that the channel is closed before
	  everything is downloaded

	* Netfs: adding `Dummy as value to all flags

	* Netfs: fixing symlinks in iter and copy_into.

	* Netglob: behaves better when the pattern encoding is
	  distinct from the filename encoding

	* Shell_fs: expose input_stream_adapter, output_stream_adapter

2010-12-20  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Shell_fs: added stream_fs implementation via shell

2010-12-19  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Http_fs: added stream_fs implementation for HTTP

	* Netfs: new `Streaming flags for read and write

	* Netsys_tmp: new module for globally setting where temporary
	  directories are created

2010-12-17  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Netglob: new module for globbing

2010-12-16  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Netsys_posix: adding query_langinfo function for basic
	  locale support

	* Netconversion: new fn: user_encoding

	* Netfs: new abstraction representing simple filesystems
	  (both local and remote)
	
	* Netsys_posix: adding the *at functions (like openat).
	  Also fchdir and fdopendir are new.

2010-12-09  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Http_client: fixing aggressive connection caching. Also
	  new module Http_client_conncache for extending the functionality
	  of connection caches.

2010-12-06  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Netdate: Fixing possible exceptions

2010-11-27  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Netplex bugfixes: services could not be finished that had
	  already no containers

	* Netplex_semaphore: added destroy. Some functions can now be
	  called from controller context.

	* Netplex config files: added support for config_tree. No
	  longer defaulting to /etc/netplex. Instead, the suffix ".conf"
	  is appended to the name of the executable.

	* Adding Netmcore, Netmcore_camlbox

2010-11-23  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Released: Ocamlnet-3.1
	
	* Rtypes: on 64 bit platforms, negative ints were incorrectly
	  decoded

2010-11-22  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Uq_engines.Operators: generalized the type of ( >> )

	* Netsys_mem: init_value allows now to set the custom_ops
	  struct for custom blocks. Also, some corner cases for
	  bigarrays have been fixed. Renamed Copy_custom to Copy_custom_int.

	* Netsys_mem: new function copy_value

	* Netcamlbox: it is now also possible to put messages with
	  int32,int64,nativeint and bigarrays into boxes

2010-10-01  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Nethttpd: Fixing a bug in Nethttpd_services that prevents in
	  some cases that HTTP connections with pipelining are correctly
	  processed. This bug showed especially up in conjuction with
	  Nethttpd_engine.

	* Nethttpd: adding encap args in Nethttpd_plex.

2010-09-09  Gerd Stolpmann  <gerd@thinkpad.lan.sumadev.de>

	* Released: Ocamlnet-3.0.3

	* Nethttpd: Nethttpd_plex.nethttpd_factory got new arg
	  processor_factory. This allows it to override this
	  factory. (Caveat: this factory must be polymorphic.)

	* Netsys: netsys_oothr.cma no longer contains a reference to
	  Thread. New archive netsys_oothr_mt.cma for this.

	* Netsys: resolving circular dep netsys <-> netsys_signal

2010-08-31  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Released Ocamlnet-3.0.0

----------------------------------------------------------------------	
These are old change logs before the Ocamlnet-3 development
started.	
----------------------------------------------------------------------	

2008-03-30  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Adding netzip library

	* Enhancement: Netplex controllers can send and receive messages

	* Enhancement: Plugins for Netplex controllers

	* Adding Netplex_semaphore using the new plugin feature

2008-03-29  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Adding subchannel logging to Netplex

	* Adding access logging to Nethttpd

2008-03-04  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Recognize GNU/kFreeBSD (Stphane Glondu <steph@glondu.net>)

	* Fix: Upgraded equeue-ssl for use with ocaml-ssl >= 0.4
	  (thanks to Debian ocaml maintainers)

	* [ChriS]: Removal of old cgi stuff

	* [ChriS]: Preparing netcgi-apache for OCaml 3.11

	* Enhancements: Introducing pollsets and Unixqueue2.
	  This work is experimental for now and not yet complete.

2007-11-18  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Adding syscalls to Netsys: poll, fsync, fdatasync,
	  fadvise, fallocate, ioprio_get/set

2007-11-01  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Release 2.2.9

	* Fix: Http_client becomes more robust when it sees illegal header
 	  fields.

	* Fix: Netshm decodes pairs correctly
	
2007-07-31  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

        * Release 2.2.8
	
	* Fix: stop all timers on Netplex shutdown

	* Improved Netbuffer module

	* [ChriS]: Improved examples for netcgi2
	
2007-05-06  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Fix: For Unix domain sockets, getsockname and getpeername
	  may return EAFNOSUPPORT. This code is generated by the
	  OCaml runtime when it sees an address it does not support.
	  We handle this case as a connected socket with inaccessible
	  address. The problem was reported to happen for MacOS.

	* Fix: IPv6 is now supported by most functionality. Exception
	  is the SOCKS stuff.

	* Fix netcgi2: Improving compatibility of Netcgi1_compat,
	  such that nethttpd works together with netcgi2. Porting
	  examples/nethttpd/netplex.ml to nethttpd+netcgi2.

        * [ChriS]: Netcgi2-apache builds for Apache 2
	 
2007-04-09  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

        * Release 2.2.7
	
        * Including netcgi2-apache into the release
	
	* Fix: Error handling in Nethttpd.

	* Fix: Build of nethttpd examples

2007-03-28  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Release 2.2.6

	* Improving timeout handling in Rpc_client. TCP timeouts are now
	  handled better. Added Unbound_exception.

2007-03-05  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Release 2.2.5

	* Addition of Rpc_client.set_dgram_destination and
	  get_sender_of_last_response to support unconnected
	  UDP sockets.

2007-02-20  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Addition of EUC-KR, by Deokhwan Kim <dk@ropas.snu.ac.kr>

2007-01-18  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Fix: The library netshm needs bigarray as requirement.

2007-01-07  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Releases 2.2.3 and 2.2.4:

	Minor clean-ups in the build system.

2006-12-31  Gerd Stolpmann  <gerd@gerd-stolpmann.de>

	* Releases 2.2.1 and 2.2.2:

	Single build fix for Mac OS X.