Congrats! This is an awesome work! I will miss all the beauty screenshots now that your work in Console is almost over! I'm willing to enjoy the ros-csrss asap! :)
> From: [email protected] > To: [email protected] > Date: Tue, 9 Apr 2013 12:47:48 +0200 > Subject: [ros-dev] Future merge of the ros-csrss branch into the trunk > > Hi all ! > > I'm writing this mail to announce to you that in one week (if everything > works as expected till this time) I will be ready to merge my ros-csrss > branch into our current codebase. > > The ros-csrss branch > (http://svn.reactos.org/svn/reactos/branches/ros-csrss/?view=log) was > started 5 months ago (October 14, 2012 to be precise) with a three-fold > purpose: > > - Use the new Windows-compatible Client-Server Runtime Subsystem (csrss + > csrsrv) written by Alex Ionescu, unused at the moment and which currently > lives in trunk/reactos/subsystems/csr/, and as such was a replacement for > the older one in trunk/reactos/subsystems/win32/csrss/. This last one was > progressively hacked to include functionalities from the new csrss; however > most of the old code remained and as such it was a big hack. Also the CSR > client part, residing in ntdll, was updated (thanks to comments put by Alex > inside it). To communicate between the server-part and the client-part, some > messaging protocol is used (thanks to LPC); the used structures were not so > up-to-date, but the new ones were in the code, not used. So I could use them > instead of the older ones. That meant that some work was needed in ntdll (as > previously stated). Disregarding the details (you can see them in the commit > log), I also had to rework a little bit on the dlls which communicate with > CSR, namely kernel32. > > - Replacing our very old win32csr.dll csr server by the collection basesrv / > winsrv as it is done under Windows. For that I tried to match accurately our > existing code with what should exist on Windows according to this list of > CSR servers APIs : http://j00ru.vexillium.org/csrss_list/api_list.html . > > - Since the console subsystem is (for historical purposes on Windows) the > only subsystem which exploits all the possibilities of the CSR, much of the > work in the branch was done to make it working with the new csrss. Even if > on Windows it is included together with other APIs inside the winsrv dll > (since Windows NT 3.1 release), I decided to put it in a separate dll, > called consrv, on ReactOS (I took the name from the dll where it was > included in Windows NT 3.1 beta from October 1991). Also, because I believe > that the console subsystem is something that, on Windows, was somewhat > neglected (no ANSI control, (almost?)no TTY-like flavour...) I decided to > work on its internal architecture (the exterior one being unchanged for > compatibility reasons) such as to exacerbate the following things: > * the "console server" which dialogs with the console applications, > and which maintains a list of all the created consoles. > * different "front-ends" corresponding to where you want to output > the information (~= console hardware) (it is of course work-in-progress). At > the moment only one is working: the GUI console. I have to make the TUI > interfacing correctly with the rest of the code (but since it's not used for > now, it's not extremely urgent). The idea would be to have also a front-end > for serial ports, so that we could interact with the serial port (with Putty > if running ROS on a virtual machine, or with a serial console, etc...). And > another idea would be to make those front-ends dynamically-loadable (instead > of being compiled inside consrv). > - I also fixed some parts of the console properties dialog box. > > > Here is the JIRA report for the merge: > http://jira.reactos.org/browse/CORE-7002 > Here are the test results with revision 58723 (plus comparison with > revisions 58722 and 58720): > http://old.reactos.org/testman/compare.php?ids=16213,16218,16219,16221 > You will see that the ntdll:exception seems to run 24 more tests, but 4 > failed compared to non-patched r58723. The errors are "exception.c:821: Test > failed: Eip at 0x77f2b2a3 instead of 0079000B". It would be interesting to > investigate further on these failings. > Also, gdi32:font executes 33 more tests, and 10 more fail, due to the > Fixedsys font. > A problem, already existing in trunk, remains: > http://jira.reactos.org/browse/CORE-6397 (see description inside). > > You are encouraged to make comments, etc... etc... > > Cheers, > Hermès. > > > ~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~= > ~=~= > > Documentation I've used : > ========================= > > - The oldest trace of CSRSS in NT 3.1 beta (where I've found the existence > of csrsrv.dll, which was merged with winsrv.dll in the 3.1 release and the > subsequent versions of NT): http://www.logotypes.se/NT310CSRSS.txt > > - "Windows CSRSS cross-version API Table" http://j00ru.vexillium.org/?p=349 > and the subsequent links. > - "Windows CSRSS Write Up: the basics (part 1/1)" > http://j00ru.vexillium.org/?p=492 > - "Windows CSRSS Write Up: Inter-process Communication (part 1/3)" > http://j00ru.vexillium.org/?p=502 > - "Windows CSRSS Write Up: Inter-process Communication (part 2/3)" > http://j00ru.vexillium.org/?p=527 (the messaging system CSR server <--> > client is explained here) > (the part 3/3 seems to not exist) > - "CVE-2011-1281: A story of a Windows CSRSS Privilege Escalation > vulnerability" http://j00ru.vexillium.org/?p=893 and > http://mysterie.fr/blog/2011/07/31/cve-2011-1281-privilege-escalation-in-csr > ss-proof-of-concept/ > - Something that would be interesting for console and thread desktops : > "Defeating Windows Driver Signature Enforcement #2: CSRSS and thread > desktops" http://j00ru.vexillium.org/?p=1393 > - " Windows Subsytem Csrss" (in French) > http://www.ivanlef0u.tuxfamily.org/?p=188 > > - "Story of a dumb patch", Cesar Cerrudo, > http://www.argeniss.com/research/MSBugPaper.pdf or > http://www.scn.rain.com/~neighorn/PDF/MSBugPaper.pdf > > - CsrWalker : > http://forum.sysinternals.com/csrwalker-processes-detection-from-user-mode_t > opic15457.html > - Concerning console modes flags: > https://sites.google.com/site/marckupper/utilities/setconsolemode > - Documentation about consoles on MSDN: > http://msdn.microsoft.com/en-us/library/windows/desktop/ms682010(v=vs.85).as > px > > - "Custom console hosts on Windows 7 (Hack in the Box Magazine #4)" > http://magazine.hitb.org/issues/HITB-Ezine-Issue-004.pdf > - "Windows CSRSS Tips & Tricks (Hack in the Box Magazine #5)" > http://magazine.hitb.org/issues/HITB-Ezine-Issue-005.pdf > > - "Win32 Console (Wikipedia)" and the note 3 of the article: > http://en.wikipedia.org/wiki/Win32_console#cite_note-3 > > - Undocumented flags of ConsoleProcess: > http://www.catch22.net/tuts/undocumented-createprocess > > > _______________________________________________ > Ros-dev mailing list > [email protected] > http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________ Ros-dev mailing list [email protected] http://www.reactos.org/mailman/listinfo/ros-dev
