-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
3056 lines (1760 loc) · 89.7 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
2019-02-25 Berend de Boer <[email protected]>
* !STDC_BUFFER: add new method peek_byte which returns a NATURAL_8.
* !EPX_MIME_PART: Fix bad assertion about Content-Length
2018-07-16 Berend de Boer <[email protected]>
* !EPX_MIME_BODY_STRING.stream: bug fix: always returned first value, even on second use.
2018-03-08 Berend de Boer <[email protected]>
* !ABSTRACT_FILE_SYSTEM: `is_existing' and `is_regular_file' now
use the effective uid, just to annoying when running
setuid. Change only affects setuid programs who relied on this behaviour.
2017-07-31 Berend de Boer <[email protected]>
* !EPX_OPENSSL: connected using ssl3, now will only use tls.
2017-07-27 Berend de Boer <[email protected]>
* !EPX_TIME: can now accept a ISO 8601 date time string.
2017-07-26 Berend de Boer <[email protected]>
* !EPX_HTTP_10_CLIENT: returns a 500 instead of 503 when there was
an issue connecting to the given server (bad host name, or
connection refused).
2017-07-05 Berend de Boer <[email protected]>
* !EPX_SYSTEMD_DAEMON: support creating type simple systemd daemons.
2016-01-14 Berend de Boer <[email protected]>
* !Add sendto() API call. Still needs better support in UDP server socket.
2015-08-28 Berend de Boer <[email protected]>
* Make EWF code work against latest Eiffel-Web-Framework.
2014-10-30 Berend de Boer <[email protected]>
* !Sockets: renamed `fd' to `socket' for socket classes.
* !Multicast: added multicast support for UDP sockets.
2014-08-21 Berend de Boer <[email protected]>
* !EPX_IMAP4_RESPONSE_PARSER: now properly upgraded to latest geyacc/gelex.
2013-08-07 Berend de Boer <[email protected]>
* !Suport READABLE_STRING_8: at some places the argument can now
be a READABLE_STRING_8, not just a STRING. This avoids copying and
allows people to use read-only strings.
2013-08-02 Berend de Boer <[email protected]>
* !STC_PATH.parse: precondition failure parsing path in root,
i.e. like /tmp
2013-07-26 Berend de Boer <[email protected]>
* !Two new SUSv3 functions supported: statvfs()/fstatvfs().
* !Started to use READABLE_STRING_GENERAL. This breaks any
compatibility with SmartEiffel eposix still might have had.
2012-05-12 Berend de Boer <[email protected]>
* !Eiffel Web Framework support: new fastcgi classes.
* !EPX_FILE_DESCRIPTOR: open_truncate did not open the file with
write permission, it only truncated it, but didn't allow read.
2012-03-17 Berend de Boer <[email protected]>
* !STDC_BUFFER: new routines poke_uint16,
poke_uint16_little_endian, poke_uint16_big_endian
2012-03-15 Berend de Boer <[email protected]>
* !ABSTRACT_TCP_SERVER_SOCKET.accept: when the process was
interrupted, this caused an exception. But receiving a signal is
not an error.
2012-03-14 Berend de Boer <[email protected]>
* !EPX_DAEMON: improvement upon POSIX_DAEMON with some useful
default capabilities like listening to stop signals.
* !EPX_WATCHDOG_DAEMON: as EPX_DAEMON but will restart if
terminated unexpectedly, so useful for stuff that always needs to
run like system daemons are (web) app servers.
2011-07-16 Berend de Boer <[email protected]>
* !EPX_HTTP_11_CLIENT: digest authentication supported.
2011-07-11 Berend de Boer <[email protected]>
* POSIX_FORK_ROOT.after_execute: new feature to do something after
`execute' but before process termination.
* EPX_ENV_VAR: I want to have EPX_XXXX classes for everything.
* STDC_ENV_VAR.exists: obsolete, use is_set.
2010-12-30 Berend de Boer <[email protected]>
* !EPX_XML_WRITER.put_new_line: can now be called without upsetting
indenting. Might give different output in case you are emitting
real documents, but this works much better for tree structured
output.
2010-12-24 Berend de Boer <[email protected]>
* !EPX_EXEC_PROCESS: when stdout is not captured, output is
redirected to /dev/null, necessary else child program might block
if its output is not read.
2010-12-16 Berend de Boer <[email protected]>
* STDC_PATH.parse: postcondition failure if passed double slashes
before program name: /tmp//program
2010-12-11 Berend de Boer <[email protected]>
* EPX_XML_WRITER.add_data: should allow adding data when building
a fragment without having to start a tag first.
2010-09-23 Berend de Boer <[email protected]>
* Release 3.2.1.
2010-09-21 Berend de Boer <[email protected]>
* STC_TIME.to_local: wrong C code for 64 bit environments.
* read_line: supports line length up to 8192 characters from 1024
before truncating.
2010-05-01 Berend de Boer <[email protected]>
* STDC_FILE.max_line_length: increased from 1024 to 8192.
2010-04-28 Berend de Boer <[email protected]>
* EPX_CRYPTO_FEATURES: easy access to md5 calculation.
2010-04-27 Berend de Boer <[email protected]>
* EPX_HTTP_11_CLIENT: parsing HTTP responses when chunked encoding
was used, failed in about 1 out of 10 cases.
2010-04-23 Berend de Boer <[email protected]>
* EPX_CGI.error_unauthorized: also emit body if set, not only
header.
2010-01-09 Berend de Boer <[email protected]>
* Release 3.2.0.
* NET_LOGGER: format of log changed somewhat.
2009-12-25 Berend de Boer <[email protected]>
* STDC_TIME.to_utc: on FreeBSD errno was set after the first call,
so explicitly reset errno.
2009-12-24 Berend de Boer <[email protected]>
* EPX_MIME_BUFFER: fix to handle case where body was larger than
Content-Length was incorrect: still 1 character too much was read.
2009-11-10 Berend de Boer <[email protected]>
* EPX_XML_WRITER.force_valid_string: Incorrect for character codes
> 255...
2009-10-09 Berend de Boer <[email protected]>
* Beta release 3.1.5.
* Windows: Fixed EPX_CURRENT_PROCES and EPX_EXEC_PROCESS to take
is_pid_valid changes into account.
2009-10-07 Berend de Boer <[email protected]>
* EPX_HTTP_10_CLIENT: Handle case where server doesn't send a
response phrase, only a response code (i.e. only "HTTP/1.1 200"
instead of "HTTP/1.1 200 OK").
2009-10-07 Berend de Boer <[email protected]>
* Third beta release 3.1.4.
2009-06-12 Berend de Boer <[email protected]>
* Second beta release 3.1.3.
* EPX_HTTP_10_CLIENT.read_response_with_redirect: did not redirect
if redirect was to a different server.
* EPX_CHARACTER_BUFFER: adapted to change in KI_CHARACTER_BUFFER
where `as_special' has become a deferred routine. And `as_special'
must now return a value because of a change in
YY_COMPRESSED_SCANNER_SKELETON which made it Void
safe.
* configure: fixed bug where gec was not recognised (reported by
Colin Paul Adams).
* configure: default compiler is now gec.
2009-06-02 Berend de Boer <[email protected]>
* SUS_SYSLOG: buffer overflow possible (not on stack) when opening
syslog.
2009-05-29 Berend de Boer <[email protected]>
* EPX_FILE_SYSTEM.mkdir: security change: newly created
directories are now also accessible by everyone (formerly only by
user) unless changed by the umask that is in effect.
2009-05-15 Berend de Boer <[email protected]>
* EPX_TCP_CLIENT_BASE.tcp_socket: postcondition failure even when
exception on C call errors was turned off.
2009-03-23 Berend de Boer <[email protected]>
* Rewrite of child/current process structure as weird things were
happening. I think I didn't understand Eiffel's select mechanism
very well.
2009-03-19 Berend de Boer <[email protected]>
* EPX_MIME_EMAIL.attach_file: new feature to attach a file to an
email.
* Manual: example how to attach files to an email.
2009-02-21 Berend de Boer <[email protected]>
* EPX_FILE_SYSTEM.is_directory: and basically everything that
calls `abstract_access': this feature sets errno, and if something
doesn't exist, it isn't really an error. So errno is now reset,
else paths further in the code might inadvertedly think errno is
set. Code that expects errno to be set afer this call, will
break. It should call posix_access straight, instead of going
through an abstraction function.
* ABSTRACT_FILE_SYSTEM.make_directories: new function to create
more than 1 directory at once.
2009-02-13 Berend de Boer <[email protected]>
* EPX_XML_WRITER.tag: new feature that can return the name of any
parent element.
2009-01-20 Berend de Boer <[email protected]>
* First beta release 3.1.2.
2008-12-20 Berend de Boer <[email protected]>
* Support for mingw32.
2008-11-29 Berend de Boer <[email protected]>
* EPX_EXEC_PROCESS: with this change the child didn't work on
SmartEiffel. Somehow the current code trips up SE, so added some
trickery to make this working again.
2008-11-24 Berend de Boer <[email protected]>
* EPX_EXEC_PROCESS: due to POSIX_FORK_ROOT.pid change, the pid was
no longer the child pid.
2008-11-11 Berend de Boer <[email protected]>
* EPX_MIME_BUFFER.fill: possible invariant violation for chunked
input.
* Compiles on Windows again.
2008-11-04 Berend de Boer <[email protected]>
* POSIX_FORK_ROOT.pid: selected wrong features.
2008-10-29 Berend de Boer <[email protected]>
* EPX_HTTP_10_CLIENT.post: if data is set to form encoded and the
body is not multiplart, it is assumed the body is already encoded
in the proper format.
* EPX_HTTP_10_CLIENT.read_response_with_redirect: did not submit
body data when redirected.
* EPX_MIME_PARSER: parsing MIME message without a body could lead
to a postcondition failure.
2008-10-28 Berend de Boer <[email protected]>
* POSIX_GROUP.is_member: new feature
2008-10-16 Berend de Boer <[email protected]>
* Alpha release 3.1.1.
2008-10-04 Berend de Boer <[email protected]>
* EPX_MD5_CALCULATION: MD5 checksum support added.
2008-08-15 Berend de Boer <[email protected]>
* ABSTRACT_TCP_SOCKET.set_nodelay: set TCP_NODELAY option.
* ABSTRACT_INTERNET_SOCKET: new features set_low_delay and
set_throughput to minimize delay or maximise throughput
* EPX_HTTP_10_CLIENT.put: remove wrong precondition that content
type was only allowed to be one of two specific type.
* EPX_HTTP_10_CLIENT.send_request: method made public to allow
sending more kinds of verbs.
2008-08-14 Berend de Boer <[email protected]>
* STDC_BUFFER: implement twin and is_equal
* EPX_HMAC_CALCULATION: HMAC calculation which can use SHA1 or
MD5.
* EPX_SHA1_CALCULATION: SHA1 calculation.
2008-08-13 Berend de Boer <[email protected]>
* STDC_BUFFER: new 64 bit integer read and write routines. Also
optimised reading 32 bit integers and characters by using inline
C.
* STDC_BUFFER.put_character: new feature, more Eiffel like than
poke_character.
2008-08-08 Berend de Boer <[email protected]>
* Made sure all wipe_out calls call STRING_.wipe_out so they don't
create new memory.
2008-08-02 Berend de Boer <[email protected]>
* Fixed all catcalls reported by gec.
2008-08-01 Berend de Boer <[email protected]>
* Support for VisualEiffel removed.
* EPX_URL_ENCODING: inherits from UT_URL_ENCODING (Colin Paul
Adams).
* Updated config.guess and config.sub so newer OSes should be
recognised better.
* EPX_HTT_URI_RESOLVER.resolve: empty path resolves to "/" (Colin
Paul Adams).
2008-07-24 Berend de Boer <[email protected]>
* SUS_TEMPORARY_FILE: didn't properly set name with ISE Eiffel,
so returned name was always the template, not the real temporary
file name.
2008-06-25 Berend de Boer <[email protected]>
* EPX_ARRAY_HELPER: eposix have various issues on ISE o 64-bit
platforms as it assumed a 4 byte pointer in this class (thanks
Lennart Gustafsson).
2008-05-30 Berend de Boer <[email protected]>
* EPX_HTTP_10_CLIENT.delete: didn't accept data, but it
should. Breaking change.
2008-05-28 Berend de Boer <[email protected]>
* EPX_HTTP_10_CLIENT.post: made a_post_data an optional parameter.
2008-05-27 Berend de Boer <[email protected]>
* p_unistd.c::posix_fork(): amended definition to use the special
ISE fork routine in case multi-threading is enabled (Emmanuel Stapf).
* EPX_SMTP_CLIENT: emit CRLF for single LF, just as the spec says.
* EPX_CGI: emit 500 status on fatal error.
2008-05-26 Berend de Boer <[email protected]>
* EPX_XHTML_WRITER: potential catcalls removed (Colin Paul Adams).
2008-04-19 Berend de Boer <[email protected]>
* Changed eposix license to MIT.
2008-04-17 Berend de Boer <[email protected]>
* Signal and exit handling rewritten. cecil no longer used, and it
now works with gec as well.
2008-04-08 Berend de Boer <[email protected]>
* STDC_SYSTEM.time_zone_seconds: new feature to return the number
of seconds between UTC and the local time zone.
2008-03-24 Berend de Boer <[email protected]>
* EPX_MIME_EMAIL_HEADER.set_bcc: new method
2008-03-07 Berend de Boer <[email protected]>
* EPX_XML_WRITER: when a & is followed by a # it is assumed a
character reference follows, so the & is not replaced by &
Previously character references were made invalid.
2008-01-30 Berend de Boer <[email protected]>
* NET_LOGGER_FIELD.is_valid: allow other characters than 7bit, so
you can write UTF8 characters, saw no good reason to forbid that.
2008-01-24 Berend de Boer <[email protected]>
* EPX_STRING_INPUT_STREAM.read_string: didn't work, fix by Colin
Paul Adams.
2008-01-23 Berend de Boer <[email protected]>
* EPX_CGI.if_match and if_none_match: new feature to return value of
If-Match and If-None-Match header.
2007-12-25 Berend de Boer <[email protected]>
* SUS_SYSLOG: identification passed to syslog should be a pointer
that remains valid. On ISE Eiffel the pointer was only temporary,
leading to garbage in the log.
* EPX_LOG_HANDLER: now based on the NetLogger classes. Breaking
change!
2007-12-24 Berend de Boer <[email protected]>
* New NetLogger API classes for logging which replace the ULM
classes (plug compatible).
* ULM logging classes are obsolete, and no longer included by
default in the library.xace.
2007-12-20 Berend de Boer <[email protected]>
* Segment violation on Windows when using STDC_TIME.to_utc. Due
to bug in posix_gmtime (Jocelyn).
2007-12-11 Berend de Boer <[email protected]>
* EPX_MIME_HTTP_HEADER.set_vary: set contents of Vary field.
2007-12-07 Berend de Boer <[email protected]>
* EPX_HTTP_10_CLIENT: now encodes spaces to + characters if a
passed uri fragment contains them.
2007-11-12 Berend de Boer <[email protected]>
* src/spec/ge/EPX_STRING_HELPER: fixed compile issues for gec.
* src/supportc/eiffel.h: gec fix: define EIF_INTEGER and such to
the default values as gec doesn't define them.
2007-08-10 Berend de Boer <[email protected]>
* EPX_CGI: Exception if no data was passed in a POST
request. Probably a corner case, but I decided to accept such a
request, basically there will be non key/value pairs, so clients
can check for any required values if they consider this to be an
error.
2007-06-09 Berend de Boer <[email protected]>
* EPX_CGI: if body data was present for a request, any parameters
in the query part of a URL were ignored. That's incorrect, they're
just part of the data as well as the body data is. The body data
takes preference though, it overrides any values for the same keys
present in the query part of the URL.
2007-05-26 Berend de Boer <[email protected]>
* ABSTRACT_FILE_SYSTEM.file_content_as_string: crash if size of
given file was 0.
2007-05-24 Berend de Boer <[email protected]>
* STDC_SIGNAL_SWITCH_ACCESSOR: removed invariant, gave strange
crash on ISE. If set to global once, it works however (Patrick
Ruckstuhl).
2007-05-21 Berend de Boer <[email protected]>
* eposix.ecf: works now out of the box when multithreading is
enabled (Patrick Ruckstuhl).
2007-05-18 Berend de Boer <[email protected]>
* release 3.0.
* WINDOWS_SYSTEM: two new functions to retrieve the
high-performance timer frequency and current count. Can be used
for high-resolution timing (requested in March 2004 by Brian
Heilig...).
* EPX_MIME_PARSER: MIME parser parsed field Content-Disposition
without stripping directory components from the filename
parameter.
* Two new email writing examples: writing HTML email, and writing
a multipart/related email, with both HTML and text content.
* EPX_MIME_EMAIL_HEADER.make_default: adds the MIME-Version field.
* All C calls that are potentially blocking, are now marked as "C
blocking" in ISE specific code. That means that a lot of the API
classes now reside in spec/<compiler> directories.
2007-05-17 Berend de Boer <[email protected]>
* EPX_HTTPS_URI_RESOLVER: new class (thanks Colin Paul Adams for
noting it was missing).
2007-05-07 Berend de Boer <[email protected]>
* posix_syslog: possibility for format string vulnerability (DDJ
March 2007) because second argument was actually a C format
string. Everyone who uses syslog should upgrade to the new
release.
2007-03-28 Berend de Boer <[email protected]>
* EPX_CGI: better mechanism to detect if data is available in the
QUERY_STRING environment variable or via stdin.
* EPX_MIME_PART.append_to_string: only appends a Content-Length
field if `auto_insert_content_length' is set to True as this is
not appropriate in all cases, and did confuse at least my own MIME
parser in some cases.
* EPX_MIME_PARSER: if bodies inside a multipart body had a
Content-Length, parsing stopped after such a body. Now such
Content-Length fields are ignored.
* EPX_CGI: don't write body when request method is HEAD.
2007-03-14 Berend de Boer <[email protected]>
* EPX_CGI.if_modified_since: new feature to return value of
If-Modified-Since header.
* STDC_TIME: now conversion routine `as_dt_date_time' to return a
Gobo DT_DATE_TIME object.
* STDC_TIME: new creation routine make_from_dt_date_time, to
initialize from a Gobo DT_DATE_TIME object.
* EPX_MIME_PARSER: new creation routine make_from_string.
2007-03-13 Berend de Boer <[email protected]>
* EPX_MIME_FIELD_LAST_MODIFIED: new class.
* EPX_CGI: error message + abort when CONTENT_LENGTH not set and
method other than GET is called.
2007-03-07 Berend de Boer <[email protected]>
* STDC_FILE.open_write: new feature.
* Solaris: fixed library compile issue.
* c_signal_handling.c: signal_switch is now of type EIF_OBJECT.
* c_exit_handling.c: exit_switch is now of type EIF_OBJECT.
42007-03-02 Berend de Boer <[email protected]>
* beta 2.5.1.
2007-02-17 Berend de Boer <[email protected]>
* ABSTRACT_TCP_SERVER_SOCKET: don't set the SO_REUSEADDR option on
Windows as it does something completely different: it screws up
your system. Really. Read
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/using_so_reuseaddr_and_so_exclusiveaddruse.asp and shiver.
* ABSTRACT_TCP_SERVER_SOCKET.set_reuse_address: `enable' parameter
was ignored, value was always set.
2007-02-01 Berend de Boer <[email protected]>
* POSIX_FILE_DESCRIPTOR.close_on_execute: did nothing.
2007-01-27 Berend de Boer <[email protected]>
* EPX_HTTP_10_CLIENT.read_response_wit_redirect: new method to
read a response and follow up on redirects until the redirects end
(or 20 redirects have been processed).
* EPX_MIME_PARSER: unlike the RFC 2617 as I read it Apache returns
WWW-Authenticate with parameters separated by comma's. This is now
handled correctly.
2007-01-26 Berend de Boer <[email protected]>
* socket multiplexing patch from Till G. Bay merged. This makes
eposix usuable for Goanna without patches.
* ABSTRACT_SOCKET/EPX_SOCKET now inherit from ABSTRACT_DESCRIPTOR
and no longer contain file specific features.
* EPX_FILE_DESCRIPTOR: generic descriptor code moved to new class
EPX_DESCRIPTOR.
* ABSTRACT_DESCRIPTOR: class with most functionality from
ABSTRACT_FILE_DESCRIPTOR, but contains only descriptor specific
functionality, not file descriptor
functionality.
2007-01-17 Berend de Boer <[email protected]>
* EPX_TCP_CLIENT: default now raises an exception when a
connection to a serve can't be opened (previously it returned not
is_open), this is more consistent with how eposix works. Set
continue_on_error to get the previous behaviour.
* STDC_BASE: new feature `inherit_error_handling' to inherit
error handling like raising an exception from another class.
2007-01-15 Berend de Boer <[email protected]>
* EPX_XHTML_WRITER: new features set_onclick and script.
2006-11-30 Berend de Boer <[email protected]>
* STDC_FILE.put_string: now supports writing of strings wtih %U
characters. Strings are also used as buffers in Eiffel, it was a
bit surprising that only C like strings could be written. This
could have an impact on performance.
2006-11-29 Berend de Boer <[email protected]>
* SUS_TEMPORARY_FILE: create temporary file based on mkstemp(), so
filename is available.
* STDC_TEMPORARY_FILE.name: no longer exported as not applicable.
* STDC_FILE and ABSTRACT_FILE_DESCRIPTOR: they no longer use
incompatible identifiers to refer to their name: it's simply name
now, as inherited from Gobo's stream network. So rename filename
and path to name. Old features marked as obsolete.
2006-11-14 Berend de Boer <[email protected]>
* EPX_MIME_PARSER: added some rudimentary cookie parsing, only
name=value is parsed properly, all the other fields are in
parameters, but not available yet through nice names, although it
might appear that way.
* EPX_HTTP_10_CLIENT: added features is_authentication_required,
authentication_scheme and authentication_realm to help identify
what authentication is required.
2006-11-13 Berend de Boer <[email protected]>
* EPX_HTTP_10_CLIENT: Added set_basic_authentication to include
the authorization header in case the server uses basic
authentication.
2006-11-01 Berend de Boer <[email protected]>
* STDC_FILE_SYSTEM.write_string_to_file: new feature to write
contents of a string to a file. File is always created.
2006-10-28 Berend de Boer <[email protected]>
* EPX_MIME_HEADER.set_content_type: new method.
2006-10-24 Berend de Boer <[email protected]>
* EPX_TCP_CLIENT: use make_secure to create an https connection to
the server. Needs the openssl binary to create such connections.
2006-10-23 Berend de Boer <[email protected]>
* STDC_FILE/ABSTRACT_FILE_DESCRIPTOR.eof: made eof obsolete, so we
are now fully Gobo compatible by using `end_of_input'.
2006-10-04 Berend de Boer <[email protected]>
* EPX_MIME_BUFFER: class invariant could fail under certain
circumstances when an HTTP server used chunked encoding.
2006-09-30 Berend de Boer <[email protected]>
* EPX_MIME_EMAIL_HEADER.set_cc: new method
* Fixed a nasty bug in FreeBSD socket handling. It seems sockets
set EWOULDBLOCK even when data is returned for FreeBSD 5 and
higher. So errno is now explictly reset when data is returned, so
routines expecting errno to be set only on errors behave like
expected.
* Some Makefiles contained some constructs not supported by
FreeBSD make.
2006-08-23 Berend de Boer <[email protected]>
* EPX_CGI: support for PUT method.
2006-07-31 Berend de Boer <[email protected]>
* Ugraded automake/autoconf to 1.9.6/2.6.
2006-07-29 Berend de Boer <[email protected]>
* Added all POSIX error codes to POSIX_CONSTANT, included EPIPE.
* EPX_URI: obsolete, now use Gobo's UT_URI.
* Removed long obsolete classes as ARRAY_HELPER, CHARACTER_HELPER
and STRING_HELPER.
2006-07-22 Berend de Boer <[email protected]>
* STDC_FILE.put_string contained a check instruction that failed
if a UC_STRING was passed with a real Unicode character. Check
instruction removed.
2006-07-08 Berend de Boer <[email protected]>
* EPX_CGI: moved to separate directory eposix/src/epxc/cgi
2006-06-30 Berend de Boer <[email protected]>
* EPX_XML_WRITER: now uses the stricter routines from
XM_UNICODE_CHARACTERS for name and content validation. The
corresponding routines in EPX_XML_ROUTINES have been made
obsolete.
2006-06-21 Berend de Boer <[email protected]>
* STDC_PATH.directory_separator: exported to all.
2006-06-10 Berend de Boer <[email protected]>
* EPX_CGI.is_valid_request_method: new feature which can return
false in case the request method is not recognised. The EPX_CGI
will return 405 in that case.
2006-06-05 Berend de Boer <[email protected]>
* EPX_CGI.status: did not emit new line after header, so the next
header effectively became part of the status reason.
2006-05-31 Berend de Boer <[email protected]>
* ABSTRACT_STRING_HELPER: uc_string_to_pointer and
do_uc_string_to_pointer had an incorrectly specified precondition
`not_prematurely_terminated'. This was due to a late minute fix
due to some Gobo renames, it only affected release 2.4.
* EPX_XML_WRITER: uses append_item_code instead of append_code due
to rename in Gobo CVS.
* EIF_OBJECT wasn't defined for Visual Eiffel when compiling the C
binding.
2006-05-30 Berend de Boer <[email protected]>
* release 2.4.
2006-05-26 Berend de Boer <[email protected]>
* EPX_CGI: new feature `status' which can signal to the server
what status code, response code, to return to the browser.
* EPX_IMAP4_CLIENT: new feature fetch_header_and_flags.
2006-05-25 Berend de Boer <[email protected]>
* EPX_CGI: has_key didn't initialise the key/value pair data
structure which `value' and `raw_value' did.
* EPX_MIME_PARSER: now parses most of the fields which contain a
list of email addresses such as the from, to, cc and bcc fields.
2006-05-20 Berend de Boer <[email protected]>
* EPX_XHTML_WRITER.img: features to add an image.
2006-05-18 Berend de Boer <[email protected]>
* same_string: fixed various unsafe STRING comparisons, thanks to
Colin Paul Adams for the list.
2006-04-21 Berend de Boer <[email protected]>
* library.xaxce: SmartEiffel + msc required linking in the
Advapi32.lib.
2006-04-17 Berend de Boer <[email protected]>
* EPX_IMAP4_RESPONSE_PARSER: Binc imap server included a flag that
should not have been included in the FLAGS flag list.
2006-04-14 Berend de Boer <[email protected]>
* beta release 2.3.2.
2006-04-03 Berend de Boer <[email protected]>
* EPX_MIME_PARSER: support for Transfer-Encoding chunked.
* EPX_MIME_PARSER.parse_body: does not take an argument
anymore. Determining length of message body is now entirely based
on the previously parsed header.
* EPX_MIME_PARSER: now based on new parser.
2006-03-31 Berend de Boer <[email protected]>
* EPX_EXTENSION_FILTER: now accepts all directories and will
recursive to any depth. Filenames must still match the filter
though.
* ABSTRACT_DIRECTORY.forth: when an extension filter was set, and
recursive browsing was specified, directories were not recursived
because they did not match the extension filter. Introduced the
option validate_directory in ABSTRACT_PATH_FILTER to give a filter
the option to accept directories, and not include them in the
filter.
* EPX_FILE_SYSTEM.browse_directory: now returns an EPX_DIRECTORY.
* EPX_DIRECTORY: class equal to ABSTRACT_DIRECTORY. People should
use this as I want to face out seeing ABSTRACT_XXXX in code
outside of eposix.
2006-03-22 Berend de Boer <[email protected]>
* EPX_CHARACTER_HELPER has been marked as obsolete. There's
perfectly valid Gobo code to do this.
2006-03-21 Berend de Boer <[email protected]>
* Gobo Eiffel Compiler support added. Use --with-compiler=gec.
* src/capi/c_exit_handling.c and src/capi/c_signal_handling.c:
used EIF_OBJECT to store a reference, changed that to the proper
EIF_REFERENCE.
2006-02-17 Berend de Boer <[email protected]>