Hi all,
Thanks to Dmitry Chapyshev's generous donation of rare FB-DIMM memory
modules, our Buildserver has enough RAM for the Win7 buildslave VM now.
I've fired it up and while builds are much slower than before, they are
at least being done again!
Note that Doxygen, ISO hosting, and all three buildslaves are on a
single HDD-backed server right now, so don't expect any performance
miracles.
I'm counting on Aleksey here to get us our remaining servers back this
month :)
Unfortunately, our HDDs were also lacking space, so I had to move the
public "bootcd_old" folder from iso.reactos.org to another (private)
place. It contained BootCD ISOs from 2009 to 2012, totalling 421GB.
Any idea how to deal with them in the long run? I can basically think of
4 possibilities:
* We remove ISOs older than 4 years, because nobody would really do
regression-testing with them.
* We buy additional HDDs every year and continue to host them ourselves
just next to the newer ISOs.
* We find a free file hosting service for OSS projects that can cope
with these amounts of data. Not sure SF.net is the right choice here..
* We choose a paid data storage service like Amazon AWS.
As always, comments are very welcome!
- Colin
Hi all!
For those of you who experienced Login problems with ReactOS Services
such as BuildBot, Mumble or SVN, I have cleaned up and applied some
fixes to our LDAP directory today. All known problems should be fixed now!
If you still experience such problems, please reply to this mail.
- Colin
Hi all,
For implementing the RpcBindingServerFromClient rpcrt4.dll API function
needed by my Printing Stack, I need to know how to retrieve the computer
name of a named pipe client.
Vista and later implement GetNamedPipeClientComputerName in kernel32.dll
which does exactly this, but this is neither supported under Windows
Server 2003 nor implemented in ReactOS and WINE.
Determining client information is a basic feature of network
communication, so it should be possible under Windows 2003 as well.
Additionally, RpcBindingServerFromClient returns the proper computer
name of the client, when using named pipes over the ncacn_np transport.
It must have got it somehow.
Hoping for some ideas from your side!
Colin
You literally wrote " but this is neither supported under Windows
Server 2003", so yes, there's your answer :)
Best regards,
Alex Ionescu
On Tue, Oct 11, 2016 at 1:18 PM, Colin Finck <colin(a)reactos.org> wrote:
> Am 10.10.2016 um 23:22 schrieb Timo Kreuzer:
>> #define FSCTL_PIPE_GET_CONNECTION_ATTRIBUTE
>> CTL_CODE(FILE_DEVICE_NAMED_PIPE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
>>
>> static const char AttributeName[] = "ClientComputerName";
>>
>> Status = NtFsControlFile(NamedPipeHandle,
>
> Are you sure this is the right way of doing it under Windows 2003?
> While 2003's rpcrt4.dll imports NtFsControlFile, running GNU strings on
> it doesn't output any "ClientComputerName" string.
>
> Furthermore, our NPFS driver only implements the FSCTL_PIPE_* control
> codes up to FSCTL_PIPE_QUERY_CLIENT_PROCESS (#9). #10 to #16 (with
> FSCTL_PIPE_GET_CONNECTION_ATTRIBUTE being #12) are not processed. Same
> goes for the free ntifs.h from https://www.acc.umu.se/~bosse/ntifs.h, it
> lacks all FSCTL_PIPE_* codes after #9. I'm getting the impression, #10
> to #16 were only introduced with NT 6.0.
> If I had the ntifs.h from Windows 2003, I could confirm my theory, but
> this file was never public and only part of the commercial IFS Kit.
>
> So, talking to the NPFS driver probably goes into the right direction,
> but I assume we have to find an alternative to
> FSCTL_PIPE_GET_CONNECTION_ATTRIBUTE.
>
>
> - Colin
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev(a)reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
hbelusca(a)svn.reactos.org wrote:
> +#define RC_STRING_MAX_SIZE 4096
> +
> + WCHAR Format[RC_STRING_MAX_SIZE];
> + LPWSTR lpMsgBuf = NULL;
> + DWORD Len;
> va_list args;
>
> if (!LoadStringW(GetModuleHandleW(NULL), id, Format,
> _countof(Format)))
Now instead of
#define RC_STRING_MAX_SIZE 4096
WCHAR Format[RC_STRING_MAX_SIZE];
LoadStringW(GetModuleHandleW(NULL), id, Format, _countof(Format));
just do a
LPWSTR lpFormatBuf;
LoadStringW(GetModuleHandleW(NULL), id, (LPWSTR)&lpFormatBuf, 0);
and you have a perfect universal solution for any resource string length
without caring about buffer sizes at all. It doesn't even need any extra
memory :)
This should actually be changed in a lot of places!
- Colin