right. 48 hours later, i've got a first version of freedce-win32 to
try out, which i'm actually a bit frightened of running.
just in case it works :)
thank goodness for pthreads-win32, otherwise i'd be up small creek.
major things todo: in ipnaf.c (actually ipnaf_linux.c
or even better ipnaf_win32.c) it's necessary to write an
IP-interface-enumeration function.
this function presumably will call GetIpAddrTable and go over all the
addresses including netmasks and broadcast addresses returning
information that the rpc runtime can then "listen" on - one by one.
no, freedce doesn't go listening on 0.0.0.0 it binds to all "towers"
whatever they're called.
because i've commented this code out (stubbed) i am not expecting
freedce-win32 to work straight off.
once this is working, putting it in place of rpcrt4 should be
relatively straightforward (and mostly very very mind numbingly
boring) - a matter of "back-converting" and following the lead
of dceport.h - microsoft's "wrapper" header file that allows
application developers to port DCE/RPC applications to MSRPC.
i say "lead" because it's woefully inadequate, representing about
10% of the functions and structs that actually need "converting",
because dceport.h contains the "publicly accessible" functions.
once _that's_ done, then there will be two remaining tasks:
1) check that pthreads-win32 works under wine (!) and if so, job done,
otherwise it's _yet_ another emulation layer to write, but at least the
source code of pthreads-win32 represents a damn good starting point
2) mash freedce's typelib output to be compatible with MSRPC binaries.
this latter is no small task (but at least it could be considered).
the data structures have been _totally_ mashed, by microsoft.
gotta run.
later.
l.
--
--
<a href="http://lkcl.net">http://lkcl.net</a>
--
GvG and I have both seen this multiple char behaviour. I think I
still need to file a bug on it. ;0/
On 9/18/05, ReactOS.Bugzilla(a)reactos.com <ReactOS.Bugzilla(a)reactos.com> wrote:
> http://reactos.com/bugzilla/show_bug.cgi?id=751
>
>
>
>
>
> ------- Additional Comments From gerard.gatineau(a)laposte.net 2005-18-09 19:33 -------
> With svn 17912 , There is no bugcheck when Putty is configured for protocol =
> SSH and port 22 to connect to my FTP server :
>
> Reception of " login as "
> Type login name (abcd..)
> Display of login name in putty window is incorrect ( aabbccdd..)
>
> Debug messages are output for each character typed
> so->so_state 102
> (lib\imm32\imm.c:471) (000201d0): stub
> (lib\imm32\imm.c:940) (00000000, 005ac9e4): stub
> (lib\imm32\imm.c:818) (000201d0, 00000000): stub
> (lib\imm32\imm.c:471) (000201d0): stub
> (lib\imm32\imm.c:940) (00000000, 005aca14): stub
> (lib\imm32\imm.c:818) (000201d0, 00000000): stub
> (lib\imm32\imm.c:471) (000201d0): stub
> (lib\imm32\imm.c:940) (00000000, 005aca14): stub
> (lib\imm32\imm.c:818) (000201d0, 00000000): stub
> so->so_state 102
>
> Note : Not sure if this test makes sense with ftp server
>
> --
> Configure bugmail: http://reactos.com/bugzilla/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.
> _______________________________________________
> Ros-bugs mailing list
> Ros-bugs(a)reactos.com
> http://reactos.com/mailman/listinfo/ros-bugs
>
--
<arty> don't question it ... it's clearly an optimization
Hi,
We are a group of students and we are interested in writing the
user(login) system into ReactOS (we have he project with the subject
'Security' and we may choose a security project)
Can anyone tell me how far the user system (userlogin and security of
users) implemented?????
Jasper
MSN: jhuzen(a)hotmail.com
progress being made. am about 10-15% the way through a compile, having
previously got dcethreads to use pthread-win32 by judicious ripping out
of large amounts of code. fortunately, elrond has already win32'd
tng, so there is stacks of code in tng's lib/util_sock.c to rip off :)
--
--
<a href="http://lkcl.net">http://lkcl.net</a>
--
hbirr(a)svn.reactos.com wrote:
>Don't check the share access for directories.
>
are you sure this is right? I quite remember share access being enforced
on directories
greatlrd(a)svn.reactos.com wrote:
> give GetFileAttributesExW more NtOpenFile right to prevent reactos crash if u using CreateFile then GetFileAttributesExW. It also fix a bug for me for livecd it booting on first try now in vmware. instead second or more booting try.
"crash if using CreateFile then GetFileAttributesExW" ??? What??
It looks like you are working around the real bug by using a _very_
dirty workaround.
>
> Modified: trunk/reactos/lib/kernel32/file/file.c
>
> - SYNCHRONIZE | FILE_READ_ATTRIBUTES,
>
> + SYNCHRONIZE | GENERIC_ALL,
>
FILE_READ_ATTRIBUTES access is surely sufficient for reading a files
attributes...
http://examples.oreilly.de/english_examples/dce/dce_nt/dceport.h.aug95
o joy o joy.
also, i found _this_!!!
http://sourceware.org/pthreads-win32/
which is an implementation of pthreads on win32.
_also_ i found - was reminded - by judicious searching on google, that
of course entegrity.com have "PC-DCE" which is of course a _commercial_
product that has done exactly the work required: making dce (1.1?
1.2.2?) compile on Win32.
including exceptions, dealing with mapping the names, blah blahhh.
now.
anyone got any brainy ideas on how to reverse dceport.h - in particular
the thingy. wotsit. TRY/FINALLY/CATCH stuff?
what i'm going to try to do is take a shot at simply compiling
dcethreads - on win32.
if that _works_ (the tests pass) it'll be great - it will prove two
things: 1) that pthreads-win32 works 2) that the dce exception handling
will fly, on win32, and _that_ means pretty much zero (urk! let's hope!)
work.
for now.
my main goal: "GetItWorking(tm)".
i couldn't care less about binary compatibility for now: i want
"services" - i want srvsvcd, i want winregd, i want lsarpcd, i want
samrd - all compiled, all working, using TCP/IP.
i can then work on rewriting freedce's ntlmsspauth.so to be a DLL
(starting off as my favourite - a stub with username and password of
"test").
i can then work on writing an "ncalrpc" plugin transport (which is very
straightforward: a matter of filling in about 25 functions in a vector
table).
and also on a ncacn_np plugin transport.
"working" means that other people will then be able to focus on issues
like binary compatibility.
guys (wine team) i have to say this. you were utterly insane to not use
freedce as your starting point - and i am still bewildered by you not
even looking at its source code (which is topologically identical in
almost all areas, to what you've created) or the opengroup's documentation.
i say that with the greatest of respect for what you've achieved without
freedce.
l.
--
--
<a href="http://lkcl.net">http://lkcl.net</a>
--
okay, it's not time to get totally excited yet, but i
have successfully compiled - and run, and confirmed as
working on ros - some of the test programs from dcethreads
(http://sf.net/projects/freedce) when cross-compiled with
mingw32 and linked with pthreads-win32.
this is _very_ significant because it means that there is a
good chance of replicating entegrity's work - PC-DCE - with
zero modifications to the freedce source code.
i've cut out entirely the dcethreads "emulation" stuff,
which means that dcethreads posix draft 4 compliance -
including the ability to pass on thread cancellation across
an RPC client/server app boundary, and including the ability
to pass on signals across an RPC client/server app boundary -
are completely out the window...
... but i don't care.
so.
the bits "remaining" in my hacked-together-version of dcethreads is
_just_ the exception handling - exc_handling.c and exc_handling.h pretty
much.
that means that the DCE "TRY", "RAISE", "CATCH" and "EXCEPT"
macros are all there.
it's early days, but this is good news.
now. here's what i don't want to hear from anyone:
q)
"why in hell's name are you doing this? why can't you just remove
all references to posix threads and all references to DCE/RPC
exception handling?"
a)
lkcl@highfield:~/sf/freedce/freedce$ find . | xargs grep pthread | wc
770 3965 64010
lkcl@highfield:~/sf/freedce/freedce$ find . -name "*.[ch]" | xargs grep ENDTRY | wc
105 248 4490
lkcl@highfield:~/sf/freedce/freedce$ find . -name "*.[ch]" | xargs grep RAISE | wc
202 731 12799
lkcl@highfield:~/sf/freedce/freedce$ find . -name "*.[ch]" | xargs grep CATCH | wc
217 685 12392
in short: modifying several thousand lines of code,
by hand, is something that microsoft can happily pay
some donut code-dunker to do (and did, probably back
in 1990-1993) but i sure as hell ain't doing it for
a proof-of-concept bit of work.
q)
"why are you doing this and doing it to _us_? go away!!"
a)
you are inflicting much pain upon yourselves, even though you
probably don't know it. don't like what i'm doing, don't like
what i have to say? tough - get over it: i don't have time
or money to waste to stroke egos. i'll give you what time i can
and what facts i can and also i will present you with an
opinion: if you don't like that opinion or the way it's
presented, that is your choice. live with it, deal with it
or ignore it - i'll pretend i don't care which.
i give you information, present you with choices: where you go
from there - as neo says as the end of matrix 1....
l.
--
--
<a href="http://lkcl.net">http://lkcl.net</a>
--
It's only been two weeks since I sent out the August State of the
Repository, but the tree has already had 271 revisions. There have
been several large commits, and trunk has had several build breakages,
and instability in general. Just today we had three commits reversing
and unreversing some of Alex's changes. I'm calling for a trunk
freeze until several issues have been addressed.
* The release build is broken. So far the string library and the usb
code have been fixed. I was working with Alex on a break in the
exception handling when this topic came up.
* There seems to be a mysterious hang when shutting down ReactOS in
qemu. I've seen it personally and heard reports of it, but since it
locks up qemu so bad you can't free the mouse, no one has gotten a
trace (that I am aware of).
* Gunnar's win32k changes introduced several bugs, many of which were
fixed, but I still feel unsure about others that may be hiding.
* Hartmut fixed the MP build. See, I didn't even know that was broken.
I would like to freeze the tree for 72 hours, over the weekend,
allowing bugfixes only. I think we all need to grab a fresh copy and
run it under every platform we have, checking all the options.
According to the rules set forth, I need three developers. Who agrees
to a trunk freeze?
> From: Ge van Geldorp
>
> Complaints to alex
It turns out there was a communication problem between Alex and myself. A
little background: in r17811 Alex introduced a line in an asm file which
failed to compile on older binutils. I talked to him about this on IRC and
proposed a workaround. The communication problem was that I thought he
rejected the workaround, while Alex thought he ok'ed the workaround and
thought I would make the change. Result: workaround not applied and 2 people
pissed-off at each other.
My apologies to Alex for the remark quoted above, which was inappropriate
even if he hadn't agreed to the workaround.
Ge van Geldorp.
Does anyone have any examples of a disassembler or decompiler that I
could use for my ReactOS program I am writing...
Does anyone know about a disassembler or decompiler for Mac OS X also?
Rick Langschultz
rlangschultz(a)cox.net (Home)
rlangschultz(a)ellemaespa.com (Work)
rlangschultz(a)email.uophx.edu (School)
Bug 775 (http://www.reactos.com/bugzilla/show_bug.cgi?id=775) seems to be a
simple application bug. I expect no kernel involvement at all. So, if you
were always wanting to fix something in ReactOS but were afraid it might be
too complicated, this bug is for you. It should give you experience in
building and debugging ReactOS so maybe next time you can attack something a
little bit more complicated.
Gé van Geldorp.
hbirr(a)svn.reactos.com wrote:
>Fixed the MP build.
>
Hi Hartmut,
I'm really sorry, I forgot to test MP=1 :(
We really need a way to ensure that KDBG/MP code always gets built... it
would cause less problems...
Best regards,
Alex Ionescu
I'm working on bug 713 (http://www.reactos.com/bugzilla/show_bug.cgi?id=713
for the click-happy). What I have found is this:
- Telnet opens a socket
- Sending and receiving are handled by different threads, let's call them S
and R
- Thread R starts a recv() operation, which is translated to an ioctl on the
socket
- No data is available, so thread R blocks, waiting for FileObject->Event
- I type something, which is handled by thread S. Thread S starts a send()
operation.
- Again translated to an ioctl on the socket. Since this is the same socket
as used by S, the FileObject will be the same
- The send can complete immediately, IoCompleteRequest is called which sets
the FileObject->Event.
- Thread R is unblocked, the event it was waiting for was set by thread S.
However, the irp of thread R was never completed. The recv() call returns
with bogus info.
- Thread R starts another recv(). When some data arrives from the server,
two irps are waiting for it. This eventually leads to the crash.
The fundamental problem seems to be multiple overlapping I/O operations
which all use FileObject->Event to signal their completion. I have no idea
how to fix that...
Gé van Geldorp.
I'm sorry if this would a wrong place to post this, but since I'm
trying the ReactOS uxtheme.dll, I figured this would be fine.
I've compiled today's SVN, and I noticed that ReactOS had a
uxtheme.dll (didn't know that before :P). Well, as a try, I went and
put it on a Windows XP Professional machine (no service pack, and the
Microsoft uxtheme.dll is un-patched). When I rebooted with the ReactOS
DLL, Windows XP freezes at the welcome screen, the start up sound
doesn't even play.
So I'm wondering if uxtheme.dll isn't complete yet or if it's already
known to have problems.
--
Mike
Few questions about freeldr
- Is there a compelling reason to have pointer members
of LOADER_PARAMETER_BLOCK such as ModsAddr
as ULONGs ? (include/ndk/haltypes.h)
- Why the kernel module (ntoskrnl.exe) in not treated as such
in the loader (there is a special case to create the corresponding
module object in the kernel) ?
- Why MachGetMemoryMap() is called twice:
in freeldr/mm/meminit.c and in freeldr/reactos/reactos.c ?
- wouldn't it be nicer to fix these ?
Hi All!
Files on reactos/lib/msafd/misc/ uses header "msafd.h" from
reactos/lib/msafd/. On my system, MinGW/linux successfully compiled
these files ONLY after I manually corrected include directive:
#include <../msafd.h>
instead
#include <msafd.h>
in all 5 *.c files in reactos/lib/msafd/misc/.
Maybe we must make this replacement in svn tree? Or it was my
misconfiguration? ;)
WBR,
DarkHobbit
Been having a poke around, it seems neither LiveCD nor BootCD will
boot into GUI (Using latest HEAD SVN), on 32MB.
BootCD will complete first stage installer, but won't boot into GUI to
load the second stage setup. LiveCD immediately hangs.
Now, on VMWare, I use Other/Other as the OS Category, and I've been
hearing some (like WaxDragon), using Windows XP Professional as the OS
Category. I obtained a BootCD of 17751 rev, and tried it on the WinXP
setting, using 32MB. First time I tried it, it hung at copying
ole32.dll (34%). Second time, I got a STOP error during the file
transfer. Third time, however, it completed the first stage fine.
The only difference between the Other and WinXP Pro settings is the
inclusion of a USB Controller. I added one to my "Other" setup, and
ROS, again, installed fine first time around on 32MB.
Now, for the interesting bit. The error is a pretty constant one, and
it complains of No Memory Pages Available. It seems just common to the
GUI, seeing as ROS won't boot on 32MB even once Setup is completed.
This is the case for both SVN Live and BootCD's.
Something in the GUI is causing a leak
--
"I had a handle on life, but then it broke"
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipc/base/m…
please note the comments "it is possible for a client to connect in
between the CreateNamedPipe and ConnectPipe".
in other words, NamedPipes don't have any equivalent of "listen()".
this is a massive _massive_ problem, evidence of which
i first encountered with "rpctorture --processes=100
--repeat-operation=100", back in 1998.
out of 10,000 operations performed across 100 processes, about TWENTY of
those operations would succeed.
that's a success rate of 0.2%.
(anyone who runs a lab where 400 students sit down at the
beginning of a session and all log in to the same NT PDC will
tell you _exactly_ what they bloody think of windows and it's the
same issue)
the reason why there is such an abysmal failure rate was not clear to me
until today.
it's due - quite simply - to this delay. if the server is particularly
overloaded (due to having to deal with, oh i dunno, say, a large influx of
incoming Named Pipe client requests) then the time delay between
CreateNamedPipe and ConnectPipe is increased; if some idiot decides
that the number of pipe connections is to be limited; if someone decides
that the number of threads is to be limited, then the server quickly
goes into meltdown.
if there is protocol proxying or authentication going on (as is the case
of SMB IPC$ providing MSRPC named pipes - ncacn_np for those people who
know what that is) then you _really_ are in trouble.
the question is: having access to the source code - in reactos - what
can be _done_ about this?
would it be reasonable to write - and use - a named pipes equivalent of
"listen()"?
alternatively, how in hell's name do you _deal_ with this sort
of thing?
l.
--
--
<a href="http://lkcl.net">http://lkcl.net</a>
--
I can't install any bootcd's that I compile, gives
INACCESSIBLE_BOOT_DEVICE. This happens in Qemu, vmware, and virtual
pc. I have done full clean builds by doing "make clean" and deleting
the object/output folders. I don't know when this started happening
really. But if i download the ISO off of CIA then its fine, the exact
same version. I am compiling on Windows XP with ROSBe. Here is a link
to a picture of the crash: www.brandonturner.org/crash.PNG
Please help, its driving me crazy!
Brandon