-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
1104 lines (1050 loc) · 61 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
5.9.0 20260411
??: Facelift: Status / Index / Templates
??: Review: Optimization and corrections
??: Competition: 25 years Devwex, raffle 10x 3.5" disk with Seanox Devwex
Send an e-mail to devwex@seanox.com by 06/21/2026 and you could win one of
the 10 disks for free.
5.8.0 2025xxxx
BF: HTTP(S): Update / standardization of HTTP status messages
BF: HTTP(S): Omission of status 424, which was simply incorrect
Status 400 and 500 are now used correctly.
??: Windows: Update of service-32.exe / service-64.exe (prunsrv.exe 1.4.x)
??: Documentation: Update for Unix and Linux
??: Documentation: Architecture image
??: Service: devwex start [directory] (read all ini files from directory)
??: Automation (build, test, release) via GitHub actions
5.7.0 20241214
BF: Unix/Linux: Correction of the missing second start parameter in the bash script
BF: Windows: Correction of the missing second start parameter in the batch script
BF: HTTP(S): Correction of the Accept header when using CGI
The server has incorrectly determined the content type for the CGI.
Now the CGI must take care of the Accept header, as it should.
BF: Service: Optimization of automatic resource clean-up
BF: Service: Optimization for UTF-8
In relation to RFC 20, RFC 1345, RFC 2616, RFC 7230: 7-bit US-ASCII and in
extension ISO-8859-1 are supported for request and response.
CR: Unix/Linux: Optimization of bash scripts and runtime directory handling
- Optimization of JRE determination in the runtime directory
The Directory name does not matter, it is searched for files ./java,
./jre/bin/java and ./bin/java.
- Optimization when including the runtime sub-directories
The runtime directories and, if available, the bin subdirectory are added
to the PATH variable.
- Change of the automatic runtime-script integration
The ./runtime/scripts directory is omitted, the *.sh files are searched
in the root of the ./runtime directory.
CR: Windows: Optimization of batch scripts and runtime directory handling
- Optimization of JRE determination in the runtime directory
The Directory name does not matter, it is searched for files .\java.exe,
.\jre\bin\java.exe and .\bin\java.exe.
- Optimization when including the runtime sub-directories
The runtime directories and, if available, the bin subdirectory are added
to the PATH variable.
- Change of the automatic runtime-script integration
The .\runtime\scripts directory is omitted, the *.bat and *.cmd files are
searched in the root of the .\runtime directory.
CR: HTTP(S): Optimization of the composition of the UNIQUE_ID
CR: Documentation: Switch to Markdown
CR: Test: Review and Integration in build.xml (preparation for automation)
CR: Windows: Update of service-32.exe / service-64.exe (prunsrv.exe 1.4.0.0)
https://dlcdn.apache.org//commons/daemon/binaries/windows/
https://commons.apache.org/proper/commons-daemon/changes-report.html
5.6.0 20231227
BF: Review: Optimization and corrections
And the binary becomes a bit smaller again :-)
BF: Worker: Correction of the unwanted SocketException on stop and restart
The behavior is correct, only the error output is wrong.
BF: Worker: Correction of logging if the client closes the connection unexpectedly
In some cases, the http_host variable for logging was not yet set.
BF: HTML: Cleanup of the obsolete type attribute in the style tag
BF: Project: Update of slogan (Experimental Server Engine)
BF: (Class)Loader: Optimization and corrections of error handling
Important errors such as UnsupportedClassVersionError are no longer swallowed.
BR: Windows: Optimization and corrections for case insensitive commands
concerning service.cmd
CR: XAPI: Change method String Module.explain() to String Module.expose()
CR: SAPI: Change method String Server.explain() to String Server.expose()
CR: Documentation: Reduction to English
CR: Test: Integration of the test environment
The related devwex-test project is obsolete.
CR: Windows: Update of service-32.exe / service-64.exe (prunsrv.exe 1.3.4.0)
https://dlcdn.apache.org//commons/daemon/binaries/windows/
CR: Windows: Optimization of JRE determination
5.5.0 20221007
BF: Review: Optimization and corrections (without functional impact)
The binary is getting a little smaller again. I did not expect that :-)
BF: Generator: Correction when parsing structures
Structures deeper 65535 levels no longer cause an exception.
BF: SAPI: Correction of passed context to constructor
Until now the context always ended with section :INI -- that was wrong.
BF: HTTP(S): Added status 301 in the list of status codes
BF: HTTP(S): BLOCKSIZE, INTERRUPT, ISOLATION, TIMEOUT is changeable by virtual host
BF: Build: Empty storage directory is included in the zip file
CR: Build: Releases are now only available on the release page
CR: Build: Simplification when inserting release infos
CR: License: Changed to Apache License Version 2.0
CR: Service: Added configuration file as optional program argument for startup
usage: devwex [start] [file]
CR: SAPI: Constructors for servers support alternative signature(s)
Server(String context, Object initialize)
Server(String context, Initialize initialize)
CR: Windows: Update of service-32.exe / service-64.exe (prunsrv.exe 1.3.1.0)
CR: HTTP(S): Consolidation of TIMEOUT, DURATION, ISOLATION
TIMEOUT timeout for sockets (SO_TIMEOUT), request, streams, option [S] is omitted
ISOLATION maximum time of (X)CGI processes
If exceeded, the request is isolated and closed with an HTTP error status.
This also protects against blocked or extremely slow data streams.
DURATION is omitted
5.4.0 20210411
BF: HTTP(S) Server Status: Update of class 4xx
BF: HTTP(S) CGI: Correction of REQUEST_URI
Without normalization/decoding (unchanged as received from the client)
BF: HTTP(S) CGI: Correction of SCRIPT_URI / SCRIPT_URL
Without normalization/decoding (unchanged as received from the client)
BF: Service: Optimization / correction of Service::Print
BF: Documentation: Update / corrections
CR: HTTP(S) CGI: Output of the error pipe of the CGI process
CR: HTTP(S) CGI: PATH_CONTEXT replaces PATH_ABSOLUTE (omitted)
CR: Build: Target release replaced archive (omitted)
CR: Windows: Integration and merge of Seanox Devwex Service project
Maintenance, build and release of the Windows service integrated into this project.
The implementation of the service has been completely revised.
5.3.0 20200831
BF: HTTP(S) AccessLog: Correction in the file name of the log file (use http_host instead of remote_host)
BF: HTTP(S) Content Types: Correction of xml/xsl/xslt to use application/xslt+xml
BF: HTTP(S) Request: Correction of the request validation
In some cases the request is aborted with status 400 when the network connector is busy,
because the worker assumed that no data is being sent.
Statuses 408 and 413 may have been overwritten with status 400.
BF: Generator: Correction of expensive/hungry RegExp
e.g. #[xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx]
BF: Manual: Correction for chrome-based browsers
CR: Manual: Improvement of the navigation
CR: Project: Automatic update of the version in README.md
CR: Build: Harmonization when updating the version
CR: HTTP(S) Status: Added option [H] (Header Only)
The option is used in devwex.ini section STATUSCODES and indicates a status,
so that requests with this status are answered only with a header and without body.
CR: HTTP(S) CGI: Not allowed/configured methods are now answered with status 405
Previously the requests were answered with status 403.
CR: HTTP(S) CGI: Update of the PHP preparation
CR: HTTP(S) CGI: Change of the option [P] to [D]
CR: HTTP(S) Directory Index: Optimization / reduction of code
Generation of the file list in the Generator instead of the Worker.
CR: HTTP(S) Directory Index: Change from placeholder 'files' to 'file'
CR: HTTP(S) Directory Index: Omission of the formatting of the file size
Approach: The directory index should only provide locale independent data.
The formatting can later be done with CSS.
CR: HTTP(S) Directory Index: Realignment of the column 'type'
CR: Worker: Optimization / reduction of code
CR: Remote: Optimization / reduction of code
CR: Sources: Update of the comment format
CR: XAPI: Integration of cascaded components
e.g. com.seanox.xapi.Server > example.time.Server
Components/classes are bound by delegated/cascaded calls instead of inheritance.
This allows e.g. to use different constructors and the insertion of additional ClassLoaders.
Inheritance can still be used, also in combination.
5.2.0 20190502
BF: HTTP(S) Correction
- Basic Authentication / Digest Access Authentication: rules are used again case-insentive
BF: Generator: Correction when rendering successive placeholders #[...]#[...]
BF: HTTP(S) Request: Optimization/correction for invalid requests/connections without data streams
CR: Generator: Optimization / Review
- Optimization: Handling of segments/scopes/fragements
Improvement of dedicated and partial use
- Omission of namespaces, replacement by the dedicated/partial use of segments
- Change of syntax, omission of character ':' for segments
old: #[foo:[[...]]], new: #[foo[[...]]]
- Enhancement by a deep/recursive processing of Hashtable + Collections
- Change of the parser/renderer:
The template is initially prepared, the later addition of placeholders and/or
segments is no longer supported.
CR: HTTP(S) AccessLog: Optimization
- Change to a print formatted syntax
date/time %t... variables %[...]
- Change in default structure from filename to: <host>_<date>-access.log
CR: Project: Uniform use of ./LICENSE and ./CHANGES
CR: KeyStore: Change to use PKCS12
5.1.0 20180505
BF: Initialize: Korrektur Smart-Modus
- im Smart-Modus erstellte Sections werden wieder gehalten
BF: Section: Korrektur Smart-Modus
- im Smart-Modus angeforderte ungueltige Schluessel liefern wieder null
CR: Projekt: Anpasung KeyStore
- Entwicklung: Umstellung auf einen eigenen KeyStore unabhaengig vom Program(Release)-Verzeichnis
CR: HTTP(S): Optimierung/Korrektur
- Worker: Umbennung der Methode Worder::Initialize in Worker::Initiate
- AccessLog: Optimierung der Maskierung vom ASCII Bereich 0x00-0x20 / 0x80-0xFF / 0x0100-0xFFFF
0x00-0x20 / 0x80-0xFF verwenden \xXX und 0x0100-0xFFFF verwendet \uXXXX
- Directory Index: Umstellung der BreadCrumb-Navigation von path/base/name auf location/path/name
CR: (X)CGI / HTTP-XAPI / Templates: Optimierung
- Environment-Variable path_base wurde geaendert in path_url, analog zu script_url
CR: Konfiguration: Aenderung der Server/Service-Sektion
- Aenderung der Server/Service-Sektion, diese muessen jetzt auf :INI enden, bisher war es :BAS
CR: SAPI: Anpassung bei Initialisieurng und Fehlerausgabe
- Erweiterung der Fehlerausgabe beim Laden/Starten
- Umstellung der Ausgabe beim Initialiseren auf den Namen der Sektiones
- Umstellung der Initialisieurng per Konstruktor auf den vollstaendigen Context (Name der Sektion)
CR: Dokumenation: Allgemeine Korrektur und Anpassungen
- Allgemeine Korrektur und Anpassungen
5.0.0 20171206
BF: HTTP SERVER:SSL: Korrektur vom fehlenden TrustManager
BF: HTTP PUT: Korrektur/Optimierung in der Unterscheidung von Datei/Verzeichnis
Die Ressource ist ein Directory, wenn keine Content-Length gesendet wird.
Ob die URL auf Slash endet oder nicht, ist egal.
BF: HTTP Range: Korrekturen
- HTTP Range x-x verrechnete sich ggf. um ein Byte
- HTTP Range -x lieferte nicht die letzten Bytes
- HTTP Range verwendet nun auch Status 416
- Toleranz wurde verringert, ungueltige Werte werden nicht mehr interpoliert
BF: HTTP Locate: Korrektur der Pfadverarbeitung (Windows)
Der Dot-(Back)Slash-Bug in Windows (Punkt vor dem (Back)Slash) wurde korrigiert.
Beispiel: https://example.local/forbidden./foo.html konnte den Schutz von
/forbidden aushebeln, da /forbidden. offiziell nicht existiert, Windows aber
automatisch daraus /forbidden macht und ggf. hinterlegte Regeln und Direktiven
nicht greifen, da diese nicht /forbidden. abdecken.
CR: Projekt: Optimierung
- Umstellung auf Java5/8
- Umstellung der Testumgebung auf JUnit
- Umstellung der Historie auf den internen ChangeLog (release.txt)
- Optimierung vom Build-Prozess/Skript
CR: Dokumentation / Layout: Ueberarbeitung/Optimierung/Erweiterung
CR: Service
- CLEANUP Ueberarbeitung/Optimierung
Unterstuetzt nur noch on/off, Standardwert: off
- Wegfall der erweiterten Ausgabe (Startoption *)
- Remote/Telnet-Client Ueberarbeitung/Optimierung
Umstellung auf eine Standard (127.0.0.1:25000) oder frei waehlbare
Netzwerkverbindung als Programm-Argument. Die Ermittlung der
Remote-Verbindung aus der devwex.ini entfaellt. Wird der Client entfernt
benutzt, wird nur noch devwex.jar benoetigt.
- Aenderung der Methode Service.call(Class, String) in Service.load(Class, String)
- Erweiterung um Service.print(String, boolean)
CR: Generator: Ueberarbeitung/Optimierung/Erweiterung
- Umbenennung in Template
- Vereinfachung/Umstellung der Syntax auf #[...] #[0x...] #[...:[[...]]]
- Erweiterung um maskierte Text/Daten/Zeichen
- Generierung vom Segmenten wird jetzt direkt im mit der Set-Methode unterstuetzt
- Optimierung vom Parser und in der Verarbeitung
CR: HTTP Session/Worker: Ueberarbeitung/Optimierung/Erweiterung
- Umbenennung in Worker
- Implementierung der der HTTP-Methoden in separaten do-Methoden
- allgemeine Umstellung auf die einheitliche Verwendung von CGI-Variablen
betrifft u.a. (X)CGI, Filter, Status, Tempaltes
Request-Parameter/Header-Parameter werden direkt nach dem
- Variable "realm" entfaellt, dafuer gibt es die CGI-Variablen: auth_user, auth_type, auth_realm
- Variable "reference" geaendert in "location"
- Variable "process" geaendert in "gateway"
CR: HTTP Request: Ueberarbeitung/Optimierung
- Zusammenfassung von SLICING und TIMEOUT
Das initiale Lesen vom Request wird nun durch TIMEOUT begrenzt.
SLICING als eigenstaendiger Parameter entfaellt.
CR: HTTP DCGI: Ueberarbeitung/Optimierung/Umstellung auf XCGI
- das CGI-Environment wird dem HTTP-Request vorangestellt
CGI-Environment[CRLF][CRLF]Request-Header[CRLF][CRLF]Request-Body
- DCGI/XCGI Option [I] geaendert in [X]
- DCGI/XCGI Option [F] geaendert in [N] (Name)
- DCGI/XCGI Option [E] entfaellt
CR: HTTP AccessLog: Ueberarbeitung/Optimierung/Umstellung
- Erweiterung um benutzerdefinierte Ausgaben/Formate
ASCII Bereich 0x00-0x06 wird als Leerzeichen verwendet
- Erweiterung um die Verwendung von CGI-Variablen auch im Dateinamen
CR: HTTP Filter: Ueberarbeitung/Optimierung/Erweiterung
- Erweiterung um "matches" und die Verwendung von RegEx
- Umstellung der AND-Verknuepfung von [A] auf [+]
- Umstellung auf die ausschliessliche Verwendung von CGI-Variablen
Alle Request-Parameter / Header-Parameter werden als CGI-Variablen (http_...) bereitgestellt.
Konvertierung: Parameter-A wird zu http_parameter_a
Neu ist die CGI-Variable request, dieser entspricht der ersten Zeile vom HTTP-Request.
Bsp. GET /... HTTP/1.0
CR: HTTP Virtual Paths: Optimierung
- Virtuelle Pfade fuer einzelne Dateien wird wieder unterstuetzt
CR: HTTP MIMETYPES: Umbenannt in MEDIATYPES
CR: HTTP SERVER:BAS/VIRTUAL:BAS: MIMETYPE umbenannt in MEDIATYPE
CR: HTTP VIRTUAL:BAS: SERVER definiert welche Server den virtuellen Host verwenden duerfen
CR: HTTP Templates: Ueberarbeitung/Optimierung/Erweiterung
- als Variablen stehen nur noch die CGI-Variablen zur Verfuegung
- Fehlerseiten/Statusseiten lassen sich gruppieren (status-000.html, status-0xx.html oder nur status.html).
Die Ausgabe kann ueber die CGI-Variable http_status gesteuert werden.
CR: HTTP: Erweiterung der CGI-Variablen
- neu: auth_user, auth_type, auth_realm
- neu: remote_user = auth_user
CR: HTTP SERVER:SSL
- STORE umbenannt in KEYSTORE
- neues Standard-Passwort fuer den Keystore: changeIt
- Erweiterung um die Umgebungsvariable AUTH_CERT zur Pruefung eingehender Zertifikate
bei der Client-Authentication / Mutual-Authentication
- CLIENTAUTH: Erweiterung um die Option AUTO fuer eine tolerantes Verhalten
bei ungueltigen oder fehlenden Zertifikaten (Request wird vom Server beantwortet,
ggf. mit einer Fehlerseite)
CR: HTTP XAPI: Ueberarbeitung/Optimierung/Erweiterung
- Vereinfachung der API auf die Mehtoden Module.service() in Module.filter()
zur Implementierung von Web-Modulen und Filtern
CR: Initialize: Ueberarbeitung/Optimierung/Erweiterung
- Erweiterung um multiples EXTENDS
- Erweiterung um die Verarbeitung von Hex-Daten (Maskierung von Daten/Zeichen)
- Erweiterung um eine wahlweises "smarte" Verhalten
Schluessel werden automatisch angelegt, leere automatisch verworfen, ...
- namensgleiche Sektionen und Werte fuehren nun zum konsequenten Ueberschreiben
ein Teilen von Sektionen ist nicht mehr moeglich
CR: Section: Ueberarbeitung/Optimierung/Erweiterung
- Erweiterung um die Verarbeitung von Hex-Daten (Maskierung von Daten/Zeichen)
- Erweiterung um eine wahlweises "smarte" Verhalten
Schluessel werden automatisch angelegt, leere automatisch verworfen, ...
- Erweiterung um das Laden von Umgebungsvariablen (Reihenfolge: Wert, System-Properties, Umgebungsvariable)
- namensgleiche Sektionen und Werte fuehren nun zum konsequenten Ueberschreiben
ein Teilen von Sektionen ist nicht mehr moeglich
CR: Remote: Ueberarbeitung/Optimierung/Erweiterung
- Response: Wegfall vom Praefix "INFO:" beim
- STATE geaendert in STATUS
CR: XAPI: Ueberarbeitung/Optimierung/Erweiterung
- Aenderung der Methode Module.getCaption() in Module.explain()
Die Methode ist optional.
- Aenderung der Methode Module.destroy() diese muss nun implementiert werden
- Aenderung der Initialiserung
Diese erfolgt nur noch ueber den Konstruktor Module(String options).
Der Aufruf der Methoden Module.initialize(String options) entfaellt.
- Erweiterung vom Logging beim Laden
CR: SAPI: Ueberarbeitung/Optimierung/Erweiterung
- Aenderung der Methode Server.getCaption() in Server.explain()
Die Methode ist optional.
- Aenderung der Methode Server.destroy() diese muss nun implementiert werden
- Umstellung auf das Laden von Servern ueber gleichnamige Klassen
optional kann ein Scope/Paket mit der Implementierung angegeben werden
- Optimierung bei Initialisieurng
- Optimierung bei Ueberpruefung der API vor dem Laden
- Umstellung auf eine dynamische und objektbasiert Initialisieurng
Der Name der moeglichen Server-Sektionen beginnen dabei mit Klassennamen
der Server-Implementierung, zu der optional mit dem Schluessel SCOPE ein
Paket angegeben werden kann. Dadurch entfallen bisher reservierte Sektionen
wie z.B. SERVER:REMOTE:BAS und zusaetzliche Namen wie z.B. REMOTE in SERVER:REMOTE:BAS.
Namen koennen auch weiterhin verwendet werden, sind aber nicht mehr Pflicht.
Die Initialisierung erfolgt nun primaer ueber Sektionen mit der Endung BAS
und wenn eine entsprechende Implementierung im ClassPath gefunden werden
kann.
- Beim Beenden der Server wartet der Service nun konsequent.
Das Timeout und Entladen bei nicht endenden Servern wurde verworfen.
4.3.0 20130707
BF: HTTP Directory Index: Korrektur vom CSS der Templates fuer IE 9/10
CR: Service: Optimierung/Erweiterung
- Optimierung der Sequenz von Start, Restart und Stop
- Erweiterung um den ShutdownHook fuer CTRL+C zum kontrollierten Herunterfahren
CR: HTTP: Erweiterung um die Methode OPTIONS
CR: HTTP Configuration: Optimierung/Erweiterung
- Umstellung der Syntax fuer Referenzen von >> auf >
Betrifft u.a. SERVER:REF/FLT/CGI, VIRTUAL:REF/FLT/CGI
- SERVER:BAS/VIRTUAL:BAS METHODS, Wegfall vom Alias ALL
- SERVER:REF/VIRTUAL:REF, Erweiterung um die Options [X]
Weitergabe aller HTTP-Methoden an ein Modul, unabhaengig von SERVER:BAS METHODS
und VIRTUAL:BAS METHODS
CR: HTTP Module: Optimierung/Bereinigung
- Wegfall der Einspruenge: COMMAND, PROCESS, LOGGING, METHOD, LISTING, STATUS
4.2.0 20130401
BF: HTTP Module: Korrektur in der Uebergabe der Konfiguration bei der Initialisierung
CR: Configration: Optimierung
- COMMONS RELOADING geaendert in RELOAD
- COMMONS CLEARING geaendert in CLEANUP
CR: HTTP Directory Index: allgemeine Umgestaltung von Sortierung und Navigation
CR: HTTP Module: Erweiterung der XAPI um die optionale Uebergabe der Modul-Parameter
CR: SERVERSTATUS: Erweiterung um Status 101
CR: Test: Erweiterung der Pruefung der XAPI
Uebergabe der Konfiguration bei der Initialisierung
4.1.0 20120815
BF: HTTP Virtual Host: Korrektur in der Verwendung von VIRTUAL:BAS TIMEOUT
Im Fehlerfall wurde der Wert nicht beruecksichtigt.
BF: Server: Korrektur/Optimierung der Session/Connection-Expansion
Fuer den Fall, wenn kein MAXACCESS gesetzt wurde.
BF: HTTP GET/HEAD: Korrekturen
- Verzeichnisse: Wegfall von Content-Length und Last-Modified im Response-Header
- Verzeichnisse: If-Modified-Since/If-Unmodified-Since wird ignoriert
Im Fehlerfall wurden Request fuer Verzeichnisse auch mit Status 304 beantwortet.
CR: Projekt: Umstellung der Ant-Tags auf das Format @@@ant-[property]
CR: Service: Erweiterung von -Dlibraries zum das Laden von Verzeichnisse
CR: Module: Optimierung/Bereinigung
XAPI: Wegfall der optionalen Methoden mount/unmount
CR: Server: Erweiterung
- Option [S] fuer SERVER:BAS TIMEOUT / VIRTUAL:BAS TIMEOUT zur strikten Trennung
ausgehender Datenstroeme bei Leerlauf oder minderer Transferraten (z.B. < 4096 b/s)
CR: HTTP: Optimierung/Korrektur
- Anpassung der CGI-Variablen SCRIPT_NAME bei der Verwendung absoluter Pfaden
mit fester Skriptzuordnung.
CR: HTTP Configuration
- SERVER:BAS IDENTIFY geaendert in IDENTITY
- SERVER:BAS IDENTITY OFF deaktiviert die Serverkennung im Response-Header
- das System-Verzeichnis als ist virtuelles Verzeichnis standardmaessig deaktiviert
- AccessLog: Verlagerung ins Root-Verzeichnis
CR: HTTP GET/HEAD: Optimierung/Erweiterung
- Verarbeitung wurde zusammengefuehrt
- Erweiterung um "Partial Content"
- Erweiterung um den HTTP-Header If-Unmodified-Since
CR: HTTP Directory Index
- Template system.index.html geaendert in index.html
- Einbettung der Icons in die HTML-Datei (data:image/x-icon;base64)
CR: HTTP Templates: Optimierung
- HTML5/CSS: allgemeine Optimierung; Reduktion der Transferdaten bis zu 20%
- Status-Templates: Aenderung vom Format des Dateinamen status-[code].html
4.0.0 20110701
BF: HTTP Basic Authentication: Korrektur
- Status 401/302: Geschuetzte Bereiche konnten ueber Status 302/401/404 "abtaste"
werden (kein Sicherheitsrisiko). Nun wird konsequent Status 401 zurueckgegeben.
- leerer Realm-Text: Im Fehlerfall erzeugte ein leerer Realm-Text einen
fehlerhaften/ungewollten Pseudo-Realm.
BF: HTTP Response: Korrektur von Content-Length/Content-Type/Last-Modified
- Content-Length/Content-Type/Last-Modified nur bei Status 200
- Content-Length/Content-Type entfaellt in Fehler- und Status-Header, da keine
angeforderten Ressourcen/Daten/Verzeichnisse uebertragen werden.
- Content-Length/Content-Type nur bei existierenden Ressourcen/Verzeichnissen
- Last-Modified, nur bei existierenden Ressourcen
CR: Projekt: Umstellung auf Java 1.4
Die optionale Verwendung von SSE entfaellt.
CR: Configuration: Optimierung
- Wegfall vom Komma, Werte werden durch Leerzeichen getrennt
Betriff besonders die Sektionen / Schluessel: METHODS/DEFAULT/MIMETYPES
CR: Server: Optimierung
- Konfiguration: Schluessel SERVER:SSL CONTEXT entfaellt
CR: HTTP Configuration: Optimierung
- Sektion SERVER:REF/VIRTUAL:REF Option [access:...] geaendert in [acc:...]
- SERVER:BAS/VIRTUAL:BAS DEFAULT Trennung der Werte durch Leerzeichen
- SERVER:BAS/VIRTUAL:BAS METHODS Trennung der Werte durch Leerzeichen
CR: HTTP Filter: Optimierung/Erweiterung
- direkt Verwendung von Modulen ueber XAPI
- neue Bedingungen: CONTAINS, ALWAYS, EMPTY
Die Konstante EMPTY entfaellt und wird ersetzt durch die Bedingung EMPTY.
Die Bedingung INDEX wurde in CONTAINS geaendert.
CR: HTTP Authentication: Optimierung/Erweiterung
- Erweiterung um Digest Access Authentication (DAA)
- Basic Authentication: im Realm-Text enthaltene " werden jetzt maskiert
Das vermeidet Fehlinterpretationen beim Client.
- Erweiterung um die Verwendung von Gruppen (Sektion REF + ACC)
Benutzer lassen sich zu Gruppen zusammenfassen.
CR: HTTP AccessLog: Erweiterung um die Unterstuetzung von ' im Datei-Namen/-Pfad
CR: MIMETYPES: Trennung durch Leerzeichen statt Komma
CR: Manual: Verbesserung der Druckausgabe
3.5.0 20101010
BF: Devwex: Korrektur
- Startskript (Windows): Korrektur, wenn Variablen auf Backslash enden
Im Fehlerfall fuehrte es zum Fehler beim Aufrufer der Java-VM.
- Startskript (Windows): Korrektur beim Nachladen von Skripten
BF: HTTP Module: Korrektur
Der Einsprung COMMAND wird noch aufgerufen, wenn COMMAND definiert wurde.
BF: HTTP DCGI/CGI: Korrektur
Gleichnamige Request-Header werden jetzt korrekt uebergeben.
CR: Projekt: Umstellung der Versionsverwaltung auf Mercurial
CR: Devwex: Optimierung/Erweiterung
- Optimierung der Groesse
- Umstellung der Konfiguration auf Initialize + Section
Die Umstellung der SAPI fuehrt u.U. zur Inkompatibilitaet von alten Modulen.
- Startskript (Windows): Erweiterung um das Laden weiterer Batch-Skripte
CR: Service: Optimierung
- Usage: Optimierung/Verkuerzung der Konsolenausgabe
- Garbage Collector: wird nur noch bei abfallender Systemlast angefordert
CR: Module: Optimierung
- Methode Module::Mount zur Anbindung geaendert in Module::Bind
fuehrt u.U. zur Inkompatibilitaet von alten Modulen
- Umgebungsvariable module_core mit Konfiguration geaendert in module_opts
fuehrt u.U. zur Inkompatibilitaet von alten Modulen
CR: HTTP Server: Optimierung/Erweiterung
- Ueberarbeitung/Optimierung von Connection-Pool/Connection-Management
- Erweiterung um SERVER:BAS BACKLOG
Maximale Anzahl zurueckgestellter Anfragen beim Erreichen von MAXACCESS
max. Anzahl zeitgleicher Verbindungen
- Erweiterung um ISOLATION
Maximale Leerlaufzeit von Verbindungen bis zur Bereinigung
CR: HTTP: Optimierung
- Anpassung der Request-Verarbeitung
- Wegfall vom Request-Objekt, funktionale Verlagerung in das Session-Objekt
CR: HTTP Module: Optimierung
- Methode Session::Swap zur Einbindung von HTTP-Modulen geaendert in Session::Call
CR: HTTP Filter: Optimierung
- allgemeine Optimierung der Interpretation/Verwendung/Performanz
- Parameter FIRSTLINE geaendert in REQUEST
CR: HTTP Directory Index: Ueberarbeitung/Optimierung
- Ueberarbeitung/Optimierung der Sortierung
- Wegfall der Spalte Description (wird per Icon abgebildet)
- Variable http-location entfaellt, alternativ kann script_uri verwendet werden
- Ueberarbeitung der Symbole fuer Temporaere Daten/Komprimierte Daten/Multimedia
CR: HTTP Templates
- Parameter des Request-Headers sind nur noch mit dem original Namen nutzbar,
der bei CGI uebliche Praefix http_ entfaellt
3.4.3 20100410
CR: Generator: Verkuerzung/Vereinfachung der Syntax
CR: HTTP: Optimierung der Generierung der UNIQUE_ID
CR: HTTP DCGI: Verkuerzung der Protokoll-Signatur
CR: HTTP Directory Index: Ueberarbeitung vom Template und Integration von Icons
Seanox-Symbols wurde damit migriert.
CR: MIMETYPE: Erweiterung
3.4.2 20091003
BF: HTTP DCGI/CGI: Korrektur der max. Ausfuehrungszeit
Diese schliesst nun die Uebertragung der Request-Daten an das DCGI/CGI ein.
CR: Module: Erweiterung der XAPI/Sequenz und den Aufruf der Methoden mount/unmount
CR: Konfiguration: Umstellung auf FastCGI
- Umstellung der PHP-Distribution auf FastCGI
3.4.1 20090516
CR: Projekt: Umstellung der Testumgebung auf SSX
BF: Service: Korrektur vom ClassLoader
Im Fehlerfall wurde die Paketinformation nicht korrekt ermittelt.
CR: Service: Optimierung vom Ressourcen- und Speicher-Management
3.4.0 20090301
CR: Projekt: Umstellung der Lizenz auf die GPL 2.0
CR: Devwex: Optimierung vom Start-Skript
Vorbereitung fuer Erweiterung der Laufzeitumgebung durch PHP, Perl, ...
CR: Generator: Verkuerzung der Generator-Syntax
CR: HTTP Directory Index: Umstellung auf die vereinfachte Generator-Syntax
3.4.0 20081224
BF: HTTP SSL: Korrektur der Option SERVER:SSL CLIENTAUTH
Im Fehlerfall wurde die Einstellung nicht beruecksichtigt.
BF: HTTP Response: Korrektur der Verwendung von Content-Type
Der Response-Header wird noch gesetzt, wenn der Content-Type ermittelbar ist.
CR: Devwex: allgemeine Optimierung bei Performanz und Groesse
CR: Service: Erweiterung um einen Application-ClassLoader
Module werden unabhaengiger und lassen sich zur Laufzeit laden und entladen.
CR: Konfiguration: Optimierung
- Schluessel COMMON SMARTCLEARING geaendert in CLEARING
CR: Generator: Ueberarbeitung/Optimierung
CR: Server: Optimierung der Konfiguration
Der Schluessel SOCKET wird nicht mehr unterstuetzt, da die Art des Sockets jetzt
vom Server selbst erkannt wird.
3.3.0 20080524
BF: HTTP DCGI/CGI: Korrektur in der Belegung der CGI-Umgebungsvariablen SCRIPT_NAME
BF: Server: Korrektur der Konfiguration
- Korrektur bei der Vererbung der Sektionen MIMETYPES und STATUSCODES
BF: Configuration: Korrektur der Option + zur Fortfuehrung eines Schluessels
CR: Devwex: allgemeine Optimierung bei Performanz und Groesse
CR: Server: Optimierung/Erweiterung der Konfiguration,
- Verlagerung der SSL/TLS Konfiguration in die eigenstaendige Sektion SERVER:SSL
3.2.0 20080329
BF: HTTP Basic Authentication: Korrektur
Basic Authentication kann wieder auf einzelne Dateien angewandt werden
BF: Server: Korrektur vom Schluessel SERVER:BAS DEFAULT
Pfade mit Slash bzw. Backslash werden nicht mehr unterstuetzt, da diese auf
andere Verzeichnisse verweisen koennen.
BF: HTTP References: Korrektur/Optimierung
- das Sperren von Verzeichnissen erfolgt nun ausschliesslich auf Basis virtueller
Verzeichnisse, die Angabe physischer ist nicht mehr erforderlich
CR: Configuration: Optimierung/Erweiterung
- Erweiterung eine allgemeine Vererbung von Sektionen
Die Vererbung ueber den Schluessel IMPLEMENTS wird nicht mehr unterstuetzt.
- Sektion BASEOPTIONS geaendert in COMMON
- Erweiterung um die Option +
Beginnt eine Zeile mit dieser Option, wird der vorherige Schluessel fortgesetzt.
CR: Module: Optimierung/Erweiterung
- SAPI: Optimierung der Service::UseModul im Umgang mit InvocationTargetException
Der Cause wird jetzt weitergereicht und die Methode muss nicht mehr mit
Throwable behandelt werden.
CR: Server: Optimierung
- Konfiguration: Mit der allgemeinen Vererbung innerhalb der Konfigurationsdatei
wird der Parameter IMPLEMENTS nicht mehr unterstuetzt
- Endet der Server, werden alle Connections/Sessions ebenfalls zwangsweise
geschlossen/beendet und ggf. laufende DCGI/CGI-Prozesse beendet
CR: HTTP DCGI/CGI: Optimierung
- allgemeine Optimierung der Anbindung
- DCGI-Header: CGI-ENVIRONMENT geaendert in CGI
- Umgebungsvariable GATEWAY_INTERFACE wird nur noch beim (D)CGI-Aufruf gesetzt
- Umgebungsvariable MODULE_CORE wird nur noch bei Modulen gesetzt und enthaelt
den kompletten Modulaufruf mit allen Optionen und Parametern
- Enden Request und/oder Server-Instanz, wird der DCGI/CGI-Prozess ebenfalls
zwangsweise geschlossen/beendet
CR: HTTP AccessLog: Erweiterung um OFF bei SERVER:BAS ACCESSLOG zur Abschaltung
CR: HTTP Basic Authentication: Ueberarbeitung/Optimierung/Erweiterung
- Aufteilung in die Sektionen REF und ACC (Access Control Center)
- Sektion ACC: zur Verwaltung von Benutzer, Passwoerter und Gruppen
- Sektion REF: zur Deklaration der Basic Authentication und der Realm-Text
3.1.0 20071017
CR: Projekt: Anpassung zur Kompatibilitaet Java 1.2.x bis 1.6.x
CR: Devwex: allgemeine Optimierung bei Performanz, Fehlerausgabe und Groesse
CR: Devwex: neuer finaler Stand der SAPI (Server-API) und XAPI (Module-API)
CR: Service: Umstellung der Server-API
- Server muessen Runnable sowie die Methode Server::GetCaption und Server::Destroy
implementieren. Die Signatur vom Konstruktor wurde in Server::Server(String, Object)
geaendert. Die Konfiguration wird als Initialize-Objekt uebergeben.
- Verwaltung und Kontrolle der Server-Instanzen wurde ueberarbeitet. Die Server-Instanzen
werden kontrolliert gestartet. Das selbsttaetige Starten mit dem Konstruktors
ist nicht mehr zulaessig.
CR: Service: Erweiterung
- In der erweiterten Ausgabe werden nun die geladenen Ressourcen aufgelistet.
CR: Configuration: Optimierung der Fehlerbehandlung
Scheitert beim Neustart das Laden der Konfiguration, wird die zuletzt erfolgreich
geladene verwendet.
CR: Remote: Ueberarbeitung/Optimierung
- Umstellung auf die neue SAPI
- Ueberarbeitung/Optimierung von Connection-Pool/Connection-Management
CR: Module: Optimierung/Erweiterung
- Erweiterung um die Option [*] bei der Initialisierung von Modulen
So gekennzeichnete Module sind optional und fuehren zu keiner Fehlerausgabe,
wenn diese nicht verfuegbar sind.
Bsp. MODULE EXAMPLE = com.seanox.module.Example [*]
- allgemeine Verbesserung bei Erkennung und Verarbeitung der Modul-Optionen
CR: Server: Ueberarbeitung/Optimierung
- Umstellung auf die neue SAPI
- Ueberarbeitung/Optimierung von Connection-Pool/Connection-Management
CR: HTTP Directory Index: Optimierung der Sortierung fuer eine schnellere Generierung
CR: HTTP DCGI/CGI: Optimierung der Fehlerbehandlung fuer detailliertere Status-Codes
3.0.0 20061230
BF: HTTP COMMAND/DCGI/CGI: Korrektur vom Symbol [P]
Im Fehlerfall wurde der komplette Pfad verwendet.
BF: HTTP DCGI/CGI: Korrektur vom Server-Status beim Ueberschreiten der max. Verarbeitungszeit
Im Fehlerfall wurde Status 503 statt Status 500 gesetzt.
BF: HTTP DCGI/CGI: Korrektur bei der Verwendung der Methode ALL in der Deklaration
CR: Devwex: Optimierung in: Kompatibilitaet zu Java 1.2.x, Performanz und Groesse
CR: Service: Optimierung
- Umstellung als Singleton zur einfachere Integration in andere Anwendungen
CR: Service: Optimierung der Sequenz von Start, Restart und Stop
Sequenz (komplett):
Server Beenden, Module Beenden, Konfiguration laden, Bibliotheken laden, Module
initialisieren, Server Instanzen starten
- Mit Restart und Stop nun alle registrierten Module beendet
- Ausgabe: Erweiterung um die Dauer vom (Re)Start
- Ausgabe: Optimierung der Kommandozeilenausgabe
Diese erfolgt nun zeilenweise mit Zeitstempel, zusammenhaengende Informationen
werden strukturiert ausgegeben.
CR: Konfiguration: Optimierung
- Umstellung auf eine strenge zeilenweise Verarbeitung.
Die Reihenfolge der Sektionen und Schluessel bestimmt nun u.a. die Reihenfolge
der Initialisierung von Server und Modulen sowie die Abfolge der HTTP Filter.
CR: Remote: Ueberarbeitung/Optimierung/Erweiterung
- Umstellung auf die SAPI (Server API) und damit in eine modulare Server Instanz
- Konfiguration: Umstellung auf die eigene Sektion SERVER:REMOTE:BAS
Die Schluessel REMOTEPORT und REMOTEADDRESS der Sektion BASEOPTIONS entfallen
- Aenderung vom Timeout von 65535 auf 10 Sekunden
- Kommando STOP: Erweiterung um die Ausgabe vom Rueckgabewert
CR: Server: der Schluessel SERVER:MOD SERVER:CONNECTOR wurde verworfen
Die Deklaration von Servern wird nur noch ueber SERVER:BAS CONNECTOR unterstuetzt
CR: HTTP Server: Konfiguration: Sektion VIRTUALHOST geaendert in VIRTUAL
CR: HTTP Module: Update der XAPI auf Seanox Module-API 1.2006.12xx oder hoeher
CR: HTTP Module: Vereinfachung der Sektion SERVER:MOD
- Wegfall vom Praefix SESSION:
SESSION:FILTER ist FILTER, SESSION:LOGGING ist LOGGING, ...
FILTER, LOGGING, COMMAND, PROCESS, METHOD, LISTING, STATUS, SERVICE
- SERVER:CONNECTOR ist entfallen
CR: HTTP Module: Erweiterung um detailliertere Fehlermeldungen
CR: HTTP Filter: Konstante NULL geaendert in EMPTY
CR: HTTP Directory Index
- Optimierung der Performanz
- die absteigenden Sortierung bezieht nun alle Kriterien ein
CR: HTTP AccessLog: Optimierung der Fehlertoleranz bei Zeitsymbolen im Pfad
CR: HTTP: Optimierung der UNIQUE_ID
CR: HTTP COMMAND/DCGI/CGI: Erweiterung um detailliertere Fehlermeldungen
CR: SDK: Vereinfachung der Verzeichnisstruktur
2.10.0 20060415
BF: Service: Korrektur beim Laden einer nicht vorhandenen Konfiguration
BF: Configuration: Korrektur beim initialen Aufloesen der Systemvariablen
BF: Remote: Korrektur vom Restart (Kompatibilitaetsproblem bei Java 1.2.x)
BF: Generator: Korrektur beim Loeschen/Bereinigen von Segmeneten
BF: HTTP SSL: Korrektur beim Schliessen des InputStream vom Keystore im Fehlerfall
BF: Devwex: Optimierung im Umgang mit Steuerzeichen (Bereinigung/Behandlung/Verwendung)
CR: Service: Erweiterung/Optimierung
- Erweiterung um den Startparameter -Dlibraries zum Laden zusaetzlicher Bibliotheken
- Erweiterung vom Startbefehl um die Option * (Bsp. start*) zur Aktivierung
der erweiterten Fehlerausgabe
- Optimierung der Fehler- Behandlung/Ausgabe
CR: HTTP SSL: Erweiterung um SERVER:SSL CONTEXT zur Angabe der SSL-Implementierung
Standard: javax.ssl.net
2.9.0 20051220
BF: HTTP: Korrektur im Umgang mit der mitteleuropaeischen Sommer- und Winterzeit
BF: HTTP: Korrektur im Umgang mit unerwartet wegbrechenden bzw. beendeten Verbindungen
In einigen Faellen blieben Verbindungen als Objekt erhalten und wurden nicht
beraeumt. Dies konnte zum permanenten Status 503 sowie zu einer untypischen
hohen CPU Belastung fuehren (Danke Rainer Geigenberger).
BF: HTTP: Korrektur der Pfad-Verarbeitung
Unter Windows XP existiert ein Bug wenn Pfade \ \ \ enthalten. Diese verweisen
dann auf nicht physische Verzeichnisse. Daher werden Pfade jetzt auf physische
Existenz geprueft. Ein Sicherheitsrisiko bestand dadurch nicht.
CR: Devwex: Optimierung bei Stabilitaet und Performanz
CR: Service: Erweiterung der Konfiguration um den Schluessel BASEOPTIONS RELOADING
(De)Aktiviert den automatischen Neustart bei Aenderungen an der Konfigurationsdatei.
CR: Service: Erweiterung der Konfiguration um den Schluessel SERVER:BAS SLICING
Dient zur zeitlichen Begrenzung der Serveranfrage.
CR: Generator: Optimierung in Performanz und Ressourcenbedarf
Das Parsen der Templates erfolgt erst vor dem ersten Zugriff auf Segmente
und Strukturen.
CR: Module: Optimierung/Erweiterung
- Verfall der Initialisierung ueber SERVER:MOD SERVER:INITIALIZE:*
- Die Initialisierung wird nur noch ueber die Sektion INITIALIZE unterstuetzt.
- dem Konstruktor werden nun Konfiguration und Modultyp uebergeben
das entspricht der kommende Version der Seanox Devwex Modul API
CR: Konfiguration: Schluessel mit der Option [?] sind nun optional und werden
ohne Wert nicht mehr uebernommen. Somit ist eine optionale Konfiguration mit
dem Start des Servers moeglich und dient als Vorbereitung der in Zukunft bereitgestellten
Laufzeitmodule fuer Java, PHP, Perl und andere.
2.8.0 20050801
BF: HTTP Response: Korrektur der Zeitangabe im Header bei Verwendung von GMT
BF: Generator: Korrektur bei der Verarbeitung unbekannter Parameter und Segmente
Im Fehlerfall wurden Requests, welche Templates verwenden, ohne Response geschlossen.
CR: Remote: allgemeine Optimierung in der Request-Verarbeitung und der Konsolenausgabe
CR: HTTP: Erweiterung der MIME-Types
CR: HTTP Templates: wenige Anpassungen bei Markup und Style
CR: HTTP Directory Index: Erweiterung um die BreadCrumb-Navigation zum Verzeichnis-Pfad
CR: HTTP Methods: Erweiterung vom Schluessel SERVER:BAS METHODS um die Unterstuetzung
vom Wert ALL zur Annahme/Verarbeitung aller HTTP-Methoden. Ist eine angeforderte
Methode nicht implementiert, wird der Request mit Status 501 beantwortet.
CR: HTTP Request: Optimierung/Erweiterung der Verarbeitung von Pfaden und Referenzen
Virtuelle Pfade werden nun auch innerhalb von absoluten Pfaden unterstuetzt.
2.7.0 20050315
BF: HTTP Request: Korrektur vom Ausbrechen aus dem DocRoot ueber einen Mix aus
Text, MIME- und UTF-8-Kodierung in den Pfaden. Die dynamische Ermittlung der
Kodierung vom Pfad wurde zu Gunsten der Sicherheit auf eine feste umgestellt.
Der Mix von Text, MIME- und UTF8-Kodierung wird weiterhin unterstuetzt.
CR: Devwex: allgemeine Optimierung in Performanz und Groesse
CR: Service: Erweiterung um detailliertere (Fehler)Ausgaben beim Start vom Service
CR: Remote: Kommando TIME ist entfallen
Die Informationen vom Kommando TIME sind komplett in STATE enthalten.
CR: Remote: Erweiterung von STAT und VERS zur Ausgabe der Version vom Servers
CR: HTTP Directory Index: Optimierung/Erweiterung
- Aenderung der Richtung in der Sortierung
Template: system.index.html
- Erweiterung des Schluessel SERVER:BAS INDEX um die Option [S] zur Unterdrueckung
versteckter (System)Dateien/Verzeichnisse, womit diese nicht mehr im File-Index
angezeigt werden. Ein direkter Zugriff auf diese ist weiterhin moeglich.
CR: Module: Erweiterung um Start-Parameter und -Optionen
Module vom Type Process unterstuetzen nun auch Start-Parameter und -Optionen,
die mit der Umgebungsvariablen MODULE_CORE uebergeben werden.
2.6.0 20041224
CR: Service: Erweiterung um SmartClearing
Eine ueber den Schluessel BASEOPTIONS SMARTCLEARING konfigurierbare intelligente
Bereinigung der Ressourcen.
CR: HTTP Request: Optimierung der UTF-8 Dekodierung
CR: HTTP Directory Index: Optimierung
- Tag files:arts geaendert in files:base
Aenderung der Sortierung von a/A in b/B
Die Module Compress und Symbols muessen aktualisiert werden.
CR: HTTP DCGI/CGI: Optimierung/Erweiterung
- Begrenzung vom Response-Header auf 65535 Bytes
ein Ueberlauf fuehrt zum Status 500 (laut RFC sind nur 32768 Bytes moeglich)
- Entkopplung des Timeout der Skript-Ausfuehrung vom Datenstrom
Erweiterung um den Schluessel SERVER:BAS DURATION zur Begrenzung der maximalen
Ausfuehrungszeit
CR: Remote: Optimierung
- Umstellung der Erkennung vom Datenleerlauf auf SO_TIMEOUT
- Requests sind nur noch mit gueltigem Ende der Kommandozeilen (CR/LF) zulaessig
Die tolerante Ausfuehrung mit dem Timeout ist nicht mehr moeglich.
2.5.0 20040803
CR: HTTP Request: Optimierung in der Verarbeitung
Zur primaeren Verarbeitung wird nur noch der Request-Header gelesen.
Der Body wird nur noch bei Bedarf direkt an den Anforderer uebergeben, womit
der Request nicht mehr komplett in den Speicher geladen wird.
CR: AccessLog: Erweiterung um die Unterstuetzung von Symbolen der Zeit im Dateipfad
CR: Module: Bereitstellung vom Devwex SDK
- neue Bibliothek als Basis zur Modulentwicklung
2.4.0 20040525
BF: Server: Korrektur der Initialisierung von der Sektion SERVER:MOD
Beruecksichtigte die Eintraege mit SERVER:INITIALIZE nicht.
BF: Server: Erweiterung der Vererbung
Ohne werden definierte Connectoren nicht korrekt ermittelt.
BF: Server: Optimierung/Verbesserung der Performanz vom Restart
Der theoretische Fall des Haengens (laengere Wartezeit) wurde beseitigt.
BF: HTTP Module: Korrektur der Anbindung per Session::Swap
Bei den per SERVICE definierten Modulen wird nun der Konstruktor und auch
wieder die Methode Module::Service aufgerufen.
BF: HTTP: Korrektur vom Response der Status-Klasse 1xx
Entsprechend der RFC 2616 wird nur eine Header aber kein Body gesendet.
Eventuelle fuer diese Klasse definierte Templates werden ignoriert.
CR: Server: Optimierung/Erweiterung
- COMMAND: Erweiterung um die Option [M] der Moduldeklaration
- Konfiguration: Sektion RESPONSECODES geaendert in STATUSCODES
- Konsolenausgabe: Erweiterung der Kennung um das Protokoll (TCP, UDP, ...)
CR: Module: Optimierung/Erweiterung
- API: Erweiterung der Schnittstelle(n)
zur einfachen Implementierung von:
Server, Service, Filter, Command, Process, Method, Index, Status und Logging
Bereitstellung von:
Connection, Cookie, Environment, Fragment, Request, Response und Server
Diese unterstuetzen u.a. Multipart-Objekte, (De)Kodierung BASE64, UTF8, MIME
- Einsprung: Optimierung von SERVER:BAS SERVICE / SERVER:MOD SESSION:SERVICE
Das Schliessen des Sockets, das Abmelden aus der Sessionliste vom Server
und die AccessLog werden generell von Session::Destroy ueberommen.
- Initialisierung: Optimierung
Module/Ressourcen werden nur einmalig geladen und bei mehrfacher Deklaration
geteilt verwendet
- Benachrichtigung / Sequenz: Optimierung
Mit dem Beenden des Servers wird nun auch der Modul Container und somit
die dort registrierten Module informiert.
- Container: Umstellung vom Standard Modul Container wurde auf das Paket
com.seanox.module.Container; dieser wird nun immer zuerst initialisiert
- Moduleinsprung SERVICE: Verlagerung von Session::Service in Session::Run
Services werden unabhaengiger. Der Server uebernimmt nur noch die Registrierung
und Verwaltung der Session und das optionale Schliessen des Sockets.
Request-Verarbeitung, Protokollierung und Fehlerbehandlung muessen im Service
implementiert werden.
CR: HTTP DCGI: Umstellung vom Datenformat
0x07 0x07 <Variable> 0x07 <Wert> 0x07 <Variable> 0x07 <Wert> 0x07 ... 0x01
Das Byte 0x07 ist das Trennungszeichen der einzelnen Fragment.
Das Environment wird dem klassischen CGI-Daten vorangestellt, beginnt mit
der Doppelfolge 0x07 0x07 und endet mit 0x01.
CR: HTTP DCGI/CGI: Erweiterung um den Response-Header HTTP/STATUS
Beginnt der Response-Header mit HTTP/STATUS (Gross- und Kleinschreibung wird
ignoriert), wird das Skript komplett abgearbeitet und der Datenstrom vom Server
ausgelesen, nicht aber an den Client weitergereicht. Die Beantwortung vom
Request uebernimmt entsprechend dem Status der Server. Templates und Weiterleitungen
werden dabei unterstuetzt.
2.3.0 20040212
CR: Devwex: Erweiterung um das optionale Startmodul Starting
Eine Java basierte Alternative zur dynamischen Erweiterung des ClassPaths.
2.2.0 20040124
BF: HTTP DCGI/CGI: Korrektur vom AccessLog bei Server-Status ungleich 200
CR: Server: Optimierung/Erweiterung
- Konfiguration: Sektion BASEOPTIONS Schluessel EMAIL, Sektion SERVER:BAS Schluessel
NAME, Sektion VIRTUALHOST:BAS Schluessel NAME sind entfallen
- BASEOPTIONS EMAIL entfaellt, kann mit SERVER:ENV SERVER_ADMIN gesetzt werden
- automatische Ermittlung vom Namen des Servers
Die Option kann ueber SERVER:BAS IDENTIFY und VIRTUALHOST:BAS IDENTIFY fuer
das CGI (de)aktiviert werden.
- kann fuer SERVER:BAS SYSROOT/DOCROOT bzw. VIRTUALHOST:BAS SYSROOT/DOCROOT
kein phys. Verzeichnis ermittelt werden, wird das Arbeitsverzeichnis verwendet
- Mimetypes: Optimierung und Ueberarbeitung der Einrichtung und Ermittlung
- Basic Authentication: Korrektur der Intoleranz in der Gross- und Kleinschreibung
vom ACCESS-Tag in den Sektionen SERVER:REF und VIRTUALHOST:REF
Nutzer, Passwort und Realm-Text sind davon nicht betroffen
- Konfiguration: SERVER:BAS MAXACCESS
ungueltigen Werten (< 1) werden mit dem Standard 100 verwendet
CR: Module API: Ueberarbeitung/Optimierung
- Erweiterung der Konfiguration um die Sektion INITIALIZE zur Initialisierung
von Modulen mit dem (Re)Start vom Service
- Erweiterung der Sektion SERVER:MOD um SERVER:INITALIZE zur Initialisierung
von Modulen mit dem Start des Servers
- Erweiterung der Sektion SERVER:MOD um SERVER:CONNECTOR sowie der Sektion
SERVER:BAS um CONNECTOR zur Einbindung eigener Server-Connectoren
- Verlagerung der Synchronisation von Objekten in die Module
CR: Generator: Ueberarbeitung/Optimierung
Leistungssteigerung: bis zu 100-fache Steigerung der Template-Verarbeitung
CR: Configuration: Ueberarbeitung/Optimierung/Erweiterung
Umstellung auf Initialize und Parameters
CR: Remote: Kommando STAT geaendert in STATE
CR: Devwex: Optimierung bei Stabilitaet, Performanz, Groesse und Konsolenausgabe
2.1.0 20030901
BF: HTTP HEAD: Korrektur von IF-MODIFIED-SINCE
- Optimierung/Erweiterung der Methode HEAD und DELETE
CR: Devwex: allgemeine Optimierung der Groesse
CR: HTTP Server: Aenderung der Sektion SERVER:BAS
- Schluessel SCHEME geaendert in SOCKET (Wert: SECURE oder NORMAL) und kann
nicht mehr durch einen virtuellen Host ueberschrieben werden
CR: HTTP Directory Index: allgemeine Optimierung
- Aufteilung vom Template system.index.in die Segmente "index" und "file"
- Variable file-arts liefert den Wert "directory" oder "file"
CR: HTTP Templates: allgemein Anpassungen/Optimierung (Markup und Style)
CR: Initializeblock: Optimierung in der Ermittlung von Systemproperties
CR: Manual: Optimierung/Erweiterung
- Erweiterung um die englische Dokumentation
- Erweiterung um das Verzeichnis "manuals" fuer Modul- und Server-Dokumentation
2.0.0 20030620
BF: HTTP Request: Korrektur der Pfad-Verarbeitung von < und > unter Windows
- Bug in der Windows Java VM
BF: HTTP Filter: Korrektur der Intoleranz in der Schreibweise der Methoden
BF: Server: Anpassung der Konsolenausgabe und Korrektur der Dokumentation
CR: Projekt: Umstellung auf Package com.seanox.devwex
CR: Devwex: Intergration vom Modulkonzept
Die neuen APIs unterstuetzen beim Hinzufuegen neuer oder beim Erweitern und
Aendern bestehender Funktionen.
CR: HTTP CGI: Erweiterung um die Methode ALL
Mit diesem Alias werden alle eingehenden HTTP-Methoden an das CGI weitergeleitet.
CR: HTTP Command: Begrenzung der Verarbeitung auf den Request-Header
Die Daten des Request werden nicht mehr durchgereicht.
CR: Devwex: allgemeine Optimierung der Groesse
CR: Remote: allgemeine Optimierung (inkl. der Ausgabe)
CR: HTTP Filter: Optimierung und Erweiterung
- Filter werden bei nun jedem Server-Status angewandt, nicht 400 und 5xx
- Erweiteurung um die Methode ALL, womit alle Methode greifen
- Verweise auf Scripte und Resourcen werden direkt und ohne Redirection ausgefuehrt
CR: HTTP Request: Ueberarbeitung vom Handling der Referenzen
1.16.0 20030415
BF: HTTP HEAD: Korrektur des u.U. doppelten Header
CR: Service: allgemeine Optimierung
Ressourcen-Management, Performanz, Datenzugriffe, Fehlerbehandlung
CR: Configuration: Erweiterung um die Option [?]
Entsprechend gekennzeichnete Schluessel werden ueber die Systemproperties der
Java Laufzeitumgebung Umgebung aufgeloest. Ist dies nicht moeglich wird ein
optional angegebener Wert verwendet.
CR: HTTP SSL/TLS: Integration SSL/TLS mit JSSE
CR: HTTP Server: Optimierung vom Request- und CGI-Handling (Performance, Systemauslastung)
CR: HTTP Server: Timeout wirkt bei SO_LINGER und DCGI/CGI
DCGI/CGI endet mit Status 500, wenn keine Daten zurueckgegeben werden.
CR: Service: Erweiterung der Ausgabe von Systeminformationen auf der Konsole
CR: Remote: Begrenzung der Verbindungsdauer auf max. 65535 ms
1.15.0 20030219
BF: HTTP Request: Gross- und Kleinschreibung der Request-Methoden wird nun ignoriert
CR: HTTP Templates: Anpassung der Systemtemplates
- Inhalt und Struktur der Dateinamen
CR: Manual: Umstellung auf HTML
CR: HTTP REF: Optimierung vom Handling der Referenzen
CR: HTTP Request: Vereinfachung in der Normalisierung der Pfade
CR: HTTP DCGI/CGI: Erweiterung
- neu CGI-Variable PATH_ABSOULTE
absolute Pfadinformation der URL bei absoluten Referenzen
- PATH_INFO wird durch PATH_URL ersetzt
Templates welche diese verwenden, z.B. index.htm, muessen angepasst werden.
- PATH_INFO wird erst bei absoluten Referenzen mit der erweiterten Pfadinformation
zur Verfuegung gestellt
1.14.0 20021224
BF: HTTP REF: Korrektur bei Redirections in Kombination mit Basic Authentication
und absoluten Verweisen
BF: HTTP CGI/DCGI: Korrektur vom Response der HEAD Methode
Der Response war. u.U. unvollstaendig, wenn die Methode nicht fuer das Interface
eingerichtet wurde.
CR: HTTP REF: allgemeine Ueberarbeitung in der Kontrolle und Steuerung der Referenzen
CR: HTTP REF: Erweiterung der Sektion der Referenzen um die Option [access:none]
Die Basic Authentication kann damit partiell aufgehoben werden.
CR: HTTP Basic Authentication: Optimierung/Erweiterung
Basic Authentication laesst sich bis auf Dateien anwenden, was jedoch nicht
von alles Browsern problemlos unterstuetzt wird.
CR: HTTP AccessLog: Optimierung
Der Zeilenumbruch wird nun passend zum Betriebssystem im Format verwendet.
MAC: [CR], UNIX/Linux: [LF], Windows: [CRLF]
CR: HTTP DCGI/CGI: Entkopplung der HTTP-Methoden
Somit koennen weitere HTTP-Methoden implementiert werden.
1.13.0 20021024
BF: HTTP: Korrektur beim Schutz vom Verzeichnis \"/\" mit der Option [access]
CR: Remote: Optimierung/Ueberarbeitung
Der Telnet-Zugriff wurde optimiert und ressourcensparender gestaltet.
CR: HTTP Request: Begrenzung vom Header auf 65535 Bytes und 100 Sekunden fuer
die Initialisierung
CR: HTTP: Optimierung vom Decode fuer BASE64 und DOT
1.12.0 20020917
CR: HTTP: Optimierung der UNIQUE_ID
CR: HTTP Request: allgemeine Optimierung/Ueberarbeitung vom Handler
CR: Devwex: allgemeine Optimierung der Groesse
CR: HTTP: Erweiterung um Basic Authorization
Der Zugriff auf Verzeichnisse kann mit Benutzer und Passwort geschuetzt werden.
CR: HTTP: Optimierung/Ueberarbeitung vom Handling der virtuellen Verzeichnisse
1.11.0 20020819
BF: HTTP HEAD: Korrektur bei gesperrten Verzeichnissen
Es werden keine Informationen mehr ueber enthaltene Dateien ausgegeben.
CR: HTTP Filter: Erweiterung um Referenzen erweitert
Die Filter unterstuetzen damit gemeinsame Templates und Adresse Weiterleitung.
CR: Devwex: allgemeine Optimierung der Groesse
CR: HTTP Request: allgemeine Optimierung der Request-Verarbeitung
CR: HTTP DCGI/CGI: Begrenzung der Laenge vom Datenstream durch Content-Length
Ist diese im Request nicht enthalten werden alle Bytes an das DCGI/CGI uebergeben.
1.10.2 20020728
BF: Configuration: Schluessel INTERUPT wurde in INTERRUPT geaendert
BF: HTTP AccessLog: Synchronisation der Protokollierung
Fuer einen besseren Dateizugriff bei parallelen Request.
1.10.1 20020601
BF: HTTP Request: Korrektur/Ueberarbeitung
- sicherer und fehlertolerantere Pfad-Verarbeitung
- Korrektur vom Absturz der MS Java VM bei ueberlangen Requests/Pfaden
1.10.0 20020520
BF: HTTP Request: Optimierung fuer eine flexiblere Verarbeitung
BF: HTTP DCGI: Korrektur vom fehlerhaften CRLF Eintrag im DCGI-Header
BF: HTTP Mimetype: Optimierung in Ermittlung/Aufloesung
BF: HTTP HEAD: Korrektur der fehlenden CONTENT-LENGTH
BF: HTTP DCGI/CGI: Korrektur vom AccessLog
Der per DCGI/CGI gesetzte Serverstatus wird jetzt richtig uebernommen.
Ohne Serverstatus wird 200 verwendet.
BF: HTTP DCGI/CGI: Korrektur in der Verarbeitung vom Serverstatus
BF: HTTP AccessLog: Optimierung
Die Protokollierung wurde der Request-Verarbeitung nachgelagert.
U.a. blockiert somit die Connection nicht mehr bei ggf. laengeren Auffuehrungszeiten
beim Aufloesen vom REMOTE-HOST in grossen Netzwerken.
CR: Devwex: allgemeine Optimierung der Groesse
CR: Server: Optimierung in der Verwendung vom Parameter SERVER:BAS:ADDRESS
Dynamische Adressen werden nun auch ohne Neustart des Servers bei AUTO beruecksichtigt.
CR: SERVER/VIRTUALHOST: Erweiterung der Sektion REF
Die Option [A] wird nun fuer Verzeichnisse und Dateien unterstuetzt.
Bsp. APPS = /apps >> ../apps/index.php [A]
1.9.0 20020422
BF: HTTP Reference: Optionen/Direktiven werden nun vor der Verwendung entfernt
BF: HTTP Directory Index: bei Verzeichnissen wurde der Dateityp entfernt
BF: HTTP AccessLog: wegbrechende Request werden jetzt mit Status 400 protokolliert
CR: HTTP DCGI/CGI: Optimierung/Erweiterung/Korrektur
- beginnt der DCGI/CGI-Response mit HTTP/ gefolgt vom Satus-Code, wird dieser
vom Server uebernommen
- REMOTE-HOST wird nicht mehr vom Server ermittelt, da es in grossen Netzwerken
zu langen Antwortzeiten fuehren konnte
Die Ermittlung vom REMOTE-HOST fuer den Accesslog wurde beibehalten.
CR: HTTP Filter: Optimierung/Erweiterung
- Erweiterung um die Funktionen STARTS und ENDS
- Erweiterung um die Verwendung der CGI-Variablen
CR: Devwex: allgemeine Optimierung der Groesse