forked from dosemu2/dosemu2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.old
5307 lines (5303 loc) · 248 KB
/
ChangeLog.old
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
2004/03/07 ver 1.3.0 released
From Clarence
- etc/dosemu.conf, etc/global.conf, src/base/init/config.c,
src/base/init/lexer.l.in, src/base/init/parser.y.in,
src/env/video/X.c, src/include/emu.h: Add $_X_title_show_appname.
From Stas
- emu.c: Shut up annoying error.
- src/base/dev/pic/pic.c:
Limit the amount of error messages.
- src/dosext/dpmi/: dpmi.c, dpmi.h, memory.h, msdos.c:
* Added retf, iret and jmpf instructions handling in msdos.c.
* Use a more consistent register translation technique.
* First (yet mostly unsuccessfull) attempt on uncommitted memory
support:
- Virtual Support extension added
- DPMI functions 0x506 and 0x507 added
- All the necessary functions for memory requesting/mapping added
- Functions for changing memory attributes added.
Uncommited memory is being allocated with an anonymous mmap(),
and therefore can not be aliased (not from SHM pool).
"Uncommittness" is done via the PROT_NONE protection, which
guarantees a page fault on access.
But only a few programs are working properly with this
implementation right now. It definitely requires more work.
- emm.h, emu.h, dosemu.conf, global.conf, config.c, lexer.l.in,
parser.y.in, emm.h, emm.c, xms.c, dpmi.c, dpmi.h, memory.h,
msdos.c, msdos.h:
* First step to Blinker extender support
* The PM API translator now uses the EMS page frame to save 64K
of conventional memory.
* $_pm_dos_api option introduced which allows to disable the API
translator to preserve the possibility of disabling EMS and
getting extra UMB space without disabling also DPMI).
* First step at solving bug #902742 (most is_dos_selector()
checks removed, but not all).
An exec'd DPMI program is now "forked" as a separate DPMI
client. Memory structures were changed to allow sharing
allocations between parent and child clients.
- src/dosext/mfs/mfs.c: Dont use RPT_SYSCALL on readdir(3)
- src/: include/serial.h, arch/linux/async/signal.c,
base/dev/pic/pic.c, base/serial/ser_irq.c,
base/serial/ser_ports.c, dosext/dpmi/dpmi.c, emu-i386/do_vm86.c,
emu-i386/simx86/trees.c:
Next round of serial low-latency work.
* Remove serial_run() from everywhere, add it to the SIGALRM
handler. With the async notifications, that should be enough.
* Remove serial throttling hack: it doesn't play well with the
async IO.
* Make sure the ASYNC_LOW_LATENCY flag is set.
- src/: arch/linux/mapping/mapping.c, include/mapping.h:
Protect memory pages RW before releaseing to pool. This is to
avoid page-faults on a newly allocated memory.
- src/plugin/kbd_unicode/: keystate.h, serv_xlat.c:
Arrange scancode translation rules as an array rather than as a
linked list.
From Bart
- Remove mapself support
- Remove old keyboard code
- Remove coopthreads and comcom
- src/env/video/X.c: Added dirty_all_vga_colors(); + related calls to
resize_text_mapper(). This fixes the black screen problems with
bitmap fonts.
- Makefile.conf.in, mouse.c, mouseint.c, X.c, X.h, mouse.h,
env_term.h, keyb_slang.c, mouse_gpm.c, mouse_xterm.c:
Mouse cleanup: use a mouse client structure similar to the one
used for the keyboard.
2004/03/06 merged with ver 1.2.1 release
From Pete Cervasio
- allow int 1A function 3 to set the emulated CMOS time of the day
clock.
From Clarence
- Now, you can run your favourite DOS apps like this:
xdosemu "/home/clarence/games/commander keen/keen1.exe"
And it will automatically:
1. mount / if the specified program is not available from an
already-redirected drive
2. "cd" to the correct directory
3. and execute the program automagically, all without _any_
typing in DOS
(if "unix -e" or "unix -c" is put at the end of your autoexec.bat)
"ported" over some more builtins i.e. I just cut and paste them
(except for com_dossetcurrentdir()).
cosmetic change to GetRedirectionRoot() in mfs.c
- DAC fixes for vgaemu:
* accesses to port 0x3C9 should not change the DAC state
(as reported by a read to 0x3C7)
* DOSEMU's 0x3C7 reads returned inverted bits!
* If you write to 0x3C9 after writing to 0x3C7, the colour that
actually gets set == <what you wrote to 0x3C7> + 1 (fixes
Starcon2)
From Stas
- NULL pointer fixes:
* Don't call keyb_server_reset() before keyboard client is
initialized, as this causes a NULL ptr deref in
keyb_client_set_leds() with the potential of calling realmode
code
* Avoid NULL ptr deref when SDA is not yet initialized (at DOS
boot-up).
- Certain mouse types (namely, MOUSE_GPM) must never be
closed/re-opened. This makes the gpm mouse to survive the
console switch, and quite accidentally also solves the obscure
lock-ups of Volkov Commander after a console switch.
- Fix sound for the game Screamer
- Improved bpint dosdebug command. Works under DPMI now.
- Clear AC in quite a few places to avoid recursion into an
exception 0x11 handler.
- Disallow exception 0x11. The reason is that AM bit of CR0 is
supposed to be clear under DOS, but it is not under Linux.
- Reduce memory consumption for builtins from 75K to 3K.
From Bart
- Allow fullscreen toggling using xmode.
- Make "unix -e" a hybrid of the old
"unix -e" and "unix -c": if the Linux path cannot be
canonicalized it will be interpreted as a DOS command. This way
"dosemu -E dir" continues to work. Introduced "unix -r" to get
the old behaviour of -e for the purists.
- Count number of times middle button is pressed even for 2 button
mice (will be zero). Fixes bug #891650
- dpmi.c: dpmi.c, do_int31, case 0x0401: added a missing "break"
causing this function to return rubbish as vendor name
(suggested by japheth at users.sourceforge.net)
- Block SIGALRM instead of turning of the itimer for the MFS. Also
check if one is pending before calling handle_signals(). Without
this change situations that spend lots of time in the MFS
effectively could have SIGALRM disabled (showed up on SMP
machines in a dir loop).
- int.c: Execute dos_post_boot() (mouse_post_boot()) not only from
int28 but also from int21/ah=4b. Fixes problem with wd from
unix -e & mouse.
- Repair the automatic exit for "unix -e" without -E argument.
- Makefiles: Remove all SUBDIR=... defs. They are not necessary
anymore and may produce the wrong .a file if you invoke make in
the subdir.
2004/02/10 merged with ver 1.2.0.1 unofficial pre-release
From Stas
- Add support for MIDI input.
- Fixed a couple of bugs in MPU401 code.
- Alert if handle_signals() is re-entered (happens if, for example,
RPT_SYSCALL is enabled in emu.h).
- Remove glibc calls from SIGALRM and SIGIO handlers.
- Remove (now unnecessary, since we know the reasons) deadlock
"protection".
- dosdebug:
* Parse multiple commands properly
* Stop trace loop in mhp_intercept()
- Detection for the %esp CPU bug (see EMUFailure.txt). Recovery
part is disabled for now.
- Final (hopefully) pass on DPMI 1.0 compliant multiple client
support. Now it works for something more than just building
FreeDOS with bcc and nasm32.
* System descriptor aliases are now per client and are either
inherited or or recreated, depending on whether the IDT is
inherited or not.
* extender-specific structures are now per-client too.
- DPMI: Avoid execution on .data
From Bart
- Add support for the GPM mouse on the console (with a little
help from mc) and avoid conflicts with a serial mouse by moving
internal mouse init before serial init.
- mkbindist now creates the pcf fonts on the fly -- that will
avoid problems with fonts in the binary tarball.
- Add support for $_X_fullscreen and corresponding switch -w.
- Add support for $_mouse_internal and corresponding switch -m to
be able to switch off the DOSEMU internal mouse driver.
- Move the "BUG: dosemu touched protected video mem" recover
logic earlier in sigsegv.c and vgaemu.c (with Stas)
- Mark critical global variables used in signal handlers as
volatile to avoid gcc over-optimizations (hint from Stas)
- Fix bug #866618 rows ower 80 char: a DOS text-mode program
programmed the VGA controller to (logically) have more than
80 columns per line but vgaemu didn't pick it up.
- Fixed page_size calculation: solved display problems with Duke
Nukem 1
2004/01/18 merged with ver 1.2.0 release
From Stas
- updates to TUN/TAP README about bridging
From Bart
- mknewyear and adapt various other dates
- miscellenous doc adjustments
(README.txt, Novell-HOWTO with help from Stas and Peter Eckhard),
announce with some help from Claudia Neumann, INSTALL, HOWTO)
- Added $_xterm_title to dosemu.conf to configure or disable
the xterm (or putty or ...) window title with running DOS
program.
- Friendlier message if no DOS is found.
- Fix shift-3 (paragraph sign) on the German keyboard and add
"last resort" keyboard translation from Unicode to < 0x20 values.
2004/01/14 merged with ver 1.2.0rc2 stable pre-release (aka 1.1.99.2)
From Stas:
- src/base/serial/: ser_defs.h, ser_init.c, ser_irq.c, ser_ports.c:
* Switched serial to async IO
* Use tcdrain() for non-FIFO data sends to minimize latencies
* Some other small changes to reduce latencies. This allows to use
dosemu's serial port emulation for time-sensitive tasks.
- src/: dosext/sound/sound.c, include/sound.h:
* Make SB to really produce the interrupts for MPU-401, not only
to pretend to
* Added some support for undocumented MPU-401 commands 0xAC and
0xAD (stolen from VDMSound)
- src/arch/linux/dosext/sound/midid/timid.c:
Really pass the sysexes to timidity, not only pretend to.
- src/arch/linux/dosext/sound/linux_sound.c:
Fix the OSS initialisation for SB direct DAC writes.
Dont overflow the log with the "buffer overflow" messages.
- src/: base/mouse/mouse.c, include/mouse.h, emu.c,
Switch the mouse driver over to async IO, fixes bug #852077
- doc/EMUfailure.txt, src/doc/HOWTO/EMUfailure.sgml:
updated to tell more about fundamental CPU problems
- src/: arch/linux/async/signal.c, base/dev/pic/pic.c,
env/video/miscemu.c: solve problem with miscemu.c wrongly
setting pic_sys_time + some debug print improvements.
- src/base/speaker/speaker.c: Allow disabling speaker
- configure, configure.ac: Use have_x instead of no_x
From Bart:
- etc/dosemu.users.example: Comment everything out.
- Makefile, README.bindist, dosemu.spec.in, dist/mkbindist,
etc/global.conf, src/arch/linux/Makefile.main:
* use a safer rm -rf ../tmp (fixes #851514 ; make install
executes in src)
* copy global.conf and dosemu.users to sysconfdir without example
extensions
* remove config.status call from the Makefile. It messes
"prefix" up.
* obsolete /etc/dosemu.conf (etc) unless sysconfdir=/etc;
make install and the rpm install moves them now
* use %config(noreplace) and add missing commands symlink to the rpm.
- etc/: dosemu.conf, global.conf: Allow a completely free-from
printer command (but for LPT1 only for now)
- etc/global.conf: Fix problems with -F for global.conf
- src/arch/linux/mapping/mapshm.c: Added mremap(.,0,..) check for
the 2.6.1 kernel: we can only use mapfile and not mapshm
- src/: arch/linux/async/signal.c, arch/linux/async/sigsegv.c,
include/cpu.h: Restore fs and gs in all signal handlers. Fixes
NPTL problems.
- src/arch/linux/async/sigsegv.c: Don't always quit if DOSEMU
itself touches protected video memory. Adjusting protection (as
opposed to emulating) should be harmless -- perhaps a better way
to solve this is to adjust all the memmoves, but on the other
hand letting the CPU do the dirty work isn't all that bad of a
concept. Fixes bug #817088
- src/env/video/vgaemu.c: Allow vgaemu_set_text_mode for graphics
modes too. "orbits" needs this.
- src/doc/tools/doSgmlTools.pl: Improve openjade detection
- default-configure: Also use disable-aspi from default-configure.
- configure, configure.ac, dosemu.spec.in, dist/dosemu,
doc/dosemu-HOWTO.txt, src/arch/linux/Makefile.main,
src/base/init/config.c, src/doc/HOWTO/dosemu-HOWTO.sgml:
* Rename enable-aspi to disable-aspi (Clarence suggestion)
* Added --with-slangdir=src/plugin/slang possibility to force
use of the slang plugin without funny workarounds.
* Clean up the rpm spec file in line with the above.
* Set SUDO_UID/GID in the dosemu script to 0 to
allow "sudo dosemu" with full root (unlike dosemu -s)
* Fix secure_option_preparse for sudo runs (it was not secure).
- README.bindist, dist/dosemu, etc/global.conf,
man/dosemu.bin.1.in, src/base/init/config.c,
src/base/init/parser.y.in: Add -n option to be able to completely
bypass dosemu.conf and dosemu.users (unless suid). The $HOME
tarball installation now uses this option by default.
- dist/dosemu: Added some desperate attempts to really convince X
to find the font.
- src/: base/mouse/mouse.c, env/video/X.c, include/mouse.h:
Fix mouse init problem.
- README.bindist, etc/dosemu.conf, etc/global.conf: Add
$_printer_command to be able to solve the CUPS problem without
global.conf.
- src/plugin/commands/builtins.c: Use a more helpful message (of
course this is not always applicable but right now the most
likely cause).
- doc/NOVELL-HOWTO.txt: Correction about PDIPX/IPXPD.
- doc/announce: Add a "what's new" section to the announce file.
- src/plugin/term/keyb_slang.c: Update the special keys display at
strategic places (where it was forgotten before); disable ESC-ESC
(conflicts with alt-f1).
- dist/dosemu, src/arch/linux/Makefile.main: Use sed+ls instead of
readlink for non-system-wide; use dosemu.bin in the bindir
instead of the first one in $PATH for system wide.
- src/doc/README/config: Added note that mapself doesn't work on
Linux kernel 2.2.24 and higher.
- src/: dosext/dpmi/dpmi.h, emu-i386/cpu.c, include/cpu.h: Fix DPMI
problems with 2.6.0test6 by no longer hard coding UCODESEL and
UDATASEL -- they changed from 0x23/0x2b to 0x73/0x7b.
- etc/global.conf: Change to stop DOSEMU complaining if the libdir
doesn't exist.
2003/09/28 merged with ver 1.2.0rc1 stable pre-release (aka 1.1.99.1)
From Stas:
- src/: base/async/int.c, base/misc/disks.c, dosext/dpmi/dpmi.c,
dosext/mfs/lfn.c, dosext/mfs/mangle.c, dosext/mfs/mfs.c,
dosext/mfs/mfs.h, emu-i386/do_vm86.c, env/video/X.h,
include/dos2linux.h, include/int.h: xtitle support
(Bart: extended support to xterms)
- dist/dosemu, src/arch/linux/async/sigsegv.c, signal.c,
src/dosext/dpmi/dpmi.c, dpmi.h: Upon signal handler entry:
Restore the eflags instead of explicitly clearing AC and ID.
Also restore the %fs and %gs registers for compatibility with
NPTL. Remove old LD_ASSUME_KERNEL workaround (Bart)
- src/: dosext/dpmi/dpmi.c, include/pic.h:
* Fixed some log output, adjusted some types.
- src/dosext/dpmi/: dpmi.c, dpmi.h, msdos.c, memory.c:
* Per-client IDT, as required by DPMI 1.0 spec. IDT is inherited
from previous client if possible, to retain the compatibility
with DPMI 0.9. Also added pm_block_root and realModeCallBack
to the per-client structure.
* Started consolidation of the per-client data into a single
structure for the true multi-client support and better
compatibility with DPMI 1.0. This patch consolidates
DPMIclient_is_32 and dpmi_stack_frame, adding other units is in
to-do. This patch allows building a FreeDOS kernel under a
16-bit BC-3.1 environment, while using a 32-bit nasm.
* Check ss:sp=0 as per specs, sp=0 is not enough.
* Recovery code for Windows which puts 0 into %ss on the exception
stack frame. Escaping via a locked stack seems to help.
* Improve DPMI debugging:
- Properly debug the emulated instructions
- force_early hack is no longer necessary
- More debugging messages
* Limits >1MB are page-granular.
* ConvertSegmentToDescriptor() must look up segments also with the
limit==0xff as this is the limit of PSP segments created at DPMI
initialization.
* Optimisation: READ_DS_COPIED can be #define instead of variable
- src/base/serial/ser_init.c: Make sure the serial device is a tty.
- src/base/: init/init.c, mouse/mouse.c:
Init the mouse IRQ after the mouse client initialisation.
Remove duplicate/unused includes.
- src/: emu.c, base/init/init.c: Call hardware_setup() before
device_init(). This fixes a numlock problem reported by Reinhard.
- src/: arch/linux/async/sigsegv.c, include/emu.h, emu.c:
Dont intercept leavedos() if it was called from within a signal
context. TODO: Calling leavedos() from within a signal context
should be deprecated and replaced with some more elegant solution
that can work with dosdebug.
- src/arch/linux/debugger/Makefile, dosdebug.c:
Dont use -O2 for dosdebug, CFLAGS should be enough.
Exit dosdebug if dosemu unexpectedly terminated.
From Bart:
- src/: emu-i386/cputime.c, base/async/int.c, base/bios/int10.c,
base/misc/userhook.c, base/misc/utilities.c, base/mouse/mouse.c,
env/video/X.c, env/video/X.h, include/video.h,
plugin/commands/comcom.c, plugin/term/env_term.h,
plugin/term/keyb_slang.c, plugin/term/terminal.c:
Localized title support using a new Video function pointer.
- configure, configure.ac: Fix PATCHLEVEL typo in configure.ac;
remove help for enable-mitshm (disable-mitshm is enough)
- src/arch/linux/debugger/mhpdbg.c: (with Stas)
Fix -H1 (stop until dosdebug has connected)
- src/base/async/int.c: Let int 11 and int 12 read their values
from 40:xxx like real BIOSes do.
- README.*, INSTALL, doc/, src/doc/: Documentation updates,
regenerated DANG, add note about bison and yacc; remove note
about static linking (no proofs seen).
- src/doc/HOWTO/dosemu-HOWTO.sgml:
Update the HOWTO -- in line with present DOSEMU, and delete
obsolete sections, and merge formatting changes from Peter
Jay Salzman
- src/: arch/linux/async/signal.c, plugin/term/keyb_slang.c:
Based on a patch from Märt Laak (martlaak@users.sourceforge.net)
Turn off shiftstates for terminals later.
Bart: do this from the sigalrm handler instead of for the next
key. Also add some more escape sequences for xterm and putty.
Add shift-tab to the xterm keys.
- src/: include/mouse.h, base/mouse/mouse.c, base/mouse/mouseint.c,
plugin/kbd_unicode/include/keyboard.h, plugin/term/keyb_slang.c:
Originally by Mart Laak: xterm mouse support. Works in putty too.
Changed by Bart to run automatically if TERM=xterm* and use the
1002/1003 modes so that not just button clicks but also drags can be
detected.
- src/: base/mouse/mouse.c, plugin/term/mouse_xterm.c: Delay xterm
mouse init until the first int33 call, so that normal copy/paste
works without shift until the first DOS app wants to use a mouse.
Could be much cleaner -- leaving that for 1.3
- src/plugin/kbd_unicode/serv_xlat.c: Be more conservative in using
approximations for the unicode keyboard.
- src/plugin/kbd_unicode/keymaps.c: Use Unicode for the Turkish
keyboard!
- src/plugin/term/keyb_slang.c: Remove unnecessary (and wrong on
some keyboards) translations of * and +
- src/arch/linux/Makefile.main: We no longer need to create
/var/lib/dosemu; also adjust a few symbolic links.
- etc/global.conf: Wrap each "foreach" in if/endif blocks;
otherwise the lexer may have problems and may not recognize
$_vbootfloppy. I wasn't able to fix the lexer.
- dist/dosemu: Remove automatic "enter" since FreeDOS supports
switches=/f now
- Makefile, configure, configure.ac, dosemu.spec.in, man/Makefile,
man/dosemu.1, man/dosemu.1.in, man/dosemu.bin.1,
man/dosemu.bin.1.in, man/ru/dosemu.1, man/ru/dosemu.1.in,
man/ru/dosemu.bin.1, man/ru/dosemu.bin.1.in:
Automatically put the right paths into the man pages.
Add dosemu.spec.in for creating an rpm.
- etc/dosemu.conf, etc/global.conf, src/base/init/Makefile: New
clear layout of dosemu.conf. Document the fact that /etc/dosemu
may be used as hdimage base.
- src/base/misc/priv.c: Correct suid-root privilege problem wrt
"mapself".
- src/: env/video/X.c, plugin/kbd_unicode/keyb_clients.c: Fix
copy/paste problems (delay from DOSEMU->xterm and LF->CR
translation for smth->DOSEMU)
2003/08/22 ver 1.1.5.7 unofficial pre-release
From Nerijus Baliunas (nerijus@users.sf.net):
* doc/README-tech.txt, doc/README.txt, etc/dosemu.conf,
src/doc/README/config, src/doc/README/config-tech,
src/plugin/extra_charsets/cp773.c:
This patch adds cp773 (called KBL in Lithuania)
support. Although it is not an official standard, but is
used more than any other DOS cp in Lithuania.
From Clarence:
* emu.c: don't print "funny" characters on the screen when speaker
== NATIVE and video_config_init() aborts (due to e.g. an attempt
to run with -X without $DISPLAY).
leavedos() tries to turn off the speaker before the port server
has been initialised (as extra_port_init() is not called before
device_init()).
* ports.c: check that the portserver is actually up before writing
anything to the fd's. This should fix the "printing random
garbage" bugs once and for all :)
portserver_pid should be set to 0 in port_exit() so that if
there are any accidental port accesses after port_exit(), error()
will remind us to fix them. Also, the "if (port_fd_out[1])"
check is not necessary anymore since portserver_pid is already
tested for.
* src/base/bios/int10.c: (and Bart) (1) int10 should
not affect the carry flag at all (2) if int10/ah=3 is given a page
past the last page, CX should still be set to the cursor and DX
should be set to 0.
From Stas:
* src/dosext/dpmi/: dpmi.c, dpmi.h:
Dont skip the extended access type byte for 16bit clients.
This patch allows Windows (WinOS2) to work...
problem: timer driver (advapi.386) fails to initialize.
Therefore no movie playing :( Might be a problem with a hardware
emulation
Some cleanups and optimisations.
Export selector checking functions.
Allow 4G limits when converting segment to descriptor. (another
part of bug #756570)
Use mhp_intercept() to debug CPU exceptions in DPMI.
* src/dosext/dpmi/msdos.c:
- msdos_fault: Dont try to fix the selector if the program abuses a
perfectly valid descriptor - this is not fixable on dosemu side and
the attempt to only screws up the things even more making it
unfixable also for the program itself.
- msdos_fault: Do all the fixing on a temporary context struct
and apply the fix to the real context only when we are sure
the fix is valid.
- msdos_fault: Allow using any realmode segments as a selectors,
not only the special ones (part of bug #756570)
- Some cleanup
* src/: arch/linux/debugger/mhpdbg.c, dosext/dpmi/dpmi.c,
include/mhpdbg.h:
Introduce mhp_intercept_log() function that allows to redirect the
log messages to a dosdebug terminal.
* src/base/serial/ser_init.c:
If opening serial port fails, remove the lock and dont try to open
it again.
* src/arch/linux/debugger/: dosdebug.c, mhpdbg.c:
- Resume execution if dosdebug detached while in a stopped state.
- Fix dosdebug detaching to make it possible to attach dosdebug
again.
* src/arch/linux/debugger/mhpdbg.c:
Return to dosemu context before starting a dosdebug polling cycle.
* src/: env/video/X.c, plugin/kbd_unicode/keymaps.c:
Fix some annoying error messages.
* src/: arch/linux/debugger/mhpdbg.c, include/mhpdbg.h:
Introduce mhp_intercept(). When called, the control is transferred
to dosdebug if it was attached.
Kill 2 instances of allocating 64K on stack - this is too much and
causes a memory corruptions for me (probably a gcc problem)
From Bart:
* src/env/video/attremu.c: Solve problem with attribute emulator
introduced in 1.1.5.4
* src/dosext/mfs/: lfn.c, mangle.c, mangle.h, mfs.c, mfs.h:
- implement LFN wildcard delete (int21/ax=7141/si=1)
- check for invalid characters in LFN truename (int21/ax=7160)
- no longer trust stat for vfat; there are some problems with
question marks and characters such as é (\'e)
- use underscores instead of ? for unconvertible unicode.
Translate all ?'s to _'s for unix->DOS filename translation.
* src/dosext/mfs/: lfn.c, mfs.c, mfs.h;
src/plugin/translate/include/translate.h:
MFS cleanups, including:
- fix exists() and wildcard delete.
- avoid use of some global variables and pass the drive number
around as a parameter instead.
Make findfirst on a single file more efficient again and
get it to honour devices again.
* src/: dosext/mfs/lfn.c, dosext/mfs/mangle.c, dosext/mfs/mangle.h,
dosext/mfs/mfs.c, dosext/mfs/mfs.h, dosext/mfs/util.c,
plugin/translate/translate_config.c,
plugin/translate/config/plugin_parser,
plugin/translate/include/translate.h:
Add support (using the translate plugin) to the MFS to translate
between the external and internal charset for filenames.
Set $_external_charset (for all purposes except the display)
to the current locale charset by default.
* src/plugin/translate/keysym_approximations.c: Complete commented
out approximations; this is necessary for upcasing filenames
where an equivalent capital letter does not exist in the codepage.
* src/arch/linux/Makefile.main: Fix problem with keymap/[a-z]* +
CVS directories
* configure, configure.ac, src/arch/linux/Makefile.main: Create
src/lib upon make and remove it with "make distclean".
Uncomment detection of INSTALL and AWK.
* Makefile, Makefile.conf.in: Remove any autom4te*.cache varieties
upon distclean. Set BINPATH at the right time (after THISVERSION).
* Makefile, Makefile.conf.in, configure, configure.ac,
src/{Makefile.common,arch/linux/Makefile.main,commands/Makefile}:
Use simply expanded variables in several makefiles and avoid
$(shell) (speeds up make, esp. when most is already built)
* compiletime-settings, compiletime-settings.devel,
compiletime-settings.help, configure, configure.ac,
default-configure, setup/compiletime_setup.menu,
setup/compiletime_setup.sh, setup/compiletime_setup.tk: Configure
cleanups (with Stas and Clarence)
- use $enable_xxx environment variables
- use --disable-x instead of --enable-nox
- use --with-x for libraries
- remove "dodebug"
2003/07/20 ver 1.1.5.6 unofficial pre-release
From Bart
* src/plugin/: kbd_unicode/keymaps.c, keyboard/keymaps.c: Hungarian
keyboard adjustments (anonymous contribution, see bug 687850)
* src/dosext/mfs/: lfn.c, mfs.c, mfs.h: Fix LFN's for VFAT. Make
use of the VFAT_IOCTL_READDIR_BOTH ioctl to obtain the short
aliases for long filenames (Wine provided a good example).
Remove unnecessary scan_dir usage on VFAT (because stat is
already case-insensitive)
* src/dosext/mfs/mfs.c: Fix problem with dir searches that should
*not* find a volume label (such as the attribute 0x3f)
* src/dosext/mfs/lfn.c: Fix problem with LFN "truename"
(int21/ax=0x7160/cl=1), case insensitive open's and mkdir.
* src/base/bios/int10.c: Fix compilation without X development
libraries.
From Stas:
* configure, configure.ac: small configure adjustments.
* src/dosext/sound/sound.c: Use only the current DMA channel on
SB16. This allows the QV to work. QV is an MPEG4/DivX player for
DOS!
* src/base/mouse/mouse.c: Enable mouse at startup in case the
program doesn't do that manually.
* src/base/async/int.c: hogthreshold adjustment for the mouse code.
* src/plugin/kbd_unicode/: Makefile, getfd.c, getfd.h, keymaps.c:
Update the getfd() console detection code with the one from kbd 1.08
2003/07/15 ver 1.1.5.5 unofficial pre-release
From Bart
- Add support for the Long File Name (int21/ah=71) interface
on redirected drives. For now it's off by default because
it hasn't received much testing yet -- see $_lfn_support.
From Stas
- Fix DPMI to be able to revector interrupts that are called by
DPMI clients (such as the above int21/ah=71).
2003/07/15 ver 1.1.5.4 unofficial pre-release
From Eric Auer, Witold Filpczyk and Bart
- use bitmap fonts by default, rather than X fonts.
- Support 80x100 CGA "text graphics" with 8x2 font.
- allow resizing of the text window.
- VGA attribute emulator cleanups.
- Make the 8x16 font in vgafonts.c equal to the one in vga.pcf.
From Bart
- miscemu.c:
The retrace time is measured in microsecs, not ticks.
2003/07/15 ver 1.1.5.3 unofficial pre-release
From Clarence
- minor config tweaks $_X_backgroundfreeze -> $_X_background_pause,
- set $_joy_latency to (1) by default.
From Stas
- add config options for OSS sound
- disable auto-init DMA when speaker disabled
From Stas and Bart
- implement a lightweight coopthreads replacement and port all the
builtins to it.
From Bart
- Small MFS optimization.
- Some small documentation updates.
- Kill the (bit-rotten) scroll queue.
- Fix non-active setbuf(stdout, NULL) and $_console=(1) without
graphics.
- Use putchar instead of write since the buffered stdio problems
were solved.
- Avoid some dependencies on bash (export foo=bar, echo -e in
configure)
- Kill $_timint, and config.graphics. They were no longer really
used anywhere.
- Fix a problem with "-V" not implying "-c".
- Fix "make install" if pesky CVS directories are present.
- cheap workaround for NPTL: use export LD_ASSUME_KERNEL=2.2.5 in
the dosemu script.
- Support the VGA line compare register: this fixes one of the two
reported problems for Jazz Jackrabbit
- Fix colour problem in chain4 modes (second jazz jackrabbit issue)
- Fix bug 753968: xdos handles mouse events without having a focus
-- don't warp the mouse if the mouse left the window.
- Small makefile fix to help partial builds.
- Misc small configure and Makefile fixes.
- Solve potential gcc problem with a wrong asm constraint: it
needs to be "q" for registers with byte parts, not "r".
This prevents gcc from using "%sil" as low part of %esi%.
2003/06/14 ver 1.1.5.2 unofficial pre-release
From Bart
- enable building in a separate object directory
- enable small test sub-builds (e.g. "make" in src/env/video)
- use relative paths if possible (so you can rename your
build directory on the fly)
- fix lexer.l.in to work with newer versions of flex. We can
no longer fake flex by setting YY_NEVER_INTERACTIVE,
but a workaround using "/dev/null" files was possible.
- fix buglet in doscoopthreads com_dosrenamefile
- remove obsolete file kversion.sh
2003/06/12 ver 1.1.5.1 unofficial pre-release
From Ben Davis
- Implemented SB16 support.
- Fixed sevaral typos in the dcos :)
From Stas
- Leak-free DOS memory management for DPMI.
Additionally the "Allocate DOS memory" routine
was fixed to match the DPMI specs.
- fix SB mixer rates
- pic fix to get SC2000 running with SB16
- use exit()/config.exitearly=1 instead of leavedos() during init
- don't leavedos (but let the BIOS set CF) if there is no disk
- FCB fix for coopthreads
From Manfred Scherer
- use a per-PSP heap to watch for hlist overflow (and then
delete the oldest list) in the MFS.
From Bart
- clean up MFS a little more; use arrays instead of linked lists
for the hlists; this allows us to avoid duplicate hlists much
more often than before, since the hlists can be walked though
independently with random access.
- fix a problem where the MFS chdir did not remove the trailing
backslash
- use sigaltstack(2) instead of sa_restorer if it is available
- fix memory leaks in the parser and lexer (found by valgrind)
- fix more typos
2003/06/07 ver 1.1.5 released
From Bart:
- documented TUN/TAP support and the port server.
- adjusted man pages
- set int 23 to iret at the right place in dpmi.c
- unmap the first 1 MB of (DOS) memory in the port server.
2003/06/04 ver 1.1.4.16 unofficial pre-release
From Stas:
- midid update
* Compatibility with the latest TiMidity++ (daily
snapshot)
* Moved forgotten bits from midid.h to device.h
* Improved start/stop sequence
* Re-including protection to all headers
- fix the DPMI descriptor leaks in:
1. dpmi_init()
- fix the environment translation for DPMI (bug #731906)
- sleep in the dosdebug poll cycle
- allow to configure the TAP device before starting DOSEMU
- fix MFS bug for wildcard delete() (bug #732975)
- MFS sigalrm cleanup
- add hint to emumouse about the internal mouse driver config
- adjust some defaults in dosemu.conf
- vga.c: remove redundant ioperm
- linux_sound.c: dont ioctl POST by default
- ioctl.c: init the callback array
- serial: Use TCADRAIN instead of TCSANOW where appropriate
From Oleg Kuimov <ok020969@users.sourceforge.net>
- wrong year in rtc emulation
fix last two digits of the CMOS year that is emulated in rtc.c
from tm->tm_year (which is possibly >= 100)
to tm->tm_year%100
From Grigory Batalov
- ignore a busy disk (don't abort DOSEMU) if it is a floppy.
- corrected and added font descriptions in dosemu.alias
From Ben Davis <entheh@users.sourceforge.net>
- Sound fixes in preparation for SB16 support.
From Clarence
- allow freezing of xdosemu in the background through dosemu.conf.
From Andy Shevchenko <andriy@pylesos.interdon.net>
- fix some problems with symbolic links and DESTDIR in
Makefile.main
From Bart
- fix fullscreen X toggling when already in graphics mode
- misc doc fixes (added INSTALL, README, stripped down QuickStart)
(inspired by Ged Haywood's comments on linux-msdos)
- removed some old cruft (keyboard.c.diff, DPR, gnats)
- streamline "make" a little (removed the wait)
- dosemu -install now asks for a boot directory location so
it is easier to set up a different boot directory.
- fix the dosnet init to be before the privilege drop
- fix ugetcwd (it is a heap-eating builtin)
- fix null pointer dereference in remap.c
- replace the DJGPP hack by something a little less intrusive
(an iret handler for int23 when dpmi is active)
- int code cleanup: int routines now return 1 if they want
to return, and 0 if they want to chain through to a real mode
interrupt. The somewhat confusing default_interrupt() function
is eliminated.
- add --enable-debug as alias for --enable-dodebug as configure
switch
- fix gcc 3.3 builds (ELF detection was broken) and the new
warnings it gives.
2003/03/15 ver 1.1.4.15 unofficial pre-release
From Stas
- fix race in do_irq(): see if the pic_ilevel is in sync
with pic_isr and it appears that it is not.
- cputime.c: correctly take idle periods into account for TSC.
- Fix serial delayed-open.
- Fix keyboard delay problem.
- Don't read the mouse device in X.
- (with Herbert Xu) enable use of a pseudo-tty as a serial device.
- Rewrite bios part of the packet driver in C
- Fix do_call_back() and get it to work for DPMI
- VIP related: sigsegv.c: solve kryptegg lockups under X
- Remove the ST3 hack since it doesn't help anymore.
- Use async I/O: async I/O speeds up the I/O dramatically.
Performance of the packet driver is doubled.
This also removes the need for the plugin_ioselect hook since
callbacks can be used instead now.
- Fix SLang keyboard 8-bit handling (Russian capitals in xterm)
From Grigory Batalov (with some help from Andy Shevchenko)
- add Ukranian codepage support (cp1125.c, koi8-u.c, koi8-ru.c)
- add codepage 1251 (cp1251.c)
- adjustments to cp866.c and the Cyrillic BDF files.
From Bart
- (initially suggested by Stas) replace %Ld by the more standard
%lld.
- enable disabling of the X vidmode extension at compiletime
- warn more prominently about a buggy system SLang library.
2003/03/15 ver 1.1.4.14 unofficial pre-release
From Witold
- fix configure.ac for people without X support (changed a
little by Bart)
From Stas
- VIP fixes
- sound code: make sure dsp is closed before detecting SB
From Clarence
- fix compilation problem if one disables CONFIG_X_SPEAKER
- allow ctrl-alt-p to be used to freeze DOSEMU
- always update real window's title instead of fullscreen one
- reverse X title order
- append "[Paused - <keycombo>]" to the X title if DOSEMU is
paused using a ctrl-alt-key combination
From Bart
- guard includes of env/video/X.h if X_SUPPORT isn't there
- fix "make -jn" compilations
- remove -Wpointer-arith from warnings -- some system headers
don't like it.
- configure.ac cleanups
- fix compilation of the dosnet kernel module
- dosemu script fixes: do not rely on the existence of
~/.dosemurc anymore.
- (adjusted from Andy Shevchenko's patch) make install cleanups
- (with Stas) more cpuemu stack protection and time system
counter fixes to get cpuemu for vm86 working again.
- fix long long cpu speed multiplication in config.c to fix
a problem with > 2GHz CPUs.
- fix /proc/meminfo parsing for 2.5 kernels: the "MemShared"
part went away.
- XMS "query free memory" needs to set _BL to 0 (success).
2003/02/10 ver 1.1.4.13 unofficial pre-release
From Stas
- fatfs: ignore 0 sized io.sys and ibmbio.com files.
- add some ethernet frame debugging
From Bart
- fix mkpluginhooks to create config directories for plugins
if they don't exist.
- fix the ASCII-7 speaker bell beep
2003/02/09 ver 1.1.4.12 unofficial pre-release
From Stas
- $_pic_watchdog related PIC code adjustments.
From Fran Sabolich <fsabolich@yahoo.com>
- implement break handling in ser_ports.c (cleaned up by Stas)
From Bart
- Enable/disable all plugins via compiletime-settings.
- By default, only use the supplied S-Lang library if the system
supplied S-Lang library does not have the UTF-8 hack.
- Simplify S-Lang configuration by using DOSEMU's config.h
- Add 64-bit file locking support.
- Add $_full_file_locks option to lock whole files instead of just
one (for DOS invisible) byte.
- Set $_pic_watchdog default to 50 (suggested by Stas).
- Set $_hdimage default to "drives/*".
- Use ~/.dosemu for the $_hdimage basedir, falling back to
/var/lib/dosemu if necessary.
- Use proper long X names for the VGA fonts.
- Add ability to use a DOS command as a DOSEMU option (without
-E). In that case "exitemu" happens automatically when the DOS
command terminates.
- (With help from Reinhard) only apply cleanup_child to the port
server and not to any other children.
- clean up dosdebug; use dynamic memory allocation, and remove the
need for the ~/.dosemu/run/dosemu.<pid> files.
- temp file cleanup: the "mapfile" mapping driver and printer now
use tmpfile(3) to create the temporary file. That way the file
is automatically deleted even if DOSEMU crashes, and noone else
can open the file. Because of this, the printer code now uses a
pipe to communicate with lpr.
- DOSEMU is now quiet by default. It now doesn't say it's running
in low feature mode, but instead tells you if it's running with
root privileges.
- (suggested by Stas) Use normal local variables instead of
statics where possible for the serial code.
- Fix bug "xms_EMB_info" in XMS code.
- Set video_ints for vgaemu code, otherwise it will forget about
the fonts later.
- Applied some Debian tweaks from Herbert Xu
* to have DOSEMU working out of the box even if the user doesn't
have a private installation.
* $_hdimage drives adjust according to the setting of DOSDRIVE_D.
* change /etc/dosemu.conf to /etc/dosemu/dosemu.conf to match the
default (we still support /etc/dosemu.conf however).
- Script changes:
* adjust to use ~/.dosemu/drives/* by default; ~/.dosemurc is no
longer compulsary even for private installations.
* do -home by default
* only display "what DOSEMU does" once, be quiet afterwards.
* apply the '\r' keystroke by default to boot DOS quicker. Just
use -input without arguments if you want to use F5 or F8.
* use -install without arguments to force a FreeDOS
re-installation.
2003/02/04 ver 1.1.4.11 unofficial pre-release
From Stas
- prevent IRQ conflicts and fix double registrations of the
keyboard IRQ in init.c and serv_8042.c.
From Bart
- (and Stas) fix comcom problem when environment segment == 0
- small Makefile cleanups; include only necessary dependency files
- remove all traces of $_secure, $_odd_hosts and $_diskless_hosts
since by default any remote hosts will get root privileges
dropped and diskless host security can be managed via sudo.
- re-add SLang library, but now updated to version 1.4.8, as a
plugin, in stripped down source code form, to avoid problems
with the utf-8 enabled default SLang library that various
distributions ship.
- adjustments to dosemu script: do not silently write to
~/.dosemurc, run with /bin/sh instead of /bin/bash and only
write $_hdimage to ~/.dosemurc for system-wide installations.
Also adjust "-install" to be able to take no parameters (which
reinstalls FreeDOS).
- quit DOSEMU (via the sigchld handler) if the port server is
killed.
- remove config.usesX setting and any usage of it. It was only set
by the -Y and -Z options which seem to have been unused since
1995.
- fix for current_iopl in priv.c (misbehaviour spotted by Reinhard
Karcher)
- don't open /dev/gpmdata-style mice in terminal mode. They don't
work then.
- Made the portserver synchronous for port writes -- DOSEMU waits
for an acknowledgement. This already naturally happened for reads.
- use the XFree86 video mode extension if available to switch
resolutions for fullscreen X.
- the X mouse cursor is now always invisible if mouse grab is active.
- center text modes for fullscreen X.
- (with help from Stas) don't pass the ctrl-alt-f keycode to DOS
apps when fullscreen is toggled. Enable mouse grab automatically
for fullscreen X in graphics mode if the X mouse cursor is
invisible. Move fullscreen and mouse grab toggle code to
seperate functions.
2003/02/01 ver 1.1.4.10 unofficial pre-release
From Stas
- pic_force_count->pic_watchdog correction
- fix VIP/IF releated race in DPMI code.
- allow DSP commands in high speed mode (fixed problem with
Pinball Dreams 2)
- fix for AltGr&new keyboard code if X_keycode = (1)
From Stanislav Safronov <Stanislav_Safronov@f630.n5020.z2.fidonet.org>
- serial transmit fixes
From Clarence
- stop port server a little later.
From Bart
- moved all "extern" declarations to header files and added
warnings for GCC to keep it that way.
- (inspired by an old fix from jt@npdaxp.fuw.edu.pl):
improve error codes for file region locking
- more portable and reliable way for passing parameters in
default-configure and dist/dosemu (thanks to Mozilla)
- (reported by Esa Tikka) Glibc detection has to use -lt not -le.
- reorganized plugins a little bit so that all header files are
symlinked into src/plugin/include and the extern declarations
go into plugin_config.h
- (reported by Grigory Batalov) fix mkbindist and dosemu script
for non-systemwide usage.
- dosdebug now gets a map of DOSEMU symbols on the fly instead
of relying on some dosemu.map file. Hence installing dosemu.map
is no longer necessary.
- added SIGCHLD signal handler to clean up the port server.
- install most signal handlers after forking the port server and
let it ignore VT acquire and release signals.
- the mapself driver needs to open /proc/self/mem before dropping
privileges.
- (reported by Reinhard Karcher) only copy relevant things from
40:xxxx real memory area when $_vbios_post = (0).
- reorganized port server so that it calls the normal port
handlers, which in turn detect if iopl==3 so they can do in/out's
directly.
- (reported by Claudia Neumann, but not quite fixed for everyone
though) fix Linux console terminal init if the external charset
is "cp437".
- added initial support for full-screen X. Use ctrl+alt+f to
toggle (using the XF86 video mode extension will come later, so
text may still be small and graphics somewhat slow).
2003/01/26 ver 1.1.4.9 unofficial pre-release
From Bart
- More makefile and autoconf fixes, cleanups and improvements:
* use CPP and CPPFLAGS
* check if dependency files are out of date
* collect needed libraries in LIBS
* use autoconf's X include/library findings instead of our own
* fix problem with not defining ASPI_SUPPORT and WANT_WINDOWS
(that broke some aspects of DPMI)
* src/Makefile no longer includes Makefile.main, and
Makefile.main no longer includes Makefile.common. That solved
some problems with overlapping rules.
* put "-D" variables in config.h to reduce the length of the gcc
commands. Adjust some files so that they include "config.h".
Compiletime paths are now stored in confpath.h.
- add -Wstrict-prototypes to the CFLAGS and fixed all new
warnings. Also removed some related "extern" prototypes in C
source files.
- clean up run_caller_func code so that it is as Eric intended
it to be ;) Solve the problem with default_interrupt.
- increase default DPMI memory limit to 20MB.
- start the port server if the speaker is in native mode.
From Clarence
- some more preliminary comcom space corrections
2003/01/24 ver 1.1.4.8 unofficial pre-release
From Bart
- upgrade autoconf & friends + some top level makefile
simplifications
- remove leftover base-configure
- fixed "tap" typo in global.conf
- simplify dosemu.users parsing in parser.y.in and reintroduced
"nosuidroot" (which now simply drops privileges)
- mouse: open r/o if it's a FIFO (like /dev/gpmdata), a PS/2 mouse
or a bus mouse. This solves a few permission problems.
- replace bzero with memset
- port server should always be started if config.pci = 1.
- fix S3 graphics card driver high port problem reported by
Reinhard Karcher
- Fix coopthreads problem (inserted spaces too often)
2003/01/21 ver 1.1.4.7 unofficial pre-release
From Andy Shevchenko <andriy@asplinux.ru> and Grigory Batalov
- Add Russian manual page translations.
From Stas and Bart
- rename "$_pic_force_count" to "$_pic_watchdog".
From Bart
- autoconf structure changes:
* configure now calls default-configure, which calls configure
(recursion is avoided using an environment variable).
* use configure.ac instead of base-configure.in and acconfig.h
* ./mkconfscript is obsolete: use "autoreconf"
- security related changes:
* dosemu.users is no longer mandatory for suid operation -
by default a suid binary gives access to console graphics
only and drops privileges immediately if it is not on the
console. Restricting who is able to run DOSEMU with privileges
is better done using sudo.
* Mouse, serial, IPX and direct partition access are no longer
enabled through suid-root privileges -- you have to change the
permissions on the individual devices in /dev.
* Remove all configuration classes which do not affect ports,
hardware ram, direct IRQ's or raw network access.
* added $_console_pci and $_console_ports settings to enable PCI
and I/O port access only if DOSEMU is run on a Linux console.
* move the initialization of the mapping drivers beyond the
point where DOSEMU drops root privileges.
* $_hdimage_r and $_secure are no longer relevant.
* adjusted some of the documentation.
- small coopthreads/comcom adjustment (cd. should work too).
From Witold Filipczyk
- Add $(DESTDIR) prefix to "make install"
- Change "slang.h" to <slang.h>
- add info about the Polish keyboard in dosemu.conf.
2003/01/19 ver 1.1.4.6 unofficial pre-release
From Stas
- enforces the PIC reentrancy protection and fix several related
bugs.
- add a mechanism to force a PIC reschedule, if the watchdog timer
for pending interrupts is invoked n times.
- fault handling fixes: check selectors before loading them into
context. This hopefully removes the possibility of an unhandled
segfault.
- make POST for OSS drivers optional via a compile-time option
From Clarence
- Fix comcom problems:
* a space is now inserted for cd\, dir/p etc so that they work.
* check for things such as "..\ws". Comcom thought that this
meant a file with extension \ws, rather then a file ws in the
parent directory.
From Bart
- remove runasroot compile-time option. It is not relevant anymore
now that DOSEMU drops root privileges.
- add possibility to run DOSEMU through sudo while still dropping
root privileges via the SUDO_UID and SUDO_GID environment
variables.
- remove restrictions on $_dpmi since DPMI is no longer inherently
insecure.
- adjust QuickStart and README.txt to the changed security
situation.
- added a "-s" option to the dosemu script to invoke dosemu.bin
via sudo.
- solve X mouse problem for certain window managers that invoke
LeaveNotify and EnterNotify events whenever you click a mouse